use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / parser_prod.sep.3.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */
3 void parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
4 val* var_old_child /* var old_child: ANode */;
5 val* var_new_child /* var new_child: nullable ANode */;
6 val* var /* : TKwif */;
7 short int var1 /* : Bool */;
8 val* var2 /* : null */;
9 short int var3 /* : Bool */;
10 short int var4 /* : Bool */;
11 int cltype;
12 int idtype;
13 val* var5 /* : AExpr */;
14 short int var6 /* : Bool */;
15 val* var7 /* : null */;
16 short int var8 /* : Bool */;
17 short int var9 /* : Bool */;
18 int cltype10;
19 int idtype11;
20 val* var12 /* : TKwthen */;
21 short int var13 /* : Bool */;
22 val* var14 /* : null */;
23 short int var15 /* : Bool */;
24 short int var16 /* : Bool */;
25 int cltype17;
26 int idtype18;
27 val* var19 /* : AExpr */;
28 short int var20 /* : Bool */;
29 val* var21 /* : null */;
30 short int var22 /* : Bool */;
31 short int var23 /* : Bool */;
32 int cltype24;
33 int idtype25;
34 val* var26 /* : TKwelse */;
35 short int var27 /* : Bool */;
36 val* var28 /* : null */;
37 short int var29 /* : Bool */;
38 short int var30 /* : Bool */;
39 int cltype31;
40 int idtype32;
41 val* var33 /* : AExpr */;
42 short int var34 /* : Bool */;
43 val* var35 /* : null */;
44 short int var36 /* : Bool */;
45 short int var37 /* : Bool */;
46 int cltype38;
47 int idtype39;
48 var_old_child = p0;
49 var_new_child = p1;
50 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
51 if (var == NULL) {
52 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwif", "src/parser/parser_prod.nit", 5271);
53 exit(1);
54 }
55 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwif>*/;
56 if (var1){
57 var2 = NULL;
58 if (var_new_child == NULL) {
59 var3 = 0; /* is null */
60 } else {
61 var3 = 1; /* arg is null and recv is not */
62 }
63 if (var3){
64 ((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)>*/;
65 /* <var_new_child:nullable ANode(ANode)> isa TKwif */
66 cltype = type_parser_nodes__TKwif.color;
67 idtype = type_parser_nodes__TKwif.id;
68 if(cltype >= var_new_child->type->table_size) {
69 var4 = 0;
70 } else {
71 var4 = var_new_child->type->type_table[cltype] == idtype;
72 }
73 if (!var4) {
74 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5274);
75 exit(1);
76 }
77 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_new_child; /* _n_kwif on <self:AIfexprExpr> */
78 } else {
79 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5277);
80 exit(1);
81 }
82 goto RET_LABEL;
83 } else {
84 }
85 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
86 if (var5 == NULL) {
87 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5281);
88 exit(1);
89 }
90 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
91 if (var6){
92 var7 = NULL;
93 if (var_new_child == NULL) {
94 var8 = 0; /* is null */
95 } else {
96 var8 = 1; /* arg is null and recv is not */
97 }
98 if (var8){
99 ((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)>*/;
100 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
101 cltype10 = type_parser_nodes__AExpr.color;
102 idtype11 = type_parser_nodes__AExpr.id;
103 if(cltype10 >= var_new_child->type->table_size) {
104 var9 = 0;
105 } else {
106 var9 = var_new_child->type->type_table[cltype10] == idtype11;
107 }
108 if (!var9) {
109 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5284);
110 exit(1);
111 }
112 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIfexprExpr> */
113 } else {
114 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5287);
115 exit(1);
116 }
117 goto RET_LABEL;
118 } else {
119 }
120 var12 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
121 if (var12 == NULL) {
122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwthen", "src/parser/parser_prod.nit", 5291);
123 exit(1);
124 }
125 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwthen>*/;
126 if (var13){
127 var14 = NULL;
128 if (var_new_child == NULL) {
129 var15 = 0; /* is null */
130 } else {
131 var15 = 1; /* arg is null and recv is not */
132 }
133 if (var15){
134 ((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)>*/;
135 /* <var_new_child:nullable ANode(ANode)> isa TKwthen */
136 cltype17 = type_parser_nodes__TKwthen.color;
137 idtype18 = type_parser_nodes__TKwthen.id;
138 if(cltype17 >= var_new_child->type->table_size) {
139 var16 = 0;
140 } else {
141 var16 = var_new_child->type->type_table[cltype17] == idtype18;
142 }
143 if (!var16) {
144 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5294);
145 exit(1);
146 }
147 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_new_child; /* _n_kwthen on <self:AIfexprExpr> */
148 } else {
149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5297);
150 exit(1);
151 }
152 goto RET_LABEL;
153 } else {
154 }
155 var19 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
156 if (var19 == NULL) {
157 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_then", "src/parser/parser_prod.nit", 5301);
158 exit(1);
159 }
160 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
161 if (var20){
162 var21 = NULL;
163 if (var_new_child == NULL) {
164 var22 = 0; /* is null */
165 } else {
166 var22 = 1; /* arg is null and recv is not */
167 }
168 if (var22){
169 ((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)>*/;
170 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
171 cltype24 = type_parser_nodes__AExpr.color;
172 idtype25 = type_parser_nodes__AExpr.id;
173 if(cltype24 >= var_new_child->type->table_size) {
174 var23 = 0;
175 } else {
176 var23 = var_new_child->type->type_table[cltype24] == idtype25;
177 }
178 if (!var23) {
179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5304);
180 exit(1);
181 }
182 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_new_child; /* _n_then on <self:AIfexprExpr> */
183 } else {
184 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5307);
185 exit(1);
186 }
187 goto RET_LABEL;
188 } else {
189 }
190 var26 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
191 if (var26 == NULL) {
192 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwelse", "src/parser/parser_prod.nit", 5311);
193 exit(1);
194 }
195 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwelse>*/;
196 if (var27){
197 var28 = NULL;
198 if (var_new_child == NULL) {
199 var29 = 0; /* is null */
200 } else {
201 var29 = 1; /* arg is null and recv is not */
202 }
203 if (var29){
204 ((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)>*/;
205 /* <var_new_child:nullable ANode(ANode)> isa TKwelse */
206 cltype31 = type_parser_nodes__TKwelse.color;
207 idtype32 = type_parser_nodes__TKwelse.id;
208 if(cltype31 >= var_new_child->type->table_size) {
209 var30 = 0;
210 } else {
211 var30 = var_new_child->type->type_table[cltype31] == idtype32;
212 }
213 if (!var30) {
214 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5314);
215 exit(1);
216 }
217 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_new_child; /* _n_kwelse on <self:AIfexprExpr> */
218 } else {
219 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5317);
220 exit(1);
221 }
222 goto RET_LABEL;
223 } else {
224 }
225 var33 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
226 if (var33 == NULL) {
227 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_else", "src/parser/parser_prod.nit", 5321);
228 exit(1);
229 }
230 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:AExpr>*/;
231 if (var34){
232 var35 = NULL;
233 if (var_new_child == NULL) {
234 var36 = 0; /* is null */
235 } else {
236 var36 = 1; /* arg is null and recv is not */
237 }
238 if (var36){
239 ((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)>*/;
240 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
241 cltype38 = type_parser_nodes__AExpr.color;
242 idtype39 = type_parser_nodes__AExpr.id;
243 if(cltype38 >= var_new_child->type->table_size) {
244 var37 = 0;
245 } else {
246 var37 = var_new_child->type->type_table[cltype38] == idtype39;
247 }
248 if (!var37) {
249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5324);
250 exit(1);
251 }
252 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_new_child; /* _n_else on <self:AIfexprExpr> */
253 } else {
254 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5327);
255 exit(1);
256 }
257 goto RET_LABEL;
258 } else {
259 }
260 RET_LABEL:;
261 }
262 /* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */
263 void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
264 parser_prod__AIfexprExpr__replace_child(self, p0, p1);
265 RET_LABEL:;
266 }
267 /* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
268 void parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
269 val* var_node /* var node: TKwif */;
270 var_node = p0;
271 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
272 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwif>*/;
273 RET_LABEL:;
274 }
275 /* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */
276 void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
277 parser_prod__AIfexprExpr__n_kwif_61d(self, p0);
278 RET_LABEL:;
279 }
280 /* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
281 void parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
282 val* var_node /* var node: AExpr */;
283 var_node = p0;
284 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
285 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
286 RET_LABEL:;
287 }
288 /* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */
289 void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
290 parser_prod__AIfexprExpr__n_expr_61d(self, p0);
291 RET_LABEL:;
292 }
293 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
294 void parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
295 val* var_node /* var node: TKwthen */;
296 var_node = p0;
297 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
298 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwthen>*/;
299 RET_LABEL:;
300 }
301 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */
302 void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
303 parser_prod__AIfexprExpr__n_kwthen_61d(self, p0);
304 RET_LABEL:;
305 }
306 /* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
307 void parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
308 val* var_node /* var node: AExpr */;
309 var_node = p0;
310 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
311 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
312 RET_LABEL:;
313 }
314 /* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */
315 void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
316 parser_prod__AIfexprExpr__n_then_61d(self, p0);
317 RET_LABEL:;
318 }
319 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
320 void parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
321 val* var_node /* var node: TKwelse */;
322 var_node = p0;
323 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
324 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwelse>*/;
325 RET_LABEL:;
326 }
327 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */
328 void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
329 parser_prod__AIfexprExpr__n_kwelse_61d(self, p0);
330 RET_LABEL:;
331 }
332 /* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
333 void parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
334 val* var_node /* var node: AExpr */;
335 var_node = p0;
336 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
337 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
338 RET_LABEL:;
339 }
340 /* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */
341 void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
342 parser_prod__AIfexprExpr__n_else_61d(self, p0);
343 RET_LABEL:;
344 }
345 /* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
346 void parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
347 val* var_v /* var v: Visitor */;
348 val* var /* : TKwif */;
349 val* var1 /* : AExpr */;
350 val* var2 /* : TKwthen */;
351 val* var3 /* : AExpr */;
352 val* var4 /* : TKwelse */;
353 val* var5 /* : AExpr */;
354 var_v = p0;
355 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
356 if (var == NULL) {
357 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwif", "src/parser/parser_prod.nit", 5367);
358 exit(1);
359 }
360 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
361 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
362 if (var1 == NULL) {
363 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5368);
364 exit(1);
365 }
366 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
367 var2 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
368 if (var2 == NULL) {
369 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwthen", "src/parser/parser_prod.nit", 5369);
370 exit(1);
371 }
372 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
373 var3 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
374 if (var3 == NULL) {
375 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_then", "src/parser/parser_prod.nit", 5370);
376 exit(1);
377 }
378 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
379 var4 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
380 if (var4 == NULL) {
381 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwelse", "src/parser/parser_prod.nit", 5371);
382 exit(1);
383 }
384 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
385 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
386 if (var5 == NULL) {
387 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_else", "src/parser/parser_prod.nit", 5372);
388 exit(1);
389 }
390 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
391 RET_LABEL:;
392 }
393 /* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */
394 void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
395 parser_prod__AIfexprExpr__visit_all(self, p0);
396 RET_LABEL:;
397 }
398 /* method parser_prod#AWhileExpr#empty_init for (self: AWhileExpr) */
399 void parser_prod__AWhileExpr__empty_init(val* self) {
400 RET_LABEL:;
401 }
402 /* method parser_prod#AWhileExpr#empty_init for (self: Object) */
403 void VIRTUAL_parser_prod__AWhileExpr__empty_init(val* self) {
404 parser_prod__AWhileExpr__empty_init(self);
405 RET_LABEL:;
406 }
407 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
408 void parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
409 val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */;
410 val* var_n_expr /* var n_expr: nullable AExpr */;
411 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
412 val* var_n_block /* var n_block: nullable AExpr */;
413 val* var_n_label /* var n_label: nullable ALabel */;
414 val* var /* : null */;
415 short int var1 /* : Bool */;
416 val* var2 /* : null */;
417 short int var3 /* : Bool */;
418 var_n_kwwhile = p0;
419 var_n_expr = p1;
420 var_n_kwdo = p2;
421 var_n_block = p3;
422 var_n_label = p4;
423 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AWhileExpr__empty_init]))(self) /* empty_init on <self:AWhileExpr>*/;
424 if (var_n_kwwhile == NULL) {
425 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5387);
426 exit(1);
427 }
428 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
429 if (var_n_kwwhile == NULL) {
430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5388);
431 exit(1);
432 } else {
433 ((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>*/;
434 }
435 if (var_n_expr == NULL) {
436 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5389);
437 exit(1);
438 }
439 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
440 if (var_n_expr == NULL) {
441 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5390);
442 exit(1);
443 } else {
444 ((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>*/;
445 }
446 if (var_n_kwdo == NULL) {
447 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5391);
448 exit(1);
449 }
450 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
451 if (var_n_kwdo == NULL) {
452 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5392);
453 exit(1);
454 } else {
455 ((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>*/;
456 }
457 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
458 var = NULL;
459 if (var_n_block == NULL) {
460 var1 = 0; /* is null */
461 } else {
462 var1 = 1; /* arg is null and recv is not */
463 }
464 if (var1){
465 ((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)>*/;
466 } else {
467 }
468 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
469 var2 = NULL;
470 if (var_n_label == NULL) {
471 var3 = 0; /* is null */
472 } else {
473 var3 = 1; /* arg is null and recv is not */
474 }
475 if (var3){
476 ((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)>*/;
477 } else {
478 }
479 RET_LABEL:;
480 }
481 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
482 void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
483 parser_prod__AWhileExpr__init_awhileexpr(self, p0, p1, p2, p3, p4);
484 RET_LABEL:;
485 }
486 /* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
487 void parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
488 val* var_old_child /* var old_child: ANode */;
489 val* var_new_child /* var new_child: nullable ANode */;
490 val* var /* : TKwwhile */;
491 short int var1 /* : Bool */;
492 val* var2 /* : null */;
493 short int var3 /* : Bool */;
494 short int var4 /* : Bool */;
495 int cltype;
496 int idtype;
497 val* var5 /* : AExpr */;
498 short int var6 /* : Bool */;
499 val* var7 /* : null */;
500 short int var8 /* : Bool */;
501 short int var9 /* : Bool */;
502 int cltype10;
503 int idtype11;
504 val* var12 /* : TKwdo */;
505 short int var13 /* : Bool */;
506 val* var14 /* : null */;
507 short int var15 /* : Bool */;
508 short int var16 /* : Bool */;
509 int cltype17;
510 int idtype18;
511 val* var19 /* : nullable AExpr */;
512 short int var20 /* : Bool */;
513 val* var21 /* : null */;
514 short int var22 /* : Bool */;
515 short int var23 /* : Bool */;
516 int cltype24;
517 int idtype25;
518 val* var26 /* : null */;
519 val* var27 /* : nullable ALabel */;
520 short int var28 /* : Bool */;
521 val* var29 /* : null */;
522 short int var30 /* : Bool */;
523 short int var31 /* : Bool */;
524 int cltype32;
525 int idtype33;
526 val* var34 /* : null */;
527 var_old_child = p0;
528 var_new_child = p1;
529 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
530 if (var == NULL) {
531 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwwhile", "src/parser/parser_prod.nit", 5405);
532 exit(1);
533 }
534 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwwhile>*/;
535 if (var1){
536 var2 = NULL;
537 if (var_new_child == NULL) {
538 var3 = 0; /* is null */
539 } else {
540 var3 = 1; /* arg is null and recv is not */
541 }
542 if (var3){
543 ((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)>*/;
544 /* <var_new_child:nullable ANode(ANode)> isa TKwwhile */
545 cltype = type_parser_nodes__TKwwhile.color;
546 idtype = type_parser_nodes__TKwwhile.id;
547 if(cltype >= var_new_child->type->table_size) {
548 var4 = 0;
549 } else {
550 var4 = var_new_child->type->type_table[cltype] == idtype;
551 }
552 if (!var4) {
553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5408);
554 exit(1);
555 }
556 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_new_child; /* _n_kwwhile on <self:AWhileExpr> */
557 } else {
558 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5411);
559 exit(1);
560 }
561 goto RET_LABEL;
562 } else {
563 }
564 var5 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
565 if (var5 == NULL) {
566 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5415);
567 exit(1);
568 }
569 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
570 if (var6){
571 var7 = NULL;
572 if (var_new_child == NULL) {
573 var8 = 0; /* is null */
574 } else {
575 var8 = 1; /* arg is null and recv is not */
576 }
577 if (var8){
578 ((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)>*/;
579 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
580 cltype10 = type_parser_nodes__AExpr.color;
581 idtype11 = type_parser_nodes__AExpr.id;
582 if(cltype10 >= var_new_child->type->table_size) {
583 var9 = 0;
584 } else {
585 var9 = var_new_child->type->type_table[cltype10] == idtype11;
586 }
587 if (!var9) {
588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5418);
589 exit(1);
590 }
591 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_new_child; /* _n_expr on <self:AWhileExpr> */
592 } else {
593 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5421);
594 exit(1);
595 }
596 goto RET_LABEL;
597 } else {
598 }
599 var12 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
600 if (var12 == NULL) {
601 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdo", "src/parser/parser_prod.nit", 5425);
602 exit(1);
603 }
604 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwdo>*/;
605 if (var13){
606 var14 = NULL;
607 if (var_new_child == NULL) {
608 var15 = 0; /* is null */
609 } else {
610 var15 = 1; /* arg is null and recv is not */
611 }
612 if (var15){
613 ((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)>*/;
614 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
615 cltype17 = type_parser_nodes__TKwdo.color;
616 idtype18 = type_parser_nodes__TKwdo.id;
617 if(cltype17 >= var_new_child->type->table_size) {
618 var16 = 0;
619 } else {
620 var16 = var_new_child->type->type_table[cltype17] == idtype18;
621 }
622 if (!var16) {
623 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5428);
624 exit(1);
625 }
626 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AWhileExpr> */
627 } else {
628 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5431);
629 exit(1);
630 }
631 goto RET_LABEL;
632 } else {
633 }
634 var19 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
635 if (var19 == NULL) {
636 var20 = 0; /* <var_old_child:ANode> cannot be null */
637 } else {
638 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AExpr>*/;
639 }
640 if (var20){
641 var21 = NULL;
642 if (var_new_child == NULL) {
643 var22 = 0; /* is null */
644 } else {
645 var22 = 1; /* arg is null and recv is not */
646 }
647 if (var22){
648 ((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)>*/;
649 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
650 cltype24 = type_parser_nodes__AExpr.color;
651 idtype25 = type_parser_nodes__AExpr.id;
652 if(cltype24 >= var_new_child->type->table_size) {
653 var23 = 0;
654 } else {
655 var23 = var_new_child->type->type_table[cltype24] == idtype25;
656 }
657 if (!var23) {
658 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5438);
659 exit(1);
660 }
661 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_new_child; /* _n_block on <self:AWhileExpr> */
662 } else {
663 var26 = NULL;
664 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var26; /* _n_block on <self:AWhileExpr> */
665 }
666 goto RET_LABEL;
667 } else {
668 }
669 var27 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
670 if (var27 == NULL) {
671 var28 = 0; /* <var_old_child:ANode> cannot be null */
672 } else {
673 var28 = ((short int (*)(val*, val*))(var27->class->vft[COLOR_kernel__Object___61d_61d]))(var27, var_old_child) /* == on <var27:nullable ALabel>*/;
674 }
675 if (var28){
676 var29 = NULL;
677 if (var_new_child == NULL) {
678 var30 = 0; /* is null */
679 } else {
680 var30 = 1; /* arg is null and recv is not */
681 }
682 if (var30){
683 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
684 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
685 cltype32 = type_parser_nodes__ALabel.color;
686 idtype33 = type_parser_nodes__ALabel.id;
687 if(cltype32 >= var_new_child->type->table_size) {
688 var31 = 0;
689 } else {
690 var31 = var_new_child->type->type_table[cltype32] == idtype33;
691 }
692 if (!var31) {
693 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5448);
694 exit(1);
695 }
696 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AWhileExpr> */
697 } else {
698 var34 = NULL;
699 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var34; /* _n_label on <self:AWhileExpr> */
700 }
701 goto RET_LABEL;
702 } else {
703 }
704 RET_LABEL:;
705 }
706 /* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */
707 void VIRTUAL_parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
708 parser_prod__AWhileExpr__replace_child(self, p0, p1);
709 RET_LABEL:;
710 }
711 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
712 void parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
713 val* var_node /* var node: TKwwhile */;
714 var_node = p0;
715 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
716 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwwhile>*/;
717 RET_LABEL:;
718 }
719 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */
720 void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
721 parser_prod__AWhileExpr__n_kwwhile_61d(self, p0);
722 RET_LABEL:;
723 }
724 /* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
725 void parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
726 val* var_node /* var node: AExpr */;
727 var_node = p0;
728 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
729 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
730 RET_LABEL:;
731 }
732 /* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */
733 void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
734 parser_prod__AWhileExpr__n_expr_61d(self, p0);
735 RET_LABEL:;
736 }
737 /* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
738 void parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
739 val* var_node /* var node: TKwdo */;
740 var_node = p0;
741 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
742 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
743 RET_LABEL:;
744 }
745 /* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */
746 void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
747 parser_prod__AWhileExpr__n_kwdo_61d(self, p0);
748 RET_LABEL:;
749 }
750 /* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
751 void parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
752 val* var_node /* var node: nullable AExpr */;
753 val* var /* : null */;
754 short int var1 /* : Bool */;
755 var_node = p0;
756 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
757 var = NULL;
758 if (var_node == NULL) {
759 var1 = 0; /* is null */
760 } else {
761 var1 = 1; /* arg is null and recv is not */
762 }
763 if (var1){
764 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
765 } else {
766 }
767 RET_LABEL:;
768 }
769 /* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */
770 void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
771 parser_prod__AWhileExpr__n_block_61d(self, p0);
772 RET_LABEL:;
773 }
774 /* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
775 void parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
776 val* var_node /* var node: nullable ALabel */;
777 val* var /* : null */;
778 short int var1 /* : Bool */;
779 var_node = p0;
780 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
781 var = NULL;
782 if (var_node == NULL) {
783 var1 = 0; /* is null */
784 } else {
785 var1 = 1; /* arg is null and recv is not */
786 }
787 if (var1){
788 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
789 } else {
790 }
791 RET_LABEL:;
792 }
793 /* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */
794 void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
795 parser_prod__AWhileExpr__n_label_61d(self, p0);
796 RET_LABEL:;
797 }
798 /* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
799 void parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
800 val* var_v /* var v: Visitor */;
801 val* var /* : TKwwhile */;
802 val* var1 /* : AExpr */;
803 val* var2 /* : TKwdo */;
804 val* var3 /* : nullable AExpr */;
805 val* var4 /* : null */;
806 short int var5 /* : Bool */;
807 val* var6 /* : nullable AExpr */;
808 val* var7 /* : nullable ALabel */;
809 val* var8 /* : null */;
810 short int var9 /* : Bool */;
811 val* var10 /* : nullable ALabel */;
812 var_v = p0;
813 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
814 if (var == NULL) {
815 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwwhile", "src/parser/parser_prod.nit", 5490);
816 exit(1);
817 }
818 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
819 var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
820 if (var1 == NULL) {
821 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5491);
822 exit(1);
823 }
824 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
825 var2 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
826 if (var2 == NULL) {
827 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdo", "src/parser/parser_prod.nit", 5492);
828 exit(1);
829 }
830 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
831 var3 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
832 var4 = NULL;
833 if (var3 == NULL) {
834 var5 = 0; /* is null */
835 } else {
836 var5 = 1; /* arg is null and recv is not */
837 }
838 if (var5){
839 var6 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
840 if (var6 == NULL) {
841 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5494);
842 exit(1);
843 }
844 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
845 } else {
846 }
847 var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
848 var8 = NULL;
849 if (var7 == NULL) {
850 var9 = 0; /* is null */
851 } else {
852 var9 = 1; /* arg is null and recv is not */
853 }
854 if (var9){
855 var10 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
856 if (var10 == NULL) {
857 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5497);
858 exit(1);
859 }
860 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
861 } else {
862 }
863 RET_LABEL:;
864 }
865 /* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */
866 void VIRTUAL_parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
867 parser_prod__AWhileExpr__visit_all(self, p0);
868 RET_LABEL:;
869 }
870 /* method parser_prod#ALoopExpr#empty_init for (self: ALoopExpr) */
871 void parser_prod__ALoopExpr__empty_init(val* self) {
872 RET_LABEL:;
873 }
874 /* method parser_prod#ALoopExpr#empty_init for (self: Object) */
875 void VIRTUAL_parser_prod__ALoopExpr__empty_init(val* self) {
876 parser_prod__ALoopExpr__empty_init(self);
877 RET_LABEL:;
878 }
879 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
880 void parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
881 val* var_n_kwloop /* var n_kwloop: nullable TKwloop */;
882 val* var_n_block /* var n_block: nullable AExpr */;
883 val* var_n_label /* var n_label: nullable ALabel */;
884 val* var /* : null */;
885 short int var1 /* : Bool */;
886 val* var2 /* : null */;
887 short int var3 /* : Bool */;
888 var_n_kwloop = p0;
889 var_n_block = p1;
890 var_n_label = p2;
891 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALoopExpr__empty_init]))(self) /* empty_init on <self:ALoopExpr>*/;
892 if (var_n_kwloop == NULL) {
893 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5511);
894 exit(1);
895 }
896 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
897 if (var_n_kwloop == NULL) {
898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5512);
899 exit(1);
900 } else {
901 ((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>*/;
902 }
903 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
904 var = NULL;
905 if (var_n_block == NULL) {
906 var1 = 0; /* is null */
907 } else {
908 var1 = 1; /* arg is null and recv is not */
909 }
910 if (var1){
911 ((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)>*/;
912 } else {
913 }
914 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
915 var2 = NULL;
916 if (var_n_label == NULL) {
917 var3 = 0; /* is null */
918 } else {
919 var3 = 1; /* arg is null and recv is not */
920 }
921 if (var3){
922 ((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)>*/;
923 } else {
924 }
925 RET_LABEL:;
926 }
927 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */
928 void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
929 parser_prod__ALoopExpr__init_aloopexpr(self, p0, p1, p2);
930 RET_LABEL:;
931 }
932 /* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
933 void parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
934 val* var_old_child /* var old_child: ANode */;
935 val* var_new_child /* var new_child: nullable ANode */;
936 val* var /* : TKwloop */;
937 short int var1 /* : Bool */;
938 val* var2 /* : null */;
939 short int var3 /* : Bool */;
940 short int var4 /* : Bool */;
941 int cltype;
942 int idtype;
943 val* var5 /* : nullable AExpr */;
944 short int var6 /* : Bool */;
945 val* var7 /* : null */;
946 short int var8 /* : Bool */;
947 short int var9 /* : Bool */;
948 int cltype10;
949 int idtype11;
950 val* var12 /* : null */;
951 val* var13 /* : nullable ALabel */;
952 short int var14 /* : Bool */;
953 val* var15 /* : null */;
954 short int var16 /* : Bool */;
955 short int var17 /* : Bool */;
956 int cltype18;
957 int idtype19;
958 val* var20 /* : null */;
959 var_old_child = p0;
960 var_new_child = p1;
961 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
962 if (var == NULL) {
963 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwloop", "src/parser/parser_prod.nit", 5525);
964 exit(1);
965 }
966 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwloop>*/;
967 if (var1){
968 var2 = NULL;
969 if (var_new_child == NULL) {
970 var3 = 0; /* is null */
971 } else {
972 var3 = 1; /* arg is null and recv is not */
973 }
974 if (var3){
975 ((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)>*/;
976 /* <var_new_child:nullable ANode(ANode)> isa TKwloop */
977 cltype = type_parser_nodes__TKwloop.color;
978 idtype = type_parser_nodes__TKwloop.id;
979 if(cltype >= var_new_child->type->table_size) {
980 var4 = 0;
981 } else {
982 var4 = var_new_child->type->type_table[cltype] == idtype;
983 }
984 if (!var4) {
985 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5528);
986 exit(1);
987 }
988 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_new_child; /* _n_kwloop on <self:ALoopExpr> */
989 } else {
990 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5531);
991 exit(1);
992 }
993 goto RET_LABEL;
994 } else {
995 }
996 var5 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
997 if (var5 == NULL) {
998 var6 = 0; /* <var_old_child:ANode> cannot be null */
999 } else {
1000 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AExpr>*/;
1001 }
1002 if (var6){
1003 var7 = NULL;
1004 if (var_new_child == NULL) {
1005 var8 = 0; /* is null */
1006 } else {
1007 var8 = 1; /* arg is null and recv is not */
1008 }
1009 if (var8){
1010 ((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)>*/;
1011 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1012 cltype10 = type_parser_nodes__AExpr.color;
1013 idtype11 = type_parser_nodes__AExpr.id;
1014 if(cltype10 >= var_new_child->type->table_size) {
1015 var9 = 0;
1016 } else {
1017 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1018 }
1019 if (!var9) {
1020 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5538);
1021 exit(1);
1022 }
1023 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_new_child; /* _n_block on <self:ALoopExpr> */
1024 } else {
1025 var12 = NULL;
1026 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var12; /* _n_block on <self:ALoopExpr> */
1027 }
1028 goto RET_LABEL;
1029 } else {
1030 }
1031 var13 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1032 if (var13 == NULL) {
1033 var14 = 0; /* <var_old_child:ANode> cannot be null */
1034 } else {
1035 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable ALabel>*/;
1036 }
1037 if (var14){
1038 var15 = NULL;
1039 if (var_new_child == NULL) {
1040 var16 = 0; /* is null */
1041 } else {
1042 var16 = 1; /* arg is null and recv is not */
1043 }
1044 if (var16){
1045 ((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)>*/;
1046 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1047 cltype18 = type_parser_nodes__ALabel.color;
1048 idtype19 = type_parser_nodes__ALabel.id;
1049 if(cltype18 >= var_new_child->type->table_size) {
1050 var17 = 0;
1051 } else {
1052 var17 = var_new_child->type->type_table[cltype18] == idtype19;
1053 }
1054 if (!var17) {
1055 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5548);
1056 exit(1);
1057 }
1058 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:ALoopExpr> */
1059 } else {
1060 var20 = NULL;
1061 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var20; /* _n_label on <self:ALoopExpr> */
1062 }
1063 goto RET_LABEL;
1064 } else {
1065 }
1066 RET_LABEL:;
1067 }
1068 /* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */
1069 void VIRTUAL_parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
1070 parser_prod__ALoopExpr__replace_child(self, p0, p1);
1071 RET_LABEL:;
1072 }
1073 /* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
1074 void parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1075 val* var_node /* var node: TKwloop */;
1076 var_node = p0;
1077 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
1078 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwloop>*/;
1079 RET_LABEL:;
1080 }
1081 /* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */
1082 void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1083 parser_prod__ALoopExpr__n_kwloop_61d(self, p0);
1084 RET_LABEL:;
1085 }
1086 /* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
1087 void parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1088 val* var_node /* var node: nullable AExpr */;
1089 val* var /* : null */;
1090 short int var1 /* : Bool */;
1091 var_node = p0;
1092 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
1093 var = NULL;
1094 if (var_node == NULL) {
1095 var1 = 0; /* is null */
1096 } else {
1097 var1 = 1; /* arg is null and recv is not */
1098 }
1099 if (var1){
1100 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1101 } else {
1102 }
1103 RET_LABEL:;
1104 }
1105 /* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */
1106 void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1107 parser_prod__ALoopExpr__n_block_61d(self, p0);
1108 RET_LABEL:;
1109 }
1110 /* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
1111 void parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1112 val* var_node /* var node: nullable ALabel */;
1113 val* var /* : null */;
1114 short int var1 /* : Bool */;
1115 var_node = p0;
1116 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
1117 var = NULL;
1118 if (var_node == NULL) {
1119 var1 = 0; /* is null */
1120 } else {
1121 var1 = 1; /* arg is null and recv is not */
1122 }
1123 if (var1){
1124 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1125 } else {
1126 }
1127 RET_LABEL:;
1128 }
1129 /* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */
1130 void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1131 parser_prod__ALoopExpr__n_label_61d(self, p0);
1132 RET_LABEL:;
1133 }
1134 /* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
1135 void parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1136 val* var_v /* var v: Visitor */;
1137 val* var /* : TKwloop */;
1138 val* var1 /* : nullable AExpr */;
1139 val* var2 /* : null */;
1140 short int var3 /* : Bool */;
1141 val* var4 /* : nullable AExpr */;
1142 val* var5 /* : nullable ALabel */;
1143 val* var6 /* : null */;
1144 short int var7 /* : Bool */;
1145 val* var8 /* : nullable ALabel */;
1146 var_v = p0;
1147 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
1148 if (var == NULL) {
1149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwloop", "src/parser/parser_prod.nit", 5580);
1150 exit(1);
1151 }
1152 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1153 var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1154 var2 = NULL;
1155 if (var1 == NULL) {
1156 var3 = 0; /* is null */
1157 } else {
1158 var3 = 1; /* arg is null and recv is not */
1159 }
1160 if (var3){
1161 var4 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1162 if (var4 == NULL) {
1163 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5582);
1164 exit(1);
1165 }
1166 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
1167 } else {
1168 }
1169 var5 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1170 var6 = NULL;
1171 if (var5 == NULL) {
1172 var7 = 0; /* is null */
1173 } else {
1174 var7 = 1; /* arg is null and recv is not */
1175 }
1176 if (var7){
1177 var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1178 if (var8 == NULL) {
1179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5585);
1180 exit(1);
1181 }
1182 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
1183 } else {
1184 }
1185 RET_LABEL:;
1186 }
1187 /* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */
1188 void VIRTUAL_parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1189 parser_prod__ALoopExpr__visit_all(self, p0);
1190 RET_LABEL:;
1191 }
1192 /* method parser_prod#AForExpr#empty_init for (self: AForExpr) */
1193 void parser_prod__AForExpr__empty_init(val* self) {
1194 RET_LABEL:;
1195 }
1196 /* method parser_prod#AForExpr#empty_init for (self: Object) */
1197 void VIRTUAL_parser_prod__AForExpr__empty_init(val* self) {
1198 parser_prod__AForExpr__empty_init(self);
1199 RET_LABEL:;
1200 }
1201 /* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1202 void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1203 val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
1204 val* var_n_ids /* var n_ids: Collection[Object] */;
1205 val* var_n_expr /* var n_expr: nullable AExpr */;
1206 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
1207 val* var_n_block /* var n_block: nullable AExpr */;
1208 val* var_n_label /* var n_label: nullable ALabel */;
1209 val* var /* : Iterator[nullable Object] */;
1210 short int var1 /* : Bool */;
1211 val* var2 /* : nullable Object */;
1212 val* var_n /* var n: Object */;
1213 short int var3 /* : Bool */;
1214 int cltype;
1215 int idtype;
1216 val* var4 /* : ANodes[TId] */;
1217 val* var5 /* : null */;
1218 short int var6 /* : Bool */;
1219 val* var7 /* : null */;
1220 short int var8 /* : Bool */;
1221 var_n_kwfor = p0;
1222 var_n_ids = p1;
1223 var_n_expr = p2;
1224 var_n_kwdo = p3;
1225 var_n_block = p4;
1226 var_n_label = p5;
1227 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AForExpr__empty_init]))(self) /* empty_init on <self:AForExpr>*/;
1228 if (var_n_kwfor == NULL) {
1229 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5602);
1230 exit(1);
1231 }
1232 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
1233 if (var_n_kwfor == NULL) {
1234 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5603);
1235 exit(1);
1236 } else {
1237 ((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>*/;
1238 }
1239 var = ((val* (*)(val*))(var_n_ids->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_ids) /* iterator on <var_n_ids:Collection[Object]>*/;
1240 for(;;) {
1241 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
1242 if(!var1) break;
1243 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
1244 var_n = var2;
1245 /* <var_n:Object> isa TId */
1246 cltype = type_parser_nodes__TId.color;
1247 idtype = type_parser_nodes__TId.id;
1248 if(cltype >= var_n->type->table_size) {
1249 var3 = 0;
1250 } else {
1251 var3 = var_n->type->type_table[cltype] == idtype;
1252 }
1253 if (!var3) {
1254 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5605);
1255 exit(1);
1256 }
1257 var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1258 if (var4 == NULL) {
1259 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5606);
1260 exit(1);
1261 }
1262 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TId]>*/;
1263 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
1264 CONTINUE_label: (void)0;
1265 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
1266 }
1267 BREAK_label: (void)0;
1268 if (var_n_expr == NULL) {
1269 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5609);
1270 exit(1);
1271 }
1272 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AForExpr> */
1273 if (var_n_expr == NULL) {
1274 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5610);
1275 exit(1);
1276 } else {
1277 ((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>*/;
1278 }
1279 if (var_n_kwdo == NULL) {
1280 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5611);
1281 exit(1);
1282 }
1283 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
1284 if (var_n_kwdo == NULL) {
1285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5612);
1286 exit(1);
1287 } else {
1288 ((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>*/;
1289 }
1290 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
1291 var5 = NULL;
1292 if (var_n_block == NULL) {
1293 var6 = 0; /* is null */
1294 } else {
1295 var6 = 1; /* arg is null and recv is not */
1296 }
1297 if (var6){
1298 ((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)>*/;
1299 } else {
1300 }
1301 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
1302 var7 = NULL;
1303 if (var_n_label == NULL) {
1304 var8 = 0; /* is null */
1305 } else {
1306 var8 = 1; /* arg is null and recv is not */
1307 }
1308 if (var8){
1309 ((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)>*/;
1310 } else {
1311 }
1312 RET_LABEL:;
1313 }
1314 /* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1315 void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1316 parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5);
1317 RET_LABEL:;
1318 }
1319 /* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
1320 void parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1321 val* var_old_child /* var old_child: ANode */;
1322 val* var_new_child /* var new_child: nullable ANode */;
1323 val* var /* : TKwfor */;
1324 short int var1 /* : Bool */;
1325 val* var2 /* : null */;
1326 short int var3 /* : Bool */;
1327 short int var4 /* : Bool */;
1328 int cltype;
1329 int idtype;
1330 val* var5 /* : Range[Int] */;
1331 long var6 /* : Int */;
1332 val* var7 /* : ANodes[TId] */;
1333 long var8 /* : Int */;
1334 val* var9 /* : Discrete */;
1335 val* var10 /* : Discrete */;
1336 val* var11 /* : Iterator[nullable Object] */;
1337 short int var12 /* : Bool */;
1338 val* var13 /* : nullable Object */;
1339 long var_i /* var i: Int */;
1340 long var14 /* : Int */;
1341 val* var15 /* : ANodes[TId] */;
1342 val* var16 /* : nullable Object */;
1343 short int var17 /* : Bool */;
1344 val* var18 /* : null */;
1345 short int var19 /* : Bool */;
1346 short int var20 /* : Bool */;
1347 int cltype21;
1348 int idtype22;
1349 val* var23 /* : ANodes[TId] */;
1350 val* var24 /* : ANodes[TId] */;
1351 val* var25 /* : AExpr */;
1352 short int var26 /* : Bool */;
1353 val* var27 /* : null */;
1354 short int var28 /* : Bool */;
1355 short int var29 /* : Bool */;
1356 int cltype30;
1357 int idtype31;
1358 val* var32 /* : TKwdo */;
1359 short int var33 /* : Bool */;
1360 val* var34 /* : null */;
1361 short int var35 /* : Bool */;
1362 short int var36 /* : Bool */;
1363 int cltype37;
1364 int idtype38;
1365 val* var39 /* : nullable AExpr */;
1366 short int var40 /* : Bool */;
1367 val* var41 /* : null */;
1368 short int var42 /* : Bool */;
1369 short int var43 /* : Bool */;
1370 int cltype44;
1371 int idtype45;
1372 val* var46 /* : null */;
1373 val* var47 /* : nullable ALabel */;
1374 short int var48 /* : Bool */;
1375 val* var49 /* : null */;
1376 short int var50 /* : Bool */;
1377 short int var51 /* : Bool */;
1378 int cltype52;
1379 int idtype53;
1380 val* var54 /* : null */;
1381 var_old_child = p0;
1382 var_new_child = p1;
1383 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1384 if (var == NULL) {
1385 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfor", "src/parser/parser_prod.nit", 5625);
1386 exit(1);
1387 }
1388 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfor>*/;
1389 if (var1){
1390 var2 = NULL;
1391 if (var_new_child == NULL) {
1392 var3 = 0; /* is null */
1393 } else {
1394 var3 = 1; /* arg is null and recv is not */
1395 }
1396 if (var3){
1397 ((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)>*/;
1398 /* <var_new_child:nullable ANode(ANode)> isa TKwfor */
1399 cltype = type_parser_nodes__TKwfor.color;
1400 idtype = type_parser_nodes__TKwfor.id;
1401 if(cltype >= var_new_child->type->table_size) {
1402 var4 = 0;
1403 } else {
1404 var4 = var_new_child->type->type_table[cltype] == idtype;
1405 }
1406 if (!var4) {
1407 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5628);
1408 exit(1);
1409 }
1410 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_new_child; /* _n_kwfor on <self:AForExpr> */
1411 } else {
1412 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5631);
1413 exit(1);
1414 }
1415 goto RET_LABEL;
1416 } else {
1417 }
1418 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
1419 var6 = 0;
1420 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1421 if (var7 == NULL) {
1422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5635);
1423 exit(1);
1424 }
1425 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[TId]>*/;
1426 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
1427 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
1428 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
1429 CHECK_NEW_range__Range(var5);
1430 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
1431 for(;;) {
1432 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
1433 if(!var12) break;
1434 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
1435 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
1436 var_i = var14;
1437 var15 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1438 if (var15 == NULL) {
1439 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5636);
1440 exit(1);
1441 }
1442 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[TId]>*/;
1443 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(TId)>*/;
1444 if (var17){
1445 var18 = NULL;
1446 if (var_new_child == NULL) {
1447 var19 = 0; /* is null */
1448 } else {
1449 var19 = 1; /* arg is null and recv is not */
1450 }
1451 if (var19){
1452 /* <var_new_child:nullable ANode(ANode)> isa TId */
1453 cltype21 = type_parser_nodes__TId.color;
1454 idtype22 = type_parser_nodes__TId.id;
1455 if(cltype21 >= var_new_child->type->table_size) {
1456 var20 = 0;
1457 } else {
1458 var20 = var_new_child->type->type_table[cltype21] == idtype22;
1459 }
1460 if (!var20) {
1461 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5638);
1462 exit(1);
1463 }
1464 var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1465 if (var23 == NULL) {
1466 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5639);
1467 exit(1);
1468 }
1469 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[TId]>*/;
1470 ((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)>*/;
1471 } else {
1472 var24 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1473 if (var24 == NULL) {
1474 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5642);
1475 exit(1);
1476 }
1477 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[TId]>*/;
1478 }
1479 goto RET_LABEL;
1480 } else {
1481 }
1482 CONTINUE_label: (void)0;
1483 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
1484 }
1485 BREAK_label: (void)0;
1486 var25 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1487 if (var25 == NULL) {
1488 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5647);
1489 exit(1);
1490 }
1491 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:AExpr>*/;
1492 if (var26){
1493 var27 = NULL;
1494 if (var_new_child == NULL) {
1495 var28 = 0; /* is null */
1496 } else {
1497 var28 = 1; /* arg is null and recv is not */
1498 }
1499 if (var28){
1500 ((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)>*/;
1501 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1502 cltype30 = type_parser_nodes__AExpr.color;
1503 idtype31 = type_parser_nodes__AExpr.id;
1504 if(cltype30 >= var_new_child->type->table_size) {
1505 var29 = 0;
1506 } else {
1507 var29 = var_new_child->type->type_table[cltype30] == idtype31;
1508 }
1509 if (!var29) {
1510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5650);
1511 exit(1);
1512 }
1513 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_new_child; /* _n_expr on <self:AForExpr> */
1514 } else {
1515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5653);
1516 exit(1);
1517 }
1518 goto RET_LABEL;
1519 } else {
1520 }
1521 var32 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1522 if (var32 == NULL) {
1523 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdo", "src/parser/parser_prod.nit", 5657);
1524 exit(1);
1525 }
1526 var33 = ((short int (*)(val*, val*))(var32->class->vft[COLOR_kernel__Object___61d_61d]))(var32, var_old_child) /* == on <var32:TKwdo>*/;
1527 if (var33){
1528 var34 = NULL;
1529 if (var_new_child == NULL) {
1530 var35 = 0; /* is null */
1531 } else {
1532 var35 = 1; /* arg is null and recv is not */
1533 }
1534 if (var35){
1535 ((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)>*/;
1536 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
1537 cltype37 = type_parser_nodes__TKwdo.color;
1538 idtype38 = type_parser_nodes__TKwdo.id;
1539 if(cltype37 >= var_new_child->type->table_size) {
1540 var36 = 0;
1541 } else {
1542 var36 = var_new_child->type->type_table[cltype37] == idtype38;
1543 }
1544 if (!var36) {
1545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5660);
1546 exit(1);
1547 }
1548 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AForExpr> */
1549 } else {
1550 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5663);
1551 exit(1);
1552 }
1553 goto RET_LABEL;
1554 } else {
1555 }
1556 var39 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1557 if (var39 == NULL) {
1558 var40 = 0; /* <var_old_child:ANode> cannot be null */
1559 } else {
1560 var40 = ((short int (*)(val*, val*))(var39->class->vft[COLOR_kernel__Object___61d_61d]))(var39, var_old_child) /* == on <var39:nullable AExpr>*/;
1561 }
1562 if (var40){
1563 var41 = NULL;
1564 if (var_new_child == NULL) {
1565 var42 = 0; /* is null */
1566 } else {
1567 var42 = 1; /* arg is null and recv is not */
1568 }
1569 if (var42){
1570 ((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)>*/;
1571 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1572 cltype44 = type_parser_nodes__AExpr.color;
1573 idtype45 = type_parser_nodes__AExpr.id;
1574 if(cltype44 >= var_new_child->type->table_size) {
1575 var43 = 0;
1576 } else {
1577 var43 = var_new_child->type->type_table[cltype44] == idtype45;
1578 }
1579 if (!var43) {
1580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5670);
1581 exit(1);
1582 }
1583 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_new_child; /* _n_block on <self:AForExpr> */
1584 } else {
1585 var46 = NULL;
1586 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var46; /* _n_block on <self:AForExpr> */
1587 }
1588 goto RET_LABEL;
1589 } else {
1590 }
1591 var47 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1592 if (var47 == NULL) {
1593 var48 = 0; /* <var_old_child:ANode> cannot be null */
1594 } else {
1595 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable ALabel>*/;
1596 }
1597 if (var48){
1598 var49 = NULL;
1599 if (var_new_child == NULL) {
1600 var50 = 0; /* is null */
1601 } else {
1602 var50 = 1; /* arg is null and recv is not */
1603 }
1604 if (var50){
1605 ((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)>*/;
1606 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1607 cltype52 = type_parser_nodes__ALabel.color;
1608 idtype53 = type_parser_nodes__ALabel.id;
1609 if(cltype52 >= var_new_child->type->table_size) {
1610 var51 = 0;
1611 } else {
1612 var51 = var_new_child->type->type_table[cltype52] == idtype53;
1613 }
1614 if (!var51) {
1615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5680);
1616 exit(1);
1617 }
1618 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AForExpr> */
1619 } else {
1620 var54 = NULL;
1621 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var54; /* _n_label on <self:AForExpr> */
1622 }
1623 goto RET_LABEL;
1624 } else {
1625 }
1626 RET_LABEL:;
1627 }
1628 /* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */
1629 void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1630 parser_prod__AForExpr__replace_child(self, p0, p1);
1631 RET_LABEL:;
1632 }
1633 /* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
1634 void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1635 val* var_node /* var node: TKwfor */;
1636 var_node = p0;
1637 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
1638 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfor>*/;
1639 RET_LABEL:;
1640 }
1641 /* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */
1642 void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1643 parser_prod__AForExpr__n_kwfor_61d(self, p0);
1644 RET_LABEL:;
1645 }
1646 /* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
1647 void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1648 val* var_node /* var node: AExpr */;
1649 var_node = p0;
1650 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on <self:AForExpr> */
1651 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1652 RET_LABEL:;
1653 }
1654 /* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */
1655 void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1656 parser_prod__AForExpr__n_expr_61d(self, p0);
1657 RET_LABEL:;
1658 }
1659 /* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
1660 void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1661 val* var_node /* var node: TKwdo */;
1662 var_node = p0;
1663 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
1664 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
1665 RET_LABEL:;
1666 }
1667 /* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */
1668 void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1669 parser_prod__AForExpr__n_kwdo_61d(self, p0);
1670 RET_LABEL:;
1671 }
1672 /* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
1673 void parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1674 val* var_node /* var node: nullable AExpr */;
1675 val* var /* : null */;
1676 short int var1 /* : Bool */;
1677 var_node = p0;
1678 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
1679 var = NULL;
1680 if (var_node == NULL) {
1681 var1 = 0; /* is null */
1682 } else {
1683 var1 = 1; /* arg is null and recv is not */
1684 }
1685 if (var1){
1686 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1687 } else {
1688 }
1689 RET_LABEL:;
1690 }
1691 /* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */
1692 void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1693 parser_prod__AForExpr__n_block_61d(self, p0);
1694 RET_LABEL:;
1695 }
1696 /* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
1697 void parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1698 val* var_node /* var node: nullable ALabel */;
1699 val* var /* : null */;
1700 short int var1 /* : Bool */;
1701 var_node = p0;
1702 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
1703 var = NULL;
1704 if (var_node == NULL) {
1705 var1 = 0; /* is null */
1706 } else {
1707 var1 = 1; /* arg is null and recv is not */
1708 }
1709 if (var1){
1710 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1711 } else {
1712 }
1713 RET_LABEL:;
1714 }
1715 /* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */
1716 void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1717 parser_prod__AForExpr__n_label_61d(self, p0);
1718 RET_LABEL:;
1719 }
1720 /* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
1721 void parser_prod__AForExpr__visit_all(val* self, val* p0) {
1722 val* var_v /* var v: Visitor */;
1723 val* var /* : TKwfor */;
1724 val* var1 /* : ANodes[TId] */;
1725 val* var2 /* : Iterator[nullable Object] */;
1726 short int var3 /* : Bool */;
1727 val* var4 /* : nullable Object */;
1728 val* var_n /* var n: TId */;
1729 val* var5 /* : AExpr */;
1730 val* var6 /* : TKwdo */;
1731 val* var7 /* : nullable AExpr */;
1732 val* var8 /* : null */;
1733 short int var9 /* : Bool */;
1734 val* var10 /* : nullable AExpr */;
1735 val* var11 /* : nullable ALabel */;
1736 val* var12 /* : null */;
1737 short int var13 /* : Bool */;
1738 val* var14 /* : nullable ALabel */;
1739 var_v = p0;
1740 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1741 if (var == NULL) {
1742 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfor", "src/parser/parser_prod.nit", 5722);
1743 exit(1);
1744 }
1745 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1746 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1747 if (var1 == NULL) {
1748 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5723);
1749 exit(1);
1750 }
1751 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[TId]>*/;
1752 for(;;) {
1753 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
1754 if(!var3) break;
1755 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
1756 var_n = var4;
1757 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
1758 CONTINUE_label: (void)0;
1759 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
1760 }
1761 BREAK_label: (void)0;
1762 var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1763 if (var5 == NULL) {
1764 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5726);
1765 exit(1);
1766 }
1767 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
1768 var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1769 if (var6 == NULL) {
1770 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdo", "src/parser/parser_prod.nit", 5727);
1771 exit(1);
1772 }
1773 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1774 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1775 var8 = NULL;
1776 if (var7 == NULL) {
1777 var9 = 0; /* is null */
1778 } else {
1779 var9 = 1; /* arg is null and recv is not */
1780 }
1781 if (var9){
1782 var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1783 if (var10 == NULL) {
1784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5729);
1785 exit(1);
1786 }
1787 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
1788 } else {
1789 }
1790 var11 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1791 var12 = NULL;
1792 if (var11 == NULL) {
1793 var13 = 0; /* is null */
1794 } else {
1795 var13 = 1; /* arg is null and recv is not */
1796 }
1797 if (var13){
1798 var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1799 if (var14 == NULL) {
1800 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5732);
1801 exit(1);
1802 }
1803 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on <var_v:Visitor>*/;
1804 } else {
1805 }
1806 RET_LABEL:;
1807 }
1808 /* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */
1809 void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) {
1810 parser_prod__AForExpr__visit_all(self, p0);
1811 RET_LABEL:;
1812 }
1813 /* method parser_prod#AAssertExpr#empty_init for (self: AAssertExpr) */
1814 void parser_prod__AAssertExpr__empty_init(val* self) {
1815 RET_LABEL:;
1816 }
1817 /* method parser_prod#AAssertExpr#empty_init for (self: Object) */
1818 void VIRTUAL_parser_prod__AAssertExpr__empty_init(val* self) {
1819 parser_prod__AAssertExpr__empty_init(self);
1820 RET_LABEL:;
1821 }
1822 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
1823 void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
1824 val* var_n_kwassert /* var n_kwassert: nullable TKwassert */;
1825 val* var_n_id /* var n_id: nullable TId */;
1826 val* var_n_expr /* var n_expr: nullable AExpr */;
1827 val* var_n_else /* var n_else: nullable AExpr */;
1828 val* var /* : null */;
1829 short int var1 /* : Bool */;
1830 val* var2 /* : null */;
1831 short int var3 /* : Bool */;
1832 var_n_kwassert = p0;
1833 var_n_id = p1;
1834 var_n_expr = p2;
1835 var_n_else = p3;
1836 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAssertExpr__empty_init]))(self) /* empty_init on <self:AAssertExpr>*/;
1837 if (var_n_kwassert == NULL) {
1838 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5747);
1839 exit(1);
1840 }
1841 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
1842 if (var_n_kwassert == NULL) {
1843 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5748);
1844 exit(1);
1845 } else {
1846 ((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>*/;
1847 }
1848 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
1849 var = NULL;
1850 if (var_n_id == NULL) {
1851 var1 = 0; /* is null */
1852 } else {
1853 var1 = 1; /* arg is null and recv is not */
1854 }
1855 if (var1){
1856 ((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)>*/;
1857 } else {
1858 }
1859 if (var_n_expr == NULL) {
1860 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5753);
1861 exit(1);
1862 }
1863 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
1864 if (var_n_expr == NULL) {
1865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5754);
1866 exit(1);
1867 } else {
1868 ((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>*/;
1869 }
1870 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
1871 var2 = NULL;
1872 if (var_n_else == NULL) {
1873 var3 = 0; /* is null */
1874 } else {
1875 var3 = 1; /* arg is null and recv is not */
1876 }
1877 if (var3){
1878 ((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)>*/;
1879 } else {
1880 }
1881 RET_LABEL:;
1882 }
1883 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
1884 void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
1885 parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3);
1886 RET_LABEL:;
1887 }
1888 /* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
1889 void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
1890 val* var_old_child /* var old_child: ANode */;
1891 val* var_new_child /* var new_child: nullable ANode */;
1892 val* var /* : TKwassert */;
1893 short int var1 /* : Bool */;
1894 val* var2 /* : null */;
1895 short int var3 /* : Bool */;
1896 short int var4 /* : Bool */;
1897 int cltype;
1898 int idtype;
1899 val* var5 /* : nullable TId */;
1900 short int var6 /* : Bool */;
1901 val* var7 /* : null */;
1902 short int var8 /* : Bool */;
1903 short int var9 /* : Bool */;
1904 int cltype10;
1905 int idtype11;
1906 val* var12 /* : null */;
1907 val* var13 /* : AExpr */;
1908 short int var14 /* : Bool */;
1909 val* var15 /* : null */;
1910 short int var16 /* : Bool */;
1911 short int var17 /* : Bool */;
1912 int cltype18;
1913 int idtype19;
1914 val* var20 /* : nullable AExpr */;
1915 short int var21 /* : Bool */;
1916 val* var22 /* : null */;
1917 short int var23 /* : Bool */;
1918 short int var24 /* : Bool */;
1919 int cltype25;
1920 int idtype26;
1921 val* var27 /* : null */;
1922 var_old_child = p0;
1923 var_new_child = p1;
1924 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
1925 if (var == NULL) {
1926 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwassert", "src/parser/parser_prod.nit", 5763);
1927 exit(1);
1928 }
1929 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwassert>*/;
1930 if (var1){
1931 var2 = NULL;
1932 if (var_new_child == NULL) {
1933 var3 = 0; /* is null */
1934 } else {
1935 var3 = 1; /* arg is null and recv is not */
1936 }
1937 if (var3){
1938 ((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)>*/;
1939 /* <var_new_child:nullable ANode(ANode)> isa TKwassert */
1940 cltype = type_parser_nodes__TKwassert.color;
1941 idtype = type_parser_nodes__TKwassert.id;
1942 if(cltype >= var_new_child->type->table_size) {
1943 var4 = 0;
1944 } else {
1945 var4 = var_new_child->type->type_table[cltype] == idtype;
1946 }
1947 if (!var4) {
1948 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5766);
1949 exit(1);
1950 }
1951 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_new_child; /* _n_kwassert on <self:AAssertExpr> */
1952 } else {
1953 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5769);
1954 exit(1);
1955 }
1956 goto RET_LABEL;
1957 } else {
1958 }
1959 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
1960 if (var5 == NULL) {
1961 var6 = 0; /* <var_old_child:ANode> cannot be null */
1962 } else {
1963 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TId>*/;
1964 }
1965 if (var6){
1966 var7 = NULL;
1967 if (var_new_child == NULL) {
1968 var8 = 0; /* is null */
1969 } else {
1970 var8 = 1; /* arg is null and recv is not */
1971 }
1972 if (var8){
1973 ((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)>*/;
1974 /* <var_new_child:nullable ANode(ANode)> isa TId */
1975 cltype10 = type_parser_nodes__TId.color;
1976 idtype11 = type_parser_nodes__TId.id;
1977 if(cltype10 >= var_new_child->type->table_size) {
1978 var9 = 0;
1979 } else {
1980 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1981 }
1982 if (!var9) {
1983 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5776);
1984 exit(1);
1985 }
1986 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_new_child; /* _n_id on <self:AAssertExpr> */
1987 } else {
1988 var12 = NULL;
1989 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var12; /* _n_id on <self:AAssertExpr> */
1990 }
1991 goto RET_LABEL;
1992 } else {
1993 }
1994 var13 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
1995 if (var13 == NULL) {
1996 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5783);
1997 exit(1);
1998 }
1999 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExpr>*/;
2000 if (var14){
2001 var15 = NULL;
2002 if (var_new_child == NULL) {
2003 var16 = 0; /* is null */
2004 } else {
2005 var16 = 1; /* arg is null and recv is not */
2006 }
2007 if (var16){
2008 ((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)>*/;
2009 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2010 cltype18 = type_parser_nodes__AExpr.color;
2011 idtype19 = type_parser_nodes__AExpr.id;
2012 if(cltype18 >= var_new_child->type->table_size) {
2013 var17 = 0;
2014 } else {
2015 var17 = var_new_child->type->type_table[cltype18] == idtype19;
2016 }
2017 if (!var17) {
2018 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5786);
2019 exit(1);
2020 }
2021 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAssertExpr> */
2022 } else {
2023 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5789);
2024 exit(1);
2025 }
2026 goto RET_LABEL;
2027 } else {
2028 }
2029 var20 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2030 if (var20 == NULL) {
2031 var21 = 0; /* <var_old_child:ANode> cannot be null */
2032 } else {
2033 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AExpr>*/;
2034 }
2035 if (var21){
2036 var22 = NULL;
2037 if (var_new_child == NULL) {
2038 var23 = 0; /* is null */
2039 } else {
2040 var23 = 1; /* arg is null and recv is not */
2041 }
2042 if (var23){
2043 ((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)>*/;
2044 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2045 cltype25 = type_parser_nodes__AExpr.color;
2046 idtype26 = type_parser_nodes__AExpr.id;
2047 if(cltype25 >= var_new_child->type->table_size) {
2048 var24 = 0;
2049 } else {
2050 var24 = var_new_child->type->type_table[cltype25] == idtype26;
2051 }
2052 if (!var24) {
2053 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5796);
2054 exit(1);
2055 }
2056 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_new_child; /* _n_else on <self:AAssertExpr> */
2057 } else {
2058 var27 = NULL;
2059 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var27; /* _n_else on <self:AAssertExpr> */
2060 }
2061 goto RET_LABEL;
2062 } else {
2063 }
2064 RET_LABEL:;
2065 }
2066 /* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */
2067 void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
2068 parser_prod__AAssertExpr__replace_child(self, p0, p1);
2069 RET_LABEL:;
2070 }
2071 /* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
2072 void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2073 val* var_node /* var node: TKwassert */;
2074 var_node = p0;
2075 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
2076 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwassert>*/;
2077 RET_LABEL:;
2078 }
2079 /* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */
2080 void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2081 parser_prod__AAssertExpr__n_kwassert_61d(self, p0);
2082 RET_LABEL:;
2083 }
2084 /* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
2085 void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2086 val* var_node /* var node: nullable TId */;
2087 val* var /* : null */;
2088 short int var1 /* : Bool */;
2089 var_node = p0;
2090 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
2091 var = NULL;
2092 if (var_node == NULL) {
2093 var1 = 0; /* is null */
2094 } else {
2095 var1 = 1; /* arg is null and recv is not */
2096 }
2097 if (var1){
2098 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
2099 } else {
2100 }
2101 RET_LABEL:;
2102 }
2103 /* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */
2104 void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2105 parser_prod__AAssertExpr__n_id_61d(self, p0);
2106 RET_LABEL:;
2107 }
2108 /* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
2109 void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2110 val* var_node /* var node: AExpr */;
2111 var_node = p0;
2112 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
2113 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2114 RET_LABEL:;
2115 }
2116 /* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */
2117 void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2118 parser_prod__AAssertExpr__n_expr_61d(self, p0);
2119 RET_LABEL:;
2120 }
2121 /* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
2122 void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2123 val* var_node /* var node: nullable AExpr */;
2124 val* var /* : null */;
2125 short int var1 /* : Bool */;
2126 var_node = p0;
2127 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
2128 var = NULL;
2129 if (var_node == NULL) {
2130 var1 = 0; /* is null */
2131 } else {
2132 var1 = 1; /* arg is null and recv is not */
2133 }
2134 if (var1){
2135 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
2136 } else {
2137 }
2138 RET_LABEL:;
2139 }
2140 /* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */
2141 void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2142 parser_prod__AAssertExpr__n_else_61d(self, p0);
2143 RET_LABEL:;
2144 }
2145 /* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
2146 void parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2147 val* var_v /* var v: Visitor */;
2148 val* var /* : TKwassert */;
2149 val* var1 /* : nullable TId */;
2150 val* var2 /* : null */;
2151 short int var3 /* : Bool */;
2152 val* var4 /* : nullable TId */;
2153 val* var5 /* : AExpr */;
2154 val* var6 /* : nullable AExpr */;
2155 val* var7 /* : null */;
2156 short int var8 /* : Bool */;
2157 val* var9 /* : nullable AExpr */;
2158 var_v = p0;
2159 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
2160 if (var == NULL) {
2161 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwassert", "src/parser/parser_prod.nit", 5833);
2162 exit(1);
2163 }
2164 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2165 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2166 var2 = NULL;
2167 if (var1 == NULL) {
2168 var3 = 0; /* is null */
2169 } else {
2170 var3 = 1; /* arg is null and recv is not */
2171 }
2172 if (var3){
2173 var4 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2174 if (var4 == NULL) {
2175 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5835);
2176 exit(1);
2177 }
2178 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
2179 } else {
2180 }
2181 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
2182 if (var5 == NULL) {
2183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5837);
2184 exit(1);
2185 }
2186 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2187 var6 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2188 var7 = NULL;
2189 if (var6 == NULL) {
2190 var8 = 0; /* is null */
2191 } else {
2192 var8 = 1; /* arg is null and recv is not */
2193 }
2194 if (var8){
2195 var9 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2196 if (var9 == NULL) {
2197 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5839);
2198 exit(1);
2199 }
2200 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
2201 } else {
2202 }
2203 RET_LABEL:;
2204 }
2205 /* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */
2206 void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2207 parser_prod__AAssertExpr__visit_all(self, p0);
2208 RET_LABEL:;
2209 }
2210 /* method parser_prod#AOnceExpr#empty_init for (self: AOnceExpr) */
2211 void parser_prod__AOnceExpr__empty_init(val* self) {
2212 RET_LABEL:;
2213 }
2214 /* method parser_prod#AOnceExpr#empty_init for (self: Object) */
2215 void VIRTUAL_parser_prod__AOnceExpr__empty_init(val* self) {
2216 parser_prod__AOnceExpr__empty_init(self);
2217 RET_LABEL:;
2218 }
2219 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
2220 void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2221 val* var_n_kwonce /* var n_kwonce: nullable TKwonce */;
2222 val* var_n_expr /* var n_expr: nullable AExpr */;
2223 var_n_kwonce = p0;
2224 var_n_expr = p1;
2225 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOnceExpr__empty_init]))(self) /* empty_init on <self:AOnceExpr>*/;
2226 if (var_n_kwonce == NULL) {
2227 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5852);
2228 exit(1);
2229 }
2230 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
2231 if (var_n_kwonce == NULL) {
2232 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5853);
2233 exit(1);
2234 } else {
2235 ((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>*/;
2236 }
2237 if (var_n_expr == NULL) {
2238 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5854);
2239 exit(1);
2240 }
2241 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
2242 if (var_n_expr == NULL) {
2243 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5855);
2244 exit(1);
2245 } else {
2246 ((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>*/;
2247 }
2248 RET_LABEL:;
2249 }
2250 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */
2251 void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2252 parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1);
2253 RET_LABEL:;
2254 }
2255 /* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
2256 void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2257 val* var_old_child /* var old_child: ANode */;
2258 val* var_new_child /* var new_child: nullable ANode */;
2259 val* var /* : TKwonce */;
2260 short int var1 /* : Bool */;
2261 val* var2 /* : null */;
2262 short int var3 /* : Bool */;
2263 short int var4 /* : Bool */;
2264 int cltype;
2265 int idtype;
2266 val* var5 /* : AExpr */;
2267 short int var6 /* : Bool */;
2268 val* var7 /* : null */;
2269 short int var8 /* : Bool */;
2270 short int var9 /* : Bool */;
2271 int cltype10;
2272 int idtype11;
2273 var_old_child = p0;
2274 var_new_child = p1;
2275 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2276 if (var == NULL) {
2277 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwonce", "src/parser/parser_prod.nit", 5860);
2278 exit(1);
2279 }
2280 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwonce>*/;
2281 if (var1){
2282 var2 = NULL;
2283 if (var_new_child == NULL) {
2284 var3 = 0; /* is null */
2285 } else {
2286 var3 = 1; /* arg is null and recv is not */
2287 }
2288 if (var3){
2289 ((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)>*/;
2290 /* <var_new_child:nullable ANode(ANode)> isa TKwonce */
2291 cltype = type_parser_nodes__TKwonce.color;
2292 idtype = type_parser_nodes__TKwonce.id;
2293 if(cltype >= var_new_child->type->table_size) {
2294 var4 = 0;
2295 } else {
2296 var4 = var_new_child->type->type_table[cltype] == idtype;
2297 }
2298 if (!var4) {
2299 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5863);
2300 exit(1);
2301 }
2302 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_new_child; /* _n_kwonce on <self:AOnceExpr> */
2303 } else {
2304 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5866);
2305 exit(1);
2306 }
2307 goto RET_LABEL;
2308 } else {
2309 }
2310 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2311 if (var5 == NULL) {
2312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5870);
2313 exit(1);
2314 }
2315 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2316 if (var6){
2317 var7 = NULL;
2318 if (var_new_child == NULL) {
2319 var8 = 0; /* is null */
2320 } else {
2321 var8 = 1; /* arg is null and recv is not */
2322 }
2323 if (var8){
2324 ((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)>*/;
2325 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2326 cltype10 = type_parser_nodes__AExpr.color;
2327 idtype11 = type_parser_nodes__AExpr.id;
2328 if(cltype10 >= var_new_child->type->table_size) {
2329 var9 = 0;
2330 } else {
2331 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2332 }
2333 if (!var9) {
2334 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5873);
2335 exit(1);
2336 }
2337 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOnceExpr> */
2338 } else {
2339 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5876);
2340 exit(1);
2341 }
2342 goto RET_LABEL;
2343 } else {
2344 }
2345 RET_LABEL:;
2346 }
2347 /* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */
2348 void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2349 parser_prod__AOnceExpr__replace_child(self, p0, p1);
2350 RET_LABEL:;
2351 }
2352 /* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
2353 void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2354 val* var_node /* var node: TKwonce */;
2355 var_node = p0;
2356 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
2357 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwonce>*/;
2358 RET_LABEL:;
2359 }
2360 /* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */
2361 void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2362 parser_prod__AOnceExpr__n_kwonce_61d(self, p0);
2363 RET_LABEL:;
2364 }
2365 /* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
2366 void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2367 val* var_node /* var node: AExpr */;
2368 var_node = p0;
2369 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
2370 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2371 RET_LABEL:;
2372 }
2373 /* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */
2374 void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2375 parser_prod__AOnceExpr__n_expr_61d(self, p0);
2376 RET_LABEL:;
2377 }
2378 /* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
2379 void parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2380 val* var_v /* var v: Visitor */;
2381 val* var /* : TKwonce */;
2382 val* var1 /* : AExpr */;
2383 var_v = p0;
2384 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2385 if (var == NULL) {
2386 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwonce", "src/parser/parser_prod.nit", 5896);
2387 exit(1);
2388 }
2389 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2390 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2391 if (var1 == NULL) {
2392 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5897);
2393 exit(1);
2394 }
2395 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2396 RET_LABEL:;
2397 }
2398 /* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */
2399 void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2400 parser_prod__AOnceExpr__visit_all(self, p0);
2401 RET_LABEL:;
2402 }
2403 /* method parser_prod#ASendExpr#empty_init for (self: ASendExpr) */
2404 void parser_prod__ASendExpr__empty_init(val* self) {
2405 RET_LABEL:;
2406 }
2407 /* method parser_prod#ASendExpr#empty_init for (self: Object) */
2408 void VIRTUAL_parser_prod__ASendExpr__empty_init(val* self) {
2409 parser_prod__ASendExpr__empty_init(self);
2410 RET_LABEL:;
2411 }
2412 /* method parser_prod#ASendExpr#init_asendexpr for (self: ASendExpr, nullable AExpr) */
2413 void parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2414 val* var_n_expr /* var n_expr: nullable AExpr */;
2415 var_n_expr = p0;
2416 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASendExpr__empty_init]))(self) /* empty_init on <self:ASendExpr>*/;
2417 if (var_n_expr == NULL) {
2418 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5908);
2419 exit(1);
2420 }
2421 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASendExpr> */
2422 if (var_n_expr == NULL) {
2423 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5909);
2424 exit(1);
2425 } else {
2426 ((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>*/;
2427 }
2428 RET_LABEL:;
2429 }
2430 /* method parser_prod#ASendExpr#init_asendexpr for (self: Object, nullable AExpr) */
2431 void VIRTUAL_parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2432 parser_prod__ASendExpr__init_asendexpr(self, p0);
2433 RET_LABEL:;
2434 }
2435 /* method parser_prod#ASendExpr#replace_child for (self: ASendExpr, ANode, nullable ANode) */
2436 void parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2437 val* var_old_child /* var old_child: ANode */;
2438 val* var_new_child /* var new_child: nullable ANode */;
2439 val* var /* : AExpr */;
2440 short int var1 /* : Bool */;
2441 val* var2 /* : null */;
2442 short int var3 /* : Bool */;
2443 short int var4 /* : Bool */;
2444 int cltype;
2445 int idtype;
2446 var_old_child = p0;
2447 var_new_child = p1;
2448 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2449 if (var == NULL) {
2450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5914);
2451 exit(1);
2452 }
2453 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2454 if (var1){
2455 var2 = NULL;
2456 if (var_new_child == NULL) {
2457 var3 = 0; /* is null */
2458 } else {
2459 var3 = 1; /* arg is null and recv is not */
2460 }
2461 if (var3){
2462 ((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)>*/;
2463 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2464 cltype = type_parser_nodes__AExpr.color;
2465 idtype = type_parser_nodes__AExpr.id;
2466 if(cltype >= var_new_child->type->table_size) {
2467 var4 = 0;
2468 } else {
2469 var4 = var_new_child->type->type_table[cltype] == idtype;
2470 }
2471 if (!var4) {
2472 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5917);
2473 exit(1);
2474 }
2475 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASendExpr> */
2476 } else {
2477 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5920);
2478 exit(1);
2479 }
2480 goto RET_LABEL;
2481 } else {
2482 }
2483 RET_LABEL:;
2484 }
2485 /* method parser_prod#ASendExpr#replace_child for (self: Object, ANode, nullable ANode) */
2486 void VIRTUAL_parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2487 parser_prod__ASendExpr__replace_child(self, p0, p1);
2488 RET_LABEL:;
2489 }
2490 /* method parser_prod#ASendExpr#n_expr= for (self: ASendExpr, AExpr) */
2491 void parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2492 val* var_node /* var node: AExpr */;
2493 var_node = p0;
2494 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASendExpr> */
2495 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2496 RET_LABEL:;
2497 }
2498 /* method parser_prod#ASendExpr#n_expr= for (self: Object, AExpr) */
2499 void VIRTUAL_parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2500 parser_prod__ASendExpr__n_expr_61d(self, p0);
2501 RET_LABEL:;
2502 }
2503 /* method parser_prod#ASendExpr#visit_all for (self: ASendExpr, Visitor) */
2504 void parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2505 val* var_v /* var v: Visitor */;
2506 val* var /* : AExpr */;
2507 var_v = p0;
2508 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2509 if (var == NULL) {
2510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5935);
2511 exit(1);
2512 }
2513 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2514 RET_LABEL:;
2515 }
2516 /* method parser_prod#ASendExpr#visit_all for (self: Object, Visitor) */
2517 void VIRTUAL_parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2518 parser_prod__ASendExpr__visit_all(self, p0);
2519 RET_LABEL:;
2520 }
2521 /* method parser_prod#ABinopExpr#empty_init for (self: ABinopExpr) */
2522 void parser_prod__ABinopExpr__empty_init(val* self) {
2523 RET_LABEL:;
2524 }
2525 /* method parser_prod#ABinopExpr#empty_init for (self: Object) */
2526 void VIRTUAL_parser_prod__ABinopExpr__empty_init(val* self) {
2527 parser_prod__ABinopExpr__empty_init(self);
2528 RET_LABEL:;
2529 }
2530 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: ABinopExpr, nullable AExpr, nullable AExpr) */
2531 void parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2532 val* var_n_expr /* var n_expr: nullable AExpr */;
2533 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2534 var_n_expr = p0;
2535 var_n_expr2 = p1;
2536 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABinopExpr__empty_init]))(self) /* empty_init on <self:ABinopExpr>*/;
2537 if (var_n_expr == NULL) {
2538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5947);
2539 exit(1);
2540 }
2541 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABinopExpr> */
2542 if (var_n_expr == NULL) {
2543 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5948);
2544 exit(1);
2545 } else {
2546 ((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>*/;
2547 }
2548 if (var_n_expr2 == NULL) {
2549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5949);
2550 exit(1);
2551 }
2552 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ABinopExpr> */
2553 if (var_n_expr2 == NULL) {
2554 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5950);
2555 exit(1);
2556 } else {
2557 ((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>*/;
2558 }
2559 RET_LABEL:;
2560 }
2561 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: Object, nullable AExpr, nullable AExpr) */
2562 void VIRTUAL_parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2563 parser_prod__ABinopExpr__init_abinopexpr(self, p0, p1);
2564 RET_LABEL:;
2565 }
2566 /* method parser_prod#ABinopExpr#replace_child for (self: ABinopExpr, ANode, nullable ANode) */
2567 void parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2568 val* var_old_child /* var old_child: ANode */;
2569 val* var_new_child /* var new_child: nullable ANode */;
2570 val* var /* : AExpr */;
2571 short int var1 /* : Bool */;
2572 val* var2 /* : null */;
2573 short int var3 /* : Bool */;
2574 short int var4 /* : Bool */;
2575 int cltype;
2576 int idtype;
2577 val* var5 /* : AExpr */;
2578 short int var6 /* : Bool */;
2579 val* var7 /* : null */;
2580 short int var8 /* : Bool */;
2581 short int var9 /* : Bool */;
2582 int cltype10;
2583 int idtype11;
2584 var_old_child = p0;
2585 var_new_child = p1;
2586 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2587 if (var == NULL) {
2588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5955);
2589 exit(1);
2590 }
2591 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2592 if (var1){
2593 var2 = NULL;
2594 if (var_new_child == NULL) {
2595 var3 = 0; /* is null */
2596 } else {
2597 var3 = 1; /* arg is null and recv is not */
2598 }
2599 if (var3){
2600 ((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)>*/;
2601 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2602 cltype = type_parser_nodes__AExpr.color;
2603 idtype = type_parser_nodes__AExpr.id;
2604 if(cltype >= var_new_child->type->table_size) {
2605 var4 = 0;
2606 } else {
2607 var4 = var_new_child->type->type_table[cltype] == idtype;
2608 }
2609 if (!var4) {
2610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5958);
2611 exit(1);
2612 }
2613 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABinopExpr> */
2614 } else {
2615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5961);
2616 exit(1);
2617 }
2618 goto RET_LABEL;
2619 } else {
2620 }
2621 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2622 if (var5 == NULL) {
2623 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 5965);
2624 exit(1);
2625 }
2626 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2627 if (var6){
2628 var7 = NULL;
2629 if (var_new_child == NULL) {
2630 var8 = 0; /* is null */
2631 } else {
2632 var8 = 1; /* arg is null and recv is not */
2633 }
2634 if (var8){
2635 ((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)>*/;
2636 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2637 cltype10 = type_parser_nodes__AExpr.color;
2638 idtype11 = type_parser_nodes__AExpr.id;
2639 if(cltype10 >= var_new_child->type->table_size) {
2640 var9 = 0;
2641 } else {
2642 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2643 }
2644 if (!var9) {
2645 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5968);
2646 exit(1);
2647 }
2648 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ABinopExpr> */
2649 } else {
2650 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5971);
2651 exit(1);
2652 }
2653 goto RET_LABEL;
2654 } else {
2655 }
2656 RET_LABEL:;
2657 }
2658 /* method parser_prod#ABinopExpr#replace_child for (self: Object, ANode, nullable ANode) */
2659 void VIRTUAL_parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2660 parser_prod__ABinopExpr__replace_child(self, p0, p1);
2661 RET_LABEL:;
2662 }
2663 /* method parser_prod#ABinopExpr#n_expr= for (self: ABinopExpr, AExpr) */
2664 void parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2665 val* var_node /* var node: AExpr */;
2666 var_node = p0;
2667 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABinopExpr> */
2668 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2669 RET_LABEL:;
2670 }
2671 /* method parser_prod#ABinopExpr#n_expr= for (self: Object, AExpr) */
2672 void VIRTUAL_parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2673 parser_prod__ABinopExpr__n_expr_61d(self, p0);
2674 RET_LABEL:;
2675 }
2676 /* method parser_prod#ABinopExpr#n_expr2= for (self: ABinopExpr, AExpr) */
2677 void parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2678 val* var_node /* var node: AExpr */;
2679 var_node = p0;
2680 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ABinopExpr> */
2681 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2682 RET_LABEL:;
2683 }
2684 /* method parser_prod#ABinopExpr#n_expr2= for (self: Object, AExpr) */
2685 void VIRTUAL_parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2686 parser_prod__ABinopExpr__n_expr2_61d(self, p0);
2687 RET_LABEL:;
2688 }
2689 /* method parser_prod#ABinopExpr#visit_all for (self: ABinopExpr, Visitor) */
2690 void parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2691 val* var_v /* var v: Visitor */;
2692 val* var /* : AExpr */;
2693 val* var1 /* : AExpr */;
2694 var_v = p0;
2695 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2696 if (var == NULL) {
2697 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5991);
2698 exit(1);
2699 }
2700 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2701 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2702 if (var1 == NULL) {
2703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 5992);
2704 exit(1);
2705 }
2706 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2707 RET_LABEL:;
2708 }
2709 /* method parser_prod#ABinopExpr#visit_all for (self: Object, Visitor) */
2710 void VIRTUAL_parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2711 parser_prod__ABinopExpr__visit_all(self, p0);
2712 RET_LABEL:;
2713 }
2714 /* method parser_prod#AOrExpr#empty_init for (self: AOrExpr) */
2715 void parser_prod__AOrExpr__empty_init(val* self) {
2716 RET_LABEL:;
2717 }
2718 /* method parser_prod#AOrExpr#empty_init for (self: Object) */
2719 void VIRTUAL_parser_prod__AOrExpr__empty_init(val* self) {
2720 parser_prod__AOrExpr__empty_init(self);
2721 RET_LABEL:;
2722 }
2723 /* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */
2724 void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
2725 val* var_n_expr /* var n_expr: nullable AExpr */;
2726 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2727 var_n_expr = p0;
2728 var_n_expr2 = p1;
2729 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrExpr__empty_init]))(self) /* empty_init on <self:AOrExpr>*/;
2730 if (var_n_expr == NULL) {
2731 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6004);
2732 exit(1);
2733 }
2734 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
2735 if (var_n_expr == NULL) {
2736 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6005);
2737 exit(1);
2738 } else {
2739 ((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>*/;
2740 }
2741 if (var_n_expr2 == NULL) {
2742 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6006);
2743 exit(1);
2744 }
2745 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
2746 if (var_n_expr2 == NULL) {
2747 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6007);
2748 exit(1);
2749 } else {
2750 ((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>*/;
2751 }
2752 RET_LABEL:;
2753 }
2754 /* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */
2755 void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
2756 parser_prod__AOrExpr__init_aorexpr(self, p0, p1);
2757 RET_LABEL:;
2758 }
2759 /* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
2760 void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
2761 val* var_old_child /* var old_child: ANode */;
2762 val* var_new_child /* var new_child: nullable ANode */;
2763 val* var /* : AExpr */;
2764 short int var1 /* : Bool */;
2765 val* var2 /* : null */;
2766 short int var3 /* : Bool */;
2767 short int var4 /* : Bool */;
2768 int cltype;
2769 int idtype;
2770 val* var5 /* : AExpr */;
2771 short int var6 /* : Bool */;
2772 val* var7 /* : null */;
2773 short int var8 /* : Bool */;
2774 short int var9 /* : Bool */;
2775 int cltype10;
2776 int idtype11;
2777 var_old_child = p0;
2778 var_new_child = p1;
2779 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
2780 if (var == NULL) {
2781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6012);
2782 exit(1);
2783 }
2784 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2785 if (var1){
2786 var2 = NULL;
2787 if (var_new_child == NULL) {
2788 var3 = 0; /* is null */
2789 } else {
2790 var3 = 1; /* arg is null and recv is not */
2791 }
2792 if (var3){
2793 ((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)>*/;
2794 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2795 cltype = type_parser_nodes__AExpr.color;
2796 idtype = type_parser_nodes__AExpr.id;
2797 if(cltype >= var_new_child->type->table_size) {
2798 var4 = 0;
2799 } else {
2800 var4 = var_new_child->type->type_table[cltype] == idtype;
2801 }
2802 if (!var4) {
2803 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6015);
2804 exit(1);
2805 }
2806 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrExpr> */
2807 } else {
2808 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6018);
2809 exit(1);
2810 }
2811 goto RET_LABEL;
2812 } else {
2813 }
2814 var5 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
2815 if (var5 == NULL) {
2816 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6022);
2817 exit(1);
2818 }
2819 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2820 if (var6){
2821 var7 = NULL;
2822 if (var_new_child == NULL) {
2823 var8 = 0; /* is null */
2824 } else {
2825 var8 = 1; /* arg is null and recv is not */
2826 }
2827 if (var8){
2828 ((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)>*/;
2829 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2830 cltype10 = type_parser_nodes__AExpr.color;
2831 idtype11 = type_parser_nodes__AExpr.id;
2832 if(cltype10 >= var_new_child->type->table_size) {
2833 var9 = 0;
2834 } else {
2835 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2836 }
2837 if (!var9) {
2838 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6025);
2839 exit(1);
2840 }
2841 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrExpr> */
2842 } else {
2843 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6028);
2844 exit(1);
2845 }
2846 goto RET_LABEL;
2847 } else {
2848 }
2849 RET_LABEL:;
2850 }
2851 /* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */
2852 void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
2853 parser_prod__AOrExpr__replace_child(self, p0, p1);
2854 RET_LABEL:;
2855 }
2856 /* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
2857 void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
2858 val* var_node /* var node: AExpr */;
2859 var_node = p0;
2860 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
2861 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2862 RET_LABEL:;
2863 }
2864 /* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */
2865 void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
2866 parser_prod__AOrExpr__n_expr_61d(self, p0);
2867 RET_LABEL:;
2868 }
2869 /* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
2870 void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
2871 val* var_node /* var node: AExpr */;
2872 var_node = p0;
2873 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
2874 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2875 RET_LABEL:;
2876 }
2877 /* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */
2878 void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
2879 parser_prod__AOrExpr__n_expr2_61d(self, p0);
2880 RET_LABEL:;
2881 }
2882 /* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
2883 void parser_prod__AOrExpr__visit_all(val* self, val* p0) {
2884 val* var_v /* var v: Visitor */;
2885 val* var /* : AExpr */;
2886 val* var1 /* : AExpr */;
2887 var_v = p0;
2888 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
2889 if (var == NULL) {
2890 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6048);
2891 exit(1);
2892 }
2893 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2894 var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
2895 if (var1 == NULL) {
2896 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6049);
2897 exit(1);
2898 }
2899 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2900 RET_LABEL:;
2901 }
2902 /* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */
2903 void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) {
2904 parser_prod__AOrExpr__visit_all(self, p0);
2905 RET_LABEL:;
2906 }
2907 /* method parser_prod#AAndExpr#empty_init for (self: AAndExpr) */
2908 void parser_prod__AAndExpr__empty_init(val* self) {
2909 RET_LABEL:;
2910 }
2911 /* method parser_prod#AAndExpr#empty_init for (self: Object) */
2912 void VIRTUAL_parser_prod__AAndExpr__empty_init(val* self) {
2913 parser_prod__AAndExpr__empty_init(self);
2914 RET_LABEL:;
2915 }
2916 /* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */
2917 void parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
2918 val* var_n_expr /* var n_expr: nullable AExpr */;
2919 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2920 var_n_expr = p0;
2921 var_n_expr2 = p1;
2922 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAndExpr__empty_init]))(self) /* empty_init on <self:AAndExpr>*/;
2923 if (var_n_expr == NULL) {
2924 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6061);
2925 exit(1);
2926 }
2927 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
2928 if (var_n_expr == NULL) {
2929 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6062);
2930 exit(1);
2931 } else {
2932 ((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>*/;
2933 }
2934 if (var_n_expr2 == NULL) {
2935 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6063);
2936 exit(1);
2937 }
2938 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
2939 if (var_n_expr2 == NULL) {
2940 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6064);
2941 exit(1);
2942 } else {
2943 ((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>*/;
2944 }
2945 RET_LABEL:;
2946 }
2947 /* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */
2948 void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
2949 parser_prod__AAndExpr__init_aandexpr(self, p0, p1);
2950 RET_LABEL:;
2951 }
2952 /* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
2953 void parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
2954 val* var_old_child /* var old_child: ANode */;
2955 val* var_new_child /* var new_child: nullable ANode */;
2956 val* var /* : AExpr */;
2957 short int var1 /* : Bool */;
2958 val* var2 /* : null */;
2959 short int var3 /* : Bool */;
2960 short int var4 /* : Bool */;
2961 int cltype;
2962 int idtype;
2963 val* var5 /* : AExpr */;
2964 short int var6 /* : Bool */;
2965 val* var7 /* : null */;
2966 short int var8 /* : Bool */;
2967 short int var9 /* : Bool */;
2968 int cltype10;
2969 int idtype11;
2970 var_old_child = p0;
2971 var_new_child = p1;
2972 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
2973 if (var == NULL) {
2974 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6069);
2975 exit(1);
2976 }
2977 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2978 if (var1){
2979 var2 = NULL;
2980 if (var_new_child == NULL) {
2981 var3 = 0; /* is null */
2982 } else {
2983 var3 = 1; /* arg is null and recv is not */
2984 }
2985 if (var3){
2986 ((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)>*/;
2987 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2988 cltype = type_parser_nodes__AExpr.color;
2989 idtype = type_parser_nodes__AExpr.id;
2990 if(cltype >= var_new_child->type->table_size) {
2991 var4 = 0;
2992 } else {
2993 var4 = var_new_child->type->type_table[cltype] == idtype;
2994 }
2995 if (!var4) {
2996 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6072);
2997 exit(1);
2998 }
2999 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAndExpr> */
3000 } else {
3001 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6075);
3002 exit(1);
3003 }
3004 goto RET_LABEL;
3005 } else {
3006 }
3007 var5 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3008 if (var5 == NULL) {
3009 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6079);
3010 exit(1);
3011 }
3012 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3013 if (var6){
3014 var7 = NULL;
3015 if (var_new_child == NULL) {
3016 var8 = 0; /* is null */
3017 } else {
3018 var8 = 1; /* arg is null and recv is not */
3019 }
3020 if (var8){
3021 ((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)>*/;
3022 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3023 cltype10 = type_parser_nodes__AExpr.color;
3024 idtype11 = type_parser_nodes__AExpr.id;
3025 if(cltype10 >= var_new_child->type->table_size) {
3026 var9 = 0;
3027 } else {
3028 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3029 }
3030 if (!var9) {
3031 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6082);
3032 exit(1);
3033 }
3034 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AAndExpr> */
3035 } else {
3036 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6085);
3037 exit(1);
3038 }
3039 goto RET_LABEL;
3040 } else {
3041 }
3042 RET_LABEL:;
3043 }
3044 /* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */
3045 void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
3046 parser_prod__AAndExpr__replace_child(self, p0, p1);
3047 RET_LABEL:;
3048 }
3049 /* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
3050 void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3051 val* var_node /* var node: AExpr */;
3052 var_node = p0;
3053 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
3054 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3055 RET_LABEL:;
3056 }
3057 /* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */
3058 void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3059 parser_prod__AAndExpr__n_expr_61d(self, p0);
3060 RET_LABEL:;
3061 }
3062 /* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
3063 void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3064 val* var_node /* var node: AExpr */;
3065 var_node = p0;
3066 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
3067 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3068 RET_LABEL:;
3069 }
3070 /* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */
3071 void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3072 parser_prod__AAndExpr__n_expr2_61d(self, p0);
3073 RET_LABEL:;
3074 }
3075 /* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
3076 void parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3077 val* var_v /* var v: Visitor */;
3078 val* var /* : AExpr */;
3079 val* var1 /* : AExpr */;
3080 var_v = p0;
3081 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
3082 if (var == NULL) {
3083 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6105);
3084 exit(1);
3085 }
3086 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3087 var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3088 if (var1 == NULL) {
3089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6106);
3090 exit(1);
3091 }
3092 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3093 RET_LABEL:;
3094 }
3095 /* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */
3096 void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3097 parser_prod__AAndExpr__visit_all(self, p0);
3098 RET_LABEL:;
3099 }
3100 /* method parser_prod#AOrElseExpr#empty_init for (self: AOrElseExpr) */
3101 void parser_prod__AOrElseExpr__empty_init(val* self) {
3102 RET_LABEL:;
3103 }
3104 /* method parser_prod#AOrElseExpr#empty_init for (self: Object) */
3105 void VIRTUAL_parser_prod__AOrElseExpr__empty_init(val* self) {
3106 parser_prod__AOrElseExpr__empty_init(self);
3107 RET_LABEL:;
3108 }
3109 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */
3110 void parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3111 val* var_n_expr /* var n_expr: nullable AExpr */;
3112 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3113 var_n_expr = p0;
3114 var_n_expr2 = p1;
3115 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrElseExpr__empty_init]))(self) /* empty_init on <self:AOrElseExpr>*/;
3116 if (var_n_expr == NULL) {
3117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6118);
3118 exit(1);
3119 }
3120 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
3121 if (var_n_expr == NULL) {
3122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6119);
3123 exit(1);
3124 } else {
3125 ((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>*/;
3126 }
3127 if (var_n_expr2 == NULL) {
3128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6120);
3129 exit(1);
3130 }
3131 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
3132 if (var_n_expr2 == NULL) {
3133 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6121);
3134 exit(1);
3135 } else {
3136 ((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>*/;
3137 }
3138 RET_LABEL:;
3139 }
3140 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */
3141 void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3142 parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1);
3143 RET_LABEL:;
3144 }
3145 /* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
3146 void parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3147 val* var_old_child /* var old_child: ANode */;
3148 val* var_new_child /* var new_child: nullable ANode */;
3149 val* var /* : AExpr */;
3150 short int var1 /* : Bool */;
3151 val* var2 /* : null */;
3152 short int var3 /* : Bool */;
3153 short int var4 /* : Bool */;
3154 int cltype;
3155 int idtype;
3156 val* var5 /* : AExpr */;
3157 short int var6 /* : Bool */;
3158 val* var7 /* : null */;
3159 short int var8 /* : Bool */;
3160 short int var9 /* : Bool */;
3161 int cltype10;
3162 int idtype11;
3163 var_old_child = p0;
3164 var_new_child = p1;
3165 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3166 if (var == NULL) {
3167 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6126);
3168 exit(1);
3169 }
3170 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3171 if (var1){
3172 var2 = NULL;
3173 if (var_new_child == NULL) {
3174 var3 = 0; /* is null */
3175 } else {
3176 var3 = 1; /* arg is null and recv is not */
3177 }
3178 if (var3){
3179 ((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)>*/;
3180 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3181 cltype = type_parser_nodes__AExpr.color;
3182 idtype = type_parser_nodes__AExpr.id;
3183 if(cltype >= var_new_child->type->table_size) {
3184 var4 = 0;
3185 } else {
3186 var4 = var_new_child->type->type_table[cltype] == idtype;
3187 }
3188 if (!var4) {
3189 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6129);
3190 exit(1);
3191 }
3192 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrElseExpr> */
3193 } else {
3194 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6132);
3195 exit(1);
3196 }
3197 goto RET_LABEL;
3198 } else {
3199 }
3200 var5 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3201 if (var5 == NULL) {
3202 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6136);
3203 exit(1);
3204 }
3205 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3206 if (var6){
3207 var7 = NULL;
3208 if (var_new_child == NULL) {
3209 var8 = 0; /* is null */
3210 } else {
3211 var8 = 1; /* arg is null and recv is not */
3212 }
3213 if (var8){
3214 ((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)>*/;
3215 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3216 cltype10 = type_parser_nodes__AExpr.color;
3217 idtype11 = type_parser_nodes__AExpr.id;
3218 if(cltype10 >= var_new_child->type->table_size) {
3219 var9 = 0;
3220 } else {
3221 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3222 }
3223 if (!var9) {
3224 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6139);
3225 exit(1);
3226 }
3227 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrElseExpr> */
3228 } else {
3229 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6142);
3230 exit(1);
3231 }
3232 goto RET_LABEL;
3233 } else {
3234 }
3235 RET_LABEL:;
3236 }
3237 /* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */
3238 void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3239 parser_prod__AOrElseExpr__replace_child(self, p0, p1);
3240 RET_LABEL:;
3241 }
3242 /* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
3243 void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3244 val* var_node /* var node: AExpr */;
3245 var_node = p0;
3246 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
3247 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3248 RET_LABEL:;
3249 }
3250 /* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */
3251 void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3252 parser_prod__AOrElseExpr__n_expr_61d(self, p0);
3253 RET_LABEL:;
3254 }
3255 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
3256 void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3257 val* var_node /* var node: AExpr */;
3258 var_node = p0;
3259 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
3260 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3261 RET_LABEL:;
3262 }
3263 /* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */
3264 void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3265 parser_prod__AOrElseExpr__n_expr2_61d(self, p0);
3266 RET_LABEL:;
3267 }
3268 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
3269 void parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3270 val* var_v /* var v: Visitor */;
3271 val* var /* : AExpr */;
3272 val* var1 /* : AExpr */;
3273 var_v = p0;
3274 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3275 if (var == NULL) {
3276 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6162);
3277 exit(1);
3278 }
3279 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3280 var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3281 if (var1 == NULL) {
3282 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6163);
3283 exit(1);
3284 }
3285 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3286 RET_LABEL:;
3287 }
3288 /* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */
3289 void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3290 parser_prod__AOrElseExpr__visit_all(self, p0);
3291 RET_LABEL:;
3292 }
3293 /* method parser_prod#AImpliesExpr#empty_init for (self: AImpliesExpr) */
3294 void parser_prod__AImpliesExpr__empty_init(val* self) {
3295 RET_LABEL:;
3296 }
3297 /* method parser_prod#AImpliesExpr#empty_init for (self: Object) */
3298 void VIRTUAL_parser_prod__AImpliesExpr__empty_init(val* self) {
3299 parser_prod__AImpliesExpr__empty_init(self);
3300 RET_LABEL:;
3301 }
3302 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
3303 void parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3304 val* var_n_expr /* var n_expr: nullable AExpr */;
3305 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3306 var_n_expr = p0;
3307 var_n_expr2 = p1;
3308 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImpliesExpr__empty_init]))(self) /* empty_init on <self:AImpliesExpr>*/;
3309 if (var_n_expr == NULL) {
3310 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6175);
3311 exit(1);
3312 }
3313 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
3314 if (var_n_expr == NULL) {
3315 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6176);
3316 exit(1);
3317 } else {
3318 ((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>*/;
3319 }
3320 if (var_n_expr2 == NULL) {
3321 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6177);
3322 exit(1);
3323 }
3324 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
3325 if (var_n_expr2 == NULL) {
3326 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6178);
3327 exit(1);
3328 } else {
3329 ((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>*/;
3330 }
3331 RET_LABEL:;
3332 }
3333 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */
3334 void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3335 parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1);
3336 RET_LABEL:;
3337 }
3338 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
3339 void parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3340 val* var_old_child /* var old_child: ANode */;
3341 val* var_new_child /* var new_child: nullable ANode */;
3342 val* var /* : AExpr */;
3343 short int var1 /* : Bool */;
3344 val* var2 /* : null */;
3345 short int var3 /* : Bool */;
3346 short int var4 /* : Bool */;
3347 int cltype;
3348 int idtype;
3349 val* var5 /* : AExpr */;
3350 short int var6 /* : Bool */;
3351 val* var7 /* : null */;
3352 short int var8 /* : Bool */;
3353 short int var9 /* : Bool */;
3354 int cltype10;
3355 int idtype11;
3356 var_old_child = p0;
3357 var_new_child = p1;
3358 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3359 if (var == NULL) {
3360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6183);
3361 exit(1);
3362 }
3363 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3364 if (var1){
3365 var2 = NULL;
3366 if (var_new_child == NULL) {
3367 var3 = 0; /* is null */
3368 } else {
3369 var3 = 1; /* arg is null and recv is not */
3370 }
3371 if (var3){
3372 ((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)>*/;
3373 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3374 cltype = type_parser_nodes__AExpr.color;
3375 idtype = type_parser_nodes__AExpr.id;
3376 if(cltype >= var_new_child->type->table_size) {
3377 var4 = 0;
3378 } else {
3379 var4 = var_new_child->type->type_table[cltype] == idtype;
3380 }
3381 if (!var4) {
3382 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6186);
3383 exit(1);
3384 }
3385 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_new_child; /* _n_expr on <self:AImpliesExpr> */
3386 } else {
3387 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6189);
3388 exit(1);
3389 }
3390 goto RET_LABEL;
3391 } else {
3392 }
3393 var5 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3394 if (var5 == NULL) {
3395 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6193);
3396 exit(1);
3397 }
3398 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3399 if (var6){
3400 var7 = NULL;
3401 if (var_new_child == NULL) {
3402 var8 = 0; /* is null */
3403 } else {
3404 var8 = 1; /* arg is null and recv is not */
3405 }
3406 if (var8){
3407 ((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)>*/;
3408 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3409 cltype10 = type_parser_nodes__AExpr.color;
3410 idtype11 = type_parser_nodes__AExpr.id;
3411 if(cltype10 >= var_new_child->type->table_size) {
3412 var9 = 0;
3413 } else {
3414 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3415 }
3416 if (!var9) {
3417 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6196);
3418 exit(1);
3419 }
3420 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AImpliesExpr> */
3421 } else {
3422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6199);
3423 exit(1);
3424 }
3425 goto RET_LABEL;
3426 } else {
3427 }
3428 RET_LABEL:;
3429 }
3430 /* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */
3431 void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3432 parser_prod__AImpliesExpr__replace_child(self, p0, p1);
3433 RET_LABEL:;
3434 }
3435 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
3436 void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3437 val* var_node /* var node: AExpr */;
3438 var_node = p0;
3439 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
3440 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3441 RET_LABEL:;
3442 }
3443 /* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */
3444 void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3445 parser_prod__AImpliesExpr__n_expr_61d(self, p0);
3446 RET_LABEL:;
3447 }
3448 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
3449 void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3450 val* var_node /* var node: AExpr */;
3451 var_node = p0;
3452 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
3453 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3454 RET_LABEL:;
3455 }
3456 /* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */
3457 void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3458 parser_prod__AImpliesExpr__n_expr2_61d(self, p0);
3459 RET_LABEL:;
3460 }
3461 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
3462 void parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3463 val* var_v /* var v: Visitor */;
3464 val* var /* : AExpr */;
3465 val* var1 /* : AExpr */;
3466 var_v = p0;
3467 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3468 if (var == NULL) {
3469 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6219);
3470 exit(1);
3471 }
3472 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3473 var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3474 if (var1 == NULL) {
3475 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6220);
3476 exit(1);
3477 }
3478 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3479 RET_LABEL:;
3480 }
3481 /* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */
3482 void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3483 parser_prod__AImpliesExpr__visit_all(self, p0);
3484 RET_LABEL:;
3485 }
3486 /* method parser_prod#ANotExpr#empty_init for (self: ANotExpr) */
3487 void parser_prod__ANotExpr__empty_init(val* self) {
3488 RET_LABEL:;
3489 }
3490 /* method parser_prod#ANotExpr#empty_init for (self: Object) */
3491 void VIRTUAL_parser_prod__ANotExpr__empty_init(val* self) {
3492 parser_prod__ANotExpr__empty_init(self);
3493 RET_LABEL:;
3494 }
3495 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
3496 void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3497 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
3498 val* var_n_expr /* var n_expr: nullable AExpr */;
3499 var_n_kwnot = p0;
3500 var_n_expr = p1;
3501 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANotExpr__empty_init]))(self) /* empty_init on <self:ANotExpr>*/;
3502 if (var_n_kwnot == NULL) {
3503 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6232);
3504 exit(1);
3505 }
3506 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
3507 if (var_n_kwnot == NULL) {
3508 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6233);
3509 exit(1);
3510 } else {
3511 ((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>*/;
3512 }
3513 if (var_n_expr == NULL) {
3514 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6234);
3515 exit(1);
3516 }
3517 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
3518 if (var_n_expr == NULL) {
3519 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6235);
3520 exit(1);
3521 } else {
3522 ((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>*/;
3523 }
3524 RET_LABEL:;
3525 }
3526 /* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */
3527 void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3528 parser_prod__ANotExpr__init_anotexpr(self, p0, p1);
3529 RET_LABEL:;
3530 }
3531 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
3532 void parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3533 val* var_old_child /* var old_child: ANode */;
3534 val* var_new_child /* var new_child: nullable ANode */;
3535 val* var /* : TKwnot */;
3536 short int var1 /* : Bool */;
3537 val* var2 /* : null */;
3538 short int var3 /* : Bool */;
3539 short int var4 /* : Bool */;
3540 int cltype;
3541 int idtype;
3542 val* var5 /* : AExpr */;
3543 short int var6 /* : Bool */;
3544 val* var7 /* : null */;
3545 short int var8 /* : Bool */;
3546 short int var9 /* : Bool */;
3547 int cltype10;
3548 int idtype11;
3549 var_old_child = p0;
3550 var_new_child = p1;
3551 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3552 if (var == NULL) {
3553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 6240);
3554 exit(1);
3555 }
3556 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnot>*/;
3557 if (var1){
3558 var2 = NULL;
3559 if (var_new_child == NULL) {
3560 var3 = 0; /* is null */
3561 } else {
3562 var3 = 1; /* arg is null and recv is not */
3563 }
3564 if (var3){
3565 ((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)>*/;
3566 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
3567 cltype = type_parser_nodes__TKwnot.color;
3568 idtype = type_parser_nodes__TKwnot.id;
3569 if(cltype >= var_new_child->type->table_size) {
3570 var4 = 0;
3571 } else {
3572 var4 = var_new_child->type->type_table[cltype] == idtype;
3573 }
3574 if (!var4) {
3575 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6243);
3576 exit(1);
3577 }
3578 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:ANotExpr> */
3579 } else {
3580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6246);
3581 exit(1);
3582 }
3583 goto RET_LABEL;
3584 } else {
3585 }
3586 var5 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3587 if (var5 == NULL) {
3588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6250);
3589 exit(1);
3590 }
3591 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3592 if (var6){
3593 var7 = NULL;
3594 if (var_new_child == NULL) {
3595 var8 = 0; /* is null */
3596 } else {
3597 var8 = 1; /* arg is null and recv is not */
3598 }
3599 if (var8){
3600 ((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)>*/;
3601 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3602 cltype10 = type_parser_nodes__AExpr.color;
3603 idtype11 = type_parser_nodes__AExpr.id;
3604 if(cltype10 >= var_new_child->type->table_size) {
3605 var9 = 0;
3606 } else {
3607 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3608 }
3609 if (!var9) {
3610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6253);
3611 exit(1);
3612 }
3613 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANotExpr> */
3614 } else {
3615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6256);
3616 exit(1);
3617 }
3618 goto RET_LABEL;
3619 } else {
3620 }
3621 RET_LABEL:;
3622 }
3623 /* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */
3624 void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3625 parser_prod__ANotExpr__replace_child(self, p0, p1);
3626 RET_LABEL:;
3627 }
3628 /* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
3629 void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3630 val* var_node /* var node: TKwnot */;
3631 var_node = p0;
3632 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
3633 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
3634 RET_LABEL:;
3635 }
3636 /* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */
3637 void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3638 parser_prod__ANotExpr__n_kwnot_61d(self, p0);
3639 RET_LABEL:;
3640 }
3641 /* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
3642 void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3643 val* var_node /* var node: AExpr */;
3644 var_node = p0;
3645 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
3646 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3647 RET_LABEL:;
3648 }
3649 /* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */
3650 void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3651 parser_prod__ANotExpr__n_expr_61d(self, p0);
3652 RET_LABEL:;
3653 }
3654 /* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
3655 void parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3656 val* var_v /* var v: Visitor */;
3657 val* var /* : TKwnot */;
3658 val* var1 /* : AExpr */;
3659 var_v = p0;
3660 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3661 if (var == NULL) {
3662 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 6276);
3663 exit(1);
3664 }
3665 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3666 var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3667 if (var1 == NULL) {
3668 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6277);
3669 exit(1);
3670 }
3671 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3672 RET_LABEL:;
3673 }
3674 /* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */
3675 void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3676 parser_prod__ANotExpr__visit_all(self, p0);
3677 RET_LABEL:;
3678 }
3679 /* method parser_prod#AEqExpr#empty_init for (self: AEqExpr) */
3680 void parser_prod__AEqExpr__empty_init(val* self) {
3681 RET_LABEL:;
3682 }
3683 /* method parser_prod#AEqExpr#empty_init for (self: Object) */
3684 void VIRTUAL_parser_prod__AEqExpr__empty_init(val* self) {
3685 parser_prod__AEqExpr__empty_init(self);
3686 RET_LABEL:;
3687 }
3688 /* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
3689 void parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
3690 val* var_n_expr /* var n_expr: nullable AExpr */;
3691 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3692 var_n_expr = p0;
3693 var_n_expr2 = p1;
3694 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEqExpr__empty_init]))(self) /* empty_init on <self:AEqExpr>*/;
3695 if (var_n_expr == NULL) {
3696 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6289);
3697 exit(1);
3698 }
3699 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
3700 if (var_n_expr == NULL) {
3701 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6290);
3702 exit(1);
3703 } else {
3704 ((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>*/;
3705 }
3706 if (var_n_expr2 == NULL) {
3707 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6291);
3708 exit(1);
3709 }
3710 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
3711 if (var_n_expr2 == NULL) {
3712 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6292);
3713 exit(1);
3714 } else {
3715 ((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>*/;
3716 }
3717 RET_LABEL:;
3718 }
3719 /* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */
3720 void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
3721 parser_prod__AEqExpr__init_aeqexpr(self, p0, p1);
3722 RET_LABEL:;
3723 }
3724 /* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
3725 void parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
3726 val* var_old_child /* var old_child: ANode */;
3727 val* var_new_child /* var new_child: nullable ANode */;
3728 val* var /* : AExpr */;
3729 short int var1 /* : Bool */;
3730 val* var2 /* : null */;
3731 short int var3 /* : Bool */;
3732 short int var4 /* : Bool */;
3733 int cltype;
3734 int idtype;
3735 val* var5 /* : AExpr */;
3736 short int var6 /* : Bool */;
3737 val* var7 /* : null */;
3738 short int var8 /* : Bool */;
3739 short int var9 /* : Bool */;
3740 int cltype10;
3741 int idtype11;
3742 var_old_child = p0;
3743 var_new_child = p1;
3744 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
3745 if (var == NULL) {
3746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6297);
3747 exit(1);
3748 }
3749 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3750 if (var1){
3751 var2 = NULL;
3752 if (var_new_child == NULL) {
3753 var3 = 0; /* is null */
3754 } else {
3755 var3 = 1; /* arg is null and recv is not */
3756 }
3757 if (var3){
3758 ((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)>*/;
3759 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3760 cltype = type_parser_nodes__AExpr.color;
3761 idtype = type_parser_nodes__AExpr.id;
3762 if(cltype >= var_new_child->type->table_size) {
3763 var4 = 0;
3764 } else {
3765 var4 = var_new_child->type->type_table[cltype] == idtype;
3766 }
3767 if (!var4) {
3768 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6300);
3769 exit(1);
3770 }
3771 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AEqExpr> */
3772 } else {
3773 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6303);
3774 exit(1);
3775 }
3776 goto RET_LABEL;
3777 } else {
3778 }
3779 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
3780 if (var5 == NULL) {
3781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6307);
3782 exit(1);
3783 }
3784 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3785 if (var6){
3786 var7 = NULL;
3787 if (var_new_child == NULL) {
3788 var8 = 0; /* is null */
3789 } else {
3790 var8 = 1; /* arg is null and recv is not */
3791 }
3792 if (var8){
3793 ((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)>*/;
3794 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3795 cltype10 = type_parser_nodes__AExpr.color;
3796 idtype11 = type_parser_nodes__AExpr.id;
3797 if(cltype10 >= var_new_child->type->table_size) {
3798 var9 = 0;
3799 } else {
3800 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3801 }
3802 if (!var9) {
3803 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6310);
3804 exit(1);
3805 }
3806 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AEqExpr> */
3807 } else {
3808 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6313);
3809 exit(1);
3810 }
3811 goto RET_LABEL;
3812 } else {
3813 }
3814 RET_LABEL:;
3815 }
3816 /* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */
3817 void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
3818 parser_prod__AEqExpr__replace_child(self, p0, p1);
3819 RET_LABEL:;
3820 }
3821 /* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
3822 void parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
3823 val* var_node /* var node: AExpr */;
3824 var_node = p0;
3825 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
3826 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3827 RET_LABEL:;
3828 }
3829 /* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */
3830 void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
3831 parser_prod__AEqExpr__n_expr_61d(self, p0);
3832 RET_LABEL:;
3833 }
3834 /* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
3835 void parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
3836 val* var_node /* var node: AExpr */;
3837 var_node = p0;
3838 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
3839 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3840 RET_LABEL:;
3841 }
3842 /* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */
3843 void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
3844 parser_prod__AEqExpr__n_expr2_61d(self, p0);
3845 RET_LABEL:;
3846 }
3847 /* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
3848 void parser_prod__AEqExpr__visit_all(val* self, val* p0) {
3849 val* var_v /* var v: Visitor */;
3850 val* var /* : AExpr */;
3851 val* var1 /* : AExpr */;
3852 var_v = p0;
3853 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
3854 if (var == NULL) {
3855 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6333);
3856 exit(1);
3857 }
3858 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3859 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
3860 if (var1 == NULL) {
3861 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6334);
3862 exit(1);
3863 }
3864 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3865 RET_LABEL:;
3866 }
3867 /* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */
3868 void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) {
3869 parser_prod__AEqExpr__visit_all(self, p0);
3870 RET_LABEL:;
3871 }
3872 /* method parser_prod#AEeExpr#empty_init for (self: AEeExpr) */
3873 void parser_prod__AEeExpr__empty_init(val* self) {
3874 RET_LABEL:;
3875 }
3876 /* method parser_prod#AEeExpr#empty_init for (self: Object) */
3877 void VIRTUAL_parser_prod__AEeExpr__empty_init(val* self) {
3878 parser_prod__AEeExpr__empty_init(self);
3879 RET_LABEL:;
3880 }
3881 /* method parser_prod#AEeExpr#init_aeeexpr for (self: AEeExpr, nullable AExpr, nullable AExpr) */
3882 void parser_prod__AEeExpr__init_aeeexpr(val* self, val* p0, val* p1) {
3883 val* var_n_expr /* var n_expr: nullable AExpr */;
3884 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3885 var_n_expr = p0;
3886 var_n_expr2 = p1;
3887 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEeExpr__empty_init]))(self) /* empty_init on <self:AEeExpr>*/;
3888 if (var_n_expr == NULL) {
3889 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6346);
3890 exit(1);
3891 }
3892 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEeExpr> */
3893 if (var_n_expr == NULL) {
3894 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6347);
3895 exit(1);
3896 } else {
3897 ((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>*/;
3898 }
3899 if (var_n_expr2 == NULL) {
3900 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6348);
3901 exit(1);
3902 }
3903 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEeExpr> */
3904 if (var_n_expr2 == NULL) {
3905 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6349);
3906 exit(1);
3907 } else {
3908 ((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>*/;
3909 }
3910 RET_LABEL:;
3911 }
3912 /* method parser_prod#AEeExpr#init_aeeexpr for (self: Object, nullable AExpr, nullable AExpr) */
3913 void VIRTUAL_parser_prod__AEeExpr__init_aeeexpr(val* self, val* p0, val* p1) {
3914 parser_prod__AEeExpr__init_aeeexpr(self, p0, p1);
3915 RET_LABEL:;
3916 }
3917 /* method parser_prod#AEeExpr#replace_child for (self: AEeExpr, ANode, nullable ANode) */
3918 void parser_prod__AEeExpr__replace_child(val* self, val* p0, val* p1) {
3919 val* var_old_child /* var old_child: ANode */;
3920 val* var_new_child /* var new_child: nullable ANode */;
3921 val* var /* : AExpr */;
3922 short int var1 /* : Bool */;
3923 val* var2 /* : null */;
3924 short int var3 /* : Bool */;
3925 short int var4 /* : Bool */;
3926 int cltype;
3927 int idtype;
3928 val* var5 /* : AExpr */;
3929 short int var6 /* : Bool */;
3930 val* var7 /* : null */;
3931 short int var8 /* : Bool */;
3932 short int var9 /* : Bool */;
3933 int cltype10;
3934 int idtype11;
3935 var_old_child = p0;
3936 var_new_child = p1;
3937 var = self->attrs[COLOR_parser_nodes__AEeExpr___n_expr].val; /* _n_expr on <self:AEeExpr> */
3938 if (var == NULL) {
3939 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6354);
3940 exit(1);
3941 }
3942 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3943 if (var1){
3944 var2 = NULL;
3945 if (var_new_child == NULL) {
3946 var3 = 0; /* is null */
3947 } else {
3948 var3 = 1; /* arg is null and recv is not */
3949 }
3950 if (var3){
3951 ((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)>*/;
3952 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3953 cltype = type_parser_nodes__AExpr.color;
3954 idtype = type_parser_nodes__AExpr.id;
3955 if(cltype >= var_new_child->type->table_size) {
3956 var4 = 0;
3957 } else {
3958 var4 = var_new_child->type->type_table[cltype] == idtype;
3959 }
3960 if (!var4) {
3961 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6357);
3962 exit(1);
3963 }
3964 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr].val = var_new_child; /* _n_expr on <self:AEeExpr> */
3965 } else {
3966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6360);
3967 exit(1);
3968 }
3969 goto RET_LABEL;
3970 } else {
3971 }
3972 var5 = self->attrs[COLOR_parser_nodes__AEeExpr___n_expr2].val; /* _n_expr2 on <self:AEeExpr> */
3973 if (var5 == NULL) {
3974 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6364);
3975 exit(1);
3976 }
3977 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3978 if (var6){
3979 var7 = NULL;
3980 if (var_new_child == NULL) {
3981 var8 = 0; /* is null */
3982 } else {
3983 var8 = 1; /* arg is null and recv is not */
3984 }
3985 if (var8){
3986 ((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)>*/;
3987 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3988 cltype10 = type_parser_nodes__AExpr.color;
3989 idtype11 = type_parser_nodes__AExpr.id;
3990 if(cltype10 >= var_new_child->type->table_size) {
3991 var9 = 0;
3992 } else {
3993 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3994 }
3995 if (!var9) {
3996 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6367);
3997 exit(1);
3998 }
3999 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AEeExpr> */
4000 } else {
4001 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6370);
4002 exit(1);
4003 }
4004 goto RET_LABEL;
4005 } else {
4006 }
4007 RET_LABEL:;
4008 }
4009 /* method parser_prod#AEeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4010 void VIRTUAL_parser_prod__AEeExpr__replace_child(val* self, val* p0, val* p1) {
4011 parser_prod__AEeExpr__replace_child(self, p0, p1);
4012 RET_LABEL:;
4013 }
4014 /* method parser_prod#AEeExpr#n_expr= for (self: AEeExpr, AExpr) */
4015 void parser_prod__AEeExpr__n_expr_61d(val* self, val* p0) {
4016 val* var_node /* var node: AExpr */;
4017 var_node = p0;
4018 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr].val = var_node; /* _n_expr on <self:AEeExpr> */
4019 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4020 RET_LABEL:;
4021 }
4022 /* method parser_prod#AEeExpr#n_expr= for (self: Object, AExpr) */
4023 void VIRTUAL_parser_prod__AEeExpr__n_expr_61d(val* self, val* p0) {
4024 parser_prod__AEeExpr__n_expr_61d(self, p0);
4025 RET_LABEL:;
4026 }
4027 /* method parser_prod#AEeExpr#n_expr2= for (self: AEeExpr, AExpr) */
4028 void parser_prod__AEeExpr__n_expr2_61d(val* self, val* p0) {
4029 val* var_node /* var node: AExpr */;
4030 var_node = p0;
4031 self->attrs[COLOR_parser_nodes__AEeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEeExpr> */
4032 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4033 RET_LABEL:;
4034 }
4035 /* method parser_prod#AEeExpr#n_expr2= for (self: Object, AExpr) */
4036 void VIRTUAL_parser_prod__AEeExpr__n_expr2_61d(val* self, val* p0) {
4037 parser_prod__AEeExpr__n_expr2_61d(self, p0);
4038 RET_LABEL:;
4039 }
4040 /* method parser_prod#AEeExpr#visit_all for (self: AEeExpr, Visitor) */
4041 void parser_prod__AEeExpr__visit_all(val* self, val* p0) {
4042 val* var_v /* var v: Visitor */;
4043 val* var /* : AExpr */;
4044 val* var1 /* : AExpr */;
4045 var_v = p0;
4046 var = self->attrs[COLOR_parser_nodes__AEeExpr___n_expr].val; /* _n_expr on <self:AEeExpr> */
4047 if (var == NULL) {
4048 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6390);
4049 exit(1);
4050 }
4051 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4052 var1 = self->attrs[COLOR_parser_nodes__AEeExpr___n_expr2].val; /* _n_expr2 on <self:AEeExpr> */
4053 if (var1 == NULL) {
4054 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6391);
4055 exit(1);
4056 }
4057 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4058 RET_LABEL:;
4059 }
4060 /* method parser_prod#AEeExpr#visit_all for (self: Object, Visitor) */
4061 void VIRTUAL_parser_prod__AEeExpr__visit_all(val* self, val* p0) {
4062 parser_prod__AEeExpr__visit_all(self, p0);
4063 RET_LABEL:;
4064 }
4065 /* method parser_prod#ANeExpr#empty_init for (self: ANeExpr) */
4066 void parser_prod__ANeExpr__empty_init(val* self) {
4067 RET_LABEL:;
4068 }
4069 /* method parser_prod#ANeExpr#empty_init for (self: Object) */
4070 void VIRTUAL_parser_prod__ANeExpr__empty_init(val* self) {
4071 parser_prod__ANeExpr__empty_init(self);
4072 RET_LABEL:;
4073 }
4074 /* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
4075 void parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4076 val* var_n_expr /* var n_expr: nullable AExpr */;
4077 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4078 var_n_expr = p0;
4079 var_n_expr2 = p1;
4080 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANeExpr__empty_init]))(self) /* empty_init on <self:ANeExpr>*/;
4081 if (var_n_expr == NULL) {
4082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6403);
4083 exit(1);
4084 }
4085 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
4086 if (var_n_expr == NULL) {
4087 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6404);
4088 exit(1);
4089 } else {
4090 ((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>*/;
4091 }
4092 if (var_n_expr2 == NULL) {
4093 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6405);
4094 exit(1);
4095 }
4096 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
4097 if (var_n_expr2 == NULL) {
4098 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6406);
4099 exit(1);
4100 } else {
4101 ((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>*/;
4102 }
4103 RET_LABEL:;
4104 }
4105 /* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */
4106 void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4107 parser_prod__ANeExpr__init_aneexpr(self, p0, p1);
4108 RET_LABEL:;
4109 }
4110 /* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
4111 void parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4112 val* var_old_child /* var old_child: ANode */;
4113 val* var_new_child /* var new_child: nullable ANode */;
4114 val* var /* : AExpr */;
4115 short int var1 /* : Bool */;
4116 val* var2 /* : null */;
4117 short int var3 /* : Bool */;
4118 short int var4 /* : Bool */;
4119 int cltype;
4120 int idtype;
4121 val* var5 /* : AExpr */;
4122 short int var6 /* : Bool */;
4123 val* var7 /* : null */;
4124 short int var8 /* : Bool */;
4125 short int var9 /* : Bool */;
4126 int cltype10;
4127 int idtype11;
4128 var_old_child = p0;
4129 var_new_child = p1;
4130 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4131 if (var == NULL) {
4132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6411);
4133 exit(1);
4134 }
4135 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4136 if (var1){
4137 var2 = NULL;
4138 if (var_new_child == NULL) {
4139 var3 = 0; /* is null */
4140 } else {
4141 var3 = 1; /* arg is null and recv is not */
4142 }
4143 if (var3){
4144 ((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)>*/;
4145 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4146 cltype = type_parser_nodes__AExpr.color;
4147 idtype = type_parser_nodes__AExpr.id;
4148 if(cltype >= var_new_child->type->table_size) {
4149 var4 = 0;
4150 } else {
4151 var4 = var_new_child->type->type_table[cltype] == idtype;
4152 }
4153 if (!var4) {
4154 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6414);
4155 exit(1);
4156 }
4157 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANeExpr> */
4158 } else {
4159 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6417);
4160 exit(1);
4161 }
4162 goto RET_LABEL;
4163 } else {
4164 }
4165 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4166 if (var5 == NULL) {
4167 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6421);
4168 exit(1);
4169 }
4170 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4171 if (var6){
4172 var7 = NULL;
4173 if (var_new_child == NULL) {
4174 var8 = 0; /* is null */
4175 } else {
4176 var8 = 1; /* arg is null and recv is not */
4177 }
4178 if (var8){
4179 ((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)>*/;
4180 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4181 cltype10 = type_parser_nodes__AExpr.color;
4182 idtype11 = type_parser_nodes__AExpr.id;
4183 if(cltype10 >= var_new_child->type->table_size) {
4184 var9 = 0;
4185 } else {
4186 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4187 }
4188 if (!var9) {
4189 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6424);
4190 exit(1);
4191 }
4192 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ANeExpr> */
4193 } else {
4194 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6427);
4195 exit(1);
4196 }
4197 goto RET_LABEL;
4198 } else {
4199 }
4200 RET_LABEL:;
4201 }
4202 /* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4203 void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4204 parser_prod__ANeExpr__replace_child(self, p0, p1);
4205 RET_LABEL:;
4206 }
4207 /* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
4208 void parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4209 val* var_node /* var node: AExpr */;
4210 var_node = p0;
4211 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
4212 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4213 RET_LABEL:;
4214 }
4215 /* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */
4216 void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4217 parser_prod__ANeExpr__n_expr_61d(self, p0);
4218 RET_LABEL:;
4219 }
4220 /* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
4221 void parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4222 val* var_node /* var node: AExpr */;
4223 var_node = p0;
4224 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
4225 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4226 RET_LABEL:;
4227 }
4228 /* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */
4229 void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4230 parser_prod__ANeExpr__n_expr2_61d(self, p0);
4231 RET_LABEL:;
4232 }
4233 /* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
4234 void parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4235 val* var_v /* var v: Visitor */;
4236 val* var /* : AExpr */;
4237 val* var1 /* : AExpr */;
4238 var_v = p0;
4239 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4240 if (var == NULL) {
4241 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6447);
4242 exit(1);
4243 }
4244 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4245 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4246 if (var1 == NULL) {
4247 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6448);
4248 exit(1);
4249 }
4250 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4251 RET_LABEL:;
4252 }
4253 /* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */
4254 void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4255 parser_prod__ANeExpr__visit_all(self, p0);
4256 RET_LABEL:;
4257 }
4258 /* method parser_prod#ALtExpr#empty_init for (self: ALtExpr) */
4259 void parser_prod__ALtExpr__empty_init(val* self) {
4260 RET_LABEL:;
4261 }
4262 /* method parser_prod#ALtExpr#empty_init for (self: Object) */
4263 void VIRTUAL_parser_prod__ALtExpr__empty_init(val* self) {
4264 parser_prod__ALtExpr__empty_init(self);
4265 RET_LABEL:;
4266 }
4267 /* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
4268 void parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4269 val* var_n_expr /* var n_expr: nullable AExpr */;
4270 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4271 var_n_expr = p0;
4272 var_n_expr2 = p1;
4273 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALtExpr__empty_init]))(self) /* empty_init on <self:ALtExpr>*/;
4274 if (var_n_expr == NULL) {
4275 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6460);
4276 exit(1);
4277 }
4278 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
4279 if (var_n_expr == NULL) {
4280 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6461);
4281 exit(1);
4282 } else {
4283 ((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>*/;
4284 }
4285 if (var_n_expr2 == NULL) {
4286 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6462);
4287 exit(1);
4288 }
4289 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
4290 if (var_n_expr2 == NULL) {
4291 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6463);
4292 exit(1);
4293 } else {
4294 ((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>*/;
4295 }
4296 RET_LABEL:;
4297 }
4298 /* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */
4299 void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4300 parser_prod__ALtExpr__init_altexpr(self, p0, p1);
4301 RET_LABEL:;
4302 }
4303 /* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
4304 void parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4305 val* var_old_child /* var old_child: ANode */;
4306 val* var_new_child /* var new_child: nullable ANode */;
4307 val* var /* : AExpr */;
4308 short int var1 /* : Bool */;
4309 val* var2 /* : null */;
4310 short int var3 /* : Bool */;
4311 short int var4 /* : Bool */;
4312 int cltype;
4313 int idtype;
4314 val* var5 /* : AExpr */;
4315 short int var6 /* : Bool */;
4316 val* var7 /* : null */;
4317 short int var8 /* : Bool */;
4318 short int var9 /* : Bool */;
4319 int cltype10;
4320 int idtype11;
4321 var_old_child = p0;
4322 var_new_child = p1;
4323 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4324 if (var == NULL) {
4325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6468);
4326 exit(1);
4327 }
4328 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4329 if (var1){
4330 var2 = NULL;
4331 if (var_new_child == NULL) {
4332 var3 = 0; /* is null */
4333 } else {
4334 var3 = 1; /* arg is null and recv is not */
4335 }
4336 if (var3){
4337 ((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)>*/;
4338 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4339 cltype = type_parser_nodes__AExpr.color;
4340 idtype = type_parser_nodes__AExpr.id;
4341 if(cltype >= var_new_child->type->table_size) {
4342 var4 = 0;
4343 } else {
4344 var4 = var_new_child->type->type_table[cltype] == idtype;
4345 }
4346 if (!var4) {
4347 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6471);
4348 exit(1);
4349 }
4350 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALtExpr> */
4351 } else {
4352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6474);
4353 exit(1);
4354 }
4355 goto RET_LABEL;
4356 } else {
4357 }
4358 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4359 if (var5 == NULL) {
4360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6478);
4361 exit(1);
4362 }
4363 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4364 if (var6){
4365 var7 = NULL;
4366 if (var_new_child == NULL) {
4367 var8 = 0; /* is null */
4368 } else {
4369 var8 = 1; /* arg is null and recv is not */
4370 }
4371 if (var8){
4372 ((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)>*/;
4373 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4374 cltype10 = type_parser_nodes__AExpr.color;
4375 idtype11 = type_parser_nodes__AExpr.id;
4376 if(cltype10 >= var_new_child->type->table_size) {
4377 var9 = 0;
4378 } else {
4379 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4380 }
4381 if (!var9) {
4382 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6481);
4383 exit(1);
4384 }
4385 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALtExpr> */
4386 } else {
4387 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6484);
4388 exit(1);
4389 }
4390 goto RET_LABEL;
4391 } else {
4392 }
4393 RET_LABEL:;
4394 }
4395 /* method parser_prod#ALtExpr#replace_child for (self: Object, ANode, nullable ANode) */
4396 void VIRTUAL_parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4397 parser_prod__ALtExpr__replace_child(self, p0, p1);
4398 RET_LABEL:;
4399 }
4400 /* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
4401 void parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4402 val* var_node /* var node: AExpr */;
4403 var_node = p0;
4404 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
4405 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4406 RET_LABEL:;
4407 }
4408 /* method parser_prod#ALtExpr#n_expr= for (self: Object, AExpr) */
4409 void VIRTUAL_parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4410 parser_prod__ALtExpr__n_expr_61d(self, p0);
4411 RET_LABEL:;
4412 }
4413 /* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
4414 void parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4415 val* var_node /* var node: AExpr */;
4416 var_node = p0;
4417 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
4418 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4419 RET_LABEL:;
4420 }
4421 /* method parser_prod#ALtExpr#n_expr2= for (self: Object, AExpr) */
4422 void VIRTUAL_parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4423 parser_prod__ALtExpr__n_expr2_61d(self, p0);
4424 RET_LABEL:;
4425 }
4426 /* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
4427 void parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4428 val* var_v /* var v: Visitor */;
4429 val* var /* : AExpr */;
4430 val* var1 /* : AExpr */;
4431 var_v = p0;
4432 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4433 if (var == NULL) {
4434 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6504);
4435 exit(1);
4436 }
4437 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4438 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4439 if (var1 == NULL) {
4440 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6505);
4441 exit(1);
4442 }
4443 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4444 RET_LABEL:;
4445 }
4446 /* method parser_prod#ALtExpr#visit_all for (self: Object, Visitor) */
4447 void VIRTUAL_parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4448 parser_prod__ALtExpr__visit_all(self, p0);
4449 RET_LABEL:;
4450 }
4451 /* method parser_prod#ALeExpr#empty_init for (self: ALeExpr) */
4452 void parser_prod__ALeExpr__empty_init(val* self) {
4453 RET_LABEL:;
4454 }
4455 /* method parser_prod#ALeExpr#empty_init for (self: Object) */
4456 void VIRTUAL_parser_prod__ALeExpr__empty_init(val* self) {
4457 parser_prod__ALeExpr__empty_init(self);
4458 RET_LABEL:;
4459 }
4460 /* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */
4461 void parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4462 val* var_n_expr /* var n_expr: nullable AExpr */;
4463 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4464 var_n_expr = p0;
4465 var_n_expr2 = p1;
4466 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALeExpr__empty_init]))(self) /* empty_init on <self:ALeExpr>*/;
4467 if (var_n_expr == NULL) {
4468 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6517);
4469 exit(1);
4470 }
4471 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
4472 if (var_n_expr == NULL) {
4473 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6518);
4474 exit(1);
4475 } else {
4476 ((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>*/;
4477 }
4478 if (var_n_expr2 == NULL) {
4479 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6519);
4480 exit(1);
4481 }
4482 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
4483 if (var_n_expr2 == NULL) {
4484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6520);
4485 exit(1);
4486 } else {
4487 ((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>*/;
4488 }
4489 RET_LABEL:;
4490 }
4491 /* method parser_prod#ALeExpr#init_aleexpr for (self: Object, nullable AExpr, nullable AExpr) */
4492 void VIRTUAL_parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4493 parser_prod__ALeExpr__init_aleexpr(self, p0, p1);
4494 RET_LABEL:;
4495 }
4496 /* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
4497 void parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4498 val* var_old_child /* var old_child: ANode */;
4499 val* var_new_child /* var new_child: nullable ANode */;
4500 val* var /* : AExpr */;
4501 short int var1 /* : Bool */;
4502 val* var2 /* : null */;
4503 short int var3 /* : Bool */;
4504 short int var4 /* : Bool */;
4505 int cltype;
4506 int idtype;
4507 val* var5 /* : AExpr */;
4508 short int var6 /* : Bool */;
4509 val* var7 /* : null */;
4510 short int var8 /* : Bool */;
4511 short int var9 /* : Bool */;
4512 int cltype10;
4513 int idtype11;
4514 var_old_child = p0;
4515 var_new_child = p1;
4516 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4517 if (var == NULL) {
4518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6525);
4519 exit(1);
4520 }
4521 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4522 if (var1){
4523 var2 = NULL;
4524 if (var_new_child == NULL) {
4525 var3 = 0; /* is null */
4526 } else {
4527 var3 = 1; /* arg is null and recv is not */
4528 }
4529 if (var3){
4530 ((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)>*/;
4531 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4532 cltype = type_parser_nodes__AExpr.color;
4533 idtype = type_parser_nodes__AExpr.id;
4534 if(cltype >= var_new_child->type->table_size) {
4535 var4 = 0;
4536 } else {
4537 var4 = var_new_child->type->type_table[cltype] == idtype;
4538 }
4539 if (!var4) {
4540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6528);
4541 exit(1);
4542 }
4543 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALeExpr> */
4544 } else {
4545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6531);
4546 exit(1);
4547 }
4548 goto RET_LABEL;
4549 } else {
4550 }
4551 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4552 if (var5 == NULL) {
4553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6535);
4554 exit(1);
4555 }
4556 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4557 if (var6){
4558 var7 = NULL;
4559 if (var_new_child == NULL) {
4560 var8 = 0; /* is null */
4561 } else {
4562 var8 = 1; /* arg is null and recv is not */
4563 }
4564 if (var8){
4565 ((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)>*/;
4566 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4567 cltype10 = type_parser_nodes__AExpr.color;
4568 idtype11 = type_parser_nodes__AExpr.id;
4569 if(cltype10 >= var_new_child->type->table_size) {
4570 var9 = 0;
4571 } else {
4572 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4573 }
4574 if (!var9) {
4575 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6538);
4576 exit(1);
4577 }
4578 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALeExpr> */
4579 } else {
4580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6541);
4581 exit(1);
4582 }
4583 goto RET_LABEL;
4584 } else {
4585 }
4586 RET_LABEL:;
4587 }
4588 /* method parser_prod#ALeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4589 void VIRTUAL_parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4590 parser_prod__ALeExpr__replace_child(self, p0, p1);
4591 RET_LABEL:;
4592 }
4593 /* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
4594 void parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4595 val* var_node /* var node: AExpr */;
4596 var_node = p0;
4597 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
4598 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4599 RET_LABEL:;
4600 }
4601 /* method parser_prod#ALeExpr#n_expr= for (self: Object, AExpr) */
4602 void VIRTUAL_parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4603 parser_prod__ALeExpr__n_expr_61d(self, p0);
4604 RET_LABEL:;
4605 }
4606 /* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
4607 void parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4608 val* var_node /* var node: AExpr */;
4609 var_node = p0;
4610 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
4611 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4612 RET_LABEL:;
4613 }
4614 /* method parser_prod#ALeExpr#n_expr2= for (self: Object, AExpr) */
4615 void VIRTUAL_parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4616 parser_prod__ALeExpr__n_expr2_61d(self, p0);
4617 RET_LABEL:;
4618 }
4619 /* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
4620 void parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4621 val* var_v /* var v: Visitor */;
4622 val* var /* : AExpr */;
4623 val* var1 /* : AExpr */;
4624 var_v = p0;
4625 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4626 if (var == NULL) {
4627 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6561);
4628 exit(1);
4629 }
4630 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4631 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4632 if (var1 == NULL) {
4633 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6562);
4634 exit(1);
4635 }
4636 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4637 RET_LABEL:;
4638 }
4639 /* method parser_prod#ALeExpr#visit_all for (self: Object, Visitor) */
4640 void VIRTUAL_parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4641 parser_prod__ALeExpr__visit_all(self, p0);
4642 RET_LABEL:;
4643 }
4644 /* method parser_prod#ALlExpr#empty_init for (self: ALlExpr) */
4645 void parser_prod__ALlExpr__empty_init(val* self) {
4646 RET_LABEL:;
4647 }
4648 /* method parser_prod#ALlExpr#empty_init for (self: Object) */
4649 void VIRTUAL_parser_prod__ALlExpr__empty_init(val* self) {
4650 parser_prod__ALlExpr__empty_init(self);
4651 RET_LABEL:;
4652 }
4653 /* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */
4654 void parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4655 val* var_n_expr /* var n_expr: nullable AExpr */;
4656 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4657 var_n_expr = p0;
4658 var_n_expr2 = p1;
4659 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALlExpr__empty_init]))(self) /* empty_init on <self:ALlExpr>*/;
4660 if (var_n_expr == NULL) {
4661 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6574);
4662 exit(1);
4663 }
4664 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
4665 if (var_n_expr == NULL) {
4666 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6575);
4667 exit(1);
4668 } else {
4669 ((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>*/;
4670 }
4671 if (var_n_expr2 == NULL) {
4672 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6576);
4673 exit(1);
4674 }
4675 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
4676 if (var_n_expr2 == NULL) {
4677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6577);
4678 exit(1);
4679 } else {
4680 ((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>*/;
4681 }
4682 RET_LABEL:;
4683 }
4684 /* method parser_prod#ALlExpr#init_allexpr for (self: Object, nullable AExpr, nullable AExpr) */
4685 void VIRTUAL_parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4686 parser_prod__ALlExpr__init_allexpr(self, p0, p1);
4687 RET_LABEL:;
4688 }
4689 /* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
4690 void parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4691 val* var_old_child /* var old_child: ANode */;
4692 val* var_new_child /* var new_child: nullable ANode */;
4693 val* var /* : AExpr */;
4694 short int var1 /* : Bool */;
4695 val* var2 /* : null */;
4696 short int var3 /* : Bool */;
4697 short int var4 /* : Bool */;
4698 int cltype;
4699 int idtype;
4700 val* var5 /* : AExpr */;
4701 short int var6 /* : Bool */;
4702 val* var7 /* : null */;
4703 short int var8 /* : Bool */;
4704 short int var9 /* : Bool */;
4705 int cltype10;
4706 int idtype11;
4707 var_old_child = p0;
4708 var_new_child = p1;
4709 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4710 if (var == NULL) {
4711 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6582);
4712 exit(1);
4713 }
4714 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4715 if (var1){
4716 var2 = NULL;
4717 if (var_new_child == NULL) {
4718 var3 = 0; /* is null */
4719 } else {
4720 var3 = 1; /* arg is null and recv is not */
4721 }
4722 if (var3){
4723 ((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)>*/;
4724 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4725 cltype = type_parser_nodes__AExpr.color;
4726 idtype = type_parser_nodes__AExpr.id;
4727 if(cltype >= var_new_child->type->table_size) {
4728 var4 = 0;
4729 } else {
4730 var4 = var_new_child->type->type_table[cltype] == idtype;
4731 }
4732 if (!var4) {
4733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6585);
4734 exit(1);
4735 }
4736 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALlExpr> */
4737 } else {
4738 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6588);
4739 exit(1);
4740 }
4741 goto RET_LABEL;
4742 } else {
4743 }
4744 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4745 if (var5 == NULL) {
4746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6592);
4747 exit(1);
4748 }
4749 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4750 if (var6){
4751 var7 = NULL;
4752 if (var_new_child == NULL) {
4753 var8 = 0; /* is null */
4754 } else {
4755 var8 = 1; /* arg is null and recv is not */
4756 }
4757 if (var8){
4758 ((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)>*/;
4759 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4760 cltype10 = type_parser_nodes__AExpr.color;
4761 idtype11 = type_parser_nodes__AExpr.id;
4762 if(cltype10 >= var_new_child->type->table_size) {
4763 var9 = 0;
4764 } else {
4765 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4766 }
4767 if (!var9) {
4768 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6595);
4769 exit(1);
4770 }
4771 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALlExpr> */
4772 } else {
4773 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6598);
4774 exit(1);
4775 }
4776 goto RET_LABEL;
4777 } else {
4778 }
4779 RET_LABEL:;
4780 }
4781 /* method parser_prod#ALlExpr#replace_child for (self: Object, ANode, nullable ANode) */
4782 void VIRTUAL_parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4783 parser_prod__ALlExpr__replace_child(self, p0, p1);
4784 RET_LABEL:;
4785 }
4786 /* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
4787 void parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4788 val* var_node /* var node: AExpr */;
4789 var_node = p0;
4790 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
4791 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4792 RET_LABEL:;
4793 }
4794 /* method parser_prod#ALlExpr#n_expr= for (self: Object, AExpr) */
4795 void VIRTUAL_parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4796 parser_prod__ALlExpr__n_expr_61d(self, p0);
4797 RET_LABEL:;
4798 }
4799 /* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
4800 void parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4801 val* var_node /* var node: AExpr */;
4802 var_node = p0;
4803 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
4804 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4805 RET_LABEL:;
4806 }
4807 /* method parser_prod#ALlExpr#n_expr2= for (self: Object, AExpr) */
4808 void VIRTUAL_parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4809 parser_prod__ALlExpr__n_expr2_61d(self, p0);
4810 RET_LABEL:;
4811 }
4812 /* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
4813 void parser_prod__ALlExpr__visit_all(val* self, val* p0) {
4814 val* var_v /* var v: Visitor */;
4815 val* var /* : AExpr */;
4816 val* var1 /* : AExpr */;
4817 var_v = p0;
4818 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4819 if (var == NULL) {
4820 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6618);
4821 exit(1);
4822 }
4823 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4824 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4825 if (var1 == NULL) {
4826 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6619);
4827 exit(1);
4828 }
4829 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4830 RET_LABEL:;
4831 }
4832 /* method parser_prod#ALlExpr#visit_all for (self: Object, Visitor) */
4833 void VIRTUAL_parser_prod__ALlExpr__visit_all(val* self, val* p0) {
4834 parser_prod__ALlExpr__visit_all(self, p0);
4835 RET_LABEL:;
4836 }
4837 /* method parser_prod#AGtExpr#empty_init for (self: AGtExpr) */
4838 void parser_prod__AGtExpr__empty_init(val* self) {
4839 RET_LABEL:;
4840 }
4841 /* method parser_prod#AGtExpr#empty_init for (self: Object) */
4842 void VIRTUAL_parser_prod__AGtExpr__empty_init(val* self) {
4843 parser_prod__AGtExpr__empty_init(self);
4844 RET_LABEL:;
4845 }
4846 /* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */
4847 void parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
4848 val* var_n_expr /* var n_expr: nullable AExpr */;
4849 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4850 var_n_expr = p0;
4851 var_n_expr2 = p1;
4852 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGtExpr__empty_init]))(self) /* empty_init on <self:AGtExpr>*/;
4853 if (var_n_expr == NULL) {
4854 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6631);
4855 exit(1);
4856 }
4857 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
4858 if (var_n_expr == NULL) {
4859 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6632);
4860 exit(1);
4861 } else {
4862 ((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>*/;
4863 }
4864 if (var_n_expr2 == NULL) {
4865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6633);
4866 exit(1);
4867 }
4868 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
4869 if (var_n_expr2 == NULL) {
4870 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6634);
4871 exit(1);
4872 } else {
4873 ((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>*/;
4874 }
4875 RET_LABEL:;
4876 }
4877 /* method parser_prod#AGtExpr#init_agtexpr for (self: Object, nullable AExpr, nullable AExpr) */
4878 void VIRTUAL_parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
4879 parser_prod__AGtExpr__init_agtexpr(self, p0, p1);
4880 RET_LABEL:;
4881 }
4882 /* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
4883 void parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
4884 val* var_old_child /* var old_child: ANode */;
4885 val* var_new_child /* var new_child: nullable ANode */;
4886 val* var /* : AExpr */;
4887 short int var1 /* : Bool */;
4888 val* var2 /* : null */;
4889 short int var3 /* : Bool */;
4890 short int var4 /* : Bool */;
4891 int cltype;
4892 int idtype;
4893 val* var5 /* : AExpr */;
4894 short int var6 /* : Bool */;
4895 val* var7 /* : null */;
4896 short int var8 /* : Bool */;
4897 short int var9 /* : Bool */;
4898 int cltype10;
4899 int idtype11;
4900 var_old_child = p0;
4901 var_new_child = p1;
4902 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
4903 if (var == NULL) {
4904 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6639);
4905 exit(1);
4906 }
4907 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4908 if (var1){
4909 var2 = NULL;
4910 if (var_new_child == NULL) {
4911 var3 = 0; /* is null */
4912 } else {
4913 var3 = 1; /* arg is null and recv is not */
4914 }
4915 if (var3){
4916 ((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)>*/;
4917 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4918 cltype = type_parser_nodes__AExpr.color;
4919 idtype = type_parser_nodes__AExpr.id;
4920 if(cltype >= var_new_child->type->table_size) {
4921 var4 = 0;
4922 } else {
4923 var4 = var_new_child->type->type_table[cltype] == idtype;
4924 }
4925 if (!var4) {
4926 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6642);
4927 exit(1);
4928 }
4929 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGtExpr> */
4930 } else {
4931 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6645);
4932 exit(1);
4933 }
4934 goto RET_LABEL;
4935 } else {
4936 }
4937 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
4938 if (var5 == NULL) {
4939 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6649);
4940 exit(1);
4941 }
4942 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4943 if (var6){
4944 var7 = NULL;
4945 if (var_new_child == NULL) {
4946 var8 = 0; /* is null */
4947 } else {
4948 var8 = 1; /* arg is null and recv is not */
4949 }
4950 if (var8){
4951 ((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)>*/;
4952 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4953 cltype10 = type_parser_nodes__AExpr.color;
4954 idtype11 = type_parser_nodes__AExpr.id;
4955 if(cltype10 >= var_new_child->type->table_size) {
4956 var9 = 0;
4957 } else {
4958 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4959 }
4960 if (!var9) {
4961 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6652);
4962 exit(1);
4963 }
4964 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGtExpr> */
4965 } else {
4966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6655);
4967 exit(1);
4968 }
4969 goto RET_LABEL;
4970 } else {
4971 }
4972 RET_LABEL:;
4973 }
4974 /* method parser_prod#AGtExpr#replace_child for (self: Object, ANode, nullable ANode) */
4975 void VIRTUAL_parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
4976 parser_prod__AGtExpr__replace_child(self, p0, p1);
4977 RET_LABEL:;
4978 }
4979 /* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
4980 void parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
4981 val* var_node /* var node: AExpr */;
4982 var_node = p0;
4983 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
4984 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4985 RET_LABEL:;
4986 }
4987 /* method parser_prod#AGtExpr#n_expr= for (self: Object, AExpr) */
4988 void VIRTUAL_parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
4989 parser_prod__AGtExpr__n_expr_61d(self, p0);
4990 RET_LABEL:;
4991 }
4992 /* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
4993 void parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
4994 val* var_node /* var node: AExpr */;
4995 var_node = p0;
4996 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
4997 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4998 RET_LABEL:;
4999 }
5000 /* method parser_prod#AGtExpr#n_expr2= for (self: Object, AExpr) */
5001 void VIRTUAL_parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
5002 parser_prod__AGtExpr__n_expr2_61d(self, p0);
5003 RET_LABEL:;
5004 }
5005 /* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
5006 void parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5007 val* var_v /* var v: Visitor */;
5008 val* var /* : AExpr */;
5009 val* var1 /* : AExpr */;
5010 var_v = p0;
5011 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
5012 if (var == NULL) {
5013 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6675);
5014 exit(1);
5015 }
5016 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5017 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
5018 if (var1 == NULL) {
5019 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6676);
5020 exit(1);
5021 }
5022 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5023 RET_LABEL:;
5024 }
5025 /* method parser_prod#AGtExpr#visit_all for (self: Object, Visitor) */
5026 void VIRTUAL_parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5027 parser_prod__AGtExpr__visit_all(self, p0);
5028 RET_LABEL:;
5029 }
5030 /* method parser_prod#AGeExpr#empty_init for (self: AGeExpr) */
5031 void parser_prod__AGeExpr__empty_init(val* self) {
5032 RET_LABEL:;
5033 }
5034 /* method parser_prod#AGeExpr#empty_init for (self: Object) */
5035 void VIRTUAL_parser_prod__AGeExpr__empty_init(val* self) {
5036 parser_prod__AGeExpr__empty_init(self);
5037 RET_LABEL:;
5038 }
5039 /* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */
5040 void parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5041 val* var_n_expr /* var n_expr: nullable AExpr */;
5042 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5043 var_n_expr = p0;
5044 var_n_expr2 = p1;
5045 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGeExpr__empty_init]))(self) /* empty_init on <self:AGeExpr>*/;
5046 if (var_n_expr == NULL) {
5047 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6688);
5048 exit(1);
5049 }
5050 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
5051 if (var_n_expr == NULL) {
5052 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6689);
5053 exit(1);
5054 } else {
5055 ((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>*/;
5056 }
5057 if (var_n_expr2 == NULL) {
5058 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6690);
5059 exit(1);
5060 }
5061 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
5062 if (var_n_expr2 == NULL) {
5063 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6691);
5064 exit(1);
5065 } else {
5066 ((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>*/;
5067 }
5068 RET_LABEL:;
5069 }
5070 /* method parser_prod#AGeExpr#init_ageexpr for (self: Object, nullable AExpr, nullable AExpr) */
5071 void VIRTUAL_parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5072 parser_prod__AGeExpr__init_ageexpr(self, p0, p1);
5073 RET_LABEL:;
5074 }
5075 /* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
5076 void parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5077 val* var_old_child /* var old_child: ANode */;
5078 val* var_new_child /* var new_child: nullable ANode */;
5079 val* var /* : AExpr */;
5080 short int var1 /* : Bool */;
5081 val* var2 /* : null */;
5082 short int var3 /* : Bool */;
5083 short int var4 /* : Bool */;
5084 int cltype;
5085 int idtype;
5086 val* var5 /* : AExpr */;
5087 short int var6 /* : Bool */;
5088 val* var7 /* : null */;
5089 short int var8 /* : Bool */;
5090 short int var9 /* : Bool */;
5091 int cltype10;
5092 int idtype11;
5093 var_old_child = p0;
5094 var_new_child = p1;
5095 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5096 if (var == NULL) {
5097 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6696);
5098 exit(1);
5099 }
5100 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5101 if (var1){
5102 var2 = NULL;
5103 if (var_new_child == NULL) {
5104 var3 = 0; /* is null */
5105 } else {
5106 var3 = 1; /* arg is null and recv is not */
5107 }
5108 if (var3){
5109 ((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)>*/;
5110 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5111 cltype = type_parser_nodes__AExpr.color;
5112 idtype = type_parser_nodes__AExpr.id;
5113 if(cltype >= var_new_child->type->table_size) {
5114 var4 = 0;
5115 } else {
5116 var4 = var_new_child->type->type_table[cltype] == idtype;
5117 }
5118 if (!var4) {
5119 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6699);
5120 exit(1);
5121 }
5122 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGeExpr> */
5123 } else {
5124 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6702);
5125 exit(1);
5126 }
5127 goto RET_LABEL;
5128 } else {
5129 }
5130 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5131 if (var5 == NULL) {
5132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6706);
5133 exit(1);
5134 }
5135 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5136 if (var6){
5137 var7 = NULL;
5138 if (var_new_child == NULL) {
5139 var8 = 0; /* is null */
5140 } else {
5141 var8 = 1; /* arg is null and recv is not */
5142 }
5143 if (var8){
5144 ((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)>*/;
5145 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5146 cltype10 = type_parser_nodes__AExpr.color;
5147 idtype11 = type_parser_nodes__AExpr.id;
5148 if(cltype10 >= var_new_child->type->table_size) {
5149 var9 = 0;
5150 } else {
5151 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5152 }
5153 if (!var9) {
5154 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6709);
5155 exit(1);
5156 }
5157 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGeExpr> */
5158 } else {
5159 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6712);
5160 exit(1);
5161 }
5162 goto RET_LABEL;
5163 } else {
5164 }
5165 RET_LABEL:;
5166 }
5167 /* method parser_prod#AGeExpr#replace_child for (self: Object, ANode, nullable ANode) */
5168 void VIRTUAL_parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5169 parser_prod__AGeExpr__replace_child(self, p0, p1);
5170 RET_LABEL:;
5171 }
5172 /* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
5173 void parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5174 val* var_node /* var node: AExpr */;
5175 var_node = p0;
5176 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
5177 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5178 RET_LABEL:;
5179 }
5180 /* method parser_prod#AGeExpr#n_expr= for (self: Object, AExpr) */
5181 void VIRTUAL_parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5182 parser_prod__AGeExpr__n_expr_61d(self, p0);
5183 RET_LABEL:;
5184 }
5185 /* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
5186 void parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5187 val* var_node /* var node: AExpr */;
5188 var_node = p0;
5189 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
5190 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5191 RET_LABEL:;
5192 }
5193 /* method parser_prod#AGeExpr#n_expr2= for (self: Object, AExpr) */
5194 void VIRTUAL_parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5195 parser_prod__AGeExpr__n_expr2_61d(self, p0);
5196 RET_LABEL:;
5197 }
5198 /* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
5199 void parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5200 val* var_v /* var v: Visitor */;
5201 val* var /* : AExpr */;
5202 val* var1 /* : AExpr */;
5203 var_v = p0;
5204 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5205 if (var == NULL) {
5206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6732);
5207 exit(1);
5208 }
5209 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5210 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5211 if (var1 == NULL) {
5212 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6733);
5213 exit(1);
5214 }
5215 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5216 RET_LABEL:;
5217 }
5218 /* method parser_prod#AGeExpr#visit_all for (self: Object, Visitor) */
5219 void VIRTUAL_parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5220 parser_prod__AGeExpr__visit_all(self, p0);
5221 RET_LABEL:;
5222 }
5223 /* method parser_prod#AGgExpr#empty_init for (self: AGgExpr) */
5224 void parser_prod__AGgExpr__empty_init(val* self) {
5225 RET_LABEL:;
5226 }
5227 /* method parser_prod#AGgExpr#empty_init for (self: Object) */
5228 void VIRTUAL_parser_prod__AGgExpr__empty_init(val* self) {
5229 parser_prod__AGgExpr__empty_init(self);
5230 RET_LABEL:;
5231 }
5232 /* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */
5233 void parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5234 val* var_n_expr /* var n_expr: nullable AExpr */;
5235 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5236 var_n_expr = p0;
5237 var_n_expr2 = p1;
5238 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGgExpr__empty_init]))(self) /* empty_init on <self:AGgExpr>*/;
5239 if (var_n_expr == NULL) {
5240 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6745);
5241 exit(1);
5242 }
5243 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
5244 if (var_n_expr == NULL) {
5245 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6746);
5246 exit(1);
5247 } else {
5248 ((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>*/;
5249 }
5250 if (var_n_expr2 == NULL) {
5251 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6747);
5252 exit(1);
5253 }
5254 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
5255 if (var_n_expr2 == NULL) {
5256 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6748);
5257 exit(1);
5258 } else {
5259 ((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>*/;
5260 }
5261 RET_LABEL:;
5262 }
5263 /* method parser_prod#AGgExpr#init_aggexpr for (self: Object, nullable AExpr, nullable AExpr) */
5264 void VIRTUAL_parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5265 parser_prod__AGgExpr__init_aggexpr(self, p0, p1);
5266 RET_LABEL:;
5267 }
5268 /* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
5269 void parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5270 val* var_old_child /* var old_child: ANode */;
5271 val* var_new_child /* var new_child: nullable ANode */;
5272 val* var /* : AExpr */;
5273 short int var1 /* : Bool */;
5274 val* var2 /* : null */;
5275 short int var3 /* : Bool */;
5276 short int var4 /* : Bool */;
5277 int cltype;
5278 int idtype;
5279 val* var5 /* : AExpr */;
5280 short int var6 /* : Bool */;
5281 val* var7 /* : null */;
5282 short int var8 /* : Bool */;
5283 short int var9 /* : Bool */;
5284 int cltype10;
5285 int idtype11;
5286 var_old_child = p0;
5287 var_new_child = p1;
5288 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5289 if (var == NULL) {
5290 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6753);
5291 exit(1);
5292 }
5293 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5294 if (var1){
5295 var2 = NULL;
5296 if (var_new_child == NULL) {
5297 var3 = 0; /* is null */
5298 } else {
5299 var3 = 1; /* arg is null and recv is not */
5300 }
5301 if (var3){
5302 ((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)>*/;
5303 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5304 cltype = type_parser_nodes__AExpr.color;
5305 idtype = type_parser_nodes__AExpr.id;
5306 if(cltype >= var_new_child->type->table_size) {
5307 var4 = 0;
5308 } else {
5309 var4 = var_new_child->type->type_table[cltype] == idtype;
5310 }
5311 if (!var4) {
5312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6756);
5313 exit(1);
5314 }
5315 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGgExpr> */
5316 } else {
5317 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6759);
5318 exit(1);
5319 }
5320 goto RET_LABEL;
5321 } else {
5322 }
5323 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5324 if (var5 == NULL) {
5325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6763);
5326 exit(1);
5327 }
5328 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5329 if (var6){
5330 var7 = NULL;
5331 if (var_new_child == NULL) {
5332 var8 = 0; /* is null */
5333 } else {
5334 var8 = 1; /* arg is null and recv is not */
5335 }
5336 if (var8){
5337 ((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)>*/;
5338 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5339 cltype10 = type_parser_nodes__AExpr.color;
5340 idtype11 = type_parser_nodes__AExpr.id;
5341 if(cltype10 >= var_new_child->type->table_size) {
5342 var9 = 0;
5343 } else {
5344 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5345 }
5346 if (!var9) {
5347 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6766);
5348 exit(1);
5349 }
5350 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGgExpr> */
5351 } else {
5352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6769);
5353 exit(1);
5354 }
5355 goto RET_LABEL;
5356 } else {
5357 }
5358 RET_LABEL:;
5359 }
5360 /* method parser_prod#AGgExpr#replace_child for (self: Object, ANode, nullable ANode) */
5361 void VIRTUAL_parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5362 parser_prod__AGgExpr__replace_child(self, p0, p1);
5363 RET_LABEL:;
5364 }
5365 /* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
5366 void parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5367 val* var_node /* var node: AExpr */;
5368 var_node = p0;
5369 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
5370 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5371 RET_LABEL:;
5372 }
5373 /* method parser_prod#AGgExpr#n_expr= for (self: Object, AExpr) */
5374 void VIRTUAL_parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5375 parser_prod__AGgExpr__n_expr_61d(self, p0);
5376 RET_LABEL:;
5377 }
5378 /* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
5379 void parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5380 val* var_node /* var node: AExpr */;
5381 var_node = p0;
5382 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
5383 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5384 RET_LABEL:;
5385 }
5386 /* method parser_prod#AGgExpr#n_expr2= for (self: Object, AExpr) */
5387 void VIRTUAL_parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5388 parser_prod__AGgExpr__n_expr2_61d(self, p0);
5389 RET_LABEL:;
5390 }
5391 /* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
5392 void parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5393 val* var_v /* var v: Visitor */;
5394 val* var /* : AExpr */;
5395 val* var1 /* : AExpr */;
5396 var_v = p0;
5397 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5398 if (var == NULL) {
5399 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6789);
5400 exit(1);
5401 }
5402 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5403 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5404 if (var1 == NULL) {
5405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6790);
5406 exit(1);
5407 }
5408 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5409 RET_LABEL:;
5410 }
5411 /* method parser_prod#AGgExpr#visit_all for (self: Object, Visitor) */
5412 void VIRTUAL_parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5413 parser_prod__AGgExpr__visit_all(self, p0);
5414 RET_LABEL:;
5415 }
5416 /* method parser_prod#AIsaExpr#empty_init for (self: AIsaExpr) */
5417 void parser_prod__AIsaExpr__empty_init(val* self) {
5418 RET_LABEL:;
5419 }
5420 /* method parser_prod#AIsaExpr#empty_init for (self: Object) */
5421 void VIRTUAL_parser_prod__AIsaExpr__empty_init(val* self) {
5422 parser_prod__AIsaExpr__empty_init(self);
5423 RET_LABEL:;
5424 }
5425 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */
5426 void parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5427 val* var_n_expr /* var n_expr: nullable AExpr */;
5428 val* var_n_type /* var n_type: nullable AType */;
5429 var_n_expr = p0;
5430 var_n_type = p1;
5431 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIsaExpr__empty_init]))(self) /* empty_init on <self:AIsaExpr>*/;
5432 if (var_n_expr == NULL) {
5433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6802);
5434 exit(1);
5435 }
5436 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
5437 if (var_n_expr == NULL) {
5438 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6803);
5439 exit(1);
5440 } else {
5441 ((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>*/;
5442 }
5443 if (var_n_type == NULL) {
5444 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6804);
5445 exit(1);
5446 }
5447 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
5448 if (var_n_type == NULL) {
5449 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6805);
5450 exit(1);
5451 } else {
5452 ((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>*/;
5453 }
5454 RET_LABEL:;
5455 }
5456 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: Object, nullable AExpr, nullable AType) */
5457 void VIRTUAL_parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5458 parser_prod__AIsaExpr__init_aisaexpr(self, p0, p1);
5459 RET_LABEL:;
5460 }
5461 /* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
5462 void parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5463 val* var_old_child /* var old_child: ANode */;
5464 val* var_new_child /* var new_child: nullable ANode */;
5465 val* var /* : AExpr */;
5466 short int var1 /* : Bool */;
5467 val* var2 /* : null */;
5468 short int var3 /* : Bool */;
5469 short int var4 /* : Bool */;
5470 int cltype;
5471 int idtype;
5472 val* var5 /* : AType */;
5473 short int var6 /* : Bool */;
5474 val* var7 /* : null */;
5475 short int var8 /* : Bool */;
5476 short int var9 /* : Bool */;
5477 int cltype10;
5478 int idtype11;
5479 var_old_child = p0;
5480 var_new_child = p1;
5481 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5482 if (var == NULL) {
5483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6810);
5484 exit(1);
5485 }
5486 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5487 if (var1){
5488 var2 = NULL;
5489 if (var_new_child == NULL) {
5490 var3 = 0; /* is null */
5491 } else {
5492 var3 = 1; /* arg is null and recv is not */
5493 }
5494 if (var3){
5495 ((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)>*/;
5496 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5497 cltype = type_parser_nodes__AExpr.color;
5498 idtype = type_parser_nodes__AExpr.id;
5499 if(cltype >= var_new_child->type->table_size) {
5500 var4 = 0;
5501 } else {
5502 var4 = var_new_child->type->type_table[cltype] == idtype;
5503 }
5504 if (!var4) {
5505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6813);
5506 exit(1);
5507 }
5508 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIsaExpr> */
5509 } else {
5510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6816);
5511 exit(1);
5512 }
5513 goto RET_LABEL;
5514 } else {
5515 }
5516 var5 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5517 if (var5 == NULL) {
5518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 6820);
5519 exit(1);
5520 }
5521 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
5522 if (var6){
5523 var7 = NULL;
5524 if (var_new_child == NULL) {
5525 var8 = 0; /* is null */
5526 } else {
5527 var8 = 1; /* arg is null and recv is not */
5528 }
5529 if (var8){
5530 ((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)>*/;
5531 /* <var_new_child:nullable ANode(ANode)> isa AType */
5532 cltype10 = type_parser_nodes__AType.color;
5533 idtype11 = type_parser_nodes__AType.id;
5534 if(cltype10 >= var_new_child->type->table_size) {
5535 var9 = 0;
5536 } else {
5537 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5538 }
5539 if (!var9) {
5540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6823);
5541 exit(1);
5542 }
5543 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_new_child; /* _n_type on <self:AIsaExpr> */
5544 } else {
5545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6826);
5546 exit(1);
5547 }
5548 goto RET_LABEL;
5549 } else {
5550 }
5551 RET_LABEL:;
5552 }
5553 /* method parser_prod#AIsaExpr#replace_child for (self: Object, ANode, nullable ANode) */
5554 void VIRTUAL_parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5555 parser_prod__AIsaExpr__replace_child(self, p0, p1);
5556 RET_LABEL:;
5557 }
5558 /* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
5559 void parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5560 val* var_node /* var node: AExpr */;
5561 var_node = p0;
5562 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
5563 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5564 RET_LABEL:;
5565 }
5566 /* method parser_prod#AIsaExpr#n_expr= for (self: Object, AExpr) */
5567 void VIRTUAL_parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5568 parser_prod__AIsaExpr__n_expr_61d(self, p0);
5569 RET_LABEL:;
5570 }
5571 /* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
5572 void parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5573 val* var_node /* var node: AType */;
5574 var_node = p0;
5575 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
5576 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
5577 RET_LABEL:;
5578 }
5579 /* method parser_prod#AIsaExpr#n_type= for (self: Object, AType) */
5580 void VIRTUAL_parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5581 parser_prod__AIsaExpr__n_type_61d(self, p0);
5582 RET_LABEL:;
5583 }
5584 /* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
5585 void parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5586 val* var_v /* var v: Visitor */;
5587 val* var /* : AExpr */;
5588 val* var1 /* : AType */;
5589 var_v = p0;
5590 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5591 if (var == NULL) {
5592 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6846);
5593 exit(1);
5594 }
5595 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5596 var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5597 if (var1 == NULL) {
5598 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 6847);
5599 exit(1);
5600 }
5601 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5602 RET_LABEL:;
5603 }
5604 /* method parser_prod#AIsaExpr#visit_all for (self: Object, Visitor) */
5605 void VIRTUAL_parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5606 parser_prod__AIsaExpr__visit_all(self, p0);
5607 RET_LABEL:;
5608 }
5609 /* method parser_prod#APlusExpr#empty_init for (self: APlusExpr) */
5610 void parser_prod__APlusExpr__empty_init(val* self) {
5611 RET_LABEL:;
5612 }
5613 /* method parser_prod#APlusExpr#empty_init for (self: Object) */
5614 void VIRTUAL_parser_prod__APlusExpr__empty_init(val* self) {
5615 parser_prod__APlusExpr__empty_init(self);
5616 RET_LABEL:;
5617 }
5618 /* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */
5619 void parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5620 val* var_n_expr /* var n_expr: nullable AExpr */;
5621 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5622 var_n_expr = p0;
5623 var_n_expr2 = p1;
5624 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusExpr__empty_init]))(self) /* empty_init on <self:APlusExpr>*/;
5625 if (var_n_expr == NULL) {
5626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6859);
5627 exit(1);
5628 }
5629 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
5630 if (var_n_expr == NULL) {
5631 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6860);
5632 exit(1);
5633 } else {
5634 ((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>*/;
5635 }
5636 if (var_n_expr2 == NULL) {
5637 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6861);
5638 exit(1);
5639 }
5640 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
5641 if (var_n_expr2 == NULL) {
5642 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6862);
5643 exit(1);
5644 } else {
5645 ((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>*/;
5646 }
5647 RET_LABEL:;
5648 }
5649 /* method parser_prod#APlusExpr#init_aplusexpr for (self: Object, nullable AExpr, nullable AExpr) */
5650 void VIRTUAL_parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5651 parser_prod__APlusExpr__init_aplusexpr(self, p0, p1);
5652 RET_LABEL:;
5653 }
5654 /* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
5655 void parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5656 val* var_old_child /* var old_child: ANode */;
5657 val* var_new_child /* var new_child: nullable ANode */;
5658 val* var /* : AExpr */;
5659 short int var1 /* : Bool */;
5660 val* var2 /* : null */;
5661 short int var3 /* : Bool */;
5662 short int var4 /* : Bool */;
5663 int cltype;
5664 int idtype;
5665 val* var5 /* : AExpr */;
5666 short int var6 /* : Bool */;
5667 val* var7 /* : null */;
5668 short int var8 /* : Bool */;
5669 short int var9 /* : Bool */;
5670 int cltype10;
5671 int idtype11;
5672 var_old_child = p0;
5673 var_new_child = p1;
5674 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
5675 if (var == NULL) {
5676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6867);
5677 exit(1);
5678 }
5679 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5680 if (var1){
5681 var2 = NULL;
5682 if (var_new_child == NULL) {
5683 var3 = 0; /* is null */
5684 } else {
5685 var3 = 1; /* arg is null and recv is not */
5686 }
5687 if (var3){
5688 ((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)>*/;
5689 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5690 cltype = type_parser_nodes__AExpr.color;
5691 idtype = type_parser_nodes__AExpr.id;
5692 if(cltype >= var_new_child->type->table_size) {
5693 var4 = 0;
5694 } else {
5695 var4 = var_new_child->type->type_table[cltype] == idtype;
5696 }
5697 if (!var4) {
5698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6870);
5699 exit(1);
5700 }
5701 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APlusExpr> */
5702 } else {
5703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6873);
5704 exit(1);
5705 }
5706 goto RET_LABEL;
5707 } else {
5708 }
5709 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
5710 if (var5 == NULL) {
5711 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6877);
5712 exit(1);
5713 }
5714 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5715 if (var6){
5716 var7 = NULL;
5717 if (var_new_child == NULL) {
5718 var8 = 0; /* is null */
5719 } else {
5720 var8 = 1; /* arg is null and recv is not */
5721 }
5722 if (var8){
5723 ((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)>*/;
5724 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5725 cltype10 = type_parser_nodes__AExpr.color;
5726 idtype11 = type_parser_nodes__AExpr.id;
5727 if(cltype10 >= var_new_child->type->table_size) {
5728 var9 = 0;
5729 } else {
5730 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5731 }
5732 if (!var9) {
5733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6880);
5734 exit(1);
5735 }
5736 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APlusExpr> */
5737 } else {
5738 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6883);
5739 exit(1);
5740 }
5741 goto RET_LABEL;
5742 } else {
5743 }
5744 RET_LABEL:;
5745 }
5746 /* method parser_prod#APlusExpr#replace_child for (self: Object, ANode, nullable ANode) */
5747 void VIRTUAL_parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5748 parser_prod__APlusExpr__replace_child(self, p0, p1);
5749 RET_LABEL:;
5750 }
5751 /* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
5752 void parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5753 val* var_node /* var node: AExpr */;
5754 var_node = p0;
5755 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
5756 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5757 RET_LABEL:;
5758 }
5759 /* method parser_prod#APlusExpr#n_expr= for (self: Object, AExpr) */
5760 void VIRTUAL_parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5761 parser_prod__APlusExpr__n_expr_61d(self, p0);
5762 RET_LABEL:;
5763 }
5764 /* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
5765 void parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
5766 val* var_node /* var node: AExpr */;
5767 var_node = p0;
5768 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
5769 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5770 RET_LABEL:;
5771 }
5772 /* method parser_prod#APlusExpr#n_expr2= for (self: Object, AExpr) */
5773 void VIRTUAL_parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
5774 parser_prod__APlusExpr__n_expr2_61d(self, p0);
5775 RET_LABEL:;
5776 }
5777 /* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
5778 void parser_prod__APlusExpr__visit_all(val* self, val* p0) {
5779 val* var_v /* var v: Visitor */;
5780 val* var /* : AExpr */;
5781 val* var1 /* : AExpr */;
5782 var_v = p0;
5783 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
5784 if (var == NULL) {
5785 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6903);
5786 exit(1);
5787 }
5788 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5789 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
5790 if (var1 == NULL) {
5791 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6904);
5792 exit(1);
5793 }
5794 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5795 RET_LABEL:;
5796 }
5797 /* method parser_prod#APlusExpr#visit_all for (self: Object, Visitor) */
5798 void VIRTUAL_parser_prod__APlusExpr__visit_all(val* self, val* p0) {
5799 parser_prod__APlusExpr__visit_all(self, p0);
5800 RET_LABEL:;
5801 }
5802 /* method parser_prod#AMinusExpr#empty_init for (self: AMinusExpr) */
5803 void parser_prod__AMinusExpr__empty_init(val* self) {
5804 RET_LABEL:;
5805 }
5806 /* method parser_prod#AMinusExpr#empty_init for (self: Object) */
5807 void VIRTUAL_parser_prod__AMinusExpr__empty_init(val* self) {
5808 parser_prod__AMinusExpr__empty_init(self);
5809 RET_LABEL:;
5810 }
5811 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */
5812 void parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
5813 val* var_n_expr /* var n_expr: nullable AExpr */;
5814 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5815 var_n_expr = p0;
5816 var_n_expr2 = p1;
5817 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusExpr__empty_init]))(self) /* empty_init on <self:AMinusExpr>*/;
5818 if (var_n_expr == NULL) {
5819 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6916);
5820 exit(1);
5821 }
5822 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
5823 if (var_n_expr == NULL) {
5824 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6917);
5825 exit(1);
5826 } else {
5827 ((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>*/;
5828 }
5829 if (var_n_expr2 == NULL) {
5830 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6918);
5831 exit(1);
5832 }
5833 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
5834 if (var_n_expr2 == NULL) {
5835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6919);
5836 exit(1);
5837 } else {
5838 ((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>*/;
5839 }
5840 RET_LABEL:;
5841 }
5842 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: Object, nullable AExpr, nullable AExpr) */
5843 void VIRTUAL_parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
5844 parser_prod__AMinusExpr__init_aminusexpr(self, p0, p1);
5845 RET_LABEL:;
5846 }
5847 /* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
5848 void parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
5849 val* var_old_child /* var old_child: ANode */;
5850 val* var_new_child /* var new_child: nullable ANode */;
5851 val* var /* : AExpr */;
5852 short int var1 /* : Bool */;
5853 val* var2 /* : null */;
5854 short int var3 /* : Bool */;
5855 short int var4 /* : Bool */;
5856 int cltype;
5857 int idtype;
5858 val* var5 /* : AExpr */;
5859 short int var6 /* : Bool */;
5860 val* var7 /* : null */;
5861 short int var8 /* : Bool */;
5862 short int var9 /* : Bool */;
5863 int cltype10;
5864 int idtype11;
5865 var_old_child = p0;
5866 var_new_child = p1;
5867 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
5868 if (var == NULL) {
5869 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6924);
5870 exit(1);
5871 }
5872 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5873 if (var1){
5874 var2 = NULL;
5875 if (var_new_child == NULL) {
5876 var3 = 0; /* is null */
5877 } else {
5878 var3 = 1; /* arg is null and recv is not */
5879 }
5880 if (var3){
5881 ((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)>*/;
5882 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5883 cltype = type_parser_nodes__AExpr.color;
5884 idtype = type_parser_nodes__AExpr.id;
5885 if(cltype >= var_new_child->type->table_size) {
5886 var4 = 0;
5887 } else {
5888 var4 = var_new_child->type->type_table[cltype] == idtype;
5889 }
5890 if (!var4) {
5891 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6927);
5892 exit(1);
5893 }
5894 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AMinusExpr> */
5895 } else {
5896 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6930);
5897 exit(1);
5898 }
5899 goto RET_LABEL;
5900 } else {
5901 }
5902 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
5903 if (var5 == NULL) {
5904 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6934);
5905 exit(1);
5906 }
5907 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5908 if (var6){
5909 var7 = NULL;
5910 if (var_new_child == NULL) {
5911 var8 = 0; /* is null */
5912 } else {
5913 var8 = 1; /* arg is null and recv is not */
5914 }
5915 if (var8){
5916 ((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)>*/;
5917 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5918 cltype10 = type_parser_nodes__AExpr.color;
5919 idtype11 = type_parser_nodes__AExpr.id;
5920 if(cltype10 >= var_new_child->type->table_size) {
5921 var9 = 0;
5922 } else {
5923 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5924 }
5925 if (!var9) {
5926 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6937);
5927 exit(1);
5928 }
5929 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AMinusExpr> */
5930 } else {
5931 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6940);
5932 exit(1);
5933 }
5934 goto RET_LABEL;
5935 } else {
5936 }
5937 RET_LABEL:;
5938 }
5939 /* method parser_prod#AMinusExpr#replace_child for (self: Object, ANode, nullable ANode) */
5940 void VIRTUAL_parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
5941 parser_prod__AMinusExpr__replace_child(self, p0, p1);
5942 RET_LABEL:;
5943 }
5944 /* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
5945 void parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
5946 val* var_node /* var node: AExpr */;
5947 var_node = p0;
5948 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
5949 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5950 RET_LABEL:;
5951 }
5952 /* method parser_prod#AMinusExpr#n_expr= for (self: Object, AExpr) */
5953 void VIRTUAL_parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
5954 parser_prod__AMinusExpr__n_expr_61d(self, p0);
5955 RET_LABEL:;
5956 }
5957 /* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
5958 void parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
5959 val* var_node /* var node: AExpr */;
5960 var_node = p0;
5961 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
5962 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5963 RET_LABEL:;
5964 }
5965 /* method parser_prod#AMinusExpr#n_expr2= for (self: Object, AExpr) */
5966 void VIRTUAL_parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
5967 parser_prod__AMinusExpr__n_expr2_61d(self, p0);
5968 RET_LABEL:;
5969 }
5970 /* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
5971 void parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
5972 val* var_v /* var v: Visitor */;
5973 val* var /* : AExpr */;
5974 val* var1 /* : AExpr */;
5975 var_v = p0;
5976 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
5977 if (var == NULL) {
5978 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6960);
5979 exit(1);
5980 }
5981 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5982 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
5983 if (var1 == NULL) {
5984 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6961);
5985 exit(1);
5986 }
5987 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5988 RET_LABEL:;
5989 }
5990 /* method parser_prod#AMinusExpr#visit_all for (self: Object, Visitor) */
5991 void VIRTUAL_parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
5992 parser_prod__AMinusExpr__visit_all(self, p0);
5993 RET_LABEL:;
5994 }
5995 /* method parser_prod#AStarshipExpr#empty_init for (self: AStarshipExpr) */
5996 void parser_prod__AStarshipExpr__empty_init(val* self) {
5997 RET_LABEL:;
5998 }
5999 /* method parser_prod#AStarshipExpr#empty_init for (self: Object) */
6000 void VIRTUAL_parser_prod__AStarshipExpr__empty_init(val* self) {
6001 parser_prod__AStarshipExpr__empty_init(self);
6002 RET_LABEL:;
6003 }
6004 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */
6005 void parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6006 val* var_n_expr /* var n_expr: nullable AExpr */;
6007 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6008 var_n_expr = p0;
6009 var_n_expr2 = p1;
6010 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarshipExpr__empty_init]))(self) /* empty_init on <self:AStarshipExpr>*/;
6011 if (var_n_expr == NULL) {
6012 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6973);
6013 exit(1);
6014 }
6015 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
6016 if (var_n_expr == NULL) {
6017 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6974);
6018 exit(1);
6019 } else {
6020 ((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>*/;
6021 }
6022 if (var_n_expr2 == NULL) {
6023 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6975);
6024 exit(1);
6025 }
6026 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
6027 if (var_n_expr2 == NULL) {
6028 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6976);
6029 exit(1);
6030 } else {
6031 ((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>*/;
6032 }
6033 RET_LABEL:;
6034 }
6035 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: Object, nullable AExpr, nullable AExpr) */
6036 void VIRTUAL_parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6037 parser_prod__AStarshipExpr__init_astarshipexpr(self, p0, p1);
6038 RET_LABEL:;
6039 }
6040 /* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
6041 void parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6042 val* var_old_child /* var old_child: ANode */;
6043 val* var_new_child /* var new_child: nullable ANode */;
6044 val* var /* : AExpr */;
6045 short int var1 /* : Bool */;
6046 val* var2 /* : null */;
6047 short int var3 /* : Bool */;
6048 short int var4 /* : Bool */;
6049 int cltype;
6050 int idtype;
6051 val* var5 /* : AExpr */;
6052 short int var6 /* : Bool */;
6053 val* var7 /* : null */;
6054 short int var8 /* : Bool */;
6055 short int var9 /* : Bool */;
6056 int cltype10;
6057 int idtype11;
6058 var_old_child = p0;
6059 var_new_child = p1;
6060 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6061 if (var == NULL) {
6062 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6981);
6063 exit(1);
6064 }
6065 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6066 if (var1){
6067 var2 = NULL;
6068 if (var_new_child == NULL) {
6069 var3 = 0; /* is null */
6070 } else {
6071 var3 = 1; /* arg is null and recv is not */
6072 }
6073 if (var3){
6074 ((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)>*/;
6075 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6076 cltype = type_parser_nodes__AExpr.color;
6077 idtype = type_parser_nodes__AExpr.id;
6078 if(cltype >= var_new_child->type->table_size) {
6079 var4 = 0;
6080 } else {
6081 var4 = var_new_child->type->type_table[cltype] == idtype;
6082 }
6083 if (!var4) {
6084 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6984);
6085 exit(1);
6086 }
6087 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarshipExpr> */
6088 } else {
6089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6987);
6090 exit(1);
6091 }
6092 goto RET_LABEL;
6093 } else {
6094 }
6095 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6096 if (var5 == NULL) {
6097 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6991);
6098 exit(1);
6099 }
6100 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6101 if (var6){
6102 var7 = NULL;
6103 if (var_new_child == NULL) {
6104 var8 = 0; /* is null */
6105 } else {
6106 var8 = 1; /* arg is null and recv is not */
6107 }
6108 if (var8){
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 cltype10 = type_parser_nodes__AExpr.color;
6112 idtype11 = type_parser_nodes__AExpr.id;
6113 if(cltype10 >= var_new_child->type->table_size) {
6114 var9 = 0;
6115 } else {
6116 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6117 }
6118 if (!var9) {
6119 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6994);
6120 exit(1);
6121 }
6122 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarshipExpr> */
6123 } else {
6124 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6997);
6125 exit(1);
6126 }
6127 goto RET_LABEL;
6128 } else {
6129 }
6130 RET_LABEL:;
6131 }
6132 /* method parser_prod#AStarshipExpr#replace_child for (self: Object, ANode, nullable ANode) */
6133 void VIRTUAL_parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6134 parser_prod__AStarshipExpr__replace_child(self, p0, p1);
6135 RET_LABEL:;
6136 }
6137 /* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
6138 void parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6139 val* var_node /* var node: AExpr */;
6140 var_node = p0;
6141 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
6142 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6143 RET_LABEL:;
6144 }
6145 /* method parser_prod#AStarshipExpr#n_expr= for (self: Object, AExpr) */
6146 void VIRTUAL_parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6147 parser_prod__AStarshipExpr__n_expr_61d(self, p0);
6148 RET_LABEL:;
6149 }
6150 /* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
6151 void parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6152 val* var_node /* var node: AExpr */;
6153 var_node = p0;
6154 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
6155 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6156 RET_LABEL:;
6157 }
6158 /* method parser_prod#AStarshipExpr#n_expr2= for (self: Object, AExpr) */
6159 void VIRTUAL_parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6160 parser_prod__AStarshipExpr__n_expr2_61d(self, p0);
6161 RET_LABEL:;
6162 }
6163 /* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
6164 void parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6165 val* var_v /* var v: Visitor */;
6166 val* var /* : AExpr */;
6167 val* var1 /* : AExpr */;
6168 var_v = p0;
6169 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6170 if (var == NULL) {
6171 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7017);
6172 exit(1);
6173 }
6174 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6175 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6176 if (var1 == NULL) {
6177 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7018);
6178 exit(1);
6179 }
6180 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6181 RET_LABEL:;
6182 }
6183 /* method parser_prod#AStarshipExpr#visit_all for (self: Object, Visitor) */
6184 void VIRTUAL_parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6185 parser_prod__AStarshipExpr__visit_all(self, p0);
6186 RET_LABEL:;
6187 }
6188 /* method parser_prod#AStarExpr#empty_init for (self: AStarExpr) */
6189 void parser_prod__AStarExpr__empty_init(val* self) {
6190 RET_LABEL:;
6191 }
6192 /* method parser_prod#AStarExpr#empty_init for (self: Object) */
6193 void VIRTUAL_parser_prod__AStarExpr__empty_init(val* self) {
6194 parser_prod__AStarExpr__empty_init(self);
6195 RET_LABEL:;
6196 }
6197 /* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */
6198 void parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6199 val* var_n_expr /* var n_expr: nullable AExpr */;
6200 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6201 var_n_expr = p0;
6202 var_n_expr2 = p1;
6203 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarExpr__empty_init]))(self) /* empty_init on <self:AStarExpr>*/;
6204 if (var_n_expr == NULL) {
6205 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7030);
6206 exit(1);
6207 }
6208 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
6209 if (var_n_expr == NULL) {
6210 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7031);
6211 exit(1);
6212 } else {
6213 ((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>*/;
6214 }
6215 if (var_n_expr2 == NULL) {
6216 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7032);
6217 exit(1);
6218 }
6219 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
6220 if (var_n_expr2 == NULL) {
6221 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7033);
6222 exit(1);
6223 } else {
6224 ((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>*/;
6225 }
6226 RET_LABEL:;
6227 }
6228 /* method parser_prod#AStarExpr#init_astarexpr for (self: Object, nullable AExpr, nullable AExpr) */
6229 void VIRTUAL_parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6230 parser_prod__AStarExpr__init_astarexpr(self, p0, p1);
6231 RET_LABEL:;
6232 }
6233 /* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
6234 void parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6235 val* var_old_child /* var old_child: ANode */;
6236 val* var_new_child /* var new_child: nullable ANode */;
6237 val* var /* : AExpr */;
6238 short int var1 /* : Bool */;
6239 val* var2 /* : null */;
6240 short int var3 /* : Bool */;
6241 short int var4 /* : Bool */;
6242 int cltype;
6243 int idtype;
6244 val* var5 /* : AExpr */;
6245 short int var6 /* : Bool */;
6246 val* var7 /* : null */;
6247 short int var8 /* : Bool */;
6248 short int var9 /* : Bool */;
6249 int cltype10;
6250 int idtype11;
6251 var_old_child = p0;
6252 var_new_child = p1;
6253 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6254 if (var == NULL) {
6255 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7038);
6256 exit(1);
6257 }
6258 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6259 if (var1){
6260 var2 = NULL;
6261 if (var_new_child == NULL) {
6262 var3 = 0; /* is null */
6263 } else {
6264 var3 = 1; /* arg is null and recv is not */
6265 }
6266 if (var3){
6267 ((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)>*/;
6268 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6269 cltype = type_parser_nodes__AExpr.color;
6270 idtype = type_parser_nodes__AExpr.id;
6271 if(cltype >= var_new_child->type->table_size) {
6272 var4 = 0;
6273 } else {
6274 var4 = var_new_child->type->type_table[cltype] == idtype;
6275 }
6276 if (!var4) {
6277 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7041);
6278 exit(1);
6279 }
6280 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarExpr> */
6281 } else {
6282 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7044);
6283 exit(1);
6284 }
6285 goto RET_LABEL;
6286 } else {
6287 }
6288 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6289 if (var5 == NULL) {
6290 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7048);
6291 exit(1);
6292 }
6293 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6294 if (var6){
6295 var7 = NULL;
6296 if (var_new_child == NULL) {
6297 var8 = 0; /* is null */
6298 } else {
6299 var8 = 1; /* arg is null and recv is not */
6300 }
6301 if (var8){
6302 ((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)>*/;
6303 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6304 cltype10 = type_parser_nodes__AExpr.color;
6305 idtype11 = type_parser_nodes__AExpr.id;
6306 if(cltype10 >= var_new_child->type->table_size) {
6307 var9 = 0;
6308 } else {
6309 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6310 }
6311 if (!var9) {
6312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7051);
6313 exit(1);
6314 }
6315 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarExpr> */
6316 } else {
6317 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7054);
6318 exit(1);
6319 }
6320 goto RET_LABEL;
6321 } else {
6322 }
6323 RET_LABEL:;
6324 }
6325 /* method parser_prod#AStarExpr#replace_child for (self: Object, ANode, nullable ANode) */
6326 void VIRTUAL_parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6327 parser_prod__AStarExpr__replace_child(self, p0, p1);
6328 RET_LABEL:;
6329 }
6330 /* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
6331 void parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6332 val* var_node /* var node: AExpr */;
6333 var_node = p0;
6334 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
6335 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6336 RET_LABEL:;
6337 }
6338 /* method parser_prod#AStarExpr#n_expr= for (self: Object, AExpr) */
6339 void VIRTUAL_parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6340 parser_prod__AStarExpr__n_expr_61d(self, p0);
6341 RET_LABEL:;
6342 }
6343 /* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
6344 void parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6345 val* var_node /* var node: AExpr */;
6346 var_node = p0;
6347 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
6348 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6349 RET_LABEL:;
6350 }
6351 /* method parser_prod#AStarExpr#n_expr2= for (self: Object, AExpr) */
6352 void VIRTUAL_parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6353 parser_prod__AStarExpr__n_expr2_61d(self, p0);
6354 RET_LABEL:;
6355 }
6356 /* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
6357 void parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6358 val* var_v /* var v: Visitor */;
6359 val* var /* : AExpr */;
6360 val* var1 /* : AExpr */;
6361 var_v = p0;
6362 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6363 if (var == NULL) {
6364 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7074);
6365 exit(1);
6366 }
6367 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6368 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6369 if (var1 == NULL) {
6370 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7075);
6371 exit(1);
6372 }
6373 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6374 RET_LABEL:;
6375 }
6376 /* method parser_prod#AStarExpr#visit_all for (self: Object, Visitor) */
6377 void VIRTUAL_parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6378 parser_prod__AStarExpr__visit_all(self, p0);
6379 RET_LABEL:;
6380 }
6381 /* method parser_prod#ASlashExpr#empty_init for (self: ASlashExpr) */
6382 void parser_prod__ASlashExpr__empty_init(val* self) {
6383 RET_LABEL:;
6384 }
6385 /* method parser_prod#ASlashExpr#empty_init for (self: Object) */
6386 void VIRTUAL_parser_prod__ASlashExpr__empty_init(val* self) {
6387 parser_prod__ASlashExpr__empty_init(self);
6388 RET_LABEL:;
6389 }
6390 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */
6391 void parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6392 val* var_n_expr /* var n_expr: nullable AExpr */;
6393 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6394 var_n_expr = p0;
6395 var_n_expr2 = p1;
6396 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASlashExpr__empty_init]))(self) /* empty_init on <self:ASlashExpr>*/;
6397 if (var_n_expr == NULL) {
6398 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7087);
6399 exit(1);
6400 }
6401 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
6402 if (var_n_expr == NULL) {
6403 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7088);
6404 exit(1);
6405 } else {
6406 ((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>*/;
6407 }
6408 if (var_n_expr2 == NULL) {
6409 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7089);
6410 exit(1);
6411 }
6412 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
6413 if (var_n_expr2 == NULL) {
6414 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7090);
6415 exit(1);
6416 } else {
6417 ((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>*/;
6418 }
6419 RET_LABEL:;
6420 }
6421 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: Object, nullable AExpr, nullable AExpr) */
6422 void VIRTUAL_parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6423 parser_prod__ASlashExpr__init_aslashexpr(self, p0, p1);
6424 RET_LABEL:;
6425 }
6426 /* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
6427 void parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6428 val* var_old_child /* var old_child: ANode */;
6429 val* var_new_child /* var new_child: nullable ANode */;
6430 val* var /* : AExpr */;
6431 short int var1 /* : Bool */;
6432 val* var2 /* : null */;
6433 short int var3 /* : Bool */;
6434 short int var4 /* : Bool */;
6435 int cltype;
6436 int idtype;
6437 val* var5 /* : AExpr */;
6438 short int var6 /* : Bool */;
6439 val* var7 /* : null */;
6440 short int var8 /* : Bool */;
6441 short int var9 /* : Bool */;
6442 int cltype10;
6443 int idtype11;
6444 var_old_child = p0;
6445 var_new_child = p1;
6446 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6447 if (var == NULL) {
6448 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7095);
6449 exit(1);
6450 }
6451 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6452 if (var1){
6453 var2 = NULL;
6454 if (var_new_child == NULL) {
6455 var3 = 0; /* is null */
6456 } else {
6457 var3 = 1; /* arg is null and recv is not */
6458 }
6459 if (var3){
6460 ((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)>*/;
6461 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6462 cltype = type_parser_nodes__AExpr.color;
6463 idtype = type_parser_nodes__AExpr.id;
6464 if(cltype >= var_new_child->type->table_size) {
6465 var4 = 0;
6466 } else {
6467 var4 = var_new_child->type->type_table[cltype] == idtype;
6468 }
6469 if (!var4) {
6470 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7098);
6471 exit(1);
6472 }
6473 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASlashExpr> */
6474 } else {
6475 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7101);
6476 exit(1);
6477 }
6478 goto RET_LABEL;
6479 } else {
6480 }
6481 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6482 if (var5 == NULL) {
6483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7105);
6484 exit(1);
6485 }
6486 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6487 if (var6){
6488 var7 = NULL;
6489 if (var_new_child == NULL) {
6490 var8 = 0; /* is null */
6491 } else {
6492 var8 = 1; /* arg is null and recv is not */
6493 }
6494 if (var8){
6495 ((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)>*/;
6496 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6497 cltype10 = type_parser_nodes__AExpr.color;
6498 idtype11 = type_parser_nodes__AExpr.id;
6499 if(cltype10 >= var_new_child->type->table_size) {
6500 var9 = 0;
6501 } else {
6502 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6503 }
6504 if (!var9) {
6505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7108);
6506 exit(1);
6507 }
6508 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ASlashExpr> */
6509 } else {
6510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7111);
6511 exit(1);
6512 }
6513 goto RET_LABEL;
6514 } else {
6515 }
6516 RET_LABEL:;
6517 }
6518 /* method parser_prod#ASlashExpr#replace_child for (self: Object, ANode, nullable ANode) */
6519 void VIRTUAL_parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6520 parser_prod__ASlashExpr__replace_child(self, p0, p1);
6521 RET_LABEL:;
6522 }
6523 /* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
6524 void parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6525 val* var_node /* var node: AExpr */;
6526 var_node = p0;
6527 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASlashExpr> */
6528 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6529 RET_LABEL:;
6530 }
6531 /* method parser_prod#ASlashExpr#n_expr= for (self: Object, AExpr) */
6532 void VIRTUAL_parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6533 parser_prod__ASlashExpr__n_expr_61d(self, p0);
6534 RET_LABEL:;
6535 }
6536 /* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
6537 void parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6538 val* var_node /* var node: AExpr */;
6539 var_node = p0;
6540 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ASlashExpr> */
6541 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6542 RET_LABEL:;
6543 }
6544 /* method parser_prod#ASlashExpr#n_expr2= for (self: Object, AExpr) */
6545 void VIRTUAL_parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6546 parser_prod__ASlashExpr__n_expr2_61d(self, p0);
6547 RET_LABEL:;
6548 }
6549 /* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
6550 void parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6551 val* var_v /* var v: Visitor */;
6552 val* var /* : AExpr */;
6553 val* var1 /* : AExpr */;
6554 var_v = p0;
6555 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6556 if (var == NULL) {
6557 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7131);
6558 exit(1);
6559 }
6560 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6561 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6562 if (var1 == NULL) {
6563 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7132);
6564 exit(1);
6565 }
6566 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6567 RET_LABEL:;
6568 }
6569 /* method parser_prod#ASlashExpr#visit_all for (self: Object, Visitor) */
6570 void VIRTUAL_parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6571 parser_prod__ASlashExpr__visit_all(self, p0);
6572 RET_LABEL:;
6573 }
6574 /* method parser_prod#APercentExpr#empty_init for (self: APercentExpr) */
6575 void parser_prod__APercentExpr__empty_init(val* self) {
6576 RET_LABEL:;
6577 }
6578 /* method parser_prod#APercentExpr#empty_init for (self: Object) */
6579 void VIRTUAL_parser_prod__APercentExpr__empty_init(val* self) {
6580 parser_prod__APercentExpr__empty_init(self);
6581 RET_LABEL:;
6582 }
6583 /* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */
6584 void parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6585 val* var_n_expr /* var n_expr: nullable AExpr */;
6586 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6587 var_n_expr = p0;
6588 var_n_expr2 = p1;
6589 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APercentExpr__empty_init]))(self) /* empty_init on <self:APercentExpr>*/;
6590 if (var_n_expr == NULL) {
6591 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7144);
6592 exit(1);
6593 }
6594 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
6595 if (var_n_expr == NULL) {
6596 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7145);
6597 exit(1);
6598 } else {
6599 ((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>*/;
6600 }
6601 if (var_n_expr2 == NULL) {
6602 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7146);
6603 exit(1);
6604 }
6605 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
6606 if (var_n_expr2 == NULL) {
6607 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7147);
6608 exit(1);
6609 } else {
6610 ((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>*/;
6611 }
6612 RET_LABEL:;
6613 }
6614 /* method parser_prod#APercentExpr#init_apercentexpr for (self: Object, nullable AExpr, nullable AExpr) */
6615 void VIRTUAL_parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6616 parser_prod__APercentExpr__init_apercentexpr(self, p0, p1);
6617 RET_LABEL:;
6618 }
6619 /* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */
6620 void parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6621 val* var_old_child /* var old_child: ANode */;
6622 val* var_new_child /* var new_child: nullable ANode */;
6623 val* var /* : AExpr */;
6624 short int var1 /* : Bool */;
6625 val* var2 /* : null */;
6626 short int var3 /* : Bool */;
6627 short int var4 /* : Bool */;
6628 int cltype;
6629 int idtype;
6630 val* var5 /* : AExpr */;
6631 short int var6 /* : Bool */;
6632 val* var7 /* : null */;
6633 short int var8 /* : Bool */;
6634 short int var9 /* : Bool */;
6635 int cltype10;
6636 int idtype11;
6637 var_old_child = p0;
6638 var_new_child = p1;
6639 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
6640 if (var == NULL) {
6641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7152);
6642 exit(1);
6643 }
6644 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6645 if (var1){
6646 var2 = NULL;
6647 if (var_new_child == NULL) {
6648 var3 = 0; /* is null */
6649 } else {
6650 var3 = 1; /* arg is null and recv is not */
6651 }
6652 if (var3){
6653 ((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)>*/;
6654 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6655 cltype = type_parser_nodes__AExpr.color;
6656 idtype = type_parser_nodes__AExpr.id;
6657 if(cltype >= var_new_child->type->table_size) {
6658 var4 = 0;
6659 } else {
6660 var4 = var_new_child->type->type_table[cltype] == idtype;
6661 }
6662 if (!var4) {
6663 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7155);
6664 exit(1);
6665 }
6666 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APercentExpr> */
6667 } else {
6668 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7158);
6669 exit(1);
6670 }
6671 goto RET_LABEL;
6672 } else {
6673 }
6674 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
6675 if (var5 == NULL) {
6676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7162);
6677 exit(1);
6678 }
6679 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6680 if (var6){
6681 var7 = NULL;
6682 if (var_new_child == NULL) {
6683 var8 = 0; /* is null */
6684 } else {
6685 var8 = 1; /* arg is null and recv is not */
6686 }
6687 if (var8){
6688 ((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)>*/;
6689 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6690 cltype10 = type_parser_nodes__AExpr.color;
6691 idtype11 = type_parser_nodes__AExpr.id;
6692 if(cltype10 >= var_new_child->type->table_size) {
6693 var9 = 0;
6694 } else {
6695 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6696 }
6697 if (!var9) {
6698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7165);
6699 exit(1);
6700 }
6701 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APercentExpr> */
6702 } else {
6703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7168);
6704 exit(1);
6705 }
6706 goto RET_LABEL;
6707 } else {
6708 }
6709 RET_LABEL:;
6710 }
6711 /* method parser_prod#APercentExpr#replace_child for (self: Object, ANode, nullable ANode) */
6712 void VIRTUAL_parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6713 parser_prod__APercentExpr__replace_child(self, p0, p1);
6714 RET_LABEL:;
6715 }
6716 /* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */
6717 void parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
6718 val* var_node /* var node: AExpr */;
6719 var_node = p0;
6720 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APercentExpr> */
6721 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6722 RET_LABEL:;
6723 }
6724 /* method parser_prod#APercentExpr#n_expr= for (self: Object, AExpr) */
6725 void VIRTUAL_parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
6726 parser_prod__APercentExpr__n_expr_61d(self, p0);
6727 RET_LABEL:;
6728 }
6729 /* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */
6730 void parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
6731 val* var_node /* var node: AExpr */;
6732 var_node = p0;
6733 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APercentExpr> */
6734 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6735 RET_LABEL:;
6736 }
6737 /* method parser_prod#APercentExpr#n_expr2= for (self: Object, AExpr) */
6738 void VIRTUAL_parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
6739 parser_prod__APercentExpr__n_expr2_61d(self, p0);
6740 RET_LABEL:;
6741 }
6742 /* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */
6743 void parser_prod__APercentExpr__visit_all(val* self, val* p0) {
6744 val* var_v /* var v: Visitor */;
6745 val* var /* : AExpr */;
6746 val* var1 /* : AExpr */;
6747 var_v = p0;
6748 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
6749 if (var == NULL) {
6750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7188);
6751 exit(1);
6752 }
6753 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6754 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
6755 if (var1 == NULL) {
6756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 7189);
6757 exit(1);
6758 }
6759 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6760 RET_LABEL:;
6761 }
6762 /* method parser_prod#APercentExpr#visit_all for (self: Object, Visitor) */
6763 void VIRTUAL_parser_prod__APercentExpr__visit_all(val* self, val* p0) {
6764 parser_prod__APercentExpr__visit_all(self, p0);
6765 RET_LABEL:;
6766 }
6767 /* method parser_prod#AUminusExpr#empty_init for (self: AUminusExpr) */
6768 void parser_prod__AUminusExpr__empty_init(val* self) {
6769 RET_LABEL:;
6770 }
6771 /* method parser_prod#AUminusExpr#empty_init for (self: Object) */
6772 void VIRTUAL_parser_prod__AUminusExpr__empty_init(val* self) {
6773 parser_prod__AUminusExpr__empty_init(self);
6774 RET_LABEL:;
6775 }
6776 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */
6777 void parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
6778 val* var_n_minus /* var n_minus: nullable TMinus */;
6779 val* var_n_expr /* var n_expr: nullable AExpr */;
6780 var_n_minus = p0;
6781 var_n_expr = p1;
6782 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AUminusExpr__empty_init]))(self) /* empty_init on <self:AUminusExpr>*/;
6783 if (var_n_minus == NULL) {
6784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7201);
6785 exit(1);
6786 }
6787 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on <self:AUminusExpr> */
6788 if (var_n_minus == NULL) {
6789 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7202);
6790 exit(1);
6791 } else {
6792 ((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>*/;
6793 }
6794 if (var_n_expr == NULL) {
6795 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7203);
6796 exit(1);
6797 }
6798 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AUminusExpr> */
6799 if (var_n_expr == NULL) {
6800 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7204);
6801 exit(1);
6802 } else {
6803 ((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>*/;
6804 }
6805 RET_LABEL:;
6806 }
6807 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: Object, nullable TMinus, nullable AExpr) */
6808 void VIRTUAL_parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
6809 parser_prod__AUminusExpr__init_auminusexpr(self, p0, p1);
6810 RET_LABEL:;
6811 }
6812 /* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */
6813 void parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
6814 val* var_old_child /* var old_child: ANode */;
6815 val* var_new_child /* var new_child: nullable ANode */;
6816 val* var /* : TMinus */;
6817 short int var1 /* : Bool */;
6818 val* var2 /* : null */;
6819 short int var3 /* : Bool */;
6820 short int var4 /* : Bool */;
6821 int cltype;
6822 int idtype;
6823 val* var5 /* : AExpr */;
6824 short int var6 /* : Bool */;
6825 val* var7 /* : null */;
6826 short int var8 /* : Bool */;
6827 short int var9 /* : Bool */;
6828 int cltype10;
6829 int idtype11;
6830 var_old_child = p0;
6831 var_new_child = p1;
6832 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
6833 if (var == NULL) {
6834 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minus", "src/parser/parser_prod.nit", 7209);
6835 exit(1);
6836 }
6837 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinus>*/;
6838 if (var1){
6839 var2 = NULL;
6840 if (var_new_child == NULL) {
6841 var3 = 0; /* is null */
6842 } else {
6843 var3 = 1; /* arg is null and recv is not */
6844 }
6845 if (var3){
6846 ((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)>*/;
6847 /* <var_new_child:nullable ANode(ANode)> isa TMinus */
6848 cltype = type_parser_nodes__TMinus.color;
6849 idtype = type_parser_nodes__TMinus.id;
6850 if(cltype >= var_new_child->type->table_size) {
6851 var4 = 0;
6852 } else {
6853 var4 = var_new_child->type->type_table[cltype] == idtype;
6854 }
6855 if (!var4) {
6856 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7212);
6857 exit(1);
6858 }
6859 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_new_child; /* _n_minus on <self:AUminusExpr> */
6860 } else {
6861 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7215);
6862 exit(1);
6863 }
6864 goto RET_LABEL;
6865 } else {
6866 }
6867 var5 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
6868 if (var5 == NULL) {
6869 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7219);
6870 exit(1);
6871 }
6872 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6873 if (var6){
6874 var7 = NULL;
6875 if (var_new_child == NULL) {
6876 var8 = 0; /* is null */
6877 } else {
6878 var8 = 1; /* arg is null and recv is not */
6879 }
6880 if (var8){
6881 ((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)>*/;
6882 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6883 cltype10 = type_parser_nodes__AExpr.color;
6884 idtype11 = type_parser_nodes__AExpr.id;
6885 if(cltype10 >= var_new_child->type->table_size) {
6886 var9 = 0;
6887 } else {
6888 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6889 }
6890 if (!var9) {
6891 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7222);
6892 exit(1);
6893 }
6894 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AUminusExpr> */
6895 } else {
6896 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7225);
6897 exit(1);
6898 }
6899 goto RET_LABEL;
6900 } else {
6901 }
6902 RET_LABEL:;
6903 }
6904 /* method parser_prod#AUminusExpr#replace_child for (self: Object, ANode, nullable ANode) */
6905 void VIRTUAL_parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
6906 parser_prod__AUminusExpr__replace_child(self, p0, p1);
6907 RET_LABEL:;
6908 }
6909 /* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */
6910 void parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
6911 val* var_node /* var node: TMinus */;
6912 var_node = p0;
6913 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on <self:AUminusExpr> */
6914 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinus>*/;
6915 RET_LABEL:;
6916 }
6917 /* method parser_prod#AUminusExpr#n_minus= for (self: Object, TMinus) */
6918 void VIRTUAL_parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
6919 parser_prod__AUminusExpr__n_minus_61d(self, p0);
6920 RET_LABEL:;
6921 }
6922 /* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */
6923 void parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
6924 val* var_node /* var node: AExpr */;
6925 var_node = p0;
6926 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AUminusExpr> */
6927 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6928 RET_LABEL:;
6929 }
6930 /* method parser_prod#AUminusExpr#n_expr= for (self: Object, AExpr) */
6931 void VIRTUAL_parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
6932 parser_prod__AUminusExpr__n_expr_61d(self, p0);
6933 RET_LABEL:;
6934 }
6935 /* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */
6936 void parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
6937 val* var_v /* var v: Visitor */;
6938 val* var /* : TMinus */;
6939 val* var1 /* : AExpr */;
6940 var_v = p0;
6941 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
6942 if (var == NULL) {
6943 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minus", "src/parser/parser_prod.nit", 7245);
6944 exit(1);
6945 }
6946 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6947 var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
6948 if (var1 == NULL) {
6949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7246);
6950 exit(1);
6951 }
6952 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6953 RET_LABEL:;
6954 }
6955 /* method parser_prod#AUminusExpr#visit_all for (self: Object, Visitor) */
6956 void VIRTUAL_parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
6957 parser_prod__AUminusExpr__visit_all(self, p0);
6958 RET_LABEL:;
6959 }
6960 /* method parser_prod#ANewExpr#empty_init for (self: ANewExpr) */
6961 void parser_prod__ANewExpr__empty_init(val* self) {
6962 RET_LABEL:;
6963 }
6964 /* method parser_prod#ANewExpr#empty_init for (self: Object) */
6965 void VIRTUAL_parser_prod__ANewExpr__empty_init(val* self) {
6966 parser_prod__ANewExpr__empty_init(self);
6967 RET_LABEL:;
6968 }
6969 /* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
6970 void parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
6971 val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
6972 val* var_n_type /* var n_type: nullable AType */;
6973 val* var_n_id /* var n_id: nullable TId */;
6974 val* var_n_args /* var n_args: nullable AExprs */;
6975 val* var /* : null */;
6976 short int var1 /* : Bool */;
6977 var_n_kwnew = p0;
6978 var_n_type = p1;
6979 var_n_id = p2;
6980 var_n_args = p3;
6981 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANewExpr__empty_init]))(self) /* empty_init on <self:ANewExpr>*/;
6982 if (var_n_kwnew == NULL) {
6983 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7260);
6984 exit(1);
6985 }
6986 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:ANewExpr> */
6987 if (var_n_kwnew == NULL) {
6988 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7261);
6989 exit(1);
6990 } else {
6991 ((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>*/;
6992 }
6993 if (var_n_type == NULL) {
6994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7262);
6995 exit(1);
6996 }
6997 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on <self:ANewExpr> */
6998 if (var_n_type == NULL) {
6999 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7263);
7000 exit(1);
7001 } else {
7002 ((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>*/;
7003 }
7004 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on <self:ANewExpr> */
7005 var = NULL;
7006 if (var_n_id == NULL) {
7007 var1 = 0; /* is null */
7008 } else {
7009 var1 = 1; /* arg is null and recv is not */
7010 }
7011 if (var1){
7012 ((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)>*/;
7013 } else {
7014 }
7015 if (var_n_args == NULL) {
7016 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7268);
7017 exit(1);
7018 }
7019 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on <self:ANewExpr> */
7020 if (var_n_args == NULL) {
7021 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7269);
7022 exit(1);
7023 } else {
7024 ((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>*/;
7025 }
7026 RET_LABEL:;
7027 }
7028 /* method parser_prod#ANewExpr#init_anewexpr for (self: Object, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
7029 void VIRTUAL_parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7030 parser_prod__ANewExpr__init_anewexpr(self, p0, p1, p2, p3);
7031 RET_LABEL:;
7032 }
7033 /* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */
7034 void parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7035 val* var_old_child /* var old_child: ANode */;
7036 val* var_new_child /* var new_child: nullable ANode */;
7037 val* var /* : TKwnew */;
7038 short int var1 /* : Bool */;
7039 val* var2 /* : null */;
7040 short int var3 /* : Bool */;
7041 short int var4 /* : Bool */;
7042 int cltype;
7043 int idtype;
7044 val* var5 /* : AType */;
7045 short int var6 /* : Bool */;
7046 val* var7 /* : null */;
7047 short int var8 /* : Bool */;
7048 short int var9 /* : Bool */;
7049 int cltype10;
7050 int idtype11;
7051 val* var12 /* : nullable TId */;
7052 short int var13 /* : Bool */;
7053 val* var14 /* : null */;
7054 short int var15 /* : Bool */;
7055 short int var16 /* : Bool */;
7056 int cltype17;
7057 int idtype18;
7058 val* var19 /* : null */;
7059 val* var20 /* : AExprs */;
7060 short int var21 /* : Bool */;
7061 val* var22 /* : null */;
7062 short int var23 /* : Bool */;
7063 short int var24 /* : Bool */;
7064 int cltype25;
7065 int idtype26;
7066 var_old_child = p0;
7067 var_new_child = p1;
7068 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7069 if (var == NULL) {
7070 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnew", "src/parser/parser_prod.nit", 7274);
7071 exit(1);
7072 }
7073 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnew>*/;
7074 if (var1){
7075 var2 = NULL;
7076 if (var_new_child == NULL) {
7077 var3 = 0; /* is null */
7078 } else {
7079 var3 = 1; /* arg is null and recv is not */
7080 }
7081 if (var3){
7082 ((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)>*/;
7083 /* <var_new_child:nullable ANode(ANode)> isa TKwnew */
7084 cltype = type_parser_nodes__TKwnew.color;
7085 idtype = type_parser_nodes__TKwnew.id;
7086 if(cltype >= var_new_child->type->table_size) {
7087 var4 = 0;
7088 } else {
7089 var4 = var_new_child->type->type_table[cltype] == idtype;
7090 }
7091 if (!var4) {
7092 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7277);
7093 exit(1);
7094 }
7095 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_new_child; /* _n_kwnew on <self:ANewExpr> */
7096 } else {
7097 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7280);
7098 exit(1);
7099 }
7100 goto RET_LABEL;
7101 } else {
7102 }
7103 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7104 if (var5 == NULL) {
7105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 7284);
7106 exit(1);
7107 }
7108 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
7109 if (var6){
7110 var7 = NULL;
7111 if (var_new_child == NULL) {
7112 var8 = 0; /* is null */
7113 } else {
7114 var8 = 1; /* arg is null and recv is not */
7115 }
7116 if (var8){
7117 ((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)>*/;
7118 /* <var_new_child:nullable ANode(ANode)> isa AType */
7119 cltype10 = type_parser_nodes__AType.color;
7120 idtype11 = type_parser_nodes__AType.id;
7121 if(cltype10 >= var_new_child->type->table_size) {
7122 var9 = 0;
7123 } else {
7124 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7125 }
7126 if (!var9) {
7127 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7287);
7128 exit(1);
7129 }
7130 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_new_child; /* _n_type on <self:ANewExpr> */
7131 } else {
7132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7290);
7133 exit(1);
7134 }
7135 goto RET_LABEL;
7136 } else {
7137 }
7138 var12 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7139 if (var12 == NULL) {
7140 var13 = 0; /* <var_old_child:ANode> cannot be null */
7141 } else {
7142 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable TId>*/;
7143 }
7144 if (var13){
7145 var14 = NULL;
7146 if (var_new_child == NULL) {
7147 var15 = 0; /* is null */
7148 } else {
7149 var15 = 1; /* arg is null and recv is not */
7150 }
7151 if (var15){
7152 ((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)>*/;
7153 /* <var_new_child:nullable ANode(ANode)> isa TId */
7154 cltype17 = type_parser_nodes__TId.color;
7155 idtype18 = type_parser_nodes__TId.id;
7156 if(cltype17 >= var_new_child->type->table_size) {
7157 var16 = 0;
7158 } else {
7159 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7160 }
7161 if (!var16) {
7162 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7297);
7163 exit(1);
7164 }
7165 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_new_child; /* _n_id on <self:ANewExpr> */
7166 } else {
7167 var19 = NULL;
7168 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var19; /* _n_id on <self:ANewExpr> */
7169 }
7170 goto RET_LABEL;
7171 } else {
7172 }
7173 var20 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7174 if (var20 == NULL) {
7175 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7304);
7176 exit(1);
7177 }
7178 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:AExprs>*/;
7179 if (var21){
7180 var22 = NULL;
7181 if (var_new_child == NULL) {
7182 var23 = 0; /* is null */
7183 } else {
7184 var23 = 1; /* arg is null and recv is not */
7185 }
7186 if (var23){
7187 ((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)>*/;
7188 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
7189 cltype25 = type_parser_nodes__AExprs.color;
7190 idtype26 = type_parser_nodes__AExprs.id;
7191 if(cltype25 >= var_new_child->type->table_size) {
7192 var24 = 0;
7193 } else {
7194 var24 = var_new_child->type->type_table[cltype25] == idtype26;
7195 }
7196 if (!var24) {
7197 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7307);
7198 exit(1);
7199 }
7200 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_new_child; /* _n_args on <self:ANewExpr> */
7201 } else {
7202 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7310);
7203 exit(1);
7204 }
7205 goto RET_LABEL;
7206 } else {
7207 }
7208 RET_LABEL:;
7209 }
7210 /* method parser_prod#ANewExpr#replace_child for (self: Object, ANode, nullable ANode) */
7211 void VIRTUAL_parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7212 parser_prod__ANewExpr__replace_child(self, p0, p1);
7213 RET_LABEL:;
7214 }
7215 /* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */
7216 void parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7217 val* var_node /* var node: TKwnew */;
7218 var_node = p0;
7219 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on <self:ANewExpr> */
7220 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnew>*/;
7221 RET_LABEL:;
7222 }
7223 /* method parser_prod#ANewExpr#n_kwnew= for (self: Object, TKwnew) */
7224 void VIRTUAL_parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7225 parser_prod__ANewExpr__n_kwnew_61d(self, p0);
7226 RET_LABEL:;
7227 }
7228 /* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */
7229 void parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7230 val* var_node /* var node: AType */;
7231 var_node = p0;
7232 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on <self:ANewExpr> */
7233 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7234 RET_LABEL:;
7235 }
7236 /* method parser_prod#ANewExpr#n_type= for (self: Object, AType) */
7237 void VIRTUAL_parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7238 parser_prod__ANewExpr__n_type_61d(self, p0);
7239 RET_LABEL:;
7240 }
7241 /* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */
7242 void parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7243 val* var_node /* var node: nullable TId */;
7244 val* var /* : null */;
7245 short int var1 /* : Bool */;
7246 var_node = p0;
7247 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on <self:ANewExpr> */
7248 var = NULL;
7249 if (var_node == NULL) {
7250 var1 = 0; /* is null */
7251 } else {
7252 var1 = 1; /* arg is null and recv is not */
7253 }
7254 if (var1){
7255 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
7256 } else {
7257 }
7258 RET_LABEL:;
7259 }
7260 /* method parser_prod#ANewExpr#n_id= for (self: Object, nullable TId) */
7261 void VIRTUAL_parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7262 parser_prod__ANewExpr__n_id_61d(self, p0);
7263 RET_LABEL:;
7264 }
7265 /* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */
7266 void parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7267 val* var_node /* var node: AExprs */;
7268 var_node = p0;
7269 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on <self:ANewExpr> */
7270 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
7271 RET_LABEL:;
7272 }
7273 /* method parser_prod#ANewExpr#n_args= for (self: Object, AExprs) */
7274 void VIRTUAL_parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7275 parser_prod__ANewExpr__n_args_61d(self, p0);
7276 RET_LABEL:;
7277 }
7278 /* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */
7279 void parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7280 val* var_v /* var v: Visitor */;
7281 val* var /* : TKwnew */;
7282 val* var1 /* : AType */;
7283 val* var2 /* : nullable TId */;
7284 val* var3 /* : null */;
7285 short int var4 /* : Bool */;
7286 val* var5 /* : nullable TId */;
7287 val* var6 /* : AExprs */;
7288 var_v = p0;
7289 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7290 if (var == NULL) {
7291 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnew", "src/parser/parser_prod.nit", 7342);
7292 exit(1);
7293 }
7294 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7295 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7296 if (var1 == NULL) {
7297 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 7343);
7298 exit(1);
7299 }
7300 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7301 var2 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7302 var3 = NULL;
7303 if (var2 == NULL) {
7304 var4 = 0; /* is null */
7305 } else {
7306 var4 = 1; /* arg is null and recv is not */
7307 }
7308 if (var4){
7309 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7310 if (var5 == NULL) {
7311 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7345);
7312 exit(1);
7313 }
7314 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7315 } else {
7316 }
7317 var6 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7318 if (var6 == NULL) {
7319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7347);
7320 exit(1);
7321 }
7322 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
7323 RET_LABEL:;
7324 }
7325 /* method parser_prod#ANewExpr#visit_all for (self: Object, Visitor) */
7326 void VIRTUAL_parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7327 parser_prod__ANewExpr__visit_all(self, p0);
7328 RET_LABEL:;
7329 }
7330 /* method parser_prod#AAttrExpr#empty_init for (self: AAttrExpr) */
7331 void parser_prod__AAttrExpr__empty_init(val* self) {
7332 RET_LABEL:;
7333 }
7334 /* method parser_prod#AAttrExpr#empty_init for (self: Object) */
7335 void VIRTUAL_parser_prod__AAttrExpr__empty_init(val* self) {
7336 parser_prod__AAttrExpr__empty_init(self);
7337 RET_LABEL:;
7338 }
7339 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */
7340 void parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7341 val* var_n_expr /* var n_expr: nullable AExpr */;
7342 val* var_n_id /* var n_id: nullable TAttrid */;
7343 var_n_expr = p0;
7344 var_n_id = p1;
7345 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrExpr__empty_init]))(self) /* empty_init on <self:AAttrExpr>*/;
7346 if (var_n_expr == NULL) {
7347 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7359);
7348 exit(1);
7349 }
7350 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrExpr> */
7351 if (var_n_expr == NULL) {
7352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7360);
7353 exit(1);
7354 } else {
7355 ((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>*/;
7356 }
7357 if (var_n_id == NULL) {
7358 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7361);
7359 exit(1);
7360 }
7361 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrExpr> */
7362 if (var_n_id == NULL) {
7363 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7362);
7364 exit(1);
7365 } else {
7366 ((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>*/;
7367 }
7368 RET_LABEL:;
7369 }
7370 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: Object, nullable AExpr, nullable TAttrid) */
7371 void VIRTUAL_parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7372 parser_prod__AAttrExpr__init_aattrexpr(self, p0, p1);
7373 RET_LABEL:;
7374 }
7375 /* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */
7376 void parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7377 val* var_old_child /* var old_child: ANode */;
7378 val* var_new_child /* var new_child: nullable ANode */;
7379 val* var /* : AExpr */;
7380 short int var1 /* : Bool */;
7381 val* var2 /* : null */;
7382 short int var3 /* : Bool */;
7383 short int var4 /* : Bool */;
7384 int cltype;
7385 int idtype;
7386 val* var5 /* : TAttrid */;
7387 short int var6 /* : Bool */;
7388 val* var7 /* : null */;
7389 short int var8 /* : Bool */;
7390 short int var9 /* : Bool */;
7391 int cltype10;
7392 int idtype11;
7393 var_old_child = p0;
7394 var_new_child = p1;
7395 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7396 if (var == NULL) {
7397 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7367);
7398 exit(1);
7399 }
7400 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7401 if (var1){
7402 var2 = NULL;
7403 if (var_new_child == NULL) {
7404 var3 = 0; /* is null */
7405 } else {
7406 var3 = 1; /* arg is null and recv is not */
7407 }
7408 if (var3){
7409 ((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)>*/;
7410 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7411 cltype = type_parser_nodes__AExpr.color;
7412 idtype = type_parser_nodes__AExpr.id;
7413 if(cltype >= var_new_child->type->table_size) {
7414 var4 = 0;
7415 } else {
7416 var4 = var_new_child->type->type_table[cltype] == idtype;
7417 }
7418 if (!var4) {
7419 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7370);
7420 exit(1);
7421 }
7422 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrExpr> */
7423 } else {
7424 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7373);
7425 exit(1);
7426 }
7427 goto RET_LABEL;
7428 } else {
7429 }
7430 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7431 if (var5 == NULL) {
7432 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7377);
7433 exit(1);
7434 }
7435 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
7436 if (var6){
7437 var7 = NULL;
7438 if (var_new_child == NULL) {
7439 var8 = 0; /* is null */
7440 } else {
7441 var8 = 1; /* arg is null and recv is not */
7442 }
7443 if (var8){
7444 ((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)>*/;
7445 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7446 cltype10 = type_parser_nodes__TAttrid.color;
7447 idtype11 = type_parser_nodes__TAttrid.id;
7448 if(cltype10 >= var_new_child->type->table_size) {
7449 var9 = 0;
7450 } else {
7451 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7452 }
7453 if (!var9) {
7454 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7380);
7455 exit(1);
7456 }
7457 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrExpr> */
7458 } else {
7459 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7383);
7460 exit(1);
7461 }
7462 goto RET_LABEL;
7463 } else {
7464 }
7465 RET_LABEL:;
7466 }
7467 /* method parser_prod#AAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7468 void VIRTUAL_parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7469 parser_prod__AAttrExpr__replace_child(self, p0, p1);
7470 RET_LABEL:;
7471 }
7472 /* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */
7473 void parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7474 val* var_node /* var node: AExpr */;
7475 var_node = p0;
7476 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrExpr> */
7477 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7478 RET_LABEL:;
7479 }
7480 /* method parser_prod#AAttrExpr#n_expr= for (self: Object, AExpr) */
7481 void VIRTUAL_parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7482 parser_prod__AAttrExpr__n_expr_61d(self, p0);
7483 RET_LABEL:;
7484 }
7485 /* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */
7486 void parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7487 val* var_node /* var node: TAttrid */;
7488 var_node = p0;
7489 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrExpr> */
7490 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7491 RET_LABEL:;
7492 }
7493 /* method parser_prod#AAttrExpr#n_id= for (self: Object, TAttrid) */
7494 void VIRTUAL_parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7495 parser_prod__AAttrExpr__n_id_61d(self, p0);
7496 RET_LABEL:;
7497 }
7498 /* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */
7499 void parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7500 val* var_v /* var v: Visitor */;
7501 val* var /* : AExpr */;
7502 val* var1 /* : TAttrid */;
7503 var_v = p0;
7504 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7505 if (var == NULL) {
7506 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7403);
7507 exit(1);
7508 }
7509 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7510 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7511 if (var1 == NULL) {
7512 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7404);
7513 exit(1);
7514 }
7515 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7516 RET_LABEL:;
7517 }
7518 /* method parser_prod#AAttrExpr#visit_all for (self: Object, Visitor) */
7519 void VIRTUAL_parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7520 parser_prod__AAttrExpr__visit_all(self, p0);
7521 RET_LABEL:;
7522 }
7523 /* method parser_prod#AAttrAssignExpr#empty_init for (self: AAttrAssignExpr) */
7524 void parser_prod__AAttrAssignExpr__empty_init(val* self) {
7525 RET_LABEL:;
7526 }
7527 /* method parser_prod#AAttrAssignExpr#empty_init for (self: Object) */
7528 void VIRTUAL_parser_prod__AAttrAssignExpr__empty_init(val* self) {
7529 parser_prod__AAttrAssignExpr__empty_init(self);
7530 RET_LABEL:;
7531 }
7532 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7533 void parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7534 val* var_n_expr /* var n_expr: nullable AExpr */;
7535 val* var_n_id /* var n_id: nullable TAttrid */;
7536 val* var_n_assign /* var n_assign: nullable TAssign */;
7537 val* var_n_value /* var n_value: nullable AExpr */;
7538 var_n_expr = p0;
7539 var_n_id = p1;
7540 var_n_assign = p2;
7541 var_n_value = p3;
7542 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrAssignExpr__empty_init]))(self) /* empty_init on <self:AAttrAssignExpr>*/;
7543 if (var_n_expr == NULL) {
7544 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7418);
7545 exit(1);
7546 }
7547 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrAssignExpr> */
7548 if (var_n_expr == NULL) {
7549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7419);
7550 exit(1);
7551 } else {
7552 ((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>*/;
7553 }
7554 if (var_n_id == NULL) {
7555 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7420);
7556 exit(1);
7557 }
7558 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrAssignExpr> */
7559 if (var_n_id == NULL) {
7560 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7421);
7561 exit(1);
7562 } else {
7563 ((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>*/;
7564 }
7565 if (var_n_assign == NULL) {
7566 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7422);
7567 exit(1);
7568 }
7569 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AAttrAssignExpr> */
7570 if (var_n_assign == NULL) {
7571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7423);
7572 exit(1);
7573 } else {
7574 ((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>*/;
7575 }
7576 if (var_n_value == NULL) {
7577 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7424);
7578 exit(1);
7579 }
7580 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrAssignExpr> */
7581 if (var_n_value == NULL) {
7582 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7425);
7583 exit(1);
7584 } else {
7585 ((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>*/;
7586 }
7587 RET_LABEL:;
7588 }
7589 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7590 void VIRTUAL_parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7591 parser_prod__AAttrAssignExpr__init_aattrassignexpr(self, p0, p1, p2, p3);
7592 RET_LABEL:;
7593 }
7594 /* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */
7595 void parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
7596 val* var_old_child /* var old_child: ANode */;
7597 val* var_new_child /* var new_child: nullable ANode */;
7598 val* var /* : AExpr */;
7599 short int var1 /* : Bool */;
7600 val* var2 /* : null */;
7601 short int var3 /* : Bool */;
7602 short int var4 /* : Bool */;
7603 int cltype;
7604 int idtype;
7605 val* var5 /* : TAttrid */;
7606 short int var6 /* : Bool */;
7607 val* var7 /* : null */;
7608 short int var8 /* : Bool */;
7609 short int var9 /* : Bool */;
7610 int cltype10;
7611 int idtype11;
7612 val* var12 /* : TAssign */;
7613 short int var13 /* : Bool */;
7614 val* var14 /* : null */;
7615 short int var15 /* : Bool */;
7616 short int var16 /* : Bool */;
7617 int cltype17;
7618 int idtype18;
7619 val* var19 /* : AExpr */;
7620 short int var20 /* : Bool */;
7621 val* var21 /* : null */;
7622 short int var22 /* : Bool */;
7623 short int var23 /* : Bool */;
7624 int cltype24;
7625 int idtype25;
7626 var_old_child = p0;
7627 var_new_child = p1;
7628 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
7629 if (var == NULL) {
7630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7430);
7631 exit(1);
7632 }
7633 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7634 if (var1){
7635 var2 = NULL;
7636 if (var_new_child == NULL) {
7637 var3 = 0; /* is null */
7638 } else {
7639 var3 = 1; /* arg is null and recv is not */
7640 }
7641 if (var3){
7642 ((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)>*/;
7643 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7644 cltype = type_parser_nodes__AExpr.color;
7645 idtype = type_parser_nodes__AExpr.id;
7646 if(cltype >= var_new_child->type->table_size) {
7647 var4 = 0;
7648 } else {
7649 var4 = var_new_child->type->type_table[cltype] == idtype;
7650 }
7651 if (!var4) {
7652 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7433);
7653 exit(1);
7654 }
7655 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrAssignExpr> */
7656 } else {
7657 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7436);
7658 exit(1);
7659 }
7660 goto RET_LABEL;
7661 } else {
7662 }
7663 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
7664 if (var5 == NULL) {
7665 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7440);
7666 exit(1);
7667 }
7668 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
7669 if (var6){
7670 var7 = NULL;
7671 if (var_new_child == NULL) {
7672 var8 = 0; /* is null */
7673 } else {
7674 var8 = 1; /* arg is null and recv is not */
7675 }
7676 if (var8){
7677 ((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)>*/;
7678 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7679 cltype10 = type_parser_nodes__TAttrid.color;
7680 idtype11 = type_parser_nodes__TAttrid.id;
7681 if(cltype10 >= var_new_child->type->table_size) {
7682 var9 = 0;
7683 } else {
7684 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7685 }
7686 if (!var9) {
7687 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7443);
7688 exit(1);
7689 }
7690 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrAssignExpr> */
7691 } else {
7692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7446);
7693 exit(1);
7694 }
7695 goto RET_LABEL;
7696 } else {
7697 }
7698 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
7699 if (var12 == NULL) {
7700 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 7450);
7701 exit(1);
7702 }
7703 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
7704 if (var13){
7705 var14 = NULL;
7706 if (var_new_child == NULL) {
7707 var15 = 0; /* is null */
7708 } else {
7709 var15 = 1; /* arg is null and recv is not */
7710 }
7711 if (var15){
7712 ((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)>*/;
7713 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
7714 cltype17 = type_parser_nodes__TAssign.color;
7715 idtype18 = type_parser_nodes__TAssign.id;
7716 if(cltype17 >= var_new_child->type->table_size) {
7717 var16 = 0;
7718 } else {
7719 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7720 }
7721 if (!var16) {
7722 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7453);
7723 exit(1);
7724 }
7725 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AAttrAssignExpr> */
7726 } else {
7727 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7456);
7728 exit(1);
7729 }
7730 goto RET_LABEL;
7731 } else {
7732 }
7733 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
7734 if (var19 == NULL) {
7735 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7460);
7736 exit(1);
7737 }
7738 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
7739 if (var20){
7740 var21 = NULL;
7741 if (var_new_child == NULL) {
7742 var22 = 0; /* is null */
7743 } else {
7744 var22 = 1; /* arg is null and recv is not */
7745 }
7746 if (var22){
7747 ((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)>*/;
7748 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7749 cltype24 = type_parser_nodes__AExpr.color;
7750 idtype25 = type_parser_nodes__AExpr.id;
7751 if(cltype24 >= var_new_child->type->table_size) {
7752 var23 = 0;
7753 } else {
7754 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7755 }
7756 if (!var23) {
7757 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7463);
7758 exit(1);
7759 }
7760 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrAssignExpr> */
7761 } else {
7762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7466);
7763 exit(1);
7764 }
7765 goto RET_LABEL;
7766 } else {
7767 }
7768 RET_LABEL:;
7769 }
7770 /* method parser_prod#AAttrAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
7771 void VIRTUAL_parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
7772 parser_prod__AAttrAssignExpr__replace_child(self, p0, p1);
7773 RET_LABEL:;
7774 }
7775 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */
7776 void parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
7777 val* var_node /* var node: AExpr */;
7778 var_node = p0;
7779 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrAssignExpr> */
7780 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7781 RET_LABEL:;
7782 }
7783 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: Object, AExpr) */
7784 void VIRTUAL_parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
7785 parser_prod__AAttrAssignExpr__n_expr_61d(self, p0);
7786 RET_LABEL:;
7787 }
7788 /* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */
7789 void parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
7790 val* var_node /* var node: TAttrid */;
7791 var_node = p0;
7792 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrAssignExpr> */
7793 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7794 RET_LABEL:;
7795 }
7796 /* method parser_prod#AAttrAssignExpr#n_id= for (self: Object, TAttrid) */
7797 void VIRTUAL_parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
7798 parser_prod__AAttrAssignExpr__n_id_61d(self, p0);
7799 RET_LABEL:;
7800 }
7801 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */
7802 void parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
7803 val* var_node /* var node: TAssign */;
7804 var_node = p0;
7805 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AAttrAssignExpr> */
7806 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
7807 RET_LABEL:;
7808 }
7809 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: Object, TAssign) */
7810 void VIRTUAL_parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
7811 parser_prod__AAttrAssignExpr__n_assign_61d(self, p0);
7812 RET_LABEL:;
7813 }
7814 /* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */
7815 void parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
7816 val* var_node /* var node: AExpr */;
7817 var_node = p0;
7818 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrAssignExpr> */
7819 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7820 RET_LABEL:;
7821 }
7822 /* method parser_prod#AAttrAssignExpr#n_value= for (self: Object, AExpr) */
7823 void VIRTUAL_parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
7824 parser_prod__AAttrAssignExpr__n_value_61d(self, p0);
7825 RET_LABEL:;
7826 }
7827 /* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */
7828 void parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
7829 val* var_v /* var v: Visitor */;
7830 val* var /* : AExpr */;
7831 val* var1 /* : TAttrid */;
7832 val* var2 /* : TAssign */;
7833 val* var3 /* : AExpr */;
7834 var_v = p0;
7835 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
7836 if (var == NULL) {
7837 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7496);
7838 exit(1);
7839 }
7840 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7841 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
7842 if (var1 == NULL) {
7843 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7497);
7844 exit(1);
7845 }
7846 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7847 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
7848 if (var2 == NULL) {
7849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 7498);
7850 exit(1);
7851 }
7852 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7853 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
7854 if (var3 == NULL) {
7855 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7499);
7856 exit(1);
7857 }
7858 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7859 RET_LABEL:;
7860 }
7861 /* method parser_prod#AAttrAssignExpr#visit_all for (self: Object, Visitor) */
7862 void VIRTUAL_parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
7863 parser_prod__AAttrAssignExpr__visit_all(self, p0);
7864 RET_LABEL:;
7865 }
7866 /* method parser_prod#AAttrReassignExpr#empty_init for (self: AAttrReassignExpr) */
7867 void parser_prod__AAttrReassignExpr__empty_init(val* self) {
7868 RET_LABEL:;
7869 }
7870 /* method parser_prod#AAttrReassignExpr#empty_init for (self: Object) */
7871 void VIRTUAL_parser_prod__AAttrReassignExpr__empty_init(val* self) {
7872 parser_prod__AAttrReassignExpr__empty_init(self);
7873 RET_LABEL:;
7874 }
7875 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
7876 void parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7877 val* var_n_expr /* var n_expr: nullable AExpr */;
7878 val* var_n_id /* var n_id: nullable TAttrid */;
7879 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
7880 val* var_n_value /* var n_value: nullable AExpr */;
7881 var_n_expr = p0;
7882 var_n_id = p1;
7883 var_n_assign_op = p2;
7884 var_n_value = p3;
7885 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrReassignExpr__empty_init]))(self) /* empty_init on <self:AAttrReassignExpr>*/;
7886 if (var_n_expr == NULL) {
7887 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7513);
7888 exit(1);
7889 }
7890 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrReassignExpr> */
7891 if (var_n_expr == NULL) {
7892 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7514);
7893 exit(1);
7894 } else {
7895 ((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>*/;
7896 }
7897 if (var_n_id == NULL) {
7898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7515);
7899 exit(1);
7900 }
7901 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrReassignExpr> */
7902 if (var_n_id == NULL) {
7903 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7516);
7904 exit(1);
7905 } else {
7906 ((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>*/;
7907 }
7908 if (var_n_assign_op == NULL) {
7909 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7517);
7910 exit(1);
7911 }
7912 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AAttrReassignExpr> */
7913 if (var_n_assign_op == NULL) {
7914 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7518);
7915 exit(1);
7916 } else {
7917 ((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>*/;
7918 }
7919 if (var_n_value == NULL) {
7920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7519);
7921 exit(1);
7922 }
7923 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrReassignExpr> */
7924 if (var_n_value == NULL) {
7925 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7520);
7926 exit(1);
7927 } else {
7928 ((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>*/;
7929 }
7930 RET_LABEL:;
7931 }
7932 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
7933 void VIRTUAL_parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7934 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(self, p0, p1, p2, p3);
7935 RET_LABEL:;
7936 }
7937 /* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */
7938 void parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
7939 val* var_old_child /* var old_child: ANode */;
7940 val* var_new_child /* var new_child: nullable ANode */;
7941 val* var /* : AExpr */;
7942 short int var1 /* : Bool */;
7943 val* var2 /* : null */;
7944 short int var3 /* : Bool */;
7945 short int var4 /* : Bool */;
7946 int cltype;
7947 int idtype;
7948 val* var5 /* : TAttrid */;
7949 short int var6 /* : Bool */;
7950 val* var7 /* : null */;
7951 short int var8 /* : Bool */;
7952 short int var9 /* : Bool */;
7953 int cltype10;
7954 int idtype11;
7955 val* var12 /* : AAssignOp */;
7956 short int var13 /* : Bool */;
7957 val* var14 /* : null */;
7958 short int var15 /* : Bool */;
7959 short int var16 /* : Bool */;
7960 int cltype17;
7961 int idtype18;
7962 val* var19 /* : AExpr */;
7963 short int var20 /* : Bool */;
7964 val* var21 /* : null */;
7965 short int var22 /* : Bool */;
7966 short int var23 /* : Bool */;
7967 int cltype24;
7968 int idtype25;
7969 var_old_child = p0;
7970 var_new_child = p1;
7971 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
7972 if (var == NULL) {
7973 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7525);
7974 exit(1);
7975 }
7976 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7977 if (var1){
7978 var2 = NULL;
7979 if (var_new_child == NULL) {
7980 var3 = 0; /* is null */
7981 } else {
7982 var3 = 1; /* arg is null and recv is not */
7983 }
7984 if (var3){
7985 ((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)>*/;
7986 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7987 cltype = type_parser_nodes__AExpr.color;
7988 idtype = type_parser_nodes__AExpr.id;
7989 if(cltype >= var_new_child->type->table_size) {
7990 var4 = 0;
7991 } else {
7992 var4 = var_new_child->type->type_table[cltype] == idtype;
7993 }
7994 if (!var4) {
7995 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7528);
7996 exit(1);
7997 }
7998 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrReassignExpr> */
7999 } else {
8000 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7531);
8001 exit(1);
8002 }
8003 goto RET_LABEL;
8004 } else {
8005 }
8006 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8007 if (var5 == NULL) {
8008 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7535);
8009 exit(1);
8010 }
8011 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
8012 if (var6){
8013 var7 = NULL;
8014 if (var_new_child == NULL) {
8015 var8 = 0; /* is null */
8016 } else {
8017 var8 = 1; /* arg is null and recv is not */
8018 }
8019 if (var8){
8020 ((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)>*/;
8021 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
8022 cltype10 = type_parser_nodes__TAttrid.color;
8023 idtype11 = type_parser_nodes__TAttrid.id;
8024 if(cltype10 >= var_new_child->type->table_size) {
8025 var9 = 0;
8026 } else {
8027 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8028 }
8029 if (!var9) {
8030 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7538);
8031 exit(1);
8032 }
8033 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrReassignExpr> */
8034 } else {
8035 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7541);
8036 exit(1);
8037 }
8038 goto RET_LABEL;
8039 } else {
8040 }
8041 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8042 if (var12 == NULL) {
8043 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 7545);
8044 exit(1);
8045 }
8046 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
8047 if (var13){
8048 var14 = NULL;
8049 if (var_new_child == NULL) {
8050 var15 = 0; /* is null */
8051 } else {
8052 var15 = 1; /* arg is null and recv is not */
8053 }
8054 if (var15){
8055 ((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)>*/;
8056 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
8057 cltype17 = type_parser_nodes__AAssignOp.color;
8058 idtype18 = type_parser_nodes__AAssignOp.id;
8059 if(cltype17 >= var_new_child->type->table_size) {
8060 var16 = 0;
8061 } else {
8062 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8063 }
8064 if (!var16) {
8065 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7548);
8066 exit(1);
8067 }
8068 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AAttrReassignExpr> */
8069 } else {
8070 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7551);
8071 exit(1);
8072 }
8073 goto RET_LABEL;
8074 } else {
8075 }
8076 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8077 if (var19 == NULL) {
8078 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7555);
8079 exit(1);
8080 }
8081 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
8082 if (var20){
8083 var21 = NULL;
8084 if (var_new_child == NULL) {
8085 var22 = 0; /* is null */
8086 } else {
8087 var22 = 1; /* arg is null and recv is not */
8088 }
8089 if (var22){
8090 ((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)>*/;
8091 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8092 cltype24 = type_parser_nodes__AExpr.color;
8093 idtype25 = type_parser_nodes__AExpr.id;
8094 if(cltype24 >= var_new_child->type->table_size) {
8095 var23 = 0;
8096 } else {
8097 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8098 }
8099 if (!var23) {
8100 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7558);
8101 exit(1);
8102 }
8103 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrReassignExpr> */
8104 } else {
8105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7561);
8106 exit(1);
8107 }
8108 goto RET_LABEL;
8109 } else {
8110 }
8111 RET_LABEL:;
8112 }
8113 /* method parser_prod#AAttrReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8114 void VIRTUAL_parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
8115 parser_prod__AAttrReassignExpr__replace_child(self, p0, p1);
8116 RET_LABEL:;
8117 }
8118 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */
8119 void parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8120 val* var_node /* var node: AExpr */;
8121 var_node = p0;
8122 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrReassignExpr> */
8123 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8124 RET_LABEL:;
8125 }
8126 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: Object, AExpr) */
8127 void VIRTUAL_parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8128 parser_prod__AAttrReassignExpr__n_expr_61d(self, p0);
8129 RET_LABEL:;
8130 }
8131 /* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */
8132 void parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8133 val* var_node /* var node: TAttrid */;
8134 var_node = p0;
8135 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrReassignExpr> */
8136 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
8137 RET_LABEL:;
8138 }
8139 /* method parser_prod#AAttrReassignExpr#n_id= for (self: Object, TAttrid) */
8140 void VIRTUAL_parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8141 parser_prod__AAttrReassignExpr__n_id_61d(self, p0);
8142 RET_LABEL:;
8143 }
8144 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */
8145 void parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8146 val* var_node /* var node: AAssignOp */;
8147 var_node = p0;
8148 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AAttrReassignExpr> */
8149 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
8150 RET_LABEL:;
8151 }
8152 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
8153 void VIRTUAL_parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8154 parser_prod__AAttrReassignExpr__n_assign_op_61d(self, p0);
8155 RET_LABEL:;
8156 }
8157 /* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */
8158 void parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8159 val* var_node /* var node: AExpr */;
8160 var_node = p0;
8161 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrReassignExpr> */
8162 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8163 RET_LABEL:;
8164 }
8165 /* method parser_prod#AAttrReassignExpr#n_value= for (self: Object, AExpr) */
8166 void VIRTUAL_parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8167 parser_prod__AAttrReassignExpr__n_value_61d(self, p0);
8168 RET_LABEL:;
8169 }
8170 /* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */
8171 void parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8172 val* var_v /* var v: Visitor */;
8173 val* var /* : AExpr */;
8174 val* var1 /* : TAttrid */;
8175 val* var2 /* : AAssignOp */;
8176 val* var3 /* : AExpr */;
8177 var_v = p0;
8178 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
8179 if (var == NULL) {
8180 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7591);
8181 exit(1);
8182 }
8183 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8184 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8185 if (var1 == NULL) {
8186 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7592);
8187 exit(1);
8188 }
8189 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8190 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8191 if (var2 == NULL) {
8192 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 7593);
8193 exit(1);
8194 }
8195 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8196 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8197 if (var3 == NULL) {
8198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7594);
8199 exit(1);
8200 }
8201 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8202 RET_LABEL:;
8203 }
8204 /* method parser_prod#AAttrReassignExpr#visit_all for (self: Object, Visitor) */
8205 void VIRTUAL_parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8206 parser_prod__AAttrReassignExpr__visit_all(self, p0);
8207 RET_LABEL:;
8208 }
8209 /* method parser_prod#ACallExpr#empty_init for (self: ACallExpr) */
8210 void parser_prod__ACallExpr__empty_init(val* self) {
8211 RET_LABEL:;
8212 }
8213 /* method parser_prod#ACallExpr#empty_init for (self: Object) */
8214 void VIRTUAL_parser_prod__ACallExpr__empty_init(val* self) {
8215 parser_prod__ACallExpr__empty_init(self);
8216 RET_LABEL:;
8217 }
8218 /* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs, Collection[Object]) */
8219 void parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8220 val* var_n_expr /* var n_expr: nullable AExpr */;
8221 val* var_n_id /* var n_id: nullable TId */;
8222 val* var_n_args /* var n_args: nullable AExprs */;
8223 val* var_n_closure_defs /* var n_closure_defs: Collection[Object] */;
8224 val* var /* : Iterator[nullable Object] */;
8225 short int var1 /* : Bool */;
8226 val* var2 /* : nullable Object */;
8227 val* var_n /* var n: Object */;
8228 short int var3 /* : Bool */;
8229 int cltype;
8230 int idtype;
8231 val* var4 /* : ANodes[AClosureDef] */;
8232 var_n_expr = p0;
8233 var_n_id = p1;
8234 var_n_args = p2;
8235 var_n_closure_defs = p3;
8236 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallExpr__empty_init]))(self) /* empty_init on <self:ACallExpr>*/;
8237 if (var_n_expr == NULL) {
8238 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7608);
8239 exit(1);
8240 }
8241 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallExpr> */
8242 if (var_n_expr == NULL) {
8243 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7609);
8244 exit(1);
8245 } else {
8246 ((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>*/;
8247 }
8248 if (var_n_id == NULL) {
8249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7610);
8250 exit(1);
8251 }
8252 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallExpr> */
8253 if (var_n_id == NULL) {
8254 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7611);
8255 exit(1);
8256 } else {
8257 ((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>*/;
8258 }
8259 if (var_n_args == NULL) {
8260 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7612);
8261 exit(1);
8262 }
8263 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallExpr> */
8264 if (var_n_args == NULL) {
8265 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7613);
8266 exit(1);
8267 } else {
8268 ((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>*/;
8269 }
8270 var = ((val* (*)(val*))(var_n_closure_defs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_closure_defs) /* iterator on <var_n_closure_defs:Collection[Object]>*/;
8271 for(;;) {
8272 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8273 if(!var1) break;
8274 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8275 var_n = var2;
8276 /* <var_n:Object> isa AClosureDef */
8277 cltype = type_parser_nodes__AClosureDef.color;
8278 idtype = type_parser_nodes__AClosureDef.id;
8279 if(cltype >= var_n->type->table_size) {
8280 var3 = 0;
8281 } else {
8282 var3 = var_n->type->type_table[cltype] == idtype;
8283 }
8284 if (!var3) {
8285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7615);
8286 exit(1);
8287 }
8288 var4 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8289 if (var4 == NULL) {
8290 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7616);
8291 exit(1);
8292 }
8293 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AClosureDef]>*/;
8294 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AClosureDef)>*/;
8295 CONTINUE_label: (void)0;
8296 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8297 }
8298 BREAK_label: (void)0;
8299 RET_LABEL:;
8300 }
8301 /* method parser_prod#ACallExpr#init_acallexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, Collection[Object]) */
8302 void VIRTUAL_parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8303 parser_prod__ACallExpr__init_acallexpr(self, p0, p1, p2, p3);
8304 RET_LABEL:;
8305 }
8306 /* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */
8307 void parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8308 val* var_old_child /* var old_child: ANode */;
8309 val* var_new_child /* var new_child: nullable ANode */;
8310 val* var /* : AExpr */;
8311 short int var1 /* : Bool */;
8312 val* var2 /* : null */;
8313 short int var3 /* : Bool */;
8314 short int var4 /* : Bool */;
8315 int cltype;
8316 int idtype;
8317 val* var5 /* : TId */;
8318 short int var6 /* : Bool */;
8319 val* var7 /* : null */;
8320 short int var8 /* : Bool */;
8321 short int var9 /* : Bool */;
8322 int cltype10;
8323 int idtype11;
8324 val* var12 /* : AExprs */;
8325 short int var13 /* : Bool */;
8326 val* var14 /* : null */;
8327 short int var15 /* : Bool */;
8328 short int var16 /* : Bool */;
8329 int cltype17;
8330 int idtype18;
8331 val* var19 /* : Range[Int] */;
8332 long var20 /* : Int */;
8333 val* var21 /* : ANodes[AClosureDef] */;
8334 long var22 /* : Int */;
8335 val* var23 /* : Discrete */;
8336 val* var24 /* : Discrete */;
8337 val* var25 /* : Iterator[nullable Object] */;
8338 short int var26 /* : Bool */;
8339 val* var27 /* : nullable Object */;
8340 long var_i /* var i: Int */;
8341 long var28 /* : Int */;
8342 val* var29 /* : ANodes[AClosureDef] */;
8343 val* var30 /* : nullable Object */;
8344 short int var31 /* : Bool */;
8345 val* var32 /* : null */;
8346 short int var33 /* : Bool */;
8347 short int var34 /* : Bool */;
8348 int cltype35;
8349 int idtype36;
8350 val* var37 /* : ANodes[AClosureDef] */;
8351 val* var38 /* : ANodes[AClosureDef] */;
8352 var_old_child = p0;
8353 var_new_child = p1;
8354 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8355 if (var == NULL) {
8356 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7623);
8357 exit(1);
8358 }
8359 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8360 if (var1){
8361 var2 = NULL;
8362 if (var_new_child == NULL) {
8363 var3 = 0; /* is null */
8364 } else {
8365 var3 = 1; /* arg is null and recv is not */
8366 }
8367 if (var3){
8368 ((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)>*/;
8369 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8370 cltype = type_parser_nodes__AExpr.color;
8371 idtype = type_parser_nodes__AExpr.id;
8372 if(cltype >= var_new_child->type->table_size) {
8373 var4 = 0;
8374 } else {
8375 var4 = var_new_child->type->type_table[cltype] == idtype;
8376 }
8377 if (!var4) {
8378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7626);
8379 exit(1);
8380 }
8381 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallExpr> */
8382 } else {
8383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7629);
8384 exit(1);
8385 }
8386 goto RET_LABEL;
8387 } else {
8388 }
8389 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8390 if (var5 == NULL) {
8391 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7633);
8392 exit(1);
8393 }
8394 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
8395 if (var6){
8396 var7 = NULL;
8397 if (var_new_child == NULL) {
8398 var8 = 0; /* is null */
8399 } else {
8400 var8 = 1; /* arg is null and recv is not */
8401 }
8402 if (var8){
8403 ((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)>*/;
8404 /* <var_new_child:nullable ANode(ANode)> isa TId */
8405 cltype10 = type_parser_nodes__TId.color;
8406 idtype11 = type_parser_nodes__TId.id;
8407 if(cltype10 >= var_new_child->type->table_size) {
8408 var9 = 0;
8409 } else {
8410 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8411 }
8412 if (!var9) {
8413 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7636);
8414 exit(1);
8415 }
8416 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallExpr> */
8417 } else {
8418 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7639);
8419 exit(1);
8420 }
8421 goto RET_LABEL;
8422 } else {
8423 }
8424 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8425 if (var12 == NULL) {
8426 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7643);
8427 exit(1);
8428 }
8429 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
8430 if (var13){
8431 var14 = NULL;
8432 if (var_new_child == NULL) {
8433 var15 = 0; /* is null */
8434 } else {
8435 var15 = 1; /* arg is null and recv is not */
8436 }
8437 if (var15){
8438 ((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)>*/;
8439 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
8440 cltype17 = type_parser_nodes__AExprs.color;
8441 idtype18 = type_parser_nodes__AExprs.id;
8442 if(cltype17 >= var_new_child->type->table_size) {
8443 var16 = 0;
8444 } else {
8445 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8446 }
8447 if (!var16) {
8448 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7646);
8449 exit(1);
8450 }
8451 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallExpr> */
8452 } else {
8453 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7649);
8454 exit(1);
8455 }
8456 goto RET_LABEL;
8457 } else {
8458 }
8459 var19 = NEW_range__Range(&type_range__Rangekernel__Int);
8460 var20 = 0;
8461 var21 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8462 if (var21 == NULL) {
8463 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7653);
8464 exit(1);
8465 }
8466 var22 = ((long (*)(val*))(var21->class->vft[COLOR_abstract_collection__Collection__length]))(var21) /* length on <var21:ANodes[AClosureDef]>*/;
8467 var23 = BOX_kernel__Int(var20); /* autobox from Int to Discrete */
8468 var24 = BOX_kernel__Int(var22); /* autobox from Int to Discrete */
8469 ((void (*)(val*, val*, val*))(var19->class->vft[COLOR_range__Range__without_last]))(var19, var23, var24) /* without_last on <var19:Range[Int]>*/;
8470 CHECK_NEW_range__Range(var19);
8471 var25 = ((val* (*)(val*))(var19->class->vft[COLOR_abstract_collection__Collection__iterator]))(var19) /* iterator on <var19:Range[Int]>*/;
8472 for(;;) {
8473 var26 = ((short int (*)(val*))(var25->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var25) /* is_ok on <var25:Iterator[nullable Object]>*/;
8474 if(!var26) break;
8475 var27 = ((val* (*)(val*))(var25->class->vft[COLOR_abstract_collection__Iterator__item]))(var25) /* item on <var25:Iterator[nullable Object]>*/;
8476 var28 = ((struct instance_kernel__Int*)var27)->value; /* autounbox from nullable Object to Int */;
8477 var_i = var28;
8478 var29 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8479 if (var29 == NULL) {
8480 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7654);
8481 exit(1);
8482 }
8483 var30 = ((val* (*)(val*, long))(var29->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var29, var_i) /* [] on <var29:ANodes[AClosureDef]>*/;
8484 var31 = ((short int (*)(val*, val*))(var30->class->vft[COLOR_kernel__Object___61d_61d]))(var30, var_old_child) /* == on <var30:nullable Object(AClosureDef)>*/;
8485 if (var31){
8486 var32 = NULL;
8487 if (var_new_child == NULL) {
8488 var33 = 0; /* is null */
8489 } else {
8490 var33 = 1; /* arg is null and recv is not */
8491 }
8492 if (var33){
8493 /* <var_new_child:nullable ANode(ANode)> isa AClosureDef */
8494 cltype35 = type_parser_nodes__AClosureDef.color;
8495 idtype36 = type_parser_nodes__AClosureDef.id;
8496 if(cltype35 >= var_new_child->type->table_size) {
8497 var34 = 0;
8498 } else {
8499 var34 = var_new_child->type->type_table[cltype35] == idtype36;
8500 }
8501 if (!var34) {
8502 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7656);
8503 exit(1);
8504 }
8505 var37 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8506 if (var37 == NULL) {
8507 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7657);
8508 exit(1);
8509 }
8510 ((void (*)(val*, long, val*))(var37->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var37, var_i, var_new_child) /* []= on <var37:ANodes[AClosureDef]>*/;
8511 ((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(AClosureDef)>*/;
8512 } else {
8513 var38 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8514 if (var38 == NULL) {
8515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7660);
8516 exit(1);
8517 }
8518 ((void (*)(val*, long))(var38->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var38, var_i) /* remove_at on <var38:ANodes[AClosureDef]>*/;
8519 }
8520 goto RET_LABEL;
8521 } else {
8522 }
8523 CONTINUE_label: (void)0;
8524 ((void (*)(val*))(var25->class->vft[COLOR_abstract_collection__Iterator__next]))(var25) /* next on <var25:Iterator[nullable Object]>*/;
8525 }
8526 BREAK_label: (void)0;
8527 RET_LABEL:;
8528 }
8529 /* method parser_prod#ACallExpr#replace_child for (self: Object, ANode, nullable ANode) */
8530 void VIRTUAL_parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8531 parser_prod__ACallExpr__replace_child(self, p0, p1);
8532 RET_LABEL:;
8533 }
8534 /* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */
8535 void parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8536 val* var_node /* var node: AExpr */;
8537 var_node = p0;
8538 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallExpr> */
8539 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8540 RET_LABEL:;
8541 }
8542 /* method parser_prod#ACallExpr#n_expr= for (self: Object, AExpr) */
8543 void VIRTUAL_parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8544 parser_prod__ACallExpr__n_expr_61d(self, p0);
8545 RET_LABEL:;
8546 }
8547 /* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */
8548 void parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8549 val* var_node /* var node: TId */;
8550 var_node = p0;
8551 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallExpr> */
8552 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
8553 RET_LABEL:;
8554 }
8555 /* method parser_prod#ACallExpr#n_id= for (self: Object, TId) */
8556 void VIRTUAL_parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8557 parser_prod__ACallExpr__n_id_61d(self, p0);
8558 RET_LABEL:;
8559 }
8560 /* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */
8561 void parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8562 val* var_node /* var node: AExprs */;
8563 var_node = p0;
8564 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallExpr> */
8565 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
8566 RET_LABEL:;
8567 }
8568 /* method parser_prod#ACallExpr#n_args= for (self: Object, AExprs) */
8569 void VIRTUAL_parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8570 parser_prod__ACallExpr__n_args_61d(self, p0);
8571 RET_LABEL:;
8572 }
8573 /* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */
8574 void parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8575 val* var_v /* var v: Visitor */;
8576 val* var /* : AExpr */;
8577 val* var1 /* : TId */;
8578 val* var2 /* : AExprs */;
8579 val* var3 /* : ANodes[AClosureDef] */;
8580 val* var4 /* : Iterator[nullable Object] */;
8581 short int var5 /* : Bool */;
8582 val* var6 /* : nullable Object */;
8583 val* var_n /* var n: AClosureDef */;
8584 var_v = p0;
8585 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8586 if (var == NULL) {
8587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7686);
8588 exit(1);
8589 }
8590 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8591 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8592 if (var1 == NULL) {
8593 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7687);
8594 exit(1);
8595 }
8596 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8597 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8598 if (var2 == NULL) {
8599 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7688);
8600 exit(1);
8601 }
8602 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8603 var3 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ACallExpr> */
8604 if (var3 == NULL) {
8605 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 7689);
8606 exit(1);
8607 }
8608 var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on <var3:ANodes[AClosureDef]>*/;
8609 for(;;) {
8610 var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
8611 if(!var5) break;
8612 var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
8613 var_n = var6;
8614 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8615 CONTINUE_label: (void)0;
8616 ((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
8617 }
8618 BREAK_label: (void)0;
8619 RET_LABEL:;
8620 }
8621 /* method parser_prod#ACallExpr#visit_all for (self: Object, Visitor) */
8622 void VIRTUAL_parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8623 parser_prod__ACallExpr__visit_all(self, p0);
8624 RET_LABEL:;
8625 }
8626 /* method parser_prod#ACallAssignExpr#empty_init for (self: ACallAssignExpr) */
8627 void parser_prod__ACallAssignExpr__empty_init(val* self) {
8628 RET_LABEL:;
8629 }
8630 /* method parser_prod#ACallAssignExpr#empty_init for (self: Object) */
8631 void VIRTUAL_parser_prod__ACallAssignExpr__empty_init(val* self) {
8632 parser_prod__ACallAssignExpr__empty_init(self);
8633 RET_LABEL:;
8634 }
8635 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8636 void parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8637 val* var_n_expr /* var n_expr: nullable AExpr */;
8638 val* var_n_id /* var n_id: nullable TId */;
8639 val* var_n_args /* var n_args: nullable AExprs */;
8640 val* var_n_assign /* var n_assign: nullable TAssign */;
8641 val* var_n_value /* var n_value: nullable AExpr */;
8642 var_n_expr = p0;
8643 var_n_id = p1;
8644 var_n_args = p2;
8645 var_n_assign = p3;
8646 var_n_value = p4;
8647 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallAssignExpr__empty_init]))(self) /* empty_init on <self:ACallAssignExpr>*/;
8648 if (var_n_expr == NULL) {
8649 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7706);
8650 exit(1);
8651 }
8652 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallAssignExpr> */
8653 if (var_n_expr == NULL) {
8654 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7707);
8655 exit(1);
8656 } else {
8657 ((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>*/;
8658 }
8659 if (var_n_id == NULL) {
8660 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7708);
8661 exit(1);
8662 }
8663 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallAssignExpr> */
8664 if (var_n_id == NULL) {
8665 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7709);
8666 exit(1);
8667 } else {
8668 ((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>*/;
8669 }
8670 if (var_n_args == NULL) {
8671 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7710);
8672 exit(1);
8673 }
8674 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallAssignExpr> */
8675 if (var_n_args == NULL) {
8676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7711);
8677 exit(1);
8678 } else {
8679 ((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>*/;
8680 }
8681 if (var_n_assign == NULL) {
8682 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7712);
8683 exit(1);
8684 }
8685 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ACallAssignExpr> */
8686 if (var_n_assign == NULL) {
8687 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7713);
8688 exit(1);
8689 } else {
8690 ((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>*/;
8691 }
8692 if (var_n_value == NULL) {
8693 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7714);
8694 exit(1);
8695 }
8696 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallAssignExpr> */
8697 if (var_n_value == NULL) {
8698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7715);
8699 exit(1);
8700 } else {
8701 ((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>*/;
8702 }
8703 RET_LABEL:;
8704 }
8705 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8706 void VIRTUAL_parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8707 parser_prod__ACallAssignExpr__init_acallassignexpr(self, p0, p1, p2, p3, p4);
8708 RET_LABEL:;
8709 }
8710 /* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */
8711 void parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
8712 val* var_old_child /* var old_child: ANode */;
8713 val* var_new_child /* var new_child: nullable ANode */;
8714 val* var /* : AExpr */;
8715 short int var1 /* : Bool */;
8716 val* var2 /* : null */;
8717 short int var3 /* : Bool */;
8718 short int var4 /* : Bool */;
8719 int cltype;
8720 int idtype;
8721 val* var5 /* : TId */;
8722 short int var6 /* : Bool */;
8723 val* var7 /* : null */;
8724 short int var8 /* : Bool */;
8725 short int var9 /* : Bool */;
8726 int cltype10;
8727 int idtype11;
8728 val* var12 /* : AExprs */;
8729 short int var13 /* : Bool */;
8730 val* var14 /* : null */;
8731 short int var15 /* : Bool */;
8732 short int var16 /* : Bool */;
8733 int cltype17;
8734 int idtype18;
8735 val* var19 /* : TAssign */;
8736 short int var20 /* : Bool */;
8737 val* var21 /* : null */;
8738 short int var22 /* : Bool */;
8739 short int var23 /* : Bool */;
8740 int cltype24;
8741 int idtype25;
8742 val* var26 /* : AExpr */;
8743 short int var27 /* : Bool */;
8744 val* var28 /* : null */;
8745 short int var29 /* : Bool */;
8746 short int var30 /* : Bool */;
8747 int cltype31;
8748 int idtype32;
8749 var_old_child = p0;
8750 var_new_child = p1;
8751 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
8752 if (var == NULL) {
8753 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7720);
8754 exit(1);
8755 }
8756 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8757 if (var1){
8758 var2 = NULL;
8759 if (var_new_child == NULL) {
8760 var3 = 0; /* is null */
8761 } else {
8762 var3 = 1; /* arg is null and recv is not */
8763 }
8764 if (var3){
8765 ((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)>*/;
8766 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8767 cltype = type_parser_nodes__AExpr.color;
8768 idtype = type_parser_nodes__AExpr.id;
8769 if(cltype >= var_new_child->type->table_size) {
8770 var4 = 0;
8771 } else {
8772 var4 = var_new_child->type->type_table[cltype] == idtype;
8773 }
8774 if (!var4) {
8775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7723);
8776 exit(1);
8777 }
8778 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallAssignExpr> */
8779 } else {
8780 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7726);
8781 exit(1);
8782 }
8783 goto RET_LABEL;
8784 } else {
8785 }
8786 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
8787 if (var5 == NULL) {
8788 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7730);
8789 exit(1);
8790 }
8791 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
8792 if (var6){
8793 var7 = NULL;
8794 if (var_new_child == NULL) {
8795 var8 = 0; /* is null */
8796 } else {
8797 var8 = 1; /* arg is null and recv is not */
8798 }
8799 if (var8){
8800 ((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)>*/;
8801 /* <var_new_child:nullable ANode(ANode)> isa TId */
8802 cltype10 = type_parser_nodes__TId.color;
8803 idtype11 = type_parser_nodes__TId.id;
8804 if(cltype10 >= var_new_child->type->table_size) {
8805 var9 = 0;
8806 } else {
8807 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8808 }
8809 if (!var9) {
8810 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7733);
8811 exit(1);
8812 }
8813 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallAssignExpr> */
8814 } else {
8815 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7736);
8816 exit(1);
8817 }
8818 goto RET_LABEL;
8819 } else {
8820 }
8821 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
8822 if (var12 == NULL) {
8823 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7740);
8824 exit(1);
8825 }
8826 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
8827 if (var13){
8828 var14 = NULL;
8829 if (var_new_child == NULL) {
8830 var15 = 0; /* is null */
8831 } else {
8832 var15 = 1; /* arg is null and recv is not */
8833 }
8834 if (var15){
8835 ((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)>*/;
8836 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
8837 cltype17 = type_parser_nodes__AExprs.color;
8838 idtype18 = type_parser_nodes__AExprs.id;
8839 if(cltype17 >= var_new_child->type->table_size) {
8840 var16 = 0;
8841 } else {
8842 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8843 }
8844 if (!var16) {
8845 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7743);
8846 exit(1);
8847 }
8848 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallAssignExpr> */
8849 } else {
8850 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7746);
8851 exit(1);
8852 }
8853 goto RET_LABEL;
8854 } else {
8855 }
8856 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
8857 if (var19 == NULL) {
8858 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 7750);
8859 exit(1);
8860 }
8861 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TAssign>*/;
8862 if (var20){
8863 var21 = NULL;
8864 if (var_new_child == NULL) {
8865 var22 = 0; /* is null */
8866 } else {
8867 var22 = 1; /* arg is null and recv is not */
8868 }
8869 if (var22){
8870 ((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)>*/;
8871 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
8872 cltype24 = type_parser_nodes__TAssign.color;
8873 idtype25 = type_parser_nodes__TAssign.id;
8874 if(cltype24 >= var_new_child->type->table_size) {
8875 var23 = 0;
8876 } else {
8877 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8878 }
8879 if (!var23) {
8880 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7753);
8881 exit(1);
8882 }
8883 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ACallAssignExpr> */
8884 } else {
8885 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7756);
8886 exit(1);
8887 }
8888 goto RET_LABEL;
8889 } else {
8890 }
8891 var26 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
8892 if (var26 == NULL) {
8893 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7760);
8894 exit(1);
8895 }
8896 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
8897 if (var27){
8898 var28 = NULL;
8899 if (var_new_child == NULL) {
8900 var29 = 0; /* is null */
8901 } else {
8902 var29 = 1; /* arg is null and recv is not */
8903 }
8904 if (var29){
8905 ((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)>*/;
8906 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8907 cltype31 = type_parser_nodes__AExpr.color;
8908 idtype32 = type_parser_nodes__AExpr.id;
8909 if(cltype31 >= var_new_child->type->table_size) {
8910 var30 = 0;
8911 } else {
8912 var30 = var_new_child->type->type_table[cltype31] == idtype32;
8913 }
8914 if (!var30) {
8915 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7763);
8916 exit(1);
8917 }
8918 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallAssignExpr> */
8919 } else {
8920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7766);
8921 exit(1);
8922 }
8923 goto RET_LABEL;
8924 } else {
8925 }
8926 RET_LABEL:;
8927 }
8928 /* method parser_prod#ACallAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8929 void VIRTUAL_parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
8930 parser_prod__ACallAssignExpr__replace_child(self, p0, p1);
8931 RET_LABEL:;
8932 }
8933 /* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */
8934 void parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
8935 val* var_node /* var node: AExpr */;
8936 var_node = p0;
8937 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallAssignExpr> */
8938 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8939 RET_LABEL:;
8940 }
8941 /* method parser_prod#ACallAssignExpr#n_expr= for (self: Object, AExpr) */
8942 void VIRTUAL_parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
8943 parser_prod__ACallAssignExpr__n_expr_61d(self, p0);
8944 RET_LABEL:;
8945 }
8946 /* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */
8947 void parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
8948 val* var_node /* var node: TId */;
8949 var_node = p0;
8950 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallAssignExpr> */
8951 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
8952 RET_LABEL:;
8953 }
8954 /* method parser_prod#ACallAssignExpr#n_id= for (self: Object, TId) */
8955 void VIRTUAL_parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
8956 parser_prod__ACallAssignExpr__n_id_61d(self, p0);
8957 RET_LABEL:;
8958 }
8959 /* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */
8960 void parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
8961 val* var_node /* var node: AExprs */;
8962 var_node = p0;
8963 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallAssignExpr> */
8964 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
8965 RET_LABEL:;
8966 }
8967 /* method parser_prod#ACallAssignExpr#n_args= for (self: Object, AExprs) */
8968 void VIRTUAL_parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
8969 parser_prod__ACallAssignExpr__n_args_61d(self, p0);
8970 RET_LABEL:;
8971 }
8972 /* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */
8973 void parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
8974 val* var_node /* var node: TAssign */;
8975 var_node = p0;
8976 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ACallAssignExpr> */
8977 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
8978 RET_LABEL:;
8979 }
8980 /* method parser_prod#ACallAssignExpr#n_assign= for (self: Object, TAssign) */
8981 void VIRTUAL_parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
8982 parser_prod__ACallAssignExpr__n_assign_61d(self, p0);
8983 RET_LABEL:;
8984 }
8985 /* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */
8986 void parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
8987 val* var_node /* var node: AExpr */;
8988 var_node = p0;
8989 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallAssignExpr> */
8990 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8991 RET_LABEL:;
8992 }
8993 /* method parser_prod#ACallAssignExpr#n_value= for (self: Object, AExpr) */
8994 void VIRTUAL_parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
8995 parser_prod__ACallAssignExpr__n_value_61d(self, p0);
8996 RET_LABEL:;
8997 }
8998 /* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */
8999 void parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9000 val* var_v /* var v: Visitor */;
9001 val* var /* : AExpr */;
9002 val* var1 /* : TId */;
9003 val* var2 /* : AExprs */;
9004 val* var3 /* : TAssign */;
9005 val* var4 /* : AExpr */;
9006 var_v = p0;
9007 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
9008 if (var == NULL) {
9009 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7801);
9010 exit(1);
9011 }
9012 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9013 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
9014 if (var1 == NULL) {
9015 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7802);
9016 exit(1);
9017 }
9018 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9019 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
9020 if (var2 == NULL) {
9021 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7803);
9022 exit(1);
9023 }
9024 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9025 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
9026 if (var3 == NULL) {
9027 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 7804);
9028 exit(1);
9029 }
9030 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9031 var4 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
9032 if (var4 == NULL) {
9033 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7805);
9034 exit(1);
9035 }
9036 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9037 RET_LABEL:;
9038 }
9039 /* method parser_prod#ACallAssignExpr#visit_all for (self: Object, Visitor) */
9040 void VIRTUAL_parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9041 parser_prod__ACallAssignExpr__visit_all(self, p0);
9042 RET_LABEL:;
9043 }
9044 /* method parser_prod#ACallReassignExpr#empty_init for (self: ACallReassignExpr) */
9045 void parser_prod__ACallReassignExpr__empty_init(val* self) {
9046 RET_LABEL:;
9047 }
9048 /* method parser_prod#ACallReassignExpr#empty_init for (self: Object) */
9049 void VIRTUAL_parser_prod__ACallReassignExpr__empty_init(val* self) {
9050 parser_prod__ACallReassignExpr__empty_init(self);
9051 RET_LABEL:;
9052 }
9053 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9054 void parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9055 val* var_n_expr /* var n_expr: nullable AExpr */;
9056 val* var_n_id /* var n_id: nullable TId */;
9057 val* var_n_args /* var n_args: nullable AExprs */;
9058 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
9059 val* var_n_value /* var n_value: nullable AExpr */;
9060 var_n_expr = p0;
9061 var_n_id = p1;
9062 var_n_args = p2;
9063 var_n_assign_op = p3;
9064 var_n_value = p4;
9065 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallReassignExpr__empty_init]))(self) /* empty_init on <self:ACallReassignExpr>*/;
9066 if (var_n_expr == NULL) {
9067 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7820);
9068 exit(1);
9069 }
9070 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallReassignExpr> */
9071 if (var_n_expr == NULL) {
9072 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7821);
9073 exit(1);
9074 } else {
9075 ((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>*/;
9076 }
9077 if (var_n_id == NULL) {
9078 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7822);
9079 exit(1);
9080 }
9081 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallReassignExpr> */
9082 if (var_n_id == NULL) {
9083 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7823);
9084 exit(1);
9085 } else {
9086 ((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>*/;
9087 }
9088 if (var_n_args == NULL) {
9089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7824);
9090 exit(1);
9091 }
9092 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallReassignExpr> */
9093 if (var_n_args == NULL) {
9094 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7825);
9095 exit(1);
9096 } else {
9097 ((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>*/;
9098 }
9099 if (var_n_assign_op == NULL) {
9100 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7826);
9101 exit(1);
9102 }
9103 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ACallReassignExpr> */
9104 if (var_n_assign_op == NULL) {
9105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7827);
9106 exit(1);
9107 } else {
9108 ((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>*/;
9109 }
9110 if (var_n_value == NULL) {
9111 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7828);
9112 exit(1);
9113 }
9114 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallReassignExpr> */
9115 if (var_n_value == NULL) {
9116 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7829);
9117 exit(1);
9118 } else {
9119 ((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>*/;
9120 }
9121 RET_LABEL:;
9122 }
9123 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9124 void VIRTUAL_parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9125 parser_prod__ACallReassignExpr__init_acallreassignexpr(self, p0, p1, p2, p3, p4);
9126 RET_LABEL:;
9127 }
9128 /* method parser_prod#ACallReassignExpr#replace_child for (self: ACallReassignExpr, ANode, nullable ANode) */
9129 void parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9130 val* var_old_child /* var old_child: ANode */;
9131 val* var_new_child /* var new_child: nullable ANode */;
9132 val* var /* : AExpr */;
9133 short int var1 /* : Bool */;
9134 val* var2 /* : null */;
9135 short int var3 /* : Bool */;
9136 short int var4 /* : Bool */;
9137 int cltype;
9138 int idtype;
9139 val* var5 /* : TId */;
9140 short int var6 /* : Bool */;
9141 val* var7 /* : null */;
9142 short int var8 /* : Bool */;
9143 short int var9 /* : Bool */;
9144 int cltype10;
9145 int idtype11;
9146 val* var12 /* : AExprs */;
9147 short int var13 /* : Bool */;
9148 val* var14 /* : null */;
9149 short int var15 /* : Bool */;
9150 short int var16 /* : Bool */;
9151 int cltype17;
9152 int idtype18;
9153 val* var19 /* : AAssignOp */;
9154 short int var20 /* : Bool */;
9155 val* var21 /* : null */;
9156 short int var22 /* : Bool */;
9157 short int var23 /* : Bool */;
9158 int cltype24;
9159 int idtype25;
9160 val* var26 /* : AExpr */;
9161 short int var27 /* : Bool */;
9162 val* var28 /* : null */;
9163 short int var29 /* : Bool */;
9164 short int var30 /* : Bool */;
9165 int cltype31;
9166 int idtype32;
9167 var_old_child = p0;
9168 var_new_child = p1;
9169 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9170 if (var == NULL) {
9171 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7834);
9172 exit(1);
9173 }
9174 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9175 if (var1){
9176 var2 = NULL;
9177 if (var_new_child == NULL) {
9178 var3 = 0; /* is null */
9179 } else {
9180 var3 = 1; /* arg is null and recv is not */
9181 }
9182 if (var3){
9183 ((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)>*/;
9184 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9185 cltype = type_parser_nodes__AExpr.color;
9186 idtype = type_parser_nodes__AExpr.id;
9187 if(cltype >= var_new_child->type->table_size) {
9188 var4 = 0;
9189 } else {
9190 var4 = var_new_child->type->type_table[cltype] == idtype;
9191 }
9192 if (!var4) {
9193 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7837);
9194 exit(1);
9195 }
9196 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallReassignExpr> */
9197 } else {
9198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7840);
9199 exit(1);
9200 }
9201 goto RET_LABEL;
9202 } else {
9203 }
9204 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9205 if (var5 == NULL) {
9206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7844);
9207 exit(1);
9208 }
9209 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
9210 if (var6){
9211 var7 = NULL;
9212 if (var_new_child == NULL) {
9213 var8 = 0; /* is null */
9214 } else {
9215 var8 = 1; /* arg is null and recv is not */
9216 }
9217 if (var8){
9218 ((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)>*/;
9219 /* <var_new_child:nullable ANode(ANode)> isa TId */
9220 cltype10 = type_parser_nodes__TId.color;
9221 idtype11 = type_parser_nodes__TId.id;
9222 if(cltype10 >= var_new_child->type->table_size) {
9223 var9 = 0;
9224 } else {
9225 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9226 }
9227 if (!var9) {
9228 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7847);
9229 exit(1);
9230 }
9231 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallReassignExpr> */
9232 } else {
9233 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7850);
9234 exit(1);
9235 }
9236 goto RET_LABEL;
9237 } else {
9238 }
9239 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9240 if (var12 == NULL) {
9241 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7854);
9242 exit(1);
9243 }
9244 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9245 if (var13){
9246 var14 = NULL;
9247 if (var_new_child == NULL) {
9248 var15 = 0; /* is null */
9249 } else {
9250 var15 = 1; /* arg is null and recv is not */
9251 }
9252 if (var15){
9253 ((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)>*/;
9254 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9255 cltype17 = type_parser_nodes__AExprs.color;
9256 idtype18 = type_parser_nodes__AExprs.id;
9257 if(cltype17 >= var_new_child->type->table_size) {
9258 var16 = 0;
9259 } else {
9260 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9261 }
9262 if (!var16) {
9263 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7857);
9264 exit(1);
9265 }
9266 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallReassignExpr> */
9267 } else {
9268 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7860);
9269 exit(1);
9270 }
9271 goto RET_LABEL;
9272 } else {
9273 }
9274 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9275 if (var19 == NULL) {
9276 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 7864);
9277 exit(1);
9278 }
9279 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AAssignOp>*/;
9280 if (var20){
9281 var21 = NULL;
9282 if (var_new_child == NULL) {
9283 var22 = 0; /* is null */
9284 } else {
9285 var22 = 1; /* arg is null and recv is not */
9286 }
9287 if (var22){
9288 ((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)>*/;
9289 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
9290 cltype24 = type_parser_nodes__AAssignOp.color;
9291 idtype25 = type_parser_nodes__AAssignOp.id;
9292 if(cltype24 >= var_new_child->type->table_size) {
9293 var23 = 0;
9294 } else {
9295 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9296 }
9297 if (!var23) {
9298 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7867);
9299 exit(1);
9300 }
9301 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ACallReassignExpr> */
9302 } else {
9303 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7870);
9304 exit(1);
9305 }
9306 goto RET_LABEL;
9307 } else {
9308 }
9309 var26 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9310 if (var26 == NULL) {
9311 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7874);
9312 exit(1);
9313 }
9314 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
9315 if (var27){
9316 var28 = NULL;
9317 if (var_new_child == NULL) {
9318 var29 = 0; /* is null */
9319 } else {
9320 var29 = 1; /* arg is null and recv is not */
9321 }
9322 if (var29){
9323 ((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)>*/;
9324 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9325 cltype31 = type_parser_nodes__AExpr.color;
9326 idtype32 = type_parser_nodes__AExpr.id;
9327 if(cltype31 >= var_new_child->type->table_size) {
9328 var30 = 0;
9329 } else {
9330 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9331 }
9332 if (!var30) {
9333 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7877);
9334 exit(1);
9335 }
9336 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallReassignExpr> */
9337 } else {
9338 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7880);
9339 exit(1);
9340 }
9341 goto RET_LABEL;
9342 } else {
9343 }
9344 RET_LABEL:;
9345 }
9346 /* method parser_prod#ACallReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
9347 void VIRTUAL_parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9348 parser_prod__ACallReassignExpr__replace_child(self, p0, p1);
9349 RET_LABEL:;
9350 }
9351 /* method parser_prod#ACallReassignExpr#n_expr= for (self: ACallReassignExpr, AExpr) */
9352 void parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9353 val* var_node /* var node: AExpr */;
9354 var_node = p0;
9355 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallReassignExpr> */
9356 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9357 RET_LABEL:;
9358 }
9359 /* method parser_prod#ACallReassignExpr#n_expr= for (self: Object, AExpr) */
9360 void VIRTUAL_parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9361 parser_prod__ACallReassignExpr__n_expr_61d(self, p0);
9362 RET_LABEL:;
9363 }
9364 /* method parser_prod#ACallReassignExpr#n_id= for (self: ACallReassignExpr, TId) */
9365 void parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9366 val* var_node /* var node: TId */;
9367 var_node = p0;
9368 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallReassignExpr> */
9369 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9370 RET_LABEL:;
9371 }
9372 /* method parser_prod#ACallReassignExpr#n_id= for (self: Object, TId) */
9373 void VIRTUAL_parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9374 parser_prod__ACallReassignExpr__n_id_61d(self, p0);
9375 RET_LABEL:;
9376 }
9377 /* method parser_prod#ACallReassignExpr#n_args= for (self: ACallReassignExpr, AExprs) */
9378 void parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9379 val* var_node /* var node: AExprs */;
9380 var_node = p0;
9381 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallReassignExpr> */
9382 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9383 RET_LABEL:;
9384 }
9385 /* method parser_prod#ACallReassignExpr#n_args= for (self: Object, AExprs) */
9386 void VIRTUAL_parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9387 parser_prod__ACallReassignExpr__n_args_61d(self, p0);
9388 RET_LABEL:;
9389 }
9390 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: ACallReassignExpr, AAssignOp) */
9391 void parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9392 val* var_node /* var node: AAssignOp */;
9393 var_node = p0;
9394 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ACallReassignExpr> */
9395 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
9396 RET_LABEL:;
9397 }
9398 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
9399 void VIRTUAL_parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9400 parser_prod__ACallReassignExpr__n_assign_op_61d(self, p0);
9401 RET_LABEL:;
9402 }
9403 /* method parser_prod#ACallReassignExpr#n_value= for (self: ACallReassignExpr, AExpr) */
9404 void parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9405 val* var_node /* var node: AExpr */;
9406 var_node = p0;
9407 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallReassignExpr> */
9408 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9409 RET_LABEL:;
9410 }
9411 /* method parser_prod#ACallReassignExpr#n_value= for (self: Object, AExpr) */
9412 void VIRTUAL_parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9413 parser_prod__ACallReassignExpr__n_value_61d(self, p0);
9414 RET_LABEL:;
9415 }
9416 /* method parser_prod#ACallReassignExpr#visit_all for (self: ACallReassignExpr, Visitor) */
9417 void parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9418 val* var_v /* var v: Visitor */;
9419 val* var /* : AExpr */;
9420 val* var1 /* : TId */;
9421 val* var2 /* : AExprs */;
9422 val* var3 /* : AAssignOp */;
9423 val* var4 /* : AExpr */;
9424 var_v = p0;
9425 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9426 if (var == NULL) {
9427 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 7915);
9428 exit(1);
9429 }
9430 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9431 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9432 if (var1 == NULL) {
9433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 7916);
9434 exit(1);
9435 }
9436 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9437 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9438 if (var2 == NULL) {
9439 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7917);
9440 exit(1);
9441 }
9442 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9443 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9444 if (var3 == NULL) {
9445 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 7918);
9446 exit(1);
9447 }
9448 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9449 var4 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9450 if (var4 == NULL) {
9451 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 7919);
9452 exit(1);
9453 }
9454 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9455 RET_LABEL:;
9456 }
9457 /* method parser_prod#ACallReassignExpr#visit_all for (self: Object, Visitor) */
9458 void VIRTUAL_parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9459 parser_prod__ACallReassignExpr__visit_all(self, p0);
9460 RET_LABEL:;
9461 }
9462 /* method parser_prod#ASuperExpr#empty_init for (self: ASuperExpr) */
9463 void parser_prod__ASuperExpr__empty_init(val* self) {
9464 RET_LABEL:;
9465 }
9466 /* method parser_prod#ASuperExpr#empty_init for (self: Object) */
9467 void VIRTUAL_parser_prod__ASuperExpr__empty_init(val* self) {
9468 parser_prod__ASuperExpr__empty_init(self);
9469 RET_LABEL:;
9470 }
9471 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: ASuperExpr, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9472 void parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9473 val* var_n_qualified /* var n_qualified: nullable AQualified */;
9474 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
9475 val* var_n_args /* var n_args: nullable AExprs */;
9476 val* var /* : null */;
9477 short int var1 /* : Bool */;
9478 var_n_qualified = p0;
9479 var_n_kwsuper = p1;
9480 var_n_args = p2;
9481 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperExpr__empty_init]))(self) /* empty_init on <self:ASuperExpr>*/;
9482 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_n_qualified; /* _n_qualified on <self:ASuperExpr> */
9483 var = NULL;
9484 if (var_n_qualified == NULL) {
9485 var1 = 0; /* is null */
9486 } else {
9487 var1 = 1; /* arg is null and recv is not */
9488 }
9489 if (var1){
9490 ((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)>*/;
9491 } else {
9492 }
9493 if (var_n_kwsuper == NULL) {
9494 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7936);
9495 exit(1);
9496 }
9497 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExpr> */
9498 if (var_n_kwsuper == NULL) {
9499 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7937);
9500 exit(1);
9501 } else {
9502 ((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>*/;
9503 }
9504 if (var_n_args == NULL) {
9505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7938);
9506 exit(1);
9507 }
9508 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_n_args; /* _n_args on <self:ASuperExpr> */
9509 if (var_n_args == NULL) {
9510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 7939);
9511 exit(1);
9512 } else {
9513 ((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>*/;
9514 }
9515 RET_LABEL:;
9516 }
9517 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: Object, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9518 void VIRTUAL_parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9519 parser_prod__ASuperExpr__init_asuperexpr(self, p0, p1, p2);
9520 RET_LABEL:;
9521 }
9522 /* method parser_prod#ASuperExpr#replace_child for (self: ASuperExpr, ANode, nullable ANode) */
9523 void parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9524 val* var_old_child /* var old_child: ANode */;
9525 val* var_new_child /* var new_child: nullable ANode */;
9526 val* var /* : nullable AQualified */;
9527 short int var1 /* : Bool */;
9528 val* var2 /* : null */;
9529 short int var3 /* : Bool */;
9530 short int var4 /* : Bool */;
9531 int cltype;
9532 int idtype;
9533 val* var5 /* : null */;
9534 val* var6 /* : TKwsuper */;
9535 short int var7 /* : Bool */;
9536 val* var8 /* : null */;
9537 short int var9 /* : Bool */;
9538 short int var10 /* : Bool */;
9539 int cltype11;
9540 int idtype12;
9541 val* var13 /* : AExprs */;
9542 short int var14 /* : Bool */;
9543 val* var15 /* : null */;
9544 short int var16 /* : Bool */;
9545 short int var17 /* : Bool */;
9546 int cltype18;
9547 int idtype19;
9548 var_old_child = p0;
9549 var_new_child = p1;
9550 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
9551 if (var == NULL) {
9552 var1 = 0; /* <var_old_child:ANode> cannot be null */
9553 } else {
9554 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AQualified>*/;
9555 }
9556 if (var1){
9557 var2 = NULL;
9558 if (var_new_child == NULL) {
9559 var3 = 0; /* is null */
9560 } else {
9561 var3 = 1; /* arg is null and recv is not */
9562 }
9563 if (var3){
9564 ((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)>*/;
9565 /* <var_new_child:nullable ANode(ANode)> isa AQualified */
9566 cltype = type_parser_nodes__AQualified.color;
9567 idtype = type_parser_nodes__AQualified.id;
9568 if(cltype >= var_new_child->type->table_size) {
9569 var4 = 0;
9570 } else {
9571 var4 = var_new_child->type->type_table[cltype] == idtype;
9572 }
9573 if (!var4) {
9574 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7947);
9575 exit(1);
9576 }
9577 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_new_child; /* _n_qualified on <self:ASuperExpr> */
9578 } else {
9579 var5 = NULL;
9580 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var5; /* _n_qualified on <self:ASuperExpr> */
9581 }
9582 goto RET_LABEL;
9583 } else {
9584 }
9585 var6 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
9586 if (var6 == NULL) {
9587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 7954);
9588 exit(1);
9589 }
9590 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwsuper>*/;
9591 if (var7){
9592 var8 = NULL;
9593 if (var_new_child == NULL) {
9594 var9 = 0; /* is null */
9595 } else {
9596 var9 = 1; /* arg is null and recv is not */
9597 }
9598 if (var9){
9599 ((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)>*/;
9600 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
9601 cltype11 = type_parser_nodes__TKwsuper.color;
9602 idtype12 = type_parser_nodes__TKwsuper.id;
9603 if(cltype11 >= var_new_child->type->table_size) {
9604 var10 = 0;
9605 } else {
9606 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9607 }
9608 if (!var10) {
9609 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7957);
9610 exit(1);
9611 }
9612 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperExpr> */
9613 } else {
9614 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7960);
9615 exit(1);
9616 }
9617 goto RET_LABEL;
9618 } else {
9619 }
9620 var13 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
9621 if (var13 == NULL) {
9622 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 7964);
9623 exit(1);
9624 }
9625 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExprs>*/;
9626 if (var14){
9627 var15 = NULL;
9628 if (var_new_child == NULL) {
9629 var16 = 0; /* is null */
9630 } else {
9631 var16 = 1; /* arg is null and recv is not */
9632 }
9633 if (var16){
9634 ((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)>*/;
9635 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9636 cltype18 = type_parser_nodes__AExprs.color;
9637 idtype19 = type_parser_nodes__AExprs.id;
9638 if(cltype18 >= var_new_child->type->table_size) {
9639 var17 = 0;
9640 } else {
9641 var17 = var_new_child->type->type_table[cltype18] == idtype19;
9642 }
9643 if (!var17) {
9644 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 7967);
9645 exit(1);
9646 }
9647 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_new_child; /* _n_args on <self:ASuperExpr> */
9648 } else {
9649 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 7970);
9650 exit(1);
9651 }
9652 goto RET_LABEL;
9653 } else {
9654 }
9655 RET_LABEL:;
9656 }
9657 /* method parser_prod#ASuperExpr#replace_child for (self: Object, ANode, nullable ANode) */
9658 void VIRTUAL_parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9659 parser_prod__ASuperExpr__replace_child(self, p0, p1);
9660 RET_LABEL:;
9661 }
9662 /* method parser_prod#ASuperExpr#n_qualified= for (self: ASuperExpr, nullable AQualified) */
9663 void parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
9664 val* var_node /* var node: nullable AQualified */;
9665 val* var /* : null */;
9666 short int var1 /* : Bool */;
9667 var_node = p0;
9668 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_node; /* _n_qualified on <self:ASuperExpr> */
9669 var = NULL;
9670 if (var_node == NULL) {
9671 var1 = 0; /* is null */
9672 } else {
9673 var1 = 1; /* arg is null and recv is not */
9674 }
9675 if (var1){
9676 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AQualified(AQualified)>*/;
9677 } else {
9678 }
9679 RET_LABEL:;
9680 }
9681 /* method parser_prod#ASuperExpr#n_qualified= for (self: Object, nullable AQualified) */
9682 void VIRTUAL_parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
9683 parser_prod__ASuperExpr__n_qualified_61d(self, p0);
9684 RET_LABEL:;
9685 }
9686 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: ASuperExpr, TKwsuper) */
9687 void parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
9688 val* var_node /* var node: TKwsuper */;
9689 var_node = p0;
9690 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperExpr> */
9691 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
9692 RET_LABEL:;
9693 }
9694 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: Object, TKwsuper) */
9695 void VIRTUAL_parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
9696 parser_prod__ASuperExpr__n_kwsuper_61d(self, p0);
9697 RET_LABEL:;
9698 }
9699 /* method parser_prod#ASuperExpr#n_args= for (self: ASuperExpr, AExprs) */
9700 void parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
9701 val* var_node /* var node: AExprs */;
9702 var_node = p0;
9703 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_node; /* _n_args on <self:ASuperExpr> */
9704 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9705 RET_LABEL:;
9706 }
9707 /* method parser_prod#ASuperExpr#n_args= for (self: Object, AExprs) */
9708 void VIRTUAL_parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
9709 parser_prod__ASuperExpr__n_args_61d(self, p0);
9710 RET_LABEL:;
9711 }
9712 /* method parser_prod#ASuperExpr#visit_all for (self: ASuperExpr, Visitor) */
9713 void parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
9714 val* var_v /* var v: Visitor */;
9715 val* var /* : nullable AQualified */;
9716 val* var1 /* : null */;
9717 short int var2 /* : Bool */;
9718 val* var3 /* : nullable AQualified */;
9719 val* var4 /* : TKwsuper */;
9720 val* var5 /* : AExprs */;
9721 var_v = p0;
9722 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
9723 var1 = NULL;
9724 if (var == NULL) {
9725 var2 = 0; /* is null */
9726 } else {
9727 var2 = 1; /* arg is null and recv is not */
9728 }
9729 if (var2){
9730 var3 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
9731 if (var3 == NULL) {
9732 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 7998);
9733 exit(1);
9734 }
9735 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9736 } else {
9737 }
9738 var4 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
9739 if (var4 == NULL) {
9740 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 8000);
9741 exit(1);
9742 }
9743 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9744 var5 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
9745 if (var5 == NULL) {
9746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8001);
9747 exit(1);
9748 }
9749 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
9750 RET_LABEL:;
9751 }
9752 /* method parser_prod#ASuperExpr#visit_all for (self: Object, Visitor) */
9753 void VIRTUAL_parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
9754 parser_prod__ASuperExpr__visit_all(self, p0);
9755 RET_LABEL:;
9756 }
9757 /* method parser_prod#AInitExpr#empty_init for (self: AInitExpr) */
9758 void parser_prod__AInitExpr__empty_init(val* self) {
9759 RET_LABEL:;
9760 }
9761 /* method parser_prod#AInitExpr#empty_init for (self: Object) */
9762 void VIRTUAL_parser_prod__AInitExpr__empty_init(val* self) {
9763 parser_prod__AInitExpr__empty_init(self);
9764 RET_LABEL:;
9765 }
9766 /* method parser_prod#AInitExpr#init_ainitexpr for (self: AInitExpr, nullable AExpr, nullable TKwinit, nullable AExprs) */
9767 void parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
9768 val* var_n_expr /* var n_expr: nullable AExpr */;
9769 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
9770 val* var_n_args /* var n_args: nullable AExprs */;
9771 var_n_expr = p0;
9772 var_n_kwinit = p1;
9773 var_n_args = p2;
9774 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInitExpr__empty_init]))(self) /* empty_init on <self:AInitExpr>*/;
9775 if (var_n_expr == NULL) {
9776 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8014);
9777 exit(1);
9778 }
9779 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AInitExpr> */
9780 if (var_n_expr == NULL) {
9781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8015);
9782 exit(1);
9783 } else {
9784 ((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>*/;
9785 }
9786 if (var_n_kwinit == NULL) {
9787 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8016);
9788 exit(1);
9789 }
9790 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AInitExpr> */
9791 if (var_n_kwinit == NULL) {
9792 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8017);
9793 exit(1);
9794 } else {
9795 ((void (*)(val*, val*))(var_n_kwinit->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwinit, self) /* parent= on <var_n_kwinit:nullable TKwinit>*/;
9796 }
9797 if (var_n_args == NULL) {
9798 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8018);
9799 exit(1);
9800 }
9801 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_n_args; /* _n_args on <self:AInitExpr> */
9802 if (var_n_args == NULL) {
9803 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8019);
9804 exit(1);
9805 } else {
9806 ((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>*/;
9807 }
9808 RET_LABEL:;
9809 }
9810 /* method parser_prod#AInitExpr#init_ainitexpr for (self: Object, nullable AExpr, nullable TKwinit, nullable AExprs) */
9811 void VIRTUAL_parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
9812 parser_prod__AInitExpr__init_ainitexpr(self, p0, p1, p2);
9813 RET_LABEL:;
9814 }
9815 /* method parser_prod#AInitExpr#replace_child for (self: AInitExpr, ANode, nullable ANode) */
9816 void parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
9817 val* var_old_child /* var old_child: ANode */;
9818 val* var_new_child /* var new_child: nullable ANode */;
9819 val* var /* : AExpr */;
9820 short int var1 /* : Bool */;
9821 val* var2 /* : null */;
9822 short int var3 /* : Bool */;
9823 short int var4 /* : Bool */;
9824 int cltype;
9825 int idtype;
9826 val* var5 /* : TKwinit */;
9827 short int var6 /* : Bool */;
9828 val* var7 /* : null */;
9829 short int var8 /* : Bool */;
9830 short int var9 /* : Bool */;
9831 int cltype10;
9832 int idtype11;
9833 val* var12 /* : AExprs */;
9834 short int var13 /* : Bool */;
9835 val* var14 /* : null */;
9836 short int var15 /* : Bool */;
9837 short int var16 /* : Bool */;
9838 int cltype17;
9839 int idtype18;
9840 var_old_child = p0;
9841 var_new_child = p1;
9842 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
9843 if (var == NULL) {
9844 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8024);
9845 exit(1);
9846 }
9847 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9848 if (var1){
9849 var2 = NULL;
9850 if (var_new_child == NULL) {
9851 var3 = 0; /* is null */
9852 } else {
9853 var3 = 1; /* arg is null and recv is not */
9854 }
9855 if (var3){
9856 ((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)>*/;
9857 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9858 cltype = type_parser_nodes__AExpr.color;
9859 idtype = type_parser_nodes__AExpr.id;
9860 if(cltype >= var_new_child->type->table_size) {
9861 var4 = 0;
9862 } else {
9863 var4 = var_new_child->type->type_table[cltype] == idtype;
9864 }
9865 if (!var4) {
9866 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8027);
9867 exit(1);
9868 }
9869 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AInitExpr> */
9870 } else {
9871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8030);
9872 exit(1);
9873 }
9874 goto RET_LABEL;
9875 } else {
9876 }
9877 var5 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
9878 if (var5 == NULL) {
9879 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinit", "src/parser/parser_prod.nit", 8034);
9880 exit(1);
9881 }
9882 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwinit>*/;
9883 if (var6){
9884 var7 = NULL;
9885 if (var_new_child == NULL) {
9886 var8 = 0; /* is null */
9887 } else {
9888 var8 = 1; /* arg is null and recv is not */
9889 }
9890 if (var8){
9891 ((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)>*/;
9892 /* <var_new_child:nullable ANode(ANode)> isa TKwinit */
9893 cltype10 = type_parser_nodes__TKwinit.color;
9894 idtype11 = type_parser_nodes__TKwinit.id;
9895 if(cltype10 >= var_new_child->type->table_size) {
9896 var9 = 0;
9897 } else {
9898 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9899 }
9900 if (!var9) {
9901 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8037);
9902 exit(1);
9903 }
9904 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_new_child; /* _n_kwinit on <self:AInitExpr> */
9905 } else {
9906 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8040);
9907 exit(1);
9908 }
9909 goto RET_LABEL;
9910 } else {
9911 }
9912 var12 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
9913 if (var12 == NULL) {
9914 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8044);
9915 exit(1);
9916 }
9917 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9918 if (var13){
9919 var14 = NULL;
9920 if (var_new_child == NULL) {
9921 var15 = 0; /* is null */
9922 } else {
9923 var15 = 1; /* arg is null and recv is not */
9924 }
9925 if (var15){
9926 ((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)>*/;
9927 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9928 cltype17 = type_parser_nodes__AExprs.color;
9929 idtype18 = type_parser_nodes__AExprs.id;
9930 if(cltype17 >= var_new_child->type->table_size) {
9931 var16 = 0;
9932 } else {
9933 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9934 }
9935 if (!var16) {
9936 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8047);
9937 exit(1);
9938 }
9939 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_new_child; /* _n_args on <self:AInitExpr> */
9940 } else {
9941 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8050);
9942 exit(1);
9943 }
9944 goto RET_LABEL;
9945 } else {
9946 }
9947 RET_LABEL:;
9948 }
9949 /* method parser_prod#AInitExpr#replace_child for (self: Object, ANode, nullable ANode) */
9950 void VIRTUAL_parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
9951 parser_prod__AInitExpr__replace_child(self, p0, p1);
9952 RET_LABEL:;
9953 }
9954 /* method parser_prod#AInitExpr#n_expr= for (self: AInitExpr, AExpr) */
9955 void parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
9956 val* var_node /* var node: AExpr */;
9957 var_node = p0;
9958 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AInitExpr> */
9959 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9960 RET_LABEL:;
9961 }
9962 /* method parser_prod#AInitExpr#n_expr= for (self: Object, AExpr) */
9963 void VIRTUAL_parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
9964 parser_prod__AInitExpr__n_expr_61d(self, p0);
9965 RET_LABEL:;
9966 }
9967 /* method parser_prod#AInitExpr#n_kwinit= for (self: AInitExpr, TKwinit) */
9968 void parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
9969 val* var_node /* var node: TKwinit */;
9970 var_node = p0;
9971 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_node; /* _n_kwinit on <self:AInitExpr> */
9972 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinit>*/;
9973 RET_LABEL:;
9974 }
9975 /* method parser_prod#AInitExpr#n_kwinit= for (self: Object, TKwinit) */
9976 void VIRTUAL_parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
9977 parser_prod__AInitExpr__n_kwinit_61d(self, p0);
9978 RET_LABEL:;
9979 }
9980 /* method parser_prod#AInitExpr#n_args= for (self: AInitExpr, AExprs) */
9981 void parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
9982 val* var_node /* var node: AExprs */;
9983 var_node = p0;
9984 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_node; /* _n_args on <self:AInitExpr> */
9985 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9986 RET_LABEL:;
9987 }
9988 /* method parser_prod#AInitExpr#n_args= for (self: Object, AExprs) */
9989 void VIRTUAL_parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
9990 parser_prod__AInitExpr__n_args_61d(self, p0);
9991 RET_LABEL:;
9992 }