c_src: update with new intern methods
[nit.git] / c_src / parser_prod.sep.4.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: ASuperExpr, TKwsuper) */
3 void parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
4 val* var_node /* var node: TKwsuper */;
5 var_node = p0;
6 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperExpr> */
7 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
8 RET_LABEL:;
9 }
10 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: Object, TKwsuper) */
11 void VIRTUAL_parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
12 parser_prod__ASuperExpr__n_kwsuper_61d(self, p0);
13 RET_LABEL:;
14 }
15 /* method parser_prod#ASuperExpr#n_args= for (self: ASuperExpr, AExprs) */
16 void parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
17 val* var_node /* var node: AExprs */;
18 var_node = p0;
19 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_node; /* _n_args on <self:ASuperExpr> */
20 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
21 RET_LABEL:;
22 }
23 /* method parser_prod#ASuperExpr#n_args= for (self: Object, AExprs) */
24 void VIRTUAL_parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
25 parser_prod__ASuperExpr__n_args_61d(self, p0);
26 RET_LABEL:;
27 }
28 /* method parser_prod#ASuperExpr#visit_all for (self: ASuperExpr, Visitor) */
29 void parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
30 val* var_v /* var v: Visitor */;
31 val* var /* : nullable AQualified */;
32 val* var1 /* : null */;
33 short int var2 /* : Bool */;
34 val* var3 /* : nullable AQualified */;
35 val* var4 /* : TKwsuper */;
36 val* var5 /* : AExprs */;
37 var_v = p0;
38 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
39 var1 = NULL;
40 if (var == NULL) {
41 var2 = 0; /* is null */
42 } else {
43 var2 = 1; /* arg is null and recv is not */
44 }
45 if (var2){
46 var3 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
47 if (var3 == NULL) {
48 fprintf(stderr, "Runtime error: %s", "Cast failed");
49 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7773);
50 show_backtrace(1);
51 }
52 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
53 } else {
54 }
55 var4 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
56 if (var4 == NULL) {
57 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
58 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7775);
59 show_backtrace(1);
60 }
61 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
62 var5 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
63 if (var5 == NULL) {
64 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
65 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7776);
66 show_backtrace(1);
67 }
68 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
69 RET_LABEL:;
70 }
71 /* method parser_prod#ASuperExpr#visit_all for (self: Object, Visitor) */
72 void VIRTUAL_parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
73 parser_prod__ASuperExpr__visit_all(self, p0);
74 RET_LABEL:;
75 }
76 /* method parser_prod#AInitExpr#empty_init for (self: AInitExpr) */
77 void parser_prod__AInitExpr__empty_init(val* self) {
78 RET_LABEL:;
79 }
80 /* method parser_prod#AInitExpr#empty_init for (self: Object) */
81 void VIRTUAL_parser_prod__AInitExpr__empty_init(val* self) {
82 parser_prod__AInitExpr__empty_init(self);
83 RET_LABEL:;
84 }
85 /* method parser_prod#AInitExpr#init_ainitexpr for (self: AInitExpr, nullable AExpr, nullable TKwinit, nullable AExprs) */
86 void parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
87 val* var_n_expr /* var n_expr: nullable AExpr */;
88 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
89 val* var_n_args /* var n_args: nullable AExprs */;
90 var_n_expr = p0;
91 var_n_kwinit = p1;
92 var_n_args = p2;
93 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInitExpr__empty_init]))(self) /* empty_init on <self:AInitExpr>*/;
94 if (var_n_expr == NULL) {
95 fprintf(stderr, "Runtime error: %s", "Cast failed");
96 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7789);
97 show_backtrace(1);
98 }
99 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AInitExpr> */
100 if (var_n_expr == NULL) {
101 fprintf(stderr, "Runtime error: %s", "Receiver is null");
102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7790);
103 show_backtrace(1);
104 } else {
105 ((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>*/;
106 }
107 if (var_n_kwinit == NULL) {
108 fprintf(stderr, "Runtime error: %s", "Cast failed");
109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7791);
110 show_backtrace(1);
111 }
112 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AInitExpr> */
113 if (var_n_kwinit == NULL) {
114 fprintf(stderr, "Runtime error: %s", "Receiver is null");
115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7792);
116 show_backtrace(1);
117 } else {
118 ((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>*/;
119 }
120 if (var_n_args == NULL) {
121 fprintf(stderr, "Runtime error: %s", "Cast failed");
122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7793);
123 show_backtrace(1);
124 }
125 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_n_args; /* _n_args on <self:AInitExpr> */
126 if (var_n_args == NULL) {
127 fprintf(stderr, "Runtime error: %s", "Receiver is null");
128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7794);
129 show_backtrace(1);
130 } else {
131 ((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>*/;
132 }
133 RET_LABEL:;
134 }
135 /* method parser_prod#AInitExpr#init_ainitexpr for (self: Object, nullable AExpr, nullable TKwinit, nullable AExprs) */
136 void VIRTUAL_parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
137 parser_prod__AInitExpr__init_ainitexpr(self, p0, p1, p2);
138 RET_LABEL:;
139 }
140 /* method parser_prod#AInitExpr#replace_child for (self: AInitExpr, ANode, nullable ANode) */
141 void parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
142 val* var_old_child /* var old_child: ANode */;
143 val* var_new_child /* var new_child: nullable ANode */;
144 val* var /* : AExpr */;
145 short int var1 /* : Bool */;
146 val* var2 /* : null */;
147 short int var3 /* : Bool */;
148 short int var4 /* : Bool */;
149 int cltype;
150 int idtype;
151 val* var5 /* : TKwinit */;
152 short int var6 /* : Bool */;
153 val* var7 /* : null */;
154 short int var8 /* : Bool */;
155 short int var9 /* : Bool */;
156 int cltype10;
157 int idtype11;
158 val* var12 /* : AExprs */;
159 short int var13 /* : Bool */;
160 val* var14 /* : null */;
161 short int var15 /* : Bool */;
162 short int var16 /* : Bool */;
163 int cltype17;
164 int idtype18;
165 var_old_child = p0;
166 var_new_child = p1;
167 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
168 if (var == NULL) {
169 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7799);
171 show_backtrace(1);
172 }
173 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
174 if (var1){
175 var2 = NULL;
176 if (var_new_child == NULL) {
177 var3 = 0; /* is null */
178 } else {
179 var3 = 1; /* arg is null and recv is not */
180 }
181 if (var3){
182 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
183 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
184 cltype = type_parser_nodes__AExpr.color;
185 idtype = type_parser_nodes__AExpr.id;
186 if(cltype >= var_new_child->type->table_size) {
187 var4 = 0;
188 } else {
189 var4 = var_new_child->type->type_table[cltype] == idtype;
190 }
191 if (!var4) {
192 fprintf(stderr, "Runtime error: %s", "Assert failed");
193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7802);
194 show_backtrace(1);
195 }
196 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AInitExpr> */
197 } else {
198 fprintf(stderr, "Runtime error: %s", "Aborted");
199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7805);
200 show_backtrace(1);
201 }
202 goto RET_LABEL;
203 } else {
204 }
205 var5 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
206 if (var5 == NULL) {
207 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit");
208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7809);
209 show_backtrace(1);
210 }
211 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwinit>*/;
212 if (var6){
213 var7 = NULL;
214 if (var_new_child == NULL) {
215 var8 = 0; /* is null */
216 } else {
217 var8 = 1; /* arg is null and recv is not */
218 }
219 if (var8){
220 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
221 /* <var_new_child:nullable ANode(ANode)> isa TKwinit */
222 cltype10 = type_parser_nodes__TKwinit.color;
223 idtype11 = type_parser_nodes__TKwinit.id;
224 if(cltype10 >= var_new_child->type->table_size) {
225 var9 = 0;
226 } else {
227 var9 = var_new_child->type->type_table[cltype10] == idtype11;
228 }
229 if (!var9) {
230 fprintf(stderr, "Runtime error: %s", "Assert failed");
231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7812);
232 show_backtrace(1);
233 }
234 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_new_child; /* _n_kwinit on <self:AInitExpr> */
235 } else {
236 fprintf(stderr, "Runtime error: %s", "Aborted");
237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7815);
238 show_backtrace(1);
239 }
240 goto RET_LABEL;
241 } else {
242 }
243 var12 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
244 if (var12 == NULL) {
245 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7819);
247 show_backtrace(1);
248 }
249 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
250 if (var13){
251 var14 = NULL;
252 if (var_new_child == NULL) {
253 var15 = 0; /* is null */
254 } else {
255 var15 = 1; /* arg is null and recv is not */
256 }
257 if (var15){
258 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
259 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
260 cltype17 = type_parser_nodes__AExprs.color;
261 idtype18 = type_parser_nodes__AExprs.id;
262 if(cltype17 >= var_new_child->type->table_size) {
263 var16 = 0;
264 } else {
265 var16 = var_new_child->type->type_table[cltype17] == idtype18;
266 }
267 if (!var16) {
268 fprintf(stderr, "Runtime error: %s", "Assert failed");
269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7822);
270 show_backtrace(1);
271 }
272 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_new_child; /* _n_args on <self:AInitExpr> */
273 } else {
274 fprintf(stderr, "Runtime error: %s", "Aborted");
275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7825);
276 show_backtrace(1);
277 }
278 goto RET_LABEL;
279 } else {
280 }
281 RET_LABEL:;
282 }
283 /* method parser_prod#AInitExpr#replace_child for (self: Object, ANode, nullable ANode) */
284 void VIRTUAL_parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
285 parser_prod__AInitExpr__replace_child(self, p0, p1);
286 RET_LABEL:;
287 }
288 /* method parser_prod#AInitExpr#n_expr= for (self: AInitExpr, AExpr) */
289 void parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
290 val* var_node /* var node: AExpr */;
291 var_node = p0;
292 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AInitExpr> */
293 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
294 RET_LABEL:;
295 }
296 /* method parser_prod#AInitExpr#n_expr= for (self: Object, AExpr) */
297 void VIRTUAL_parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
298 parser_prod__AInitExpr__n_expr_61d(self, p0);
299 RET_LABEL:;
300 }
301 /* method parser_prod#AInitExpr#n_kwinit= for (self: AInitExpr, TKwinit) */
302 void parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
303 val* var_node /* var node: TKwinit */;
304 var_node = p0;
305 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_node; /* _n_kwinit on <self:AInitExpr> */
306 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinit>*/;
307 RET_LABEL:;
308 }
309 /* method parser_prod#AInitExpr#n_kwinit= for (self: Object, TKwinit) */
310 void VIRTUAL_parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
311 parser_prod__AInitExpr__n_kwinit_61d(self, p0);
312 RET_LABEL:;
313 }
314 /* method parser_prod#AInitExpr#n_args= for (self: AInitExpr, AExprs) */
315 void parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
316 val* var_node /* var node: AExprs */;
317 var_node = p0;
318 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_node; /* _n_args on <self:AInitExpr> */
319 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
320 RET_LABEL:;
321 }
322 /* method parser_prod#AInitExpr#n_args= for (self: Object, AExprs) */
323 void VIRTUAL_parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
324 parser_prod__AInitExpr__n_args_61d(self, p0);
325 RET_LABEL:;
326 }
327 /* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */
328 void parser_prod__AInitExpr__visit_all(val* self, val* p0) {
329 val* var_v /* var v: Visitor */;
330 val* var /* : AExpr */;
331 val* var1 /* : TKwinit */;
332 val* var2 /* : AExprs */;
333 var_v = p0;
334 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
335 if (var == NULL) {
336 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7850);
338 show_backtrace(1);
339 }
340 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
341 var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
342 if (var1 == NULL) {
343 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit");
344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7851);
345 show_backtrace(1);
346 }
347 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
348 var2 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
349 if (var2 == NULL) {
350 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7852);
352 show_backtrace(1);
353 }
354 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
355 RET_LABEL:;
356 }
357 /* method parser_prod#AInitExpr#visit_all for (self: Object, Visitor) */
358 void VIRTUAL_parser_prod__AInitExpr__visit_all(val* self, val* p0) {
359 parser_prod__AInitExpr__visit_all(self, p0);
360 RET_LABEL:;
361 }
362 /* method parser_prod#ABraExpr#empty_init for (self: ABraExpr) */
363 void parser_prod__ABraExpr__empty_init(val* self) {
364 RET_LABEL:;
365 }
366 /* method parser_prod#ABraExpr#empty_init for (self: Object) */
367 void VIRTUAL_parser_prod__ABraExpr__empty_init(val* self) {
368 parser_prod__ABraExpr__empty_init(self);
369 RET_LABEL:;
370 }
371 /* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs) */
372 void parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) {
373 val* var_n_expr /* var n_expr: nullable AExpr */;
374 val* var_n_args /* var n_args: nullable AExprs */;
375 var_n_expr = p0;
376 var_n_args = p1;
377 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExpr__empty_init]))(self) /* empty_init on <self:ABraExpr>*/;
378 if (var_n_expr == NULL) {
379 fprintf(stderr, "Runtime error: %s", "Cast failed");
380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7864);
381 show_backtrace(1);
382 }
383 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraExpr> */
384 if (var_n_expr == NULL) {
385 fprintf(stderr, "Runtime error: %s", "Receiver is null");
386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7865);
387 show_backtrace(1);
388 } else {
389 ((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>*/;
390 }
391 if (var_n_args == NULL) {
392 fprintf(stderr, "Runtime error: %s", "Cast failed");
393 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7866);
394 show_backtrace(1);
395 }
396 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraExpr> */
397 if (var_n_args == NULL) {
398 fprintf(stderr, "Runtime error: %s", "Receiver is null");
399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7867);
400 show_backtrace(1);
401 } else {
402 ((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>*/;
403 }
404 RET_LABEL:;
405 }
406 /* method parser_prod#ABraExpr#init_abraexpr for (self: Object, nullable AExpr, nullable AExprs) */
407 void VIRTUAL_parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) {
408 parser_prod__ABraExpr__init_abraexpr(self, p0, p1);
409 RET_LABEL:;
410 }
411 /* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */
412 void parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
413 val* var_old_child /* var old_child: ANode */;
414 val* var_new_child /* var new_child: nullable ANode */;
415 val* var /* : AExpr */;
416 short int var1 /* : Bool */;
417 val* var2 /* : null */;
418 short int var3 /* : Bool */;
419 short int var4 /* : Bool */;
420 int cltype;
421 int idtype;
422 val* var5 /* : AExprs */;
423 short int var6 /* : Bool */;
424 val* var7 /* : null */;
425 short int var8 /* : Bool */;
426 short int var9 /* : Bool */;
427 int cltype10;
428 int idtype11;
429 var_old_child = p0;
430 var_new_child = p1;
431 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
432 if (var == NULL) {
433 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7872);
435 show_backtrace(1);
436 }
437 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
438 if (var1){
439 var2 = NULL;
440 if (var_new_child == NULL) {
441 var3 = 0; /* is null */
442 } else {
443 var3 = 1; /* arg is null and recv is not */
444 }
445 if (var3){
446 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
447 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
448 cltype = type_parser_nodes__AExpr.color;
449 idtype = type_parser_nodes__AExpr.id;
450 if(cltype >= var_new_child->type->table_size) {
451 var4 = 0;
452 } else {
453 var4 = var_new_child->type->type_table[cltype] == idtype;
454 }
455 if (!var4) {
456 fprintf(stderr, "Runtime error: %s", "Assert failed");
457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7875);
458 show_backtrace(1);
459 }
460 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraExpr> */
461 } else {
462 fprintf(stderr, "Runtime error: %s", "Aborted");
463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7878);
464 show_backtrace(1);
465 }
466 goto RET_LABEL;
467 } else {
468 }
469 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
470 if (var5 == NULL) {
471 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7882);
473 show_backtrace(1);
474 }
475 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
476 if (var6){
477 var7 = NULL;
478 if (var_new_child == NULL) {
479 var8 = 0; /* is null */
480 } else {
481 var8 = 1; /* arg is null and recv is not */
482 }
483 if (var8){
484 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
485 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
486 cltype10 = type_parser_nodes__AExprs.color;
487 idtype11 = type_parser_nodes__AExprs.id;
488 if(cltype10 >= var_new_child->type->table_size) {
489 var9 = 0;
490 } else {
491 var9 = var_new_child->type->type_table[cltype10] == idtype11;
492 }
493 if (!var9) {
494 fprintf(stderr, "Runtime error: %s", "Assert failed");
495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7885);
496 show_backtrace(1);
497 }
498 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraExpr> */
499 } else {
500 fprintf(stderr, "Runtime error: %s", "Aborted");
501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7888);
502 show_backtrace(1);
503 }
504 goto RET_LABEL;
505 } else {
506 }
507 RET_LABEL:;
508 }
509 /* method parser_prod#ABraExpr#replace_child for (self: Object, ANode, nullable ANode) */
510 void VIRTUAL_parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
511 parser_prod__ABraExpr__replace_child(self, p0, p1);
512 RET_LABEL:;
513 }
514 /* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */
515 void parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
516 val* var_node /* var node: AExpr */;
517 var_node = p0;
518 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraExpr> */
519 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
520 RET_LABEL:;
521 }
522 /* method parser_prod#ABraExpr#n_expr= for (self: Object, AExpr) */
523 void VIRTUAL_parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
524 parser_prod__ABraExpr__n_expr_61d(self, p0);
525 RET_LABEL:;
526 }
527 /* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */
528 void parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
529 val* var_node /* var node: AExprs */;
530 var_node = p0;
531 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraExpr> */
532 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
533 RET_LABEL:;
534 }
535 /* method parser_prod#ABraExpr#n_args= for (self: Object, AExprs) */
536 void VIRTUAL_parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
537 parser_prod__ABraExpr__n_args_61d(self, p0);
538 RET_LABEL:;
539 }
540 /* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */
541 void parser_prod__ABraExpr__visit_all(val* self, val* p0) {
542 val* var_v /* var v: Visitor */;
543 val* var /* : AExpr */;
544 val* var1 /* : AExprs */;
545 var_v = p0;
546 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
547 if (var == NULL) {
548 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7908);
550 show_backtrace(1);
551 }
552 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
553 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
554 if (var1 == NULL) {
555 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7909);
557 show_backtrace(1);
558 }
559 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
560 RET_LABEL:;
561 }
562 /* method parser_prod#ABraExpr#visit_all for (self: Object, Visitor) */
563 void VIRTUAL_parser_prod__ABraExpr__visit_all(val* self, val* p0) {
564 parser_prod__ABraExpr__visit_all(self, p0);
565 RET_LABEL:;
566 }
567 /* method parser_prod#ABraAssignExpr#empty_init for (self: ABraAssignExpr) */
568 void parser_prod__ABraAssignExpr__empty_init(val* self) {
569 RET_LABEL:;
570 }
571 /* method parser_prod#ABraAssignExpr#empty_init for (self: Object) */
572 void VIRTUAL_parser_prod__ABraAssignExpr__empty_init(val* self) {
573 parser_prod__ABraAssignExpr__empty_init(self);
574 RET_LABEL:;
575 }
576 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
577 void parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
578 val* var_n_expr /* var n_expr: nullable AExpr */;
579 val* var_n_args /* var n_args: nullable AExprs */;
580 val* var_n_assign /* var n_assign: nullable TAssign */;
581 val* var_n_value /* var n_value: nullable AExpr */;
582 var_n_expr = p0;
583 var_n_args = p1;
584 var_n_assign = p2;
585 var_n_value = p3;
586 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraAssignExpr__empty_init]))(self) /* empty_init on <self:ABraAssignExpr>*/;
587 if (var_n_expr == NULL) {
588 fprintf(stderr, "Runtime error: %s", "Cast failed");
589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7923);
590 show_backtrace(1);
591 }
592 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraAssignExpr> */
593 if (var_n_expr == NULL) {
594 fprintf(stderr, "Runtime error: %s", "Receiver is null");
595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7924);
596 show_backtrace(1);
597 } else {
598 ((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>*/;
599 }
600 if (var_n_args == NULL) {
601 fprintf(stderr, "Runtime error: %s", "Cast failed");
602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7925);
603 show_backtrace(1);
604 }
605 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraAssignExpr> */
606 if (var_n_args == NULL) {
607 fprintf(stderr, "Runtime error: %s", "Receiver is null");
608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7926);
609 show_backtrace(1);
610 } else {
611 ((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>*/;
612 }
613 if (var_n_assign == NULL) {
614 fprintf(stderr, "Runtime error: %s", "Cast failed");
615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7927);
616 show_backtrace(1);
617 }
618 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ABraAssignExpr> */
619 if (var_n_assign == NULL) {
620 fprintf(stderr, "Runtime error: %s", "Receiver is null");
621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7928);
622 show_backtrace(1);
623 } else {
624 ((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>*/;
625 }
626 if (var_n_value == NULL) {
627 fprintf(stderr, "Runtime error: %s", "Cast failed");
628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7929);
629 show_backtrace(1);
630 }
631 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraAssignExpr> */
632 if (var_n_value == NULL) {
633 fprintf(stderr, "Runtime error: %s", "Receiver is null");
634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7930);
635 show_backtrace(1);
636 } else {
637 ((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>*/;
638 }
639 RET_LABEL:;
640 }
641 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
642 void VIRTUAL_parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
643 parser_prod__ABraAssignExpr__init_abraassignexpr(self, p0, p1, p2, p3);
644 RET_LABEL:;
645 }
646 /* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */
647 void parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
648 val* var_old_child /* var old_child: ANode */;
649 val* var_new_child /* var new_child: nullable ANode */;
650 val* var /* : AExpr */;
651 short int var1 /* : Bool */;
652 val* var2 /* : null */;
653 short int var3 /* : Bool */;
654 short int var4 /* : Bool */;
655 int cltype;
656 int idtype;
657 val* var5 /* : AExprs */;
658 short int var6 /* : Bool */;
659 val* var7 /* : null */;
660 short int var8 /* : Bool */;
661 short int var9 /* : Bool */;
662 int cltype10;
663 int idtype11;
664 val* var12 /* : TAssign */;
665 short int var13 /* : Bool */;
666 val* var14 /* : null */;
667 short int var15 /* : Bool */;
668 short int var16 /* : Bool */;
669 int cltype17;
670 int idtype18;
671 val* var19 /* : AExpr */;
672 short int var20 /* : Bool */;
673 val* var21 /* : null */;
674 short int var22 /* : Bool */;
675 short int var23 /* : Bool */;
676 int cltype24;
677 int idtype25;
678 var_old_child = p0;
679 var_new_child = p1;
680 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
681 if (var == NULL) {
682 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7935);
684 show_backtrace(1);
685 }
686 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
687 if (var1){
688 var2 = NULL;
689 if (var_new_child == NULL) {
690 var3 = 0; /* is null */
691 } else {
692 var3 = 1; /* arg is null and recv is not */
693 }
694 if (var3){
695 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
696 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
697 cltype = type_parser_nodes__AExpr.color;
698 idtype = type_parser_nodes__AExpr.id;
699 if(cltype >= var_new_child->type->table_size) {
700 var4 = 0;
701 } else {
702 var4 = var_new_child->type->type_table[cltype] == idtype;
703 }
704 if (!var4) {
705 fprintf(stderr, "Runtime error: %s", "Assert failed");
706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7938);
707 show_backtrace(1);
708 }
709 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraAssignExpr> */
710 } else {
711 fprintf(stderr, "Runtime error: %s", "Aborted");
712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7941);
713 show_backtrace(1);
714 }
715 goto RET_LABEL;
716 } else {
717 }
718 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
719 if (var5 == NULL) {
720 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7945);
722 show_backtrace(1);
723 }
724 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
725 if (var6){
726 var7 = NULL;
727 if (var_new_child == NULL) {
728 var8 = 0; /* is null */
729 } else {
730 var8 = 1; /* arg is null and recv is not */
731 }
732 if (var8){
733 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
734 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
735 cltype10 = type_parser_nodes__AExprs.color;
736 idtype11 = type_parser_nodes__AExprs.id;
737 if(cltype10 >= var_new_child->type->table_size) {
738 var9 = 0;
739 } else {
740 var9 = var_new_child->type->type_table[cltype10] == idtype11;
741 }
742 if (!var9) {
743 fprintf(stderr, "Runtime error: %s", "Assert failed");
744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7948);
745 show_backtrace(1);
746 }
747 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraAssignExpr> */
748 } else {
749 fprintf(stderr, "Runtime error: %s", "Aborted");
750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7951);
751 show_backtrace(1);
752 }
753 goto RET_LABEL;
754 } else {
755 }
756 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
757 if (var12 == NULL) {
758 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
759 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7955);
760 show_backtrace(1);
761 }
762 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
763 if (var13){
764 var14 = NULL;
765 if (var_new_child == NULL) {
766 var15 = 0; /* is null */
767 } else {
768 var15 = 1; /* arg is null and recv is not */
769 }
770 if (var15){
771 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
772 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
773 cltype17 = type_parser_nodes__TAssign.color;
774 idtype18 = type_parser_nodes__TAssign.id;
775 if(cltype17 >= var_new_child->type->table_size) {
776 var16 = 0;
777 } else {
778 var16 = var_new_child->type->type_table[cltype17] == idtype18;
779 }
780 if (!var16) {
781 fprintf(stderr, "Runtime error: %s", "Assert failed");
782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7958);
783 show_backtrace(1);
784 }
785 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ABraAssignExpr> */
786 } else {
787 fprintf(stderr, "Runtime error: %s", "Aborted");
788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7961);
789 show_backtrace(1);
790 }
791 goto RET_LABEL;
792 } else {
793 }
794 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
795 if (var19 == NULL) {
796 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7965);
798 show_backtrace(1);
799 }
800 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
801 if (var20){
802 var21 = NULL;
803 if (var_new_child == NULL) {
804 var22 = 0; /* is null */
805 } else {
806 var22 = 1; /* arg is null and recv is not */
807 }
808 if (var22){
809 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
810 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
811 cltype24 = type_parser_nodes__AExpr.color;
812 idtype25 = type_parser_nodes__AExpr.id;
813 if(cltype24 >= var_new_child->type->table_size) {
814 var23 = 0;
815 } else {
816 var23 = var_new_child->type->type_table[cltype24] == idtype25;
817 }
818 if (!var23) {
819 fprintf(stderr, "Runtime error: %s", "Assert failed");
820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7968);
821 show_backtrace(1);
822 }
823 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraAssignExpr> */
824 } else {
825 fprintf(stderr, "Runtime error: %s", "Aborted");
826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7971);
827 show_backtrace(1);
828 }
829 goto RET_LABEL;
830 } else {
831 }
832 RET_LABEL:;
833 }
834 /* method parser_prod#ABraAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
835 void VIRTUAL_parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
836 parser_prod__ABraAssignExpr__replace_child(self, p0, p1);
837 RET_LABEL:;
838 }
839 /* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */
840 void parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
841 val* var_node /* var node: AExpr */;
842 var_node = p0;
843 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraAssignExpr> */
844 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
845 RET_LABEL:;
846 }
847 /* method parser_prod#ABraAssignExpr#n_expr= for (self: Object, AExpr) */
848 void VIRTUAL_parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
849 parser_prod__ABraAssignExpr__n_expr_61d(self, p0);
850 RET_LABEL:;
851 }
852 /* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */
853 void parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
854 val* var_node /* var node: AExprs */;
855 var_node = p0;
856 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraAssignExpr> */
857 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
858 RET_LABEL:;
859 }
860 /* method parser_prod#ABraAssignExpr#n_args= for (self: Object, AExprs) */
861 void VIRTUAL_parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
862 parser_prod__ABraAssignExpr__n_args_61d(self, p0);
863 RET_LABEL:;
864 }
865 /* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */
866 void parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
867 val* var_node /* var node: TAssign */;
868 var_node = p0;
869 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ABraAssignExpr> */
870 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
871 RET_LABEL:;
872 }
873 /* method parser_prod#ABraAssignExpr#n_assign= for (self: Object, TAssign) */
874 void VIRTUAL_parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
875 parser_prod__ABraAssignExpr__n_assign_61d(self, p0);
876 RET_LABEL:;
877 }
878 /* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */
879 void parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
880 val* var_node /* var node: AExpr */;
881 var_node = p0;
882 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraAssignExpr> */
883 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
884 RET_LABEL:;
885 }
886 /* method parser_prod#ABraAssignExpr#n_value= for (self: Object, AExpr) */
887 void VIRTUAL_parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
888 parser_prod__ABraAssignExpr__n_value_61d(self, p0);
889 RET_LABEL:;
890 }
891 /* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */
892 void parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
893 val* var_v /* var v: Visitor */;
894 val* var /* : AExpr */;
895 val* var1 /* : AExprs */;
896 val* var2 /* : TAssign */;
897 val* var3 /* : AExpr */;
898 var_v = p0;
899 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
900 if (var == NULL) {
901 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
902 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8001);
903 show_backtrace(1);
904 }
905 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
906 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
907 if (var1 == NULL) {
908 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8002);
910 show_backtrace(1);
911 }
912 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
913 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
914 if (var2 == NULL) {
915 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8003);
917 show_backtrace(1);
918 }
919 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
920 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
921 if (var3 == NULL) {
922 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8004);
924 show_backtrace(1);
925 }
926 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
927 RET_LABEL:;
928 }
929 /* method parser_prod#ABraAssignExpr#visit_all for (self: Object, Visitor) */
930 void VIRTUAL_parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
931 parser_prod__ABraAssignExpr__visit_all(self, p0);
932 RET_LABEL:;
933 }
934 /* method parser_prod#ABraReassignExpr#empty_init for (self: ABraReassignExpr) */
935 void parser_prod__ABraReassignExpr__empty_init(val* self) {
936 RET_LABEL:;
937 }
938 /* method parser_prod#ABraReassignExpr#empty_init for (self: Object) */
939 void VIRTUAL_parser_prod__ABraReassignExpr__empty_init(val* self) {
940 parser_prod__ABraReassignExpr__empty_init(self);
941 RET_LABEL:;
942 }
943 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
944 void parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
945 val* var_n_expr /* var n_expr: nullable AExpr */;
946 val* var_n_args /* var n_args: nullable AExprs */;
947 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
948 val* var_n_value /* var n_value: nullable AExpr */;
949 var_n_expr = p0;
950 var_n_args = p1;
951 var_n_assign_op = p2;
952 var_n_value = p3;
953 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraReassignExpr__empty_init]))(self) /* empty_init on <self:ABraReassignExpr>*/;
954 if (var_n_expr == NULL) {
955 fprintf(stderr, "Runtime error: %s", "Cast failed");
956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8018);
957 show_backtrace(1);
958 }
959 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraReassignExpr> */
960 if (var_n_expr == NULL) {
961 fprintf(stderr, "Runtime error: %s", "Receiver is null");
962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8019);
963 show_backtrace(1);
964 } else {
965 ((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>*/;
966 }
967 if (var_n_args == NULL) {
968 fprintf(stderr, "Runtime error: %s", "Cast failed");
969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8020);
970 show_backtrace(1);
971 }
972 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraReassignExpr> */
973 if (var_n_args == NULL) {
974 fprintf(stderr, "Runtime error: %s", "Receiver is null");
975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8021);
976 show_backtrace(1);
977 } else {
978 ((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>*/;
979 }
980 if (var_n_assign_op == NULL) {
981 fprintf(stderr, "Runtime error: %s", "Cast failed");
982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8022);
983 show_backtrace(1);
984 }
985 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ABraReassignExpr> */
986 if (var_n_assign_op == NULL) {
987 fprintf(stderr, "Runtime error: %s", "Receiver is null");
988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8023);
989 show_backtrace(1);
990 } else {
991 ((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>*/;
992 }
993 if (var_n_value == NULL) {
994 fprintf(stderr, "Runtime error: %s", "Cast failed");
995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8024);
996 show_backtrace(1);
997 }
998 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraReassignExpr> */
999 if (var_n_value == NULL) {
1000 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8025);
1002 show_backtrace(1);
1003 } else {
1004 ((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>*/;
1005 }
1006 RET_LABEL:;
1007 }
1008 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
1009 void VIRTUAL_parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
1010 parser_prod__ABraReassignExpr__init_abrareassignexpr(self, p0, p1, p2, p3);
1011 RET_LABEL:;
1012 }
1013 /* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */
1014 void parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
1015 val* var_old_child /* var old_child: ANode */;
1016 val* var_new_child /* var new_child: nullable ANode */;
1017 val* var /* : AExpr */;
1018 short int var1 /* : Bool */;
1019 val* var2 /* : null */;
1020 short int var3 /* : Bool */;
1021 short int var4 /* : Bool */;
1022 int cltype;
1023 int idtype;
1024 val* var5 /* : AExprs */;
1025 short int var6 /* : Bool */;
1026 val* var7 /* : null */;
1027 short int var8 /* : Bool */;
1028 short int var9 /* : Bool */;
1029 int cltype10;
1030 int idtype11;
1031 val* var12 /* : AAssignOp */;
1032 short int var13 /* : Bool */;
1033 val* var14 /* : null */;
1034 short int var15 /* : Bool */;
1035 short int var16 /* : Bool */;
1036 int cltype17;
1037 int idtype18;
1038 val* var19 /* : AExpr */;
1039 short int var20 /* : Bool */;
1040 val* var21 /* : null */;
1041 short int var22 /* : Bool */;
1042 short int var23 /* : Bool */;
1043 int cltype24;
1044 int idtype25;
1045 var_old_child = p0;
1046 var_new_child = p1;
1047 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
1048 if (var == NULL) {
1049 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8030);
1051 show_backtrace(1);
1052 }
1053 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
1054 if (var1){
1055 var2 = NULL;
1056 if (var_new_child == NULL) {
1057 var3 = 0; /* is null */
1058 } else {
1059 var3 = 1; /* arg is null and recv is not */
1060 }
1061 if (var3){
1062 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1063 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1064 cltype = type_parser_nodes__AExpr.color;
1065 idtype = type_parser_nodes__AExpr.id;
1066 if(cltype >= var_new_child->type->table_size) {
1067 var4 = 0;
1068 } else {
1069 var4 = var_new_child->type->type_table[cltype] == idtype;
1070 }
1071 if (!var4) {
1072 fprintf(stderr, "Runtime error: %s", "Assert failed");
1073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8033);
1074 show_backtrace(1);
1075 }
1076 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraReassignExpr> */
1077 } else {
1078 fprintf(stderr, "Runtime error: %s", "Aborted");
1079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8036);
1080 show_backtrace(1);
1081 }
1082 goto RET_LABEL;
1083 } else {
1084 }
1085 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
1086 if (var5 == NULL) {
1087 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
1088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8040);
1089 show_backtrace(1);
1090 }
1091 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
1092 if (var6){
1093 var7 = NULL;
1094 if (var_new_child == NULL) {
1095 var8 = 0; /* is null */
1096 } else {
1097 var8 = 1; /* arg is null and recv is not */
1098 }
1099 if (var8){
1100 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1101 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
1102 cltype10 = type_parser_nodes__AExprs.color;
1103 idtype11 = type_parser_nodes__AExprs.id;
1104 if(cltype10 >= var_new_child->type->table_size) {
1105 var9 = 0;
1106 } else {
1107 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1108 }
1109 if (!var9) {
1110 fprintf(stderr, "Runtime error: %s", "Assert failed");
1111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8043);
1112 show_backtrace(1);
1113 }
1114 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraReassignExpr> */
1115 } else {
1116 fprintf(stderr, "Runtime error: %s", "Aborted");
1117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8046);
1118 show_backtrace(1);
1119 }
1120 goto RET_LABEL;
1121 } else {
1122 }
1123 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
1124 if (var12 == NULL) {
1125 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8050);
1127 show_backtrace(1);
1128 }
1129 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
1130 if (var13){
1131 var14 = NULL;
1132 if (var_new_child == NULL) {
1133 var15 = 0; /* is null */
1134 } else {
1135 var15 = 1; /* arg is null and recv is not */
1136 }
1137 if (var15){
1138 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1139 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
1140 cltype17 = type_parser_nodes__AAssignOp.color;
1141 idtype18 = type_parser_nodes__AAssignOp.id;
1142 if(cltype17 >= var_new_child->type->table_size) {
1143 var16 = 0;
1144 } else {
1145 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1146 }
1147 if (!var16) {
1148 fprintf(stderr, "Runtime error: %s", "Assert failed");
1149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8053);
1150 show_backtrace(1);
1151 }
1152 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ABraReassignExpr> */
1153 } else {
1154 fprintf(stderr, "Runtime error: %s", "Aborted");
1155 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8056);
1156 show_backtrace(1);
1157 }
1158 goto RET_LABEL;
1159 } else {
1160 }
1161 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
1162 if (var19 == NULL) {
1163 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8060);
1165 show_backtrace(1);
1166 }
1167 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
1168 if (var20){
1169 var21 = NULL;
1170 if (var_new_child == NULL) {
1171 var22 = 0; /* is null */
1172 } else {
1173 var22 = 1; /* arg is null and recv is not */
1174 }
1175 if (var22){
1176 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1177 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1178 cltype24 = type_parser_nodes__AExpr.color;
1179 idtype25 = type_parser_nodes__AExpr.id;
1180 if(cltype24 >= var_new_child->type->table_size) {
1181 var23 = 0;
1182 } else {
1183 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1184 }
1185 if (!var23) {
1186 fprintf(stderr, "Runtime error: %s", "Assert failed");
1187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8063);
1188 show_backtrace(1);
1189 }
1190 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraReassignExpr> */
1191 } else {
1192 fprintf(stderr, "Runtime error: %s", "Aborted");
1193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8066);
1194 show_backtrace(1);
1195 }
1196 goto RET_LABEL;
1197 } else {
1198 }
1199 RET_LABEL:;
1200 }
1201 /* method parser_prod#ABraReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1202 void VIRTUAL_parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
1203 parser_prod__ABraReassignExpr__replace_child(self, p0, p1);
1204 RET_LABEL:;
1205 }
1206 /* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */
1207 void parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
1208 val* var_node /* var node: AExpr */;
1209 var_node = p0;
1210 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraReassignExpr> */
1211 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1212 RET_LABEL:;
1213 }
1214 /* method parser_prod#ABraReassignExpr#n_expr= for (self: Object, AExpr) */
1215 void VIRTUAL_parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
1216 parser_prod__ABraReassignExpr__n_expr_61d(self, p0);
1217 RET_LABEL:;
1218 }
1219 /* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */
1220 void parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
1221 val* var_node /* var node: AExprs */;
1222 var_node = p0;
1223 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraReassignExpr> */
1224 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
1225 RET_LABEL:;
1226 }
1227 /* method parser_prod#ABraReassignExpr#n_args= for (self: Object, AExprs) */
1228 void VIRTUAL_parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
1229 parser_prod__ABraReassignExpr__n_args_61d(self, p0);
1230 RET_LABEL:;
1231 }
1232 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */
1233 void parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
1234 val* var_node /* var node: AAssignOp */;
1235 var_node = p0;
1236 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ABraReassignExpr> */
1237 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
1238 RET_LABEL:;
1239 }
1240 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
1241 void VIRTUAL_parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
1242 parser_prod__ABraReassignExpr__n_assign_op_61d(self, p0);
1243 RET_LABEL:;
1244 }
1245 /* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */
1246 void parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1247 val* var_node /* var node: AExpr */;
1248 var_node = p0;
1249 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraReassignExpr> */
1250 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1251 RET_LABEL:;
1252 }
1253 /* method parser_prod#ABraReassignExpr#n_value= for (self: Object, AExpr) */
1254 void VIRTUAL_parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1255 parser_prod__ABraReassignExpr__n_value_61d(self, p0);
1256 RET_LABEL:;
1257 }
1258 /* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */
1259 void parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1260 val* var_v /* var v: Visitor */;
1261 val* var /* : AExpr */;
1262 val* var1 /* : AExprs */;
1263 val* var2 /* : AAssignOp */;
1264 val* var3 /* : AExpr */;
1265 var_v = p0;
1266 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
1267 if (var == NULL) {
1268 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8096);
1270 show_backtrace(1);
1271 }
1272 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1273 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
1274 if (var1 == NULL) {
1275 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
1276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8097);
1277 show_backtrace(1);
1278 }
1279 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1280 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
1281 if (var2 == NULL) {
1282 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8098);
1284 show_backtrace(1);
1285 }
1286 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1287 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
1288 if (var3 == NULL) {
1289 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8099);
1291 show_backtrace(1);
1292 }
1293 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
1294 RET_LABEL:;
1295 }
1296 /* method parser_prod#ABraReassignExpr#visit_all for (self: Object, Visitor) */
1297 void VIRTUAL_parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1298 parser_prod__ABraReassignExpr__visit_all(self, p0);
1299 RET_LABEL:;
1300 }
1301 /* method parser_prod#AVarExpr#empty_init for (self: AVarExpr) */
1302 void parser_prod__AVarExpr__empty_init(val* self) {
1303 RET_LABEL:;
1304 }
1305 /* method parser_prod#AVarExpr#empty_init for (self: Object) */
1306 void VIRTUAL_parser_prod__AVarExpr__empty_init(val* self) {
1307 parser_prod__AVarExpr__empty_init(self);
1308 RET_LABEL:;
1309 }
1310 /* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */
1311 void parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1312 val* var_n_id /* var n_id: nullable TId */;
1313 var_n_id = p0;
1314 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarExpr__empty_init]))(self) /* empty_init on <self:AVarExpr>*/;
1315 if (var_n_id == NULL) {
1316 fprintf(stderr, "Runtime error: %s", "Cast failed");
1317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8110);
1318 show_backtrace(1);
1319 }
1320 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarExpr> */
1321 if (var_n_id == NULL) {
1322 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8111);
1324 show_backtrace(1);
1325 } else {
1326 ((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>*/;
1327 }
1328 RET_LABEL:;
1329 }
1330 /* method parser_prod#AVarExpr#init_avarexpr for (self: Object, nullable TId) */
1331 void VIRTUAL_parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1332 parser_prod__AVarExpr__init_avarexpr(self, p0);
1333 RET_LABEL:;
1334 }
1335 /* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */
1336 void parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1337 val* var_old_child /* var old_child: ANode */;
1338 val* var_new_child /* var new_child: nullable ANode */;
1339 val* var /* : TId */;
1340 short int var1 /* : Bool */;
1341 val* var2 /* : null */;
1342 short int var3 /* : Bool */;
1343 short int var4 /* : Bool */;
1344 int cltype;
1345 int idtype;
1346 var_old_child = p0;
1347 var_new_child = p1;
1348 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1349 if (var == NULL) {
1350 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8116);
1352 show_backtrace(1);
1353 }
1354 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1355 if (var1){
1356 var2 = NULL;
1357 if (var_new_child == NULL) {
1358 var3 = 0; /* is null */
1359 } else {
1360 var3 = 1; /* arg is null and recv is not */
1361 }
1362 if (var3){
1363 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1364 /* <var_new_child:nullable ANode(ANode)> isa TId */
1365 cltype = type_parser_nodes__TId.color;
1366 idtype = type_parser_nodes__TId.id;
1367 if(cltype >= var_new_child->type->table_size) {
1368 var4 = 0;
1369 } else {
1370 var4 = var_new_child->type->type_table[cltype] == idtype;
1371 }
1372 if (!var4) {
1373 fprintf(stderr, "Runtime error: %s", "Assert failed");
1374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8119);
1375 show_backtrace(1);
1376 }
1377 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarExpr> */
1378 } else {
1379 fprintf(stderr, "Runtime error: %s", "Aborted");
1380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8122);
1381 show_backtrace(1);
1382 }
1383 goto RET_LABEL;
1384 } else {
1385 }
1386 RET_LABEL:;
1387 }
1388 /* method parser_prod#AVarExpr#replace_child for (self: Object, ANode, nullable ANode) */
1389 void VIRTUAL_parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1390 parser_prod__AVarExpr__replace_child(self, p0, p1);
1391 RET_LABEL:;
1392 }
1393 /* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */
1394 void parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1395 val* var_node /* var node: TId */;
1396 var_node = p0;
1397 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarExpr> */
1398 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1399 RET_LABEL:;
1400 }
1401 /* method parser_prod#AVarExpr#n_id= for (self: Object, TId) */
1402 void VIRTUAL_parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1403 parser_prod__AVarExpr__n_id_61d(self, p0);
1404 RET_LABEL:;
1405 }
1406 /* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */
1407 void parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1408 val* var_v /* var v: Visitor */;
1409 val* var /* : TId */;
1410 var_v = p0;
1411 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1412 if (var == NULL) {
1413 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8137);
1415 show_backtrace(1);
1416 }
1417 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1418 RET_LABEL:;
1419 }
1420 /* method parser_prod#AVarExpr#visit_all for (self: Object, Visitor) */
1421 void VIRTUAL_parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1422 parser_prod__AVarExpr__visit_all(self, p0);
1423 RET_LABEL:;
1424 }
1425 /* method parser_prod#AVarAssignExpr#empty_init for (self: AVarAssignExpr) */
1426 void parser_prod__AVarAssignExpr__empty_init(val* self) {
1427 RET_LABEL:;
1428 }
1429 /* method parser_prod#AVarAssignExpr#empty_init for (self: Object) */
1430 void VIRTUAL_parser_prod__AVarAssignExpr__empty_init(val* self) {
1431 parser_prod__AVarAssignExpr__empty_init(self);
1432 RET_LABEL:;
1433 }
1434 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */
1435 void parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1436 val* var_n_id /* var n_id: nullable TId */;
1437 val* var_n_assign /* var n_assign: nullable TAssign */;
1438 val* var_n_value /* var n_value: nullable AExpr */;
1439 var_n_id = p0;
1440 var_n_assign = p1;
1441 var_n_value = p2;
1442 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarAssignExpr__empty_init]))(self) /* empty_init on <self:AVarAssignExpr>*/;
1443 if (var_n_id == NULL) {
1444 fprintf(stderr, "Runtime error: %s", "Cast failed");
1445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8150);
1446 show_backtrace(1);
1447 }
1448 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarAssignExpr> */
1449 if (var_n_id == NULL) {
1450 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8151);
1452 show_backtrace(1);
1453 } else {
1454 ((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>*/;
1455 }
1456 if (var_n_assign == NULL) {
1457 fprintf(stderr, "Runtime error: %s", "Cast failed");
1458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8152);
1459 show_backtrace(1);
1460 }
1461 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AVarAssignExpr> */
1462 if (var_n_assign == NULL) {
1463 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8153);
1465 show_backtrace(1);
1466 } else {
1467 ((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>*/;
1468 }
1469 if (var_n_value == NULL) {
1470 fprintf(stderr, "Runtime error: %s", "Cast failed");
1471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8154);
1472 show_backtrace(1);
1473 }
1474 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarAssignExpr> */
1475 if (var_n_value == NULL) {
1476 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8155);
1478 show_backtrace(1);
1479 } else {
1480 ((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>*/;
1481 }
1482 RET_LABEL:;
1483 }
1484 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: Object, nullable TId, nullable TAssign, nullable AExpr) */
1485 void VIRTUAL_parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1486 parser_prod__AVarAssignExpr__init_avarassignexpr(self, p0, p1, p2);
1487 RET_LABEL:;
1488 }
1489 /* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */
1490 void parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1491 val* var_old_child /* var old_child: ANode */;
1492 val* var_new_child /* var new_child: nullable ANode */;
1493 val* var /* : TId */;
1494 short int var1 /* : Bool */;
1495 val* var2 /* : null */;
1496 short int var3 /* : Bool */;
1497 short int var4 /* : Bool */;
1498 int cltype;
1499 int idtype;
1500 val* var5 /* : TAssign */;
1501 short int var6 /* : Bool */;
1502 val* var7 /* : null */;
1503 short int var8 /* : Bool */;
1504 short int var9 /* : Bool */;
1505 int cltype10;
1506 int idtype11;
1507 val* var12 /* : AExpr */;
1508 short int var13 /* : Bool */;
1509 val* var14 /* : null */;
1510 short int var15 /* : Bool */;
1511 short int var16 /* : Bool */;
1512 int cltype17;
1513 int idtype18;
1514 var_old_child = p0;
1515 var_new_child = p1;
1516 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1517 if (var == NULL) {
1518 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8160);
1520 show_backtrace(1);
1521 }
1522 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1523 if (var1){
1524 var2 = NULL;
1525 if (var_new_child == NULL) {
1526 var3 = 0; /* is null */
1527 } else {
1528 var3 = 1; /* arg is null and recv is not */
1529 }
1530 if (var3){
1531 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1532 /* <var_new_child:nullable ANode(ANode)> isa TId */
1533 cltype = type_parser_nodes__TId.color;
1534 idtype = type_parser_nodes__TId.id;
1535 if(cltype >= var_new_child->type->table_size) {
1536 var4 = 0;
1537 } else {
1538 var4 = var_new_child->type->type_table[cltype] == idtype;
1539 }
1540 if (!var4) {
1541 fprintf(stderr, "Runtime error: %s", "Assert failed");
1542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8163);
1543 show_backtrace(1);
1544 }
1545 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarAssignExpr> */
1546 } else {
1547 fprintf(stderr, "Runtime error: %s", "Aborted");
1548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8166);
1549 show_backtrace(1);
1550 }
1551 goto RET_LABEL;
1552 } else {
1553 }
1554 var5 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1555 if (var5 == NULL) {
1556 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
1557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8170);
1558 show_backtrace(1);
1559 }
1560 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAssign>*/;
1561 if (var6){
1562 var7 = NULL;
1563 if (var_new_child == NULL) {
1564 var8 = 0; /* is null */
1565 } else {
1566 var8 = 1; /* arg is null and recv is not */
1567 }
1568 if (var8){
1569 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1570 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
1571 cltype10 = type_parser_nodes__TAssign.color;
1572 idtype11 = type_parser_nodes__TAssign.id;
1573 if(cltype10 >= var_new_child->type->table_size) {
1574 var9 = 0;
1575 } else {
1576 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1577 }
1578 if (!var9) {
1579 fprintf(stderr, "Runtime error: %s", "Assert failed");
1580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8173);
1581 show_backtrace(1);
1582 }
1583 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AVarAssignExpr> */
1584 } else {
1585 fprintf(stderr, "Runtime error: %s", "Aborted");
1586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8176);
1587 show_backtrace(1);
1588 }
1589 goto RET_LABEL;
1590 } else {
1591 }
1592 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1593 if (var12 == NULL) {
1594 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8180);
1596 show_backtrace(1);
1597 }
1598 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1599 if (var13){
1600 var14 = NULL;
1601 if (var_new_child == NULL) {
1602 var15 = 0; /* is null */
1603 } else {
1604 var15 = 1; /* arg is null and recv is not */
1605 }
1606 if (var15){
1607 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1608 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1609 cltype17 = type_parser_nodes__AExpr.color;
1610 idtype18 = type_parser_nodes__AExpr.id;
1611 if(cltype17 >= var_new_child->type->table_size) {
1612 var16 = 0;
1613 } else {
1614 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1615 }
1616 if (!var16) {
1617 fprintf(stderr, "Runtime error: %s", "Assert failed");
1618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8183);
1619 show_backtrace(1);
1620 }
1621 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarAssignExpr> */
1622 } else {
1623 fprintf(stderr, "Runtime error: %s", "Aborted");
1624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8186);
1625 show_backtrace(1);
1626 }
1627 goto RET_LABEL;
1628 } else {
1629 }
1630 RET_LABEL:;
1631 }
1632 /* method parser_prod#AVarAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1633 void VIRTUAL_parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1634 parser_prod__AVarAssignExpr__replace_child(self, p0, p1);
1635 RET_LABEL:;
1636 }
1637 /* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */
1638 void parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1639 val* var_node /* var node: TId */;
1640 var_node = p0;
1641 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarAssignExpr> */
1642 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1643 RET_LABEL:;
1644 }
1645 /* method parser_prod#AVarAssignExpr#n_id= for (self: Object, TId) */
1646 void VIRTUAL_parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1647 parser_prod__AVarAssignExpr__n_id_61d(self, p0);
1648 RET_LABEL:;
1649 }
1650 /* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */
1651 void parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1652 val* var_node /* var node: TAssign */;
1653 var_node = p0;
1654 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AVarAssignExpr> */
1655 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
1656 RET_LABEL:;
1657 }
1658 /* method parser_prod#AVarAssignExpr#n_assign= for (self: Object, TAssign) */
1659 void VIRTUAL_parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1660 parser_prod__AVarAssignExpr__n_assign_61d(self, p0);
1661 RET_LABEL:;
1662 }
1663 /* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */
1664 void parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1665 val* var_node /* var node: AExpr */;
1666 var_node = p0;
1667 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarAssignExpr> */
1668 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1669 RET_LABEL:;
1670 }
1671 /* method parser_prod#AVarAssignExpr#n_value= for (self: Object, AExpr) */
1672 void VIRTUAL_parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1673 parser_prod__AVarAssignExpr__n_value_61d(self, p0);
1674 RET_LABEL:;
1675 }
1676 /* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */
1677 void parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1678 val* var_v /* var v: Visitor */;
1679 val* var /* : TId */;
1680 val* var1 /* : TAssign */;
1681 val* var2 /* : AExpr */;
1682 var_v = p0;
1683 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1684 if (var == NULL) {
1685 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8211);
1687 show_backtrace(1);
1688 }
1689 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1690 var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1691 if (var1 == NULL) {
1692 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
1693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8212);
1694 show_backtrace(1);
1695 }
1696 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1697 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1698 if (var2 == NULL) {
1699 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8213);
1701 show_backtrace(1);
1702 }
1703 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1704 RET_LABEL:;
1705 }
1706 /* method parser_prod#AVarAssignExpr#visit_all for (self: Object, Visitor) */
1707 void VIRTUAL_parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1708 parser_prod__AVarAssignExpr__visit_all(self, p0);
1709 RET_LABEL:;
1710 }
1711 /* method parser_prod#AVarReassignExpr#empty_init for (self: AVarReassignExpr) */
1712 void parser_prod__AVarReassignExpr__empty_init(val* self) {
1713 RET_LABEL:;
1714 }
1715 /* method parser_prod#AVarReassignExpr#empty_init for (self: Object) */
1716 void VIRTUAL_parser_prod__AVarReassignExpr__empty_init(val* self) {
1717 parser_prod__AVarReassignExpr__empty_init(self);
1718 RET_LABEL:;
1719 }
1720 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */
1721 void parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1722 val* var_n_id /* var n_id: nullable TId */;
1723 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
1724 val* var_n_value /* var n_value: nullable AExpr */;
1725 var_n_id = p0;
1726 var_n_assign_op = p1;
1727 var_n_value = p2;
1728 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarReassignExpr__empty_init]))(self) /* empty_init on <self:AVarReassignExpr>*/;
1729 if (var_n_id == NULL) {
1730 fprintf(stderr, "Runtime error: %s", "Cast failed");
1731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8226);
1732 show_backtrace(1);
1733 }
1734 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarReassignExpr> */
1735 if (var_n_id == NULL) {
1736 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8227);
1738 show_backtrace(1);
1739 } else {
1740 ((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>*/;
1741 }
1742 if (var_n_assign_op == NULL) {
1743 fprintf(stderr, "Runtime error: %s", "Cast failed");
1744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8228);
1745 show_backtrace(1);
1746 }
1747 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AVarReassignExpr> */
1748 if (var_n_assign_op == NULL) {
1749 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8229);
1751 show_backtrace(1);
1752 } else {
1753 ((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>*/;
1754 }
1755 if (var_n_value == NULL) {
1756 fprintf(stderr, "Runtime error: %s", "Cast failed");
1757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8230);
1758 show_backtrace(1);
1759 }
1760 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarReassignExpr> */
1761 if (var_n_value == NULL) {
1762 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8231);
1764 show_backtrace(1);
1765 } else {
1766 ((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>*/;
1767 }
1768 RET_LABEL:;
1769 }
1770 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: Object, nullable TId, nullable AAssignOp, nullable AExpr) */
1771 void VIRTUAL_parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1772 parser_prod__AVarReassignExpr__init_avarreassignexpr(self, p0, p1, p2);
1773 RET_LABEL:;
1774 }
1775 /* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */
1776 void parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1777 val* var_old_child /* var old_child: ANode */;
1778 val* var_new_child /* var new_child: nullable ANode */;
1779 val* var /* : TId */;
1780 short int var1 /* : Bool */;
1781 val* var2 /* : null */;
1782 short int var3 /* : Bool */;
1783 short int var4 /* : Bool */;
1784 int cltype;
1785 int idtype;
1786 val* var5 /* : AAssignOp */;
1787 short int var6 /* : Bool */;
1788 val* var7 /* : null */;
1789 short int var8 /* : Bool */;
1790 short int var9 /* : Bool */;
1791 int cltype10;
1792 int idtype11;
1793 val* var12 /* : AExpr */;
1794 short int var13 /* : Bool */;
1795 val* var14 /* : null */;
1796 short int var15 /* : Bool */;
1797 short int var16 /* : Bool */;
1798 int cltype17;
1799 int idtype18;
1800 var_old_child = p0;
1801 var_new_child = p1;
1802 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
1803 if (var == NULL) {
1804 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8236);
1806 show_backtrace(1);
1807 }
1808 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1809 if (var1){
1810 var2 = NULL;
1811 if (var_new_child == NULL) {
1812 var3 = 0; /* is null */
1813 } else {
1814 var3 = 1; /* arg is null and recv is not */
1815 }
1816 if (var3){
1817 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1818 /* <var_new_child:nullable ANode(ANode)> isa TId */
1819 cltype = type_parser_nodes__TId.color;
1820 idtype = type_parser_nodes__TId.id;
1821 if(cltype >= var_new_child->type->table_size) {
1822 var4 = 0;
1823 } else {
1824 var4 = var_new_child->type->type_table[cltype] == idtype;
1825 }
1826 if (!var4) {
1827 fprintf(stderr, "Runtime error: %s", "Assert failed");
1828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8239);
1829 show_backtrace(1);
1830 }
1831 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarReassignExpr> */
1832 } else {
1833 fprintf(stderr, "Runtime error: %s", "Aborted");
1834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8242);
1835 show_backtrace(1);
1836 }
1837 goto RET_LABEL;
1838 } else {
1839 }
1840 var5 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
1841 if (var5 == NULL) {
1842 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8246);
1844 show_backtrace(1);
1845 }
1846 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AAssignOp>*/;
1847 if (var6){
1848 var7 = NULL;
1849 if (var_new_child == NULL) {
1850 var8 = 0; /* is null */
1851 } else {
1852 var8 = 1; /* arg is null and recv is not */
1853 }
1854 if (var8){
1855 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1856 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
1857 cltype10 = type_parser_nodes__AAssignOp.color;
1858 idtype11 = type_parser_nodes__AAssignOp.id;
1859 if(cltype10 >= var_new_child->type->table_size) {
1860 var9 = 0;
1861 } else {
1862 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1863 }
1864 if (!var9) {
1865 fprintf(stderr, "Runtime error: %s", "Assert failed");
1866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8249);
1867 show_backtrace(1);
1868 }
1869 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AVarReassignExpr> */
1870 } else {
1871 fprintf(stderr, "Runtime error: %s", "Aborted");
1872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8252);
1873 show_backtrace(1);
1874 }
1875 goto RET_LABEL;
1876 } else {
1877 }
1878 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
1879 if (var12 == NULL) {
1880 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8256);
1882 show_backtrace(1);
1883 }
1884 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1885 if (var13){
1886 var14 = NULL;
1887 if (var_new_child == NULL) {
1888 var15 = 0; /* is null */
1889 } else {
1890 var15 = 1; /* arg is null and recv is not */
1891 }
1892 if (var15){
1893 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1894 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1895 cltype17 = type_parser_nodes__AExpr.color;
1896 idtype18 = type_parser_nodes__AExpr.id;
1897 if(cltype17 >= var_new_child->type->table_size) {
1898 var16 = 0;
1899 } else {
1900 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1901 }
1902 if (!var16) {
1903 fprintf(stderr, "Runtime error: %s", "Assert failed");
1904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8259);
1905 show_backtrace(1);
1906 }
1907 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarReassignExpr> */
1908 } else {
1909 fprintf(stderr, "Runtime error: %s", "Aborted");
1910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8262);
1911 show_backtrace(1);
1912 }
1913 goto RET_LABEL;
1914 } else {
1915 }
1916 RET_LABEL:;
1917 }
1918 /* method parser_prod#AVarReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1919 void VIRTUAL_parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1920 parser_prod__AVarReassignExpr__replace_child(self, p0, p1);
1921 RET_LABEL:;
1922 }
1923 /* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */
1924 void parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1925 val* var_node /* var node: TId */;
1926 var_node = p0;
1927 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarReassignExpr> */
1928 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1929 RET_LABEL:;
1930 }
1931 /* method parser_prod#AVarReassignExpr#n_id= for (self: Object, TId) */
1932 void VIRTUAL_parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1933 parser_prod__AVarReassignExpr__n_id_61d(self, p0);
1934 RET_LABEL:;
1935 }
1936 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */
1937 void parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
1938 val* var_node /* var node: AAssignOp */;
1939 var_node = p0;
1940 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AVarReassignExpr> */
1941 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
1942 RET_LABEL:;
1943 }
1944 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
1945 void VIRTUAL_parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
1946 parser_prod__AVarReassignExpr__n_assign_op_61d(self, p0);
1947 RET_LABEL:;
1948 }
1949 /* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */
1950 void parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
1951 val* var_node /* var node: AExpr */;
1952 var_node = p0;
1953 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarReassignExpr> */
1954 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1955 RET_LABEL:;
1956 }
1957 /* method parser_prod#AVarReassignExpr#n_value= for (self: Object, AExpr) */
1958 void VIRTUAL_parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
1959 parser_prod__AVarReassignExpr__n_value_61d(self, p0);
1960 RET_LABEL:;
1961 }
1962 /* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */
1963 void parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
1964 val* var_v /* var v: Visitor */;
1965 val* var /* : TId */;
1966 val* var1 /* : AAssignOp */;
1967 val* var2 /* : AExpr */;
1968 var_v = p0;
1969 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
1970 if (var == NULL) {
1971 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1972 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8287);
1973 show_backtrace(1);
1974 }
1975 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1976 var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
1977 if (var1 == NULL) {
1978 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8288);
1980 show_backtrace(1);
1981 }
1982 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1983 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
1984 if (var2 == NULL) {
1985 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8289);
1987 show_backtrace(1);
1988 }
1989 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1990 RET_LABEL:;
1991 }
1992 /* method parser_prod#AVarReassignExpr#visit_all for (self: Object, Visitor) */
1993 void VIRTUAL_parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
1994 parser_prod__AVarReassignExpr__visit_all(self, p0);
1995 RET_LABEL:;
1996 }
1997 /* method parser_prod#ARangeExpr#empty_init for (self: ARangeExpr) */
1998 void parser_prod__ARangeExpr__empty_init(val* self) {
1999 RET_LABEL:;
2000 }
2001 /* method parser_prod#ARangeExpr#empty_init for (self: Object) */
2002 void VIRTUAL_parser_prod__ARangeExpr__empty_init(val* self) {
2003 parser_prod__ARangeExpr__empty_init(self);
2004 RET_LABEL:;
2005 }
2006 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: ARangeExpr, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2007 void parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2008 val* var_n_expr /* var n_expr: nullable AExpr */;
2009 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2010 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2011 val* var /* : null */;
2012 short int var1 /* : Bool */;
2013 var_n_expr = p0;
2014 var_n_expr2 = p1;
2015 var_n_annotations = p2;
2016 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ARangeExpr__empty_init]))(self) /* empty_init on <self:ARangeExpr>*/;
2017 if (var_n_expr == NULL) {
2018 fprintf(stderr, "Runtime error: %s", "Cast failed");
2019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8302);
2020 show_backtrace(1);
2021 }
2022 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ARangeExpr> */
2023 if (var_n_expr == NULL) {
2024 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8303);
2026 show_backtrace(1);
2027 } else {
2028 ((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>*/;
2029 }
2030 if (var_n_expr2 == NULL) {
2031 fprintf(stderr, "Runtime error: %s", "Cast failed");
2032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8304);
2033 show_backtrace(1);
2034 }
2035 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ARangeExpr> */
2036 if (var_n_expr2 == NULL) {
2037 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8305);
2039 show_backtrace(1);
2040 } else {
2041 ((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>*/;
2042 }
2043 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ARangeExpr> */
2044 var = NULL;
2045 if (var_n_annotations == NULL) {
2046 var1 = 0; /* is null */
2047 } else {
2048 var1 = 1; /* arg is null and recv is not */
2049 }
2050 if (var1){
2051 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
2052 } else {
2053 }
2054 RET_LABEL:;
2055 }
2056 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: Object, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2057 void VIRTUAL_parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2058 parser_prod__ARangeExpr__init_arangeexpr(self, p0, p1, p2);
2059 RET_LABEL:;
2060 }
2061 /* method parser_prod#ARangeExpr#replace_child for (self: ARangeExpr, ANode, nullable ANode) */
2062 void parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2063 val* var_old_child /* var old_child: ANode */;
2064 val* var_new_child /* var new_child: nullable ANode */;
2065 val* var /* : AExpr */;
2066 short int var1 /* : Bool */;
2067 val* var2 /* : null */;
2068 short int var3 /* : Bool */;
2069 short int var4 /* : Bool */;
2070 int cltype;
2071 int idtype;
2072 val* var5 /* : AExpr */;
2073 short int var6 /* : Bool */;
2074 val* var7 /* : null */;
2075 short int var8 /* : Bool */;
2076 short int var9 /* : Bool */;
2077 int cltype10;
2078 int idtype11;
2079 val* var12 /* : nullable AAnnotations */;
2080 short int var13 /* : Bool */;
2081 val* var14 /* : null */;
2082 short int var15 /* : Bool */;
2083 short int var16 /* : Bool */;
2084 int cltype17;
2085 int idtype18;
2086 val* var19 /* : null */;
2087 var_old_child = p0;
2088 var_new_child = p1;
2089 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2090 if (var == NULL) {
2091 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8314);
2093 show_backtrace(1);
2094 }
2095 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2096 if (var1){
2097 var2 = NULL;
2098 if (var_new_child == NULL) {
2099 var3 = 0; /* is null */
2100 } else {
2101 var3 = 1; /* arg is null and recv is not */
2102 }
2103 if (var3){
2104 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2105 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2106 cltype = type_parser_nodes__AExpr.color;
2107 idtype = type_parser_nodes__AExpr.id;
2108 if(cltype >= var_new_child->type->table_size) {
2109 var4 = 0;
2110 } else {
2111 var4 = var_new_child->type->type_table[cltype] == idtype;
2112 }
2113 if (!var4) {
2114 fprintf(stderr, "Runtime error: %s", "Assert failed");
2115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8317);
2116 show_backtrace(1);
2117 }
2118 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ARangeExpr> */
2119 } else {
2120 fprintf(stderr, "Runtime error: %s", "Aborted");
2121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8320);
2122 show_backtrace(1);
2123 }
2124 goto RET_LABEL;
2125 } else {
2126 }
2127 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2128 if (var5 == NULL) {
2129 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8324);
2131 show_backtrace(1);
2132 }
2133 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2134 if (var6){
2135 var7 = NULL;
2136 if (var_new_child == NULL) {
2137 var8 = 0; /* is null */
2138 } else {
2139 var8 = 1; /* arg is null and recv is not */
2140 }
2141 if (var8){
2142 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2143 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2144 cltype10 = type_parser_nodes__AExpr.color;
2145 idtype11 = type_parser_nodes__AExpr.id;
2146 if(cltype10 >= var_new_child->type->table_size) {
2147 var9 = 0;
2148 } else {
2149 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2150 }
2151 if (!var9) {
2152 fprintf(stderr, "Runtime error: %s", "Assert failed");
2153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8327);
2154 show_backtrace(1);
2155 }
2156 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ARangeExpr> */
2157 } else {
2158 fprintf(stderr, "Runtime error: %s", "Aborted");
2159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8330);
2160 show_backtrace(1);
2161 }
2162 goto RET_LABEL;
2163 } else {
2164 }
2165 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2166 if (var12 == NULL) {
2167 var13 = 0; /* <var_old_child:ANode> cannot be null */
2168 } else {
2169 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
2170 }
2171 if (var13){
2172 var14 = NULL;
2173 if (var_new_child == NULL) {
2174 var15 = 0; /* is null */
2175 } else {
2176 var15 = 1; /* arg is null and recv is not */
2177 }
2178 if (var15){
2179 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2180 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2181 cltype17 = type_parser_nodes__AAnnotations.color;
2182 idtype18 = type_parser_nodes__AAnnotations.id;
2183 if(cltype17 >= var_new_child->type->table_size) {
2184 var16 = 0;
2185 } else {
2186 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2187 }
2188 if (!var16) {
2189 fprintf(stderr, "Runtime error: %s", "Assert failed");
2190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8337);
2191 show_backtrace(1);
2192 }
2193 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ARangeExpr> */
2194 } else {
2195 var19 = NULL;
2196 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ARangeExpr> */
2197 }
2198 goto RET_LABEL;
2199 } else {
2200 }
2201 RET_LABEL:;
2202 }
2203 /* method parser_prod#ARangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2204 void VIRTUAL_parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2205 parser_prod__ARangeExpr__replace_child(self, p0, p1);
2206 RET_LABEL:;
2207 }
2208 /* method parser_prod#ARangeExpr#n_expr= for (self: ARangeExpr, AExpr) */
2209 void parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2210 val* var_node /* var node: AExpr */;
2211 var_node = p0;
2212 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ARangeExpr> */
2213 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2214 RET_LABEL:;
2215 }
2216 /* method parser_prod#ARangeExpr#n_expr= for (self: Object, AExpr) */
2217 void VIRTUAL_parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2218 parser_prod__ARangeExpr__n_expr_61d(self, p0);
2219 RET_LABEL:;
2220 }
2221 /* method parser_prod#ARangeExpr#n_expr2= for (self: ARangeExpr, AExpr) */
2222 void parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2223 val* var_node /* var node: AExpr */;
2224 var_node = p0;
2225 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ARangeExpr> */
2226 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2227 RET_LABEL:;
2228 }
2229 /* method parser_prod#ARangeExpr#n_expr2= for (self: Object, AExpr) */
2230 void VIRTUAL_parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2231 parser_prod__ARangeExpr__n_expr2_61d(self, p0);
2232 RET_LABEL:;
2233 }
2234 /* method parser_prod#ARangeExpr#n_annotations= for (self: ARangeExpr, nullable AAnnotations) */
2235 void parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2236 val* var_node /* var node: nullable AAnnotations */;
2237 val* var /* : null */;
2238 short int var1 /* : Bool */;
2239 var_node = p0;
2240 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ARangeExpr> */
2241 var = NULL;
2242 if (var_node == NULL) {
2243 var1 = 0; /* is null */
2244 } else {
2245 var1 = 1; /* arg is null and recv is not */
2246 }
2247 if (var1){
2248 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2249 } else {
2250 }
2251 RET_LABEL:;
2252 }
2253 /* method parser_prod#ARangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2254 void VIRTUAL_parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2255 parser_prod__ARangeExpr__n_annotations_61d(self, p0);
2256 RET_LABEL:;
2257 }
2258 /* method parser_prod#ARangeExpr#visit_all for (self: ARangeExpr, Visitor) */
2259 void parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2260 val* var_v /* var v: Visitor */;
2261 val* var /* : AExpr */;
2262 val* var1 /* : AExpr */;
2263 val* var2 /* : nullable AAnnotations */;
2264 val* var3 /* : null */;
2265 short int var4 /* : Bool */;
2266 val* var5 /* : nullable AAnnotations */;
2267 var_v = p0;
2268 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2269 if (var == NULL) {
2270 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8367);
2272 show_backtrace(1);
2273 }
2274 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2275 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2276 if (var1 == NULL) {
2277 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8368);
2279 show_backtrace(1);
2280 }
2281 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2282 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2283 var3 = NULL;
2284 if (var2 == NULL) {
2285 var4 = 0; /* is null */
2286 } else {
2287 var4 = 1; /* arg is null and recv is not */
2288 }
2289 if (var4){
2290 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2291 if (var5 == NULL) {
2292 fprintf(stderr, "Runtime error: %s", "Cast failed");
2293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8370);
2294 show_backtrace(1);
2295 }
2296 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2297 } else {
2298 }
2299 RET_LABEL:;
2300 }
2301 /* method parser_prod#ARangeExpr#visit_all for (self: Object, Visitor) */
2302 void VIRTUAL_parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2303 parser_prod__ARangeExpr__visit_all(self, p0);
2304 RET_LABEL:;
2305 }
2306 /* method parser_prod#ACrangeExpr#empty_init for (self: ACrangeExpr) */
2307 void parser_prod__ACrangeExpr__empty_init(val* self) {
2308 RET_LABEL:;
2309 }
2310 /* method parser_prod#ACrangeExpr#empty_init for (self: Object) */
2311 void VIRTUAL_parser_prod__ACrangeExpr__empty_init(val* self) {
2312 parser_prod__ACrangeExpr__empty_init(self);
2313 RET_LABEL:;
2314 }
2315 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2316 void parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2317 val* var_n_obra /* var n_obra: nullable TObra */;
2318 val* var_n_expr /* var n_expr: nullable AExpr */;
2319 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2320 val* var_n_cbra /* var n_cbra: nullable TCbra */;
2321 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2322 val* var /* : null */;
2323 short int var1 /* : Bool */;
2324 var_n_obra = p0;
2325 var_n_expr = p1;
2326 var_n_expr2 = p2;
2327 var_n_cbra = p3;
2328 var_n_annotations = p4;
2329 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACrangeExpr__empty_init]))(self) /* empty_init on <self:ACrangeExpr>*/;
2330 if (var_n_obra == NULL) {
2331 fprintf(stderr, "Runtime error: %s", "Cast failed");
2332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8386);
2333 show_backtrace(1);
2334 }
2335 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:ACrangeExpr> */
2336 if (var_n_obra == NULL) {
2337 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8387);
2339 show_backtrace(1);
2340 } else {
2341 ((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on <var_n_obra:nullable TObra>*/;
2342 }
2343 if (var_n_expr == NULL) {
2344 fprintf(stderr, "Runtime error: %s", "Cast failed");
2345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8388);
2346 show_backtrace(1);
2347 }
2348 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACrangeExpr> */
2349 if (var_n_expr == NULL) {
2350 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8389);
2352 show_backtrace(1);
2353 } else {
2354 ((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>*/;
2355 }
2356 if (var_n_expr2 == NULL) {
2357 fprintf(stderr, "Runtime error: %s", "Cast failed");
2358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8390);
2359 show_backtrace(1);
2360 }
2361 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ACrangeExpr> */
2362 if (var_n_expr2 == NULL) {
2363 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8391);
2365 show_backtrace(1);
2366 } else {
2367 ((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>*/;
2368 }
2369 if (var_n_cbra == NULL) {
2370 fprintf(stderr, "Runtime error: %s", "Cast failed");
2371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8392);
2372 show_backtrace(1);
2373 }
2374 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ACrangeExpr> */
2375 if (var_n_cbra == NULL) {
2376 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8393);
2378 show_backtrace(1);
2379 } else {
2380 ((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on <var_n_cbra:nullable TCbra>*/;
2381 }
2382 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACrangeExpr> */
2383 var = NULL;
2384 if (var_n_annotations == NULL) {
2385 var1 = 0; /* is null */
2386 } else {
2387 var1 = 1; /* arg is null and recv is not */
2388 }
2389 if (var1){
2390 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
2391 } else {
2392 }
2393 RET_LABEL:;
2394 }
2395 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2396 void VIRTUAL_parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2397 parser_prod__ACrangeExpr__init_acrangeexpr(self, p0, p1, p2, p3, p4);
2398 RET_LABEL:;
2399 }
2400 /* method parser_prod#ACrangeExpr#replace_child for (self: ACrangeExpr, ANode, nullable ANode) */
2401 void parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2402 val* var_old_child /* var old_child: ANode */;
2403 val* var_new_child /* var new_child: nullable ANode */;
2404 val* var /* : TObra */;
2405 short int var1 /* : Bool */;
2406 val* var2 /* : null */;
2407 short int var3 /* : Bool */;
2408 short int var4 /* : Bool */;
2409 int cltype;
2410 int idtype;
2411 val* var5 /* : AExpr */;
2412 short int var6 /* : Bool */;
2413 val* var7 /* : null */;
2414 short int var8 /* : Bool */;
2415 short int var9 /* : Bool */;
2416 int cltype10;
2417 int idtype11;
2418 val* var12 /* : AExpr */;
2419 short int var13 /* : Bool */;
2420 val* var14 /* : null */;
2421 short int var15 /* : Bool */;
2422 short int var16 /* : Bool */;
2423 int cltype17;
2424 int idtype18;
2425 val* var19 /* : TCbra */;
2426 short int var20 /* : Bool */;
2427 val* var21 /* : null */;
2428 short int var22 /* : Bool */;
2429 short int var23 /* : Bool */;
2430 int cltype24;
2431 int idtype25;
2432 val* var26 /* : nullable AAnnotations */;
2433 short int var27 /* : Bool */;
2434 val* var28 /* : null */;
2435 short int var29 /* : Bool */;
2436 short int var30 /* : Bool */;
2437 int cltype31;
2438 int idtype32;
2439 val* var33 /* : null */;
2440 var_old_child = p0;
2441 var_new_child = p1;
2442 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2443 if (var == NULL) {
2444 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8402);
2446 show_backtrace(1);
2447 }
2448 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2449 if (var1){
2450 var2 = NULL;
2451 if (var_new_child == NULL) {
2452 var3 = 0; /* is null */
2453 } else {
2454 var3 = 1; /* arg is null and recv is not */
2455 }
2456 if (var3){
2457 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2458 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2459 cltype = type_parser_nodes__TObra.color;
2460 idtype = type_parser_nodes__TObra.id;
2461 if(cltype >= var_new_child->type->table_size) {
2462 var4 = 0;
2463 } else {
2464 var4 = var_new_child->type->type_table[cltype] == idtype;
2465 }
2466 if (!var4) {
2467 fprintf(stderr, "Runtime error: %s", "Assert failed");
2468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8405);
2469 show_backtrace(1);
2470 }
2471 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:ACrangeExpr> */
2472 } else {
2473 fprintf(stderr, "Runtime error: %s", "Aborted");
2474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8408);
2475 show_backtrace(1);
2476 }
2477 goto RET_LABEL;
2478 } else {
2479 }
2480 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2481 if (var5 == NULL) {
2482 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8412);
2484 show_backtrace(1);
2485 }
2486 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2487 if (var6){
2488 var7 = NULL;
2489 if (var_new_child == NULL) {
2490 var8 = 0; /* is null */
2491 } else {
2492 var8 = 1; /* arg is null and recv is not */
2493 }
2494 if (var8){
2495 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2496 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2497 cltype10 = type_parser_nodes__AExpr.color;
2498 idtype11 = type_parser_nodes__AExpr.id;
2499 if(cltype10 >= var_new_child->type->table_size) {
2500 var9 = 0;
2501 } else {
2502 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2503 }
2504 if (!var9) {
2505 fprintf(stderr, "Runtime error: %s", "Assert failed");
2506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8415);
2507 show_backtrace(1);
2508 }
2509 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACrangeExpr> */
2510 } else {
2511 fprintf(stderr, "Runtime error: %s", "Aborted");
2512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8418);
2513 show_backtrace(1);
2514 }
2515 goto RET_LABEL;
2516 } else {
2517 }
2518 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2519 if (var12 == NULL) {
2520 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2521 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8422);
2522 show_backtrace(1);
2523 }
2524 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
2525 if (var13){
2526 var14 = NULL;
2527 if (var_new_child == NULL) {
2528 var15 = 0; /* is null */
2529 } else {
2530 var15 = 1; /* arg is null and recv is not */
2531 }
2532 if (var15){
2533 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2534 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2535 cltype17 = type_parser_nodes__AExpr.color;
2536 idtype18 = type_parser_nodes__AExpr.id;
2537 if(cltype17 >= var_new_child->type->table_size) {
2538 var16 = 0;
2539 } else {
2540 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2541 }
2542 if (!var16) {
2543 fprintf(stderr, "Runtime error: %s", "Assert failed");
2544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8425);
2545 show_backtrace(1);
2546 }
2547 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ACrangeExpr> */
2548 } else {
2549 fprintf(stderr, "Runtime error: %s", "Aborted");
2550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8428);
2551 show_backtrace(1);
2552 }
2553 goto RET_LABEL;
2554 } else {
2555 }
2556 var19 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2557 if (var19 == NULL) {
2558 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
2559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8432);
2560 show_backtrace(1);
2561 }
2562 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TCbra>*/;
2563 if (var20){
2564 var21 = NULL;
2565 if (var_new_child == NULL) {
2566 var22 = 0; /* is null */
2567 } else {
2568 var22 = 1; /* arg is null and recv is not */
2569 }
2570 if (var22){
2571 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2572 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
2573 cltype24 = type_parser_nodes__TCbra.color;
2574 idtype25 = type_parser_nodes__TCbra.id;
2575 if(cltype24 >= var_new_child->type->table_size) {
2576 var23 = 0;
2577 } else {
2578 var23 = var_new_child->type->type_table[cltype24] == idtype25;
2579 }
2580 if (!var23) {
2581 fprintf(stderr, "Runtime error: %s", "Assert failed");
2582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8435);
2583 show_backtrace(1);
2584 }
2585 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:ACrangeExpr> */
2586 } else {
2587 fprintf(stderr, "Runtime error: %s", "Aborted");
2588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8438);
2589 show_backtrace(1);
2590 }
2591 goto RET_LABEL;
2592 } else {
2593 }
2594 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2595 if (var26 == NULL) {
2596 var27 = 0; /* <var_old_child:ANode> cannot be null */
2597 } else {
2598 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
2599 }
2600 if (var27){
2601 var28 = NULL;
2602 if (var_new_child == NULL) {
2603 var29 = 0; /* is null */
2604 } else {
2605 var29 = 1; /* arg is null and recv is not */
2606 }
2607 if (var29){
2608 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2609 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2610 cltype31 = type_parser_nodes__AAnnotations.color;
2611 idtype32 = type_parser_nodes__AAnnotations.id;
2612 if(cltype31 >= var_new_child->type->table_size) {
2613 var30 = 0;
2614 } else {
2615 var30 = var_new_child->type->type_table[cltype31] == idtype32;
2616 }
2617 if (!var30) {
2618 fprintf(stderr, "Runtime error: %s", "Assert failed");
2619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8445);
2620 show_backtrace(1);
2621 }
2622 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACrangeExpr> */
2623 } else {
2624 var33 = NULL;
2625 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:ACrangeExpr> */
2626 }
2627 goto RET_LABEL;
2628 } else {
2629 }
2630 RET_LABEL:;
2631 }
2632 /* method parser_prod#ACrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2633 void VIRTUAL_parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2634 parser_prod__ACrangeExpr__replace_child(self, p0, p1);
2635 RET_LABEL:;
2636 }
2637 /* method parser_prod#ACrangeExpr#n_obra= for (self: ACrangeExpr, TObra) */
2638 void parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2639 val* var_node /* var node: TObra */;
2640 var_node = p0;
2641 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_node; /* _n_obra on <self:ACrangeExpr> */
2642 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
2643 RET_LABEL:;
2644 }
2645 /* method parser_prod#ACrangeExpr#n_obra= for (self: Object, TObra) */
2646 void VIRTUAL_parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2647 parser_prod__ACrangeExpr__n_obra_61d(self, p0);
2648 RET_LABEL:;
2649 }
2650 /* method parser_prod#ACrangeExpr#n_expr= for (self: ACrangeExpr, AExpr) */
2651 void parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2652 val* var_node /* var node: AExpr */;
2653 var_node = p0;
2654 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ACrangeExpr> */
2655 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2656 RET_LABEL:;
2657 }
2658 /* method parser_prod#ACrangeExpr#n_expr= for (self: Object, AExpr) */
2659 void VIRTUAL_parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2660 parser_prod__ACrangeExpr__n_expr_61d(self, p0);
2661 RET_LABEL:;
2662 }
2663 /* method parser_prod#ACrangeExpr#n_expr2= for (self: ACrangeExpr, AExpr) */
2664 void parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2665 val* var_node /* var node: AExpr */;
2666 var_node = p0;
2667 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ACrangeExpr> */
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#ACrangeExpr#n_expr2= for (self: Object, AExpr) */
2672 void VIRTUAL_parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2673 parser_prod__ACrangeExpr__n_expr2_61d(self, p0);
2674 RET_LABEL:;
2675 }
2676 /* method parser_prod#ACrangeExpr#n_cbra= for (self: ACrangeExpr, TCbra) */
2677 void parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2678 val* var_node /* var node: TCbra */;
2679 var_node = p0;
2680 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:ACrangeExpr> */
2681 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
2682 RET_LABEL:;
2683 }
2684 /* method parser_prod#ACrangeExpr#n_cbra= for (self: Object, TCbra) */
2685 void VIRTUAL_parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2686 parser_prod__ACrangeExpr__n_cbra_61d(self, p0);
2687 RET_LABEL:;
2688 }
2689 /* method parser_prod#ACrangeExpr#n_annotations= for (self: ACrangeExpr, nullable AAnnotations) */
2690 void parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2691 val* var_node /* var node: nullable AAnnotations */;
2692 val* var /* : null */;
2693 short int var1 /* : Bool */;
2694 var_node = p0;
2695 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACrangeExpr> */
2696 var = NULL;
2697 if (var_node == NULL) {
2698 var1 = 0; /* is null */
2699 } else {
2700 var1 = 1; /* arg is null and recv is not */
2701 }
2702 if (var1){
2703 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2704 } else {
2705 }
2706 RET_LABEL:;
2707 }
2708 /* method parser_prod#ACrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2709 void VIRTUAL_parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2710 parser_prod__ACrangeExpr__n_annotations_61d(self, p0);
2711 RET_LABEL:;
2712 }
2713 /* method parser_prod#ACrangeExpr#visit_all for (self: ACrangeExpr, Visitor) */
2714 void parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2715 val* var_v /* var v: Visitor */;
2716 val* var /* : TObra */;
2717 val* var1 /* : AExpr */;
2718 val* var2 /* : AExpr */;
2719 val* var3 /* : TCbra */;
2720 val* var4 /* : nullable AAnnotations */;
2721 val* var5 /* : null */;
2722 short int var6 /* : Bool */;
2723 val* var7 /* : nullable AAnnotations */;
2724 var_v = p0;
2725 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2726 if (var == NULL) {
2727 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8485);
2729 show_backtrace(1);
2730 }
2731 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2732 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2733 if (var1 == NULL) {
2734 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8486);
2736 show_backtrace(1);
2737 }
2738 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2739 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2740 if (var2 == NULL) {
2741 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8487);
2743 show_backtrace(1);
2744 }
2745 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
2746 var3 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2747 if (var3 == NULL) {
2748 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
2749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8488);
2750 show_backtrace(1);
2751 }
2752 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
2753 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2754 var5 = NULL;
2755 if (var4 == NULL) {
2756 var6 = 0; /* is null */
2757 } else {
2758 var6 = 1; /* arg is null and recv is not */
2759 }
2760 if (var6){
2761 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2762 if (var7 == NULL) {
2763 fprintf(stderr, "Runtime error: %s", "Cast failed");
2764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8490);
2765 show_backtrace(1);
2766 }
2767 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
2768 } else {
2769 }
2770 RET_LABEL:;
2771 }
2772 /* method parser_prod#ACrangeExpr#visit_all for (self: Object, Visitor) */
2773 void VIRTUAL_parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2774 parser_prod__ACrangeExpr__visit_all(self, p0);
2775 RET_LABEL:;
2776 }
2777 /* method parser_prod#AOrangeExpr#empty_init for (self: AOrangeExpr) */
2778 void parser_prod__AOrangeExpr__empty_init(val* self) {
2779 RET_LABEL:;
2780 }
2781 /* method parser_prod#AOrangeExpr#empty_init for (self: Object) */
2782 void VIRTUAL_parser_prod__AOrangeExpr__empty_init(val* self) {
2783 parser_prod__AOrangeExpr__empty_init(self);
2784 RET_LABEL:;
2785 }
2786 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: AOrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2787 void parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2788 val* var_n_obra /* var n_obra: nullable TObra */;
2789 val* var_n_expr /* var n_expr: nullable AExpr */;
2790 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2791 val* var_n_cbra /* var n_cbra: nullable TObra */;
2792 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2793 val* var /* : null */;
2794 short int var1 /* : Bool */;
2795 var_n_obra = p0;
2796 var_n_expr = p1;
2797 var_n_expr2 = p2;
2798 var_n_cbra = p3;
2799 var_n_annotations = p4;
2800 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrangeExpr__empty_init]))(self) /* empty_init on <self:AOrangeExpr>*/;
2801 if (var_n_obra == NULL) {
2802 fprintf(stderr, "Runtime error: %s", "Cast failed");
2803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8506);
2804 show_backtrace(1);
2805 }
2806 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:AOrangeExpr> */
2807 if (var_n_obra == NULL) {
2808 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8507);
2810 show_backtrace(1);
2811 } else {
2812 ((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on <var_n_obra:nullable TObra>*/;
2813 }
2814 if (var_n_expr == NULL) {
2815 fprintf(stderr, "Runtime error: %s", "Cast failed");
2816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8508);
2817 show_backtrace(1);
2818 }
2819 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrangeExpr> */
2820 if (var_n_expr == NULL) {
2821 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8509);
2823 show_backtrace(1);
2824 } else {
2825 ((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>*/;
2826 }
2827 if (var_n_expr2 == NULL) {
2828 fprintf(stderr, "Runtime error: %s", "Cast failed");
2829 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8510);
2830 show_backtrace(1);
2831 }
2832 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrangeExpr> */
2833 if (var_n_expr2 == NULL) {
2834 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8511);
2836 show_backtrace(1);
2837 } else {
2838 ((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>*/;
2839 }
2840 if (var_n_cbra == NULL) {
2841 fprintf(stderr, "Runtime error: %s", "Cast failed");
2842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8512);
2843 show_backtrace(1);
2844 }
2845 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:AOrangeExpr> */
2846 if (var_n_cbra == NULL) {
2847 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8513);
2849 show_backtrace(1);
2850 } else {
2851 ((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on <var_n_cbra:nullable TObra>*/;
2852 }
2853 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AOrangeExpr> */
2854 var = NULL;
2855 if (var_n_annotations == NULL) {
2856 var1 = 0; /* is null */
2857 } else {
2858 var1 = 1; /* arg is null and recv is not */
2859 }
2860 if (var1){
2861 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
2862 } else {
2863 }
2864 RET_LABEL:;
2865 }
2866 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2867 void VIRTUAL_parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2868 parser_prod__AOrangeExpr__init_aorangeexpr(self, p0, p1, p2, p3, p4);
2869 RET_LABEL:;
2870 }
2871 /* method parser_prod#AOrangeExpr#replace_child for (self: AOrangeExpr, ANode, nullable ANode) */
2872 void parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
2873 val* var_old_child /* var old_child: ANode */;
2874 val* var_new_child /* var new_child: nullable ANode */;
2875 val* var /* : TObra */;
2876 short int var1 /* : Bool */;
2877 val* var2 /* : null */;
2878 short int var3 /* : Bool */;
2879 short int var4 /* : Bool */;
2880 int cltype;
2881 int idtype;
2882 val* var5 /* : AExpr */;
2883 short int var6 /* : Bool */;
2884 val* var7 /* : null */;
2885 short int var8 /* : Bool */;
2886 short int var9 /* : Bool */;
2887 int cltype10;
2888 int idtype11;
2889 val* var12 /* : AExpr */;
2890 short int var13 /* : Bool */;
2891 val* var14 /* : null */;
2892 short int var15 /* : Bool */;
2893 short int var16 /* : Bool */;
2894 int cltype17;
2895 int idtype18;
2896 val* var19 /* : TObra */;
2897 short int var20 /* : Bool */;
2898 val* var21 /* : null */;
2899 short int var22 /* : Bool */;
2900 short int var23 /* : Bool */;
2901 int cltype24;
2902 int idtype25;
2903 val* var26 /* : nullable AAnnotations */;
2904 short int var27 /* : Bool */;
2905 val* var28 /* : null */;
2906 short int var29 /* : Bool */;
2907 short int var30 /* : Bool */;
2908 int cltype31;
2909 int idtype32;
2910 val* var33 /* : null */;
2911 var_old_child = p0;
2912 var_new_child = p1;
2913 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
2914 if (var == NULL) {
2915 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8522);
2917 show_backtrace(1);
2918 }
2919 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2920 if (var1){
2921 var2 = NULL;
2922 if (var_new_child == NULL) {
2923 var3 = 0; /* is null */
2924 } else {
2925 var3 = 1; /* arg is null and recv is not */
2926 }
2927 if (var3){
2928 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2929 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2930 cltype = type_parser_nodes__TObra.color;
2931 idtype = type_parser_nodes__TObra.id;
2932 if(cltype >= var_new_child->type->table_size) {
2933 var4 = 0;
2934 } else {
2935 var4 = var_new_child->type->type_table[cltype] == idtype;
2936 }
2937 if (!var4) {
2938 fprintf(stderr, "Runtime error: %s", "Assert failed");
2939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8525);
2940 show_backtrace(1);
2941 }
2942 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:AOrangeExpr> */
2943 } else {
2944 fprintf(stderr, "Runtime error: %s", "Aborted");
2945 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8528);
2946 show_backtrace(1);
2947 }
2948 goto RET_LABEL;
2949 } else {
2950 }
2951 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
2952 if (var5 == NULL) {
2953 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2954 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8532);
2955 show_backtrace(1);
2956 }
2957 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2958 if (var6){
2959 var7 = NULL;
2960 if (var_new_child == NULL) {
2961 var8 = 0; /* is null */
2962 } else {
2963 var8 = 1; /* arg is null and recv is not */
2964 }
2965 if (var8){
2966 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2967 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2968 cltype10 = type_parser_nodes__AExpr.color;
2969 idtype11 = type_parser_nodes__AExpr.id;
2970 if(cltype10 >= var_new_child->type->table_size) {
2971 var9 = 0;
2972 } else {
2973 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2974 }
2975 if (!var9) {
2976 fprintf(stderr, "Runtime error: %s", "Assert failed");
2977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8535);
2978 show_backtrace(1);
2979 }
2980 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrangeExpr> */
2981 } else {
2982 fprintf(stderr, "Runtime error: %s", "Aborted");
2983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8538);
2984 show_backtrace(1);
2985 }
2986 goto RET_LABEL;
2987 } else {
2988 }
2989 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
2990 if (var12 == NULL) {
2991 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2992 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8542);
2993 show_backtrace(1);
2994 }
2995 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
2996 if (var13){
2997 var14 = NULL;
2998 if (var_new_child == NULL) {
2999 var15 = 0; /* is null */
3000 } else {
3001 var15 = 1; /* arg is null and recv is not */
3002 }
3003 if (var15){
3004 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3005 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3006 cltype17 = type_parser_nodes__AExpr.color;
3007 idtype18 = type_parser_nodes__AExpr.id;
3008 if(cltype17 >= var_new_child->type->table_size) {
3009 var16 = 0;
3010 } else {
3011 var16 = var_new_child->type->type_table[cltype17] == idtype18;
3012 }
3013 if (!var16) {
3014 fprintf(stderr, "Runtime error: %s", "Assert failed");
3015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8545);
3016 show_backtrace(1);
3017 }
3018 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrangeExpr> */
3019 } else {
3020 fprintf(stderr, "Runtime error: %s", "Aborted");
3021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8548);
3022 show_backtrace(1);
3023 }
3024 goto RET_LABEL;
3025 } else {
3026 }
3027 var19 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3028 if (var19 == NULL) {
3029 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
3030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8552);
3031 show_backtrace(1);
3032 }
3033 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TObra>*/;
3034 if (var20){
3035 var21 = NULL;
3036 if (var_new_child == NULL) {
3037 var22 = 0; /* is null */
3038 } else {
3039 var22 = 1; /* arg is null and recv is not */
3040 }
3041 if (var22){
3042 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3043 /* <var_new_child:nullable ANode(ANode)> isa TObra */
3044 cltype24 = type_parser_nodes__TObra.color;
3045 idtype25 = type_parser_nodes__TObra.id;
3046 if(cltype24 >= var_new_child->type->table_size) {
3047 var23 = 0;
3048 } else {
3049 var23 = var_new_child->type->type_table[cltype24] == idtype25;
3050 }
3051 if (!var23) {
3052 fprintf(stderr, "Runtime error: %s", "Assert failed");
3053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8555);
3054 show_backtrace(1);
3055 }
3056 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:AOrangeExpr> */
3057 } else {
3058 fprintf(stderr, "Runtime error: %s", "Aborted");
3059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8558);
3060 show_backtrace(1);
3061 }
3062 goto RET_LABEL;
3063 } else {
3064 }
3065 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3066 if (var26 == NULL) {
3067 var27 = 0; /* <var_old_child:ANode> cannot be null */
3068 } else {
3069 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
3070 }
3071 if (var27){
3072 var28 = NULL;
3073 if (var_new_child == NULL) {
3074 var29 = 0; /* is null */
3075 } else {
3076 var29 = 1; /* arg is null and recv is not */
3077 }
3078 if (var29){
3079 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3080 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3081 cltype31 = type_parser_nodes__AAnnotations.color;
3082 idtype32 = type_parser_nodes__AAnnotations.id;
3083 if(cltype31 >= var_new_child->type->table_size) {
3084 var30 = 0;
3085 } else {
3086 var30 = var_new_child->type->type_table[cltype31] == idtype32;
3087 }
3088 if (!var30) {
3089 fprintf(stderr, "Runtime error: %s", "Assert failed");
3090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8565);
3091 show_backtrace(1);
3092 }
3093 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AOrangeExpr> */
3094 } else {
3095 var33 = NULL;
3096 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:AOrangeExpr> */
3097 }
3098 goto RET_LABEL;
3099 } else {
3100 }
3101 RET_LABEL:;
3102 }
3103 /* method parser_prod#AOrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
3104 void VIRTUAL_parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
3105 parser_prod__AOrangeExpr__replace_child(self, p0, p1);
3106 RET_LABEL:;
3107 }
3108 /* method parser_prod#AOrangeExpr#n_obra= for (self: AOrangeExpr, TObra) */
3109 void parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3110 val* var_node /* var node: TObra */;
3111 var_node = p0;
3112 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_node; /* _n_obra on <self:AOrangeExpr> */
3113 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3114 RET_LABEL:;
3115 }
3116 /* method parser_prod#AOrangeExpr#n_obra= for (self: Object, TObra) */
3117 void VIRTUAL_parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3118 parser_prod__AOrangeExpr__n_obra_61d(self, p0);
3119 RET_LABEL:;
3120 }
3121 /* method parser_prod#AOrangeExpr#n_expr= for (self: AOrangeExpr, AExpr) */
3122 void parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3123 val* var_node /* var node: AExpr */;
3124 var_node = p0;
3125 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:AOrangeExpr> */
3126 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3127 RET_LABEL:;
3128 }
3129 /* method parser_prod#AOrangeExpr#n_expr= for (self: Object, AExpr) */
3130 void VIRTUAL_parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3131 parser_prod__AOrangeExpr__n_expr_61d(self, p0);
3132 RET_LABEL:;
3133 }
3134 /* method parser_prod#AOrangeExpr#n_expr2= for (self: AOrangeExpr, AExpr) */
3135 void parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3136 val* var_node /* var node: AExpr */;
3137 var_node = p0;
3138 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrangeExpr> */
3139 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3140 RET_LABEL:;
3141 }
3142 /* method parser_prod#AOrangeExpr#n_expr2= for (self: Object, AExpr) */
3143 void VIRTUAL_parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3144 parser_prod__AOrangeExpr__n_expr2_61d(self, p0);
3145 RET_LABEL:;
3146 }
3147 /* method parser_prod#AOrangeExpr#n_cbra= for (self: AOrangeExpr, TObra) */
3148 void parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3149 val* var_node /* var node: TObra */;
3150 var_node = p0;
3151 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:AOrangeExpr> */
3152 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3153 RET_LABEL:;
3154 }
3155 /* method parser_prod#AOrangeExpr#n_cbra= for (self: Object, TObra) */
3156 void VIRTUAL_parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3157 parser_prod__AOrangeExpr__n_cbra_61d(self, p0);
3158 RET_LABEL:;
3159 }
3160 /* method parser_prod#AOrangeExpr#n_annotations= for (self: AOrangeExpr, nullable AAnnotations) */
3161 void parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3162 val* var_node /* var node: nullable AAnnotations */;
3163 val* var /* : null */;
3164 short int var1 /* : Bool */;
3165 var_node = p0;
3166 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AOrangeExpr> */
3167 var = NULL;
3168 if (var_node == NULL) {
3169 var1 = 0; /* is null */
3170 } else {
3171 var1 = 1; /* arg is null and recv is not */
3172 }
3173 if (var1){
3174 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3175 } else {
3176 }
3177 RET_LABEL:;
3178 }
3179 /* method parser_prod#AOrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3180 void VIRTUAL_parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3181 parser_prod__AOrangeExpr__n_annotations_61d(self, p0);
3182 RET_LABEL:;
3183 }
3184 /* method parser_prod#AOrangeExpr#visit_all for (self: AOrangeExpr, Visitor) */
3185 void parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3186 val* var_v /* var v: Visitor */;
3187 val* var /* : TObra */;
3188 val* var1 /* : AExpr */;
3189 val* var2 /* : AExpr */;
3190 val* var3 /* : TObra */;
3191 val* var4 /* : nullable AAnnotations */;
3192 val* var5 /* : null */;
3193 short int var6 /* : Bool */;
3194 val* var7 /* : nullable AAnnotations */;
3195 var_v = p0;
3196 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
3197 if (var == NULL) {
3198 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
3199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8605);
3200 show_backtrace(1);
3201 }
3202 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3203 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
3204 if (var1 == NULL) {
3205 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8606);
3207 show_backtrace(1);
3208 }
3209 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3210 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
3211 if (var2 == NULL) {
3212 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8607);
3214 show_backtrace(1);
3215 }
3216 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
3217 var3 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3218 if (var3 == NULL) {
3219 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
3220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8608);
3221 show_backtrace(1);
3222 }
3223 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3224 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3225 var5 = NULL;
3226 if (var4 == NULL) {
3227 var6 = 0; /* is null */
3228 } else {
3229 var6 = 1; /* arg is null and recv is not */
3230 }
3231 if (var6){
3232 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3233 if (var7 == NULL) {
3234 fprintf(stderr, "Runtime error: %s", "Cast failed");
3235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8610);
3236 show_backtrace(1);
3237 }
3238 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3239 } else {
3240 }
3241 RET_LABEL:;
3242 }
3243 /* method parser_prod#AOrangeExpr#visit_all for (self: Object, Visitor) */
3244 void VIRTUAL_parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3245 parser_prod__AOrangeExpr__visit_all(self, p0);
3246 RET_LABEL:;
3247 }
3248 /* method parser_prod#AArrayExpr#empty_init for (self: AArrayExpr) */
3249 void parser_prod__AArrayExpr__empty_init(val* self) {
3250 RET_LABEL:;
3251 }
3252 /* method parser_prod#AArrayExpr#empty_init for (self: Object) */
3253 void VIRTUAL_parser_prod__AArrayExpr__empty_init(val* self) {
3254 parser_prod__AArrayExpr__empty_init(self);
3255 RET_LABEL:;
3256 }
3257 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: AArrayExpr, nullable AExprs, nullable AAnnotations) */
3258 void parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3259 val* var_n_exprs /* var n_exprs: nullable AExprs */;
3260 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3261 val* var /* : null */;
3262 short int var1 /* : Bool */;
3263 var_n_exprs = p0;
3264 var_n_annotations = p1;
3265 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AArrayExpr__empty_init]))(self) /* empty_init on <self:AArrayExpr>*/;
3266 if (var_n_exprs == NULL) {
3267 fprintf(stderr, "Runtime error: %s", "Cast failed");
3268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8623);
3269 show_backtrace(1);
3270 }
3271 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_n_exprs; /* _n_exprs on <self:AArrayExpr> */
3272 if (var_n_exprs == NULL) {
3273 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8624);
3275 show_backtrace(1);
3276 } else {
3277 ((void (*)(val*, val*))(var_n_exprs->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_exprs, self) /* parent= on <var_n_exprs:nullable AExprs>*/;
3278 }
3279 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AArrayExpr> */
3280 var = NULL;
3281 if (var_n_annotations == NULL) {
3282 var1 = 0; /* is null */
3283 } else {
3284 var1 = 1; /* arg is null and recv is not */
3285 }
3286 if (var1){
3287 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
3288 } else {
3289 }
3290 RET_LABEL:;
3291 }
3292 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: Object, nullable AExprs, nullable AAnnotations) */
3293 void VIRTUAL_parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3294 parser_prod__AArrayExpr__init_aarrayexpr(self, p0, p1);
3295 RET_LABEL:;
3296 }
3297 /* method parser_prod#AArrayExpr#replace_child for (self: AArrayExpr, ANode, nullable ANode) */
3298 void parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3299 val* var_old_child /* var old_child: ANode */;
3300 val* var_new_child /* var new_child: nullable ANode */;
3301 val* var /* : AExprs */;
3302 short int var1 /* : Bool */;
3303 val* var2 /* : null */;
3304 short int var3 /* : Bool */;
3305 short int var4 /* : Bool */;
3306 int cltype;
3307 int idtype;
3308 val* var5 /* : nullable AAnnotations */;
3309 short int var6 /* : Bool */;
3310 val* var7 /* : null */;
3311 short int var8 /* : Bool */;
3312 short int var9 /* : Bool */;
3313 int cltype10;
3314 int idtype11;
3315 val* var12 /* : null */;
3316 var_old_child = p0;
3317 var_new_child = p1;
3318 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3319 if (var == NULL) {
3320 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
3321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8633);
3322 show_backtrace(1);
3323 }
3324 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExprs>*/;
3325 if (var1){
3326 var2 = NULL;
3327 if (var_new_child == NULL) {
3328 var3 = 0; /* is null */
3329 } else {
3330 var3 = 1; /* arg is null and recv is not */
3331 }
3332 if (var3){
3333 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3334 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
3335 cltype = type_parser_nodes__AExprs.color;
3336 idtype = type_parser_nodes__AExprs.id;
3337 if(cltype >= var_new_child->type->table_size) {
3338 var4 = 0;
3339 } else {
3340 var4 = var_new_child->type->type_table[cltype] == idtype;
3341 }
3342 if (!var4) {
3343 fprintf(stderr, "Runtime error: %s", "Assert failed");
3344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8636);
3345 show_backtrace(1);
3346 }
3347 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_new_child; /* _n_exprs on <self:AArrayExpr> */
3348 } else {
3349 fprintf(stderr, "Runtime error: %s", "Aborted");
3350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8639);
3351 show_backtrace(1);
3352 }
3353 goto RET_LABEL;
3354 } else {
3355 }
3356 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3357 if (var5 == NULL) {
3358 var6 = 0; /* <var_old_child:ANode> cannot be null */
3359 } else {
3360 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3361 }
3362 if (var6){
3363 var7 = NULL;
3364 if (var_new_child == NULL) {
3365 var8 = 0; /* is null */
3366 } else {
3367 var8 = 1; /* arg is null and recv is not */
3368 }
3369 if (var8){
3370 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3371 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3372 cltype10 = type_parser_nodes__AAnnotations.color;
3373 idtype11 = type_parser_nodes__AAnnotations.id;
3374 if(cltype10 >= var_new_child->type->table_size) {
3375 var9 = 0;
3376 } else {
3377 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3378 }
3379 if (!var9) {
3380 fprintf(stderr, "Runtime error: %s", "Assert failed");
3381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8646);
3382 show_backtrace(1);
3383 }
3384 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AArrayExpr> */
3385 } else {
3386 var12 = NULL;
3387 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AArrayExpr> */
3388 }
3389 goto RET_LABEL;
3390 } else {
3391 }
3392 RET_LABEL:;
3393 }
3394 /* method parser_prod#AArrayExpr#replace_child for (self: Object, ANode, nullable ANode) */
3395 void VIRTUAL_parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3396 parser_prod__AArrayExpr__replace_child(self, p0, p1);
3397 RET_LABEL:;
3398 }
3399 /* method parser_prod#AArrayExpr#n_exprs= for (self: AArrayExpr, AExprs) */
3400 void parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3401 val* var_node /* var node: AExprs */;
3402 var_node = p0;
3403 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_node; /* _n_exprs on <self:AArrayExpr> */
3404 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
3405 RET_LABEL:;
3406 }
3407 /* method parser_prod#AArrayExpr#n_exprs= for (self: Object, AExprs) */
3408 void VIRTUAL_parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3409 parser_prod__AArrayExpr__n_exprs_61d(self, p0);
3410 RET_LABEL:;
3411 }
3412 /* method parser_prod#AArrayExpr#n_annotations= for (self: AArrayExpr, nullable AAnnotations) */
3413 void parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3414 val* var_node /* var node: nullable AAnnotations */;
3415 val* var /* : null */;
3416 short int var1 /* : Bool */;
3417 var_node = p0;
3418 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AArrayExpr> */
3419 var = NULL;
3420 if (var_node == NULL) {
3421 var1 = 0; /* is null */
3422 } else {
3423 var1 = 1; /* arg is null and recv is not */
3424 }
3425 if (var1){
3426 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3427 } else {
3428 }
3429 RET_LABEL:;
3430 }
3431 /* method parser_prod#AArrayExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3432 void VIRTUAL_parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3433 parser_prod__AArrayExpr__n_annotations_61d(self, p0);
3434 RET_LABEL:;
3435 }
3436 /* method parser_prod#AArrayExpr#visit_all for (self: AArrayExpr, Visitor) */
3437 void parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3438 val* var_v /* var v: Visitor */;
3439 val* var /* : AExprs */;
3440 val* var1 /* : nullable AAnnotations */;
3441 val* var2 /* : null */;
3442 short int var3 /* : Bool */;
3443 val* var4 /* : nullable AAnnotations */;
3444 var_v = p0;
3445 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3446 if (var == NULL) {
3447 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
3448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8671);
3449 show_backtrace(1);
3450 }
3451 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3452 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3453 var2 = NULL;
3454 if (var1 == NULL) {
3455 var3 = 0; /* is null */
3456 } else {
3457 var3 = 1; /* arg is null and recv is not */
3458 }
3459 if (var3){
3460 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3461 if (var4 == NULL) {
3462 fprintf(stderr, "Runtime error: %s", "Cast failed");
3463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8673);
3464 show_backtrace(1);
3465 }
3466 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3467 } else {
3468 }
3469 RET_LABEL:;
3470 }
3471 /* method parser_prod#AArrayExpr#visit_all for (self: Object, Visitor) */
3472 void VIRTUAL_parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3473 parser_prod__AArrayExpr__visit_all(self, p0);
3474 RET_LABEL:;
3475 }
3476 /* method parser_prod#ASelfExpr#empty_init for (self: ASelfExpr) */
3477 void parser_prod__ASelfExpr__empty_init(val* self) {
3478 RET_LABEL:;
3479 }
3480 /* method parser_prod#ASelfExpr#empty_init for (self: Object) */
3481 void VIRTUAL_parser_prod__ASelfExpr__empty_init(val* self) {
3482 parser_prod__ASelfExpr__empty_init(self);
3483 RET_LABEL:;
3484 }
3485 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: ASelfExpr, nullable TKwself, nullable AAnnotations) */
3486 void parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3487 val* var_n_kwself /* var n_kwself: nullable TKwself */;
3488 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3489 val* var /* : null */;
3490 short int var1 /* : Bool */;
3491 var_n_kwself = p0;
3492 var_n_annotations = p1;
3493 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASelfExpr__empty_init]))(self) /* empty_init on <self:ASelfExpr>*/;
3494 if (var_n_kwself == NULL) {
3495 fprintf(stderr, "Runtime error: %s", "Cast failed");
3496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8686);
3497 show_backtrace(1);
3498 }
3499 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_n_kwself; /* _n_kwself on <self:ASelfExpr> */
3500 if (var_n_kwself == NULL) {
3501 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8687);
3503 show_backtrace(1);
3504 } else {
3505 ((void (*)(val*, val*))(var_n_kwself->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwself, self) /* parent= on <var_n_kwself:nullable TKwself>*/;
3506 }
3507 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASelfExpr> */
3508 var = NULL;
3509 if (var_n_annotations == NULL) {
3510 var1 = 0; /* is null */
3511 } else {
3512 var1 = 1; /* arg is null and recv is not */
3513 }
3514 if (var1){
3515 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
3516 } else {
3517 }
3518 RET_LABEL:;
3519 }
3520 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: Object, nullable TKwself, nullable AAnnotations) */
3521 void VIRTUAL_parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3522 parser_prod__ASelfExpr__init_aselfexpr(self, p0, p1);
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#ASelfExpr#replace_child for (self: ASelfExpr, ANode, nullable ANode) */
3526 void parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3527 val* var_old_child /* var old_child: ANode */;
3528 val* var_new_child /* var new_child: nullable ANode */;
3529 val* var /* : nullable TKwself */;
3530 short int var1 /* : Bool */;
3531 val* var2 /* : null */;
3532 short int var3 /* : Bool */;
3533 short int var4 /* : Bool */;
3534 int cltype;
3535 int idtype;
3536 val* var5 /* : nullable AAnnotations */;
3537 short int var6 /* : Bool */;
3538 val* var7 /* : null */;
3539 short int var8 /* : Bool */;
3540 short int var9 /* : Bool */;
3541 int cltype10;
3542 int idtype11;
3543 val* var12 /* : null */;
3544 var_old_child = p0;
3545 var_new_child = p1;
3546 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3547 if (var == NULL) {
3548 var1 = 0; /* <var_old_child:ANode> cannot be null */
3549 } else {
3550 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TKwself>*/;
3551 }
3552 if (var1){
3553 var2 = NULL;
3554 if (var_new_child == NULL) {
3555 var3 = 0; /* is null */
3556 } else {
3557 var3 = 1; /* arg is null and recv is not */
3558 }
3559 if (var3){
3560 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3561 /* <var_new_child:nullable ANode(ANode)> isa TKwself */
3562 cltype = type_parser_nodes__TKwself.color;
3563 idtype = type_parser_nodes__TKwself.id;
3564 if(cltype >= var_new_child->type->table_size) {
3565 var4 = 0;
3566 } else {
3567 var4 = var_new_child->type->type_table[cltype] == idtype;
3568 }
3569 if (!var4) {
3570 fprintf(stderr, "Runtime error: %s", "Assert failed");
3571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8699);
3572 show_backtrace(1);
3573 }
3574 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_new_child; /* _n_kwself on <self:ASelfExpr> */
3575 } else {
3576 fprintf(stderr, "Runtime error: %s", "Aborted");
3577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8702);
3578 show_backtrace(1);
3579 }
3580 goto RET_LABEL;
3581 } else {
3582 }
3583 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3584 if (var5 == NULL) {
3585 var6 = 0; /* <var_old_child:ANode> cannot be null */
3586 } else {
3587 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3588 }
3589 if (var6){
3590 var7 = NULL;
3591 if (var_new_child == NULL) {
3592 var8 = 0; /* is null */
3593 } else {
3594 var8 = 1; /* arg is null and recv is not */
3595 }
3596 if (var8){
3597 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3598 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3599 cltype10 = type_parser_nodes__AAnnotations.color;
3600 idtype11 = type_parser_nodes__AAnnotations.id;
3601 if(cltype10 >= var_new_child->type->table_size) {
3602 var9 = 0;
3603 } else {
3604 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3605 }
3606 if (!var9) {
3607 fprintf(stderr, "Runtime error: %s", "Assert failed");
3608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8709);
3609 show_backtrace(1);
3610 }
3611 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASelfExpr> */
3612 } else {
3613 var12 = NULL;
3614 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ASelfExpr> */
3615 }
3616 goto RET_LABEL;
3617 } else {
3618 }
3619 RET_LABEL:;
3620 }
3621 /* method parser_prod#ASelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3622 void VIRTUAL_parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3623 parser_prod__ASelfExpr__replace_child(self, p0, p1);
3624 RET_LABEL:;
3625 }
3626 /* method parser_prod#ASelfExpr#n_kwself= for (self: ASelfExpr, nullable TKwself) */
3627 void parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3628 val* var_node /* var node: nullable TKwself */;
3629 var_node = p0;
3630 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_node; /* _n_kwself on <self:ASelfExpr> */
3631 if (var_node == NULL) {
3632 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8721);
3634 show_backtrace(1);
3635 } else {
3636 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwself>*/;
3637 }
3638 RET_LABEL:;
3639 }
3640 /* method parser_prod#ASelfExpr#n_kwself= for (self: Object, nullable TKwself) */
3641 void VIRTUAL_parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3642 parser_prod__ASelfExpr__n_kwself_61d(self, p0);
3643 RET_LABEL:;
3644 }
3645 /* method parser_prod#ASelfExpr#n_annotations= for (self: ASelfExpr, nullable AAnnotations) */
3646 void parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3647 val* var_node /* var node: nullable AAnnotations */;
3648 val* var /* : null */;
3649 short int var1 /* : Bool */;
3650 var_node = p0;
3651 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASelfExpr> */
3652 var = NULL;
3653 if (var_node == NULL) {
3654 var1 = 0; /* is null */
3655 } else {
3656 var1 = 1; /* arg is null and recv is not */
3657 }
3658 if (var1){
3659 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3660 } else {
3661 }
3662 RET_LABEL:;
3663 }
3664 /* method parser_prod#ASelfExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3665 void VIRTUAL_parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3666 parser_prod__ASelfExpr__n_annotations_61d(self, p0);
3667 RET_LABEL:;
3668 }
3669 /* method parser_prod#ASelfExpr#visit_all for (self: ASelfExpr, Visitor) */
3670 void parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3671 val* var_v /* var v: Visitor */;
3672 val* var /* : nullable TKwself */;
3673 val* var1 /* : nullable AAnnotations */;
3674 val* var2 /* : null */;
3675 short int var3 /* : Bool */;
3676 val* var4 /* : nullable AAnnotations */;
3677 var_v = p0;
3678 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3679 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3680 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3681 var2 = NULL;
3682 if (var1 == NULL) {
3683 var3 = 0; /* is null */
3684 } else {
3685 var3 = 1; /* arg is null and recv is not */
3686 }
3687 if (var3){
3688 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3689 if (var4 == NULL) {
3690 fprintf(stderr, "Runtime error: %s", "Cast failed");
3691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8736);
3692 show_backtrace(1);
3693 }
3694 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3695 } else {
3696 }
3697 RET_LABEL:;
3698 }
3699 /* method parser_prod#ASelfExpr#visit_all for (self: Object, Visitor) */
3700 void VIRTUAL_parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3701 parser_prod__ASelfExpr__visit_all(self, p0);
3702 RET_LABEL:;
3703 }
3704 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: AImplicitSelfExpr) */
3705 void parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3706 RET_LABEL:;
3707 }
3708 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: Object) */
3709 void VIRTUAL_parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3710 parser_prod__AImplicitSelfExpr__empty_init(self);
3711 RET_LABEL:;
3712 }
3713 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: AImplicitSelfExpr) */
3714 void parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3715 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImplicitSelfExpr__empty_init]))(self) /* empty_init on <self:AImplicitSelfExpr>*/;
3716 RET_LABEL:;
3717 }
3718 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: Object) */
3719 void VIRTUAL_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3720 parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(self);
3721 RET_LABEL:;
3722 }
3723 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: AImplicitSelfExpr, ANode, nullable ANode) */
3724 void parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3725 val* var_old_child /* var old_child: ANode */;
3726 val* var_new_child /* var new_child: nullable ANode */;
3727 var_old_child = p0;
3728 var_new_child = p1;
3729 RET_LABEL:;
3730 }
3731 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3732 void VIRTUAL_parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3733 parser_prod__AImplicitSelfExpr__replace_child(self, p0, p1);
3734 RET_LABEL:;
3735 }
3736 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: AImplicitSelfExpr, Visitor) */
3737 void parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3738 val* var_v /* var v: Visitor */;
3739 var_v = p0;
3740 RET_LABEL:;
3741 }
3742 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: Object, Visitor) */
3743 void VIRTUAL_parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3744 parser_prod__AImplicitSelfExpr__visit_all(self, p0);
3745 RET_LABEL:;
3746 }
3747 /* method parser_prod#ATrueExpr#empty_init for (self: ATrueExpr) */
3748 void parser_prod__ATrueExpr__empty_init(val* self) {
3749 RET_LABEL:;
3750 }
3751 /* method parser_prod#ATrueExpr#empty_init for (self: Object) */
3752 void VIRTUAL_parser_prod__ATrueExpr__empty_init(val* self) {
3753 parser_prod__ATrueExpr__empty_init(self);
3754 RET_LABEL:;
3755 }
3756 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: ATrueExpr, nullable TKwtrue, nullable AAnnotations) */
3757 void parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3758 val* var_n_kwtrue /* var n_kwtrue: nullable TKwtrue */;
3759 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3760 val* var /* : null */;
3761 short int var1 /* : Bool */;
3762 var_n_kwtrue = p0;
3763 var_n_annotations = p1;
3764 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATrueExpr__empty_init]))(self) /* empty_init on <self:ATrueExpr>*/;
3765 if (var_n_kwtrue == NULL) {
3766 fprintf(stderr, "Runtime error: %s", "Cast failed");
3767 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8767);
3768 show_backtrace(1);
3769 }
3770 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_n_kwtrue; /* _n_kwtrue on <self:ATrueExpr> */
3771 if (var_n_kwtrue == NULL) {
3772 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8768);
3774 show_backtrace(1);
3775 } else {
3776 ((void (*)(val*, val*))(var_n_kwtrue->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwtrue, self) /* parent= on <var_n_kwtrue:nullable TKwtrue>*/;
3777 }
3778 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ATrueExpr> */
3779 var = NULL;
3780 if (var_n_annotations == NULL) {
3781 var1 = 0; /* is null */
3782 } else {
3783 var1 = 1; /* arg is null and recv is not */
3784 }
3785 if (var1){
3786 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
3787 } else {
3788 }
3789 RET_LABEL:;
3790 }
3791 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: Object, nullable TKwtrue, nullable AAnnotations) */
3792 void VIRTUAL_parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3793 parser_prod__ATrueExpr__init_atrueexpr(self, p0, p1);
3794 RET_LABEL:;
3795 }
3796 /* method parser_prod#ATrueExpr#replace_child for (self: ATrueExpr, ANode, nullable ANode) */
3797 void parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3798 val* var_old_child /* var old_child: ANode */;
3799 val* var_new_child /* var new_child: nullable ANode */;
3800 val* var /* : TKwtrue */;
3801 short int var1 /* : Bool */;
3802 val* var2 /* : null */;
3803 short int var3 /* : Bool */;
3804 short int var4 /* : Bool */;
3805 int cltype;
3806 int idtype;
3807 val* var5 /* : nullable AAnnotations */;
3808 short int var6 /* : Bool */;
3809 val* var7 /* : null */;
3810 short int var8 /* : Bool */;
3811 short int var9 /* : Bool */;
3812 int cltype10;
3813 int idtype11;
3814 val* var12 /* : null */;
3815 var_old_child = p0;
3816 var_new_child = p1;
3817 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3818 if (var == NULL) {
3819 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtrue");
3820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8777);
3821 show_backtrace(1);
3822 }
3823 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwtrue>*/;
3824 if (var1){
3825 var2 = NULL;
3826 if (var_new_child == NULL) {
3827 var3 = 0; /* is null */
3828 } else {
3829 var3 = 1; /* arg is null and recv is not */
3830 }
3831 if (var3){
3832 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3833 /* <var_new_child:nullable ANode(ANode)> isa TKwtrue */
3834 cltype = type_parser_nodes__TKwtrue.color;
3835 idtype = type_parser_nodes__TKwtrue.id;
3836 if(cltype >= var_new_child->type->table_size) {
3837 var4 = 0;
3838 } else {
3839 var4 = var_new_child->type->type_table[cltype] == idtype;
3840 }
3841 if (!var4) {
3842 fprintf(stderr, "Runtime error: %s", "Assert failed");
3843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8780);
3844 show_backtrace(1);
3845 }
3846 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_new_child; /* _n_kwtrue on <self:ATrueExpr> */
3847 } else {
3848 fprintf(stderr, "Runtime error: %s", "Aborted");
3849 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8783);
3850 show_backtrace(1);
3851 }
3852 goto RET_LABEL;
3853 } else {
3854 }
3855 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3856 if (var5 == NULL) {
3857 var6 = 0; /* <var_old_child:ANode> cannot be null */
3858 } else {
3859 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3860 }
3861 if (var6){
3862 var7 = NULL;
3863 if (var_new_child == NULL) {
3864 var8 = 0; /* is null */
3865 } else {
3866 var8 = 1; /* arg is null and recv is not */
3867 }
3868 if (var8){
3869 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3870 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3871 cltype10 = type_parser_nodes__AAnnotations.color;
3872 idtype11 = type_parser_nodes__AAnnotations.id;
3873 if(cltype10 >= var_new_child->type->table_size) {
3874 var9 = 0;
3875 } else {
3876 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3877 }
3878 if (!var9) {
3879 fprintf(stderr, "Runtime error: %s", "Assert failed");
3880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8790);
3881 show_backtrace(1);
3882 }
3883 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ATrueExpr> */
3884 } else {
3885 var12 = NULL;
3886 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ATrueExpr> */
3887 }
3888 goto RET_LABEL;
3889 } else {
3890 }
3891 RET_LABEL:;
3892 }
3893 /* method parser_prod#ATrueExpr#replace_child for (self: Object, ANode, nullable ANode) */
3894 void VIRTUAL_parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3895 parser_prod__ATrueExpr__replace_child(self, p0, p1);
3896 RET_LABEL:;
3897 }
3898 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: ATrueExpr, TKwtrue) */
3899 void parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3900 val* var_node /* var node: TKwtrue */;
3901 var_node = p0;
3902 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_node; /* _n_kwtrue on <self:ATrueExpr> */
3903 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtrue>*/;
3904 RET_LABEL:;
3905 }
3906 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: Object, TKwtrue) */
3907 void VIRTUAL_parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3908 parser_prod__ATrueExpr__n_kwtrue_61d(self, p0);
3909 RET_LABEL:;
3910 }
3911 /* method parser_prod#ATrueExpr#n_annotations= for (self: ATrueExpr, nullable AAnnotations) */
3912 void parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3913 val* var_node /* var node: nullable AAnnotations */;
3914 val* var /* : null */;
3915 short int var1 /* : Bool */;
3916 var_node = p0;
3917 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ATrueExpr> */
3918 var = NULL;
3919 if (var_node == NULL) {
3920 var1 = 0; /* is null */
3921 } else {
3922 var1 = 1; /* arg is null and recv is not */
3923 }
3924 if (var1){
3925 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3926 } else {
3927 }
3928 RET_LABEL:;
3929 }
3930 /* method parser_prod#ATrueExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3931 void VIRTUAL_parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3932 parser_prod__ATrueExpr__n_annotations_61d(self, p0);
3933 RET_LABEL:;
3934 }
3935 /* method parser_prod#ATrueExpr#visit_all for (self: ATrueExpr, Visitor) */
3936 void parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3937 val* var_v /* var v: Visitor */;
3938 val* var /* : TKwtrue */;
3939 val* var1 /* : nullable AAnnotations */;
3940 val* var2 /* : null */;
3941 short int var3 /* : Bool */;
3942 val* var4 /* : nullable AAnnotations */;
3943 var_v = p0;
3944 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3945 if (var == NULL) {
3946 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtrue");
3947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8815);
3948 show_backtrace(1);
3949 }
3950 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3951 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3952 var2 = NULL;
3953 if (var1 == NULL) {
3954 var3 = 0; /* is null */
3955 } else {
3956 var3 = 1; /* arg is null and recv is not */
3957 }
3958 if (var3){
3959 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3960 if (var4 == NULL) {
3961 fprintf(stderr, "Runtime error: %s", "Cast failed");
3962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8817);
3963 show_backtrace(1);
3964 }
3965 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3966 } else {
3967 }
3968 RET_LABEL:;
3969 }
3970 /* method parser_prod#ATrueExpr#visit_all for (self: Object, Visitor) */
3971 void VIRTUAL_parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3972 parser_prod__ATrueExpr__visit_all(self, p0);
3973 RET_LABEL:;
3974 }
3975 /* method parser_prod#AFalseExpr#empty_init for (self: AFalseExpr) */
3976 void parser_prod__AFalseExpr__empty_init(val* self) {
3977 RET_LABEL:;
3978 }
3979 /* method parser_prod#AFalseExpr#empty_init for (self: Object) */
3980 void VIRTUAL_parser_prod__AFalseExpr__empty_init(val* self) {
3981 parser_prod__AFalseExpr__empty_init(self);
3982 RET_LABEL:;
3983 }
3984 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: AFalseExpr, nullable TKwfalse, nullable AAnnotations) */
3985 void parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
3986 val* var_n_kwfalse /* var n_kwfalse: nullable TKwfalse */;
3987 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3988 val* var /* : null */;
3989 short int var1 /* : Bool */;
3990 var_n_kwfalse = p0;
3991 var_n_annotations = p1;
3992 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFalseExpr__empty_init]))(self) /* empty_init on <self:AFalseExpr>*/;
3993 if (var_n_kwfalse == NULL) {
3994 fprintf(stderr, "Runtime error: %s", "Cast failed");
3995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8830);
3996 show_backtrace(1);
3997 }
3998 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_n_kwfalse; /* _n_kwfalse on <self:AFalseExpr> */
3999 if (var_n_kwfalse == NULL) {
4000 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8831);
4002 show_backtrace(1);
4003 } else {
4004 ((void (*)(val*, val*))(var_n_kwfalse->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwfalse, self) /* parent= on <var_n_kwfalse:nullable TKwfalse>*/;
4005 }
4006 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFalseExpr> */
4007 var = NULL;
4008 if (var_n_annotations == NULL) {
4009 var1 = 0; /* is null */
4010 } else {
4011 var1 = 1; /* arg is null and recv is not */
4012 }
4013 if (var1){
4014 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
4015 } else {
4016 }
4017 RET_LABEL:;
4018 }
4019 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: Object, nullable TKwfalse, nullable AAnnotations) */
4020 void VIRTUAL_parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
4021 parser_prod__AFalseExpr__init_afalseexpr(self, p0, p1);
4022 RET_LABEL:;
4023 }
4024 /* method parser_prod#AFalseExpr#replace_child for (self: AFalseExpr, ANode, nullable ANode) */
4025 void parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
4026 val* var_old_child /* var old_child: ANode */;
4027 val* var_new_child /* var new_child: nullable ANode */;
4028 val* var /* : TKwfalse */;
4029 short int var1 /* : Bool */;
4030 val* var2 /* : null */;
4031 short int var3 /* : Bool */;
4032 short int var4 /* : Bool */;
4033 int cltype;
4034 int idtype;
4035 val* var5 /* : nullable AAnnotations */;
4036 short int var6 /* : Bool */;
4037 val* var7 /* : null */;
4038 short int var8 /* : Bool */;
4039 short int var9 /* : Bool */;
4040 int cltype10;
4041 int idtype11;
4042 val* var12 /* : null */;
4043 var_old_child = p0;
4044 var_new_child = p1;
4045 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4046 if (var == NULL) {
4047 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfalse");
4048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8840);
4049 show_backtrace(1);
4050 }
4051 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfalse>*/;
4052 if (var1){
4053 var2 = NULL;
4054 if (var_new_child == NULL) {
4055 var3 = 0; /* is null */
4056 } else {
4057 var3 = 1; /* arg is null and recv is not */
4058 }
4059 if (var3){
4060 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4061 /* <var_new_child:nullable ANode(ANode)> isa TKwfalse */
4062 cltype = type_parser_nodes__TKwfalse.color;
4063 idtype = type_parser_nodes__TKwfalse.id;
4064 if(cltype >= var_new_child->type->table_size) {
4065 var4 = 0;
4066 } else {
4067 var4 = var_new_child->type->type_table[cltype] == idtype;
4068 }
4069 if (!var4) {
4070 fprintf(stderr, "Runtime error: %s", "Assert failed");
4071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8843);
4072 show_backtrace(1);
4073 }
4074 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_new_child; /* _n_kwfalse on <self:AFalseExpr> */
4075 } else {
4076 fprintf(stderr, "Runtime error: %s", "Aborted");
4077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8846);
4078 show_backtrace(1);
4079 }
4080 goto RET_LABEL;
4081 } else {
4082 }
4083 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4084 if (var5 == NULL) {
4085 var6 = 0; /* <var_old_child:ANode> cannot be null */
4086 } else {
4087 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4088 }
4089 if (var6){
4090 var7 = NULL;
4091 if (var_new_child == NULL) {
4092 var8 = 0; /* is null */
4093 } else {
4094 var8 = 1; /* arg is null and recv is not */
4095 }
4096 if (var8){
4097 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4098 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4099 cltype10 = type_parser_nodes__AAnnotations.color;
4100 idtype11 = type_parser_nodes__AAnnotations.id;
4101 if(cltype10 >= var_new_child->type->table_size) {
4102 var9 = 0;
4103 } else {
4104 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4105 }
4106 if (!var9) {
4107 fprintf(stderr, "Runtime error: %s", "Assert failed");
4108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8853);
4109 show_backtrace(1);
4110 }
4111 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFalseExpr> */
4112 } else {
4113 var12 = NULL;
4114 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFalseExpr> */
4115 }
4116 goto RET_LABEL;
4117 } else {
4118 }
4119 RET_LABEL:;
4120 }
4121 /* method parser_prod#AFalseExpr#replace_child for (self: Object, ANode, nullable ANode) */
4122 void VIRTUAL_parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
4123 parser_prod__AFalseExpr__replace_child(self, p0, p1);
4124 RET_LABEL:;
4125 }
4126 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: AFalseExpr, TKwfalse) */
4127 void parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4128 val* var_node /* var node: TKwfalse */;
4129 var_node = p0;
4130 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_node; /* _n_kwfalse on <self:AFalseExpr> */
4131 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfalse>*/;
4132 RET_LABEL:;
4133 }
4134 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: Object, TKwfalse) */
4135 void VIRTUAL_parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4136 parser_prod__AFalseExpr__n_kwfalse_61d(self, p0);
4137 RET_LABEL:;
4138 }
4139 /* method parser_prod#AFalseExpr#n_annotations= for (self: AFalseExpr, nullable AAnnotations) */
4140 void parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4141 val* var_node /* var node: nullable AAnnotations */;
4142 val* var /* : null */;
4143 short int var1 /* : Bool */;
4144 var_node = p0;
4145 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFalseExpr> */
4146 var = NULL;
4147 if (var_node == NULL) {
4148 var1 = 0; /* is null */
4149 } else {
4150 var1 = 1; /* arg is null and recv is not */
4151 }
4152 if (var1){
4153 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4154 } else {
4155 }
4156 RET_LABEL:;
4157 }
4158 /* method parser_prod#AFalseExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4159 void VIRTUAL_parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4160 parser_prod__AFalseExpr__n_annotations_61d(self, p0);
4161 RET_LABEL:;
4162 }
4163 /* method parser_prod#AFalseExpr#visit_all for (self: AFalseExpr, Visitor) */
4164 void parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4165 val* var_v /* var v: Visitor */;
4166 val* var /* : TKwfalse */;
4167 val* var1 /* : nullable AAnnotations */;
4168 val* var2 /* : null */;
4169 short int var3 /* : Bool */;
4170 val* var4 /* : nullable AAnnotations */;
4171 var_v = p0;
4172 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4173 if (var == NULL) {
4174 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfalse");
4175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8878);
4176 show_backtrace(1);
4177 }
4178 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4179 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4180 var2 = NULL;
4181 if (var1 == NULL) {
4182 var3 = 0; /* is null */
4183 } else {
4184 var3 = 1; /* arg is null and recv is not */
4185 }
4186 if (var3){
4187 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4188 if (var4 == NULL) {
4189 fprintf(stderr, "Runtime error: %s", "Cast failed");
4190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8880);
4191 show_backtrace(1);
4192 }
4193 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4194 } else {
4195 }
4196 RET_LABEL:;
4197 }
4198 /* method parser_prod#AFalseExpr#visit_all for (self: Object, Visitor) */
4199 void VIRTUAL_parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4200 parser_prod__AFalseExpr__visit_all(self, p0);
4201 RET_LABEL:;
4202 }
4203 /* method parser_prod#ANullExpr#empty_init for (self: ANullExpr) */
4204 void parser_prod__ANullExpr__empty_init(val* self) {
4205 RET_LABEL:;
4206 }
4207 /* method parser_prod#ANullExpr#empty_init for (self: Object) */
4208 void VIRTUAL_parser_prod__ANullExpr__empty_init(val* self) {
4209 parser_prod__ANullExpr__empty_init(self);
4210 RET_LABEL:;
4211 }
4212 /* method parser_prod#ANullExpr#init_anullexpr for (self: ANullExpr, nullable TKwnull, nullable AAnnotations) */
4213 void parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4214 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
4215 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4216 val* var /* : null */;
4217 short int var1 /* : Bool */;
4218 var_n_kwnull = p0;
4219 var_n_annotations = p1;
4220 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANullExpr__empty_init]))(self) /* empty_init on <self:ANullExpr>*/;
4221 if (var_n_kwnull == NULL) {
4222 fprintf(stderr, "Runtime error: %s", "Cast failed");
4223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8893);
4224 show_backtrace(1);
4225 }
4226 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:ANullExpr> */
4227 if (var_n_kwnull == NULL) {
4228 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8894);
4230 show_backtrace(1);
4231 } else {
4232 ((void (*)(val*, val*))(var_n_kwnull->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnull, self) /* parent= on <var_n_kwnull:nullable TKwnull>*/;
4233 }
4234 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ANullExpr> */
4235 var = NULL;
4236 if (var_n_annotations == NULL) {
4237 var1 = 0; /* is null */
4238 } else {
4239 var1 = 1; /* arg is null and recv is not */
4240 }
4241 if (var1){
4242 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
4243 } else {
4244 }
4245 RET_LABEL:;
4246 }
4247 /* method parser_prod#ANullExpr#init_anullexpr for (self: Object, nullable TKwnull, nullable AAnnotations) */
4248 void VIRTUAL_parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4249 parser_prod__ANullExpr__init_anullexpr(self, p0, p1);
4250 RET_LABEL:;
4251 }
4252 /* method parser_prod#ANullExpr#replace_child for (self: ANullExpr, ANode, nullable ANode) */
4253 void parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4254 val* var_old_child /* var old_child: ANode */;
4255 val* var_new_child /* var new_child: nullable ANode */;
4256 val* var /* : TKwnull */;
4257 short int var1 /* : Bool */;
4258 val* var2 /* : null */;
4259 short int var3 /* : Bool */;
4260 short int var4 /* : Bool */;
4261 int cltype;
4262 int idtype;
4263 val* var5 /* : nullable AAnnotations */;
4264 short int var6 /* : Bool */;
4265 val* var7 /* : null */;
4266 short int var8 /* : Bool */;
4267 short int var9 /* : Bool */;
4268 int cltype10;
4269 int idtype11;
4270 val* var12 /* : null */;
4271 var_old_child = p0;
4272 var_new_child = p1;
4273 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4274 if (var == NULL) {
4275 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
4276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8903);
4277 show_backtrace(1);
4278 }
4279 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnull>*/;
4280 if (var1){
4281 var2 = NULL;
4282 if (var_new_child == NULL) {
4283 var3 = 0; /* is null */
4284 } else {
4285 var3 = 1; /* arg is null and recv is not */
4286 }
4287 if (var3){
4288 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4289 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
4290 cltype = type_parser_nodes__TKwnull.color;
4291 idtype = type_parser_nodes__TKwnull.id;
4292 if(cltype >= var_new_child->type->table_size) {
4293 var4 = 0;
4294 } else {
4295 var4 = var_new_child->type->type_table[cltype] == idtype;
4296 }
4297 if (!var4) {
4298 fprintf(stderr, "Runtime error: %s", "Assert failed");
4299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8906);
4300 show_backtrace(1);
4301 }
4302 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:ANullExpr> */
4303 } else {
4304 fprintf(stderr, "Runtime error: %s", "Aborted");
4305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8909);
4306 show_backtrace(1);
4307 }
4308 goto RET_LABEL;
4309 } else {
4310 }
4311 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4312 if (var5 == NULL) {
4313 var6 = 0; /* <var_old_child:ANode> cannot be null */
4314 } else {
4315 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4316 }
4317 if (var6){
4318 var7 = NULL;
4319 if (var_new_child == NULL) {
4320 var8 = 0; /* is null */
4321 } else {
4322 var8 = 1; /* arg is null and recv is not */
4323 }
4324 if (var8){
4325 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4326 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4327 cltype10 = type_parser_nodes__AAnnotations.color;
4328 idtype11 = type_parser_nodes__AAnnotations.id;
4329 if(cltype10 >= var_new_child->type->table_size) {
4330 var9 = 0;
4331 } else {
4332 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4333 }
4334 if (!var9) {
4335 fprintf(stderr, "Runtime error: %s", "Assert failed");
4336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8916);
4337 show_backtrace(1);
4338 }
4339 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ANullExpr> */
4340 } else {
4341 var12 = NULL;
4342 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ANullExpr> */
4343 }
4344 goto RET_LABEL;
4345 } else {
4346 }
4347 RET_LABEL:;
4348 }
4349 /* method parser_prod#ANullExpr#replace_child for (self: Object, ANode, nullable ANode) */
4350 void VIRTUAL_parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4351 parser_prod__ANullExpr__replace_child(self, p0, p1);
4352 RET_LABEL:;
4353 }
4354 /* method parser_prod#ANullExpr#n_kwnull= for (self: ANullExpr, TKwnull) */
4355 void parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4356 val* var_node /* var node: TKwnull */;
4357 var_node = p0;
4358 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:ANullExpr> */
4359 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
4360 RET_LABEL:;
4361 }
4362 /* method parser_prod#ANullExpr#n_kwnull= for (self: Object, TKwnull) */
4363 void VIRTUAL_parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4364 parser_prod__ANullExpr__n_kwnull_61d(self, p0);
4365 RET_LABEL:;
4366 }
4367 /* method parser_prod#ANullExpr#n_annotations= for (self: ANullExpr, nullable AAnnotations) */
4368 void parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4369 val* var_node /* var node: nullable AAnnotations */;
4370 val* var /* : null */;
4371 short int var1 /* : Bool */;
4372 var_node = p0;
4373 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ANullExpr> */
4374 var = NULL;
4375 if (var_node == NULL) {
4376 var1 = 0; /* is null */
4377 } else {
4378 var1 = 1; /* arg is null and recv is not */
4379 }
4380 if (var1){
4381 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4382 } else {
4383 }
4384 RET_LABEL:;
4385 }
4386 /* method parser_prod#ANullExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4387 void VIRTUAL_parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4388 parser_prod__ANullExpr__n_annotations_61d(self, p0);
4389 RET_LABEL:;
4390 }
4391 /* method parser_prod#ANullExpr#visit_all for (self: ANullExpr, Visitor) */
4392 void parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4393 val* var_v /* var v: Visitor */;
4394 val* var /* : TKwnull */;
4395 val* var1 /* : nullable AAnnotations */;
4396 val* var2 /* : null */;
4397 short int var3 /* : Bool */;
4398 val* var4 /* : nullable AAnnotations */;
4399 var_v = p0;
4400 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4401 if (var == NULL) {
4402 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
4403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8941);
4404 show_backtrace(1);
4405 }
4406 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4407 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4408 var2 = NULL;
4409 if (var1 == NULL) {
4410 var3 = 0; /* is null */
4411 } else {
4412 var3 = 1; /* arg is null and recv is not */
4413 }
4414 if (var3){
4415 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4416 if (var4 == NULL) {
4417 fprintf(stderr, "Runtime error: %s", "Cast failed");
4418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8943);
4419 show_backtrace(1);
4420 }
4421 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4422 } else {
4423 }
4424 RET_LABEL:;
4425 }
4426 /* method parser_prod#ANullExpr#visit_all for (self: Object, Visitor) */
4427 void VIRTUAL_parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4428 parser_prod__ANullExpr__visit_all(self, p0);
4429 RET_LABEL:;
4430 }
4431 /* method parser_prod#AIntExpr#empty_init for (self: AIntExpr) */
4432 void parser_prod__AIntExpr__empty_init(val* self) {
4433 RET_LABEL:;
4434 }
4435 /* method parser_prod#AIntExpr#empty_init for (self: Object) */
4436 void VIRTUAL_parser_prod__AIntExpr__empty_init(val* self) {
4437 parser_prod__AIntExpr__empty_init(self);
4438 RET_LABEL:;
4439 }
4440 /* method parser_prod#AIntExpr#init_aintexpr for (self: AIntExpr, nullable TNumber, nullable AAnnotations) */
4441 void parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4442 val* var_n_number /* var n_number: nullable TNumber */;
4443 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4444 val* var /* : null */;
4445 short int var1 /* : Bool */;
4446 var_n_number = p0;
4447 var_n_annotations = p1;
4448 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntExpr__empty_init]))(self) /* empty_init on <self:AIntExpr>*/;
4449 if (var_n_number == NULL) {
4450 fprintf(stderr, "Runtime error: %s", "Cast failed");
4451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8956);
4452 show_backtrace(1);
4453 }
4454 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_n_number; /* _n_number on <self:AIntExpr> */
4455 if (var_n_number == NULL) {
4456 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8957);
4458 show_backtrace(1);
4459 } else {
4460 ((void (*)(val*, val*))(var_n_number->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_number, self) /* parent= on <var_n_number:nullable TNumber>*/;
4461 }
4462 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AIntExpr> */
4463 var = NULL;
4464 if (var_n_annotations == NULL) {
4465 var1 = 0; /* is null */
4466 } else {
4467 var1 = 1; /* arg is null and recv is not */
4468 }
4469 if (var1){
4470 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
4471 } else {
4472 }
4473 RET_LABEL:;
4474 }
4475 /* method parser_prod#AIntExpr#init_aintexpr for (self: Object, nullable TNumber, nullable AAnnotations) */
4476 void VIRTUAL_parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4477 parser_prod__AIntExpr__init_aintexpr(self, p0, p1);
4478 RET_LABEL:;
4479 }
4480 /* method parser_prod#AIntExpr#replace_child for (self: AIntExpr, ANode, nullable ANode) */
4481 void parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4482 val* var_old_child /* var old_child: ANode */;
4483 val* var_new_child /* var new_child: nullable ANode */;
4484 val* var /* : TNumber */;
4485 short int var1 /* : Bool */;
4486 val* var2 /* : null */;
4487 short int var3 /* : Bool */;
4488 short int var4 /* : Bool */;
4489 int cltype;
4490 int idtype;
4491 val* var5 /* : nullable AAnnotations */;
4492 short int var6 /* : Bool */;
4493 val* var7 /* : null */;
4494 short int var8 /* : Bool */;
4495 short int var9 /* : Bool */;
4496 int cltype10;
4497 int idtype11;
4498 val* var12 /* : null */;
4499 var_old_child = p0;
4500 var_new_child = p1;
4501 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4502 if (var == NULL) {
4503 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_number");
4504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8966);
4505 show_backtrace(1);
4506 }
4507 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TNumber>*/;
4508 if (var1){
4509 var2 = NULL;
4510 if (var_new_child == NULL) {
4511 var3 = 0; /* is null */
4512 } else {
4513 var3 = 1; /* arg is null and recv is not */
4514 }
4515 if (var3){
4516 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4517 /* <var_new_child:nullable ANode(ANode)> isa TNumber */
4518 cltype = type_parser_nodes__TNumber.color;
4519 idtype = type_parser_nodes__TNumber.id;
4520 if(cltype >= var_new_child->type->table_size) {
4521 var4 = 0;
4522 } else {
4523 var4 = var_new_child->type->type_table[cltype] == idtype;
4524 }
4525 if (!var4) {
4526 fprintf(stderr, "Runtime error: %s", "Assert failed");
4527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8969);
4528 show_backtrace(1);
4529 }
4530 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_new_child; /* _n_number on <self:AIntExpr> */
4531 } else {
4532 fprintf(stderr, "Runtime error: %s", "Aborted");
4533 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8972);
4534 show_backtrace(1);
4535 }
4536 goto RET_LABEL;
4537 } else {
4538 }
4539 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4540 if (var5 == NULL) {
4541 var6 = 0; /* <var_old_child:ANode> cannot be null */
4542 } else {
4543 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4544 }
4545 if (var6){
4546 var7 = NULL;
4547 if (var_new_child == NULL) {
4548 var8 = 0; /* is null */
4549 } else {
4550 var8 = 1; /* arg is null and recv is not */
4551 }
4552 if (var8){
4553 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4554 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4555 cltype10 = type_parser_nodes__AAnnotations.color;
4556 idtype11 = type_parser_nodes__AAnnotations.id;
4557 if(cltype10 >= var_new_child->type->table_size) {
4558 var9 = 0;
4559 } else {
4560 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4561 }
4562 if (!var9) {
4563 fprintf(stderr, "Runtime error: %s", "Assert failed");
4564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8979);
4565 show_backtrace(1);
4566 }
4567 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AIntExpr> */
4568 } else {
4569 var12 = NULL;
4570 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AIntExpr> */
4571 }
4572 goto RET_LABEL;
4573 } else {
4574 }
4575 RET_LABEL:;
4576 }
4577 /* method parser_prod#AIntExpr#replace_child for (self: Object, ANode, nullable ANode) */
4578 void VIRTUAL_parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4579 parser_prod__AIntExpr__replace_child(self, p0, p1);
4580 RET_LABEL:;
4581 }
4582 /* method parser_prod#AIntExpr#n_number= for (self: AIntExpr, TNumber) */
4583 void parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4584 val* var_node /* var node: TNumber */;
4585 var_node = p0;
4586 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_node; /* _n_number on <self:AIntExpr> */
4587 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TNumber>*/;
4588 RET_LABEL:;
4589 }
4590 /* method parser_prod#AIntExpr#n_number= for (self: Object, TNumber) */
4591 void VIRTUAL_parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4592 parser_prod__AIntExpr__n_number_61d(self, p0);
4593 RET_LABEL:;
4594 }
4595 /* method parser_prod#AIntExpr#n_annotations= for (self: AIntExpr, nullable AAnnotations) */
4596 void parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4597 val* var_node /* var node: nullable AAnnotations */;
4598 val* var /* : null */;
4599 short int var1 /* : Bool */;
4600 var_node = p0;
4601 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AIntExpr> */
4602 var = NULL;
4603 if (var_node == NULL) {
4604 var1 = 0; /* is null */
4605 } else {
4606 var1 = 1; /* arg is null and recv is not */
4607 }
4608 if (var1){
4609 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4610 } else {
4611 }
4612 RET_LABEL:;
4613 }
4614 /* method parser_prod#AIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4615 void VIRTUAL_parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4616 parser_prod__AIntExpr__n_annotations_61d(self, p0);
4617 RET_LABEL:;
4618 }
4619 /* method parser_prod#AIntExpr#visit_all for (self: AIntExpr, Visitor) */
4620 void parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4621 val* var_v /* var v: Visitor */;
4622 val* var /* : TNumber */;
4623 val* var1 /* : nullable AAnnotations */;
4624 val* var2 /* : null */;
4625 short int var3 /* : Bool */;
4626 val* var4 /* : nullable AAnnotations */;
4627 var_v = p0;
4628 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4629 if (var == NULL) {
4630 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_number");
4631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9004);
4632 show_backtrace(1);
4633 }
4634 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4635 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4636 var2 = NULL;
4637 if (var1 == NULL) {
4638 var3 = 0; /* is null */
4639 } else {
4640 var3 = 1; /* arg is null and recv is not */
4641 }
4642 if (var3){
4643 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4644 if (var4 == NULL) {
4645 fprintf(stderr, "Runtime error: %s", "Cast failed");
4646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9006);
4647 show_backtrace(1);
4648 }
4649 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4650 } else {
4651 }
4652 RET_LABEL:;
4653 }
4654 /* method parser_prod#AIntExpr#visit_all for (self: Object, Visitor) */
4655 void VIRTUAL_parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4656 parser_prod__AIntExpr__visit_all(self, p0);
4657 RET_LABEL:;
4658 }
4659 /* method parser_prod#AFloatExpr#empty_init for (self: AFloatExpr) */
4660 void parser_prod__AFloatExpr__empty_init(val* self) {
4661 RET_LABEL:;
4662 }
4663 /* method parser_prod#AFloatExpr#empty_init for (self: Object) */
4664 void VIRTUAL_parser_prod__AFloatExpr__empty_init(val* self) {
4665 parser_prod__AFloatExpr__empty_init(self);
4666 RET_LABEL:;
4667 }
4668 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: AFloatExpr, nullable TFloat, nullable AAnnotations) */
4669 void parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4670 val* var_n_float /* var n_float: nullable TFloat */;
4671 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4672 val* var /* : null */;
4673 short int var1 /* : Bool */;
4674 var_n_float = p0;
4675 var_n_annotations = p1;
4676 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFloatExpr__empty_init]))(self) /* empty_init on <self:AFloatExpr>*/;
4677 if (var_n_float == NULL) {
4678 fprintf(stderr, "Runtime error: %s", "Cast failed");
4679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9019);
4680 show_backtrace(1);
4681 }
4682 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_n_float; /* _n_float on <self:AFloatExpr> */
4683 if (var_n_float == NULL) {
4684 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9020);
4686 show_backtrace(1);
4687 } else {
4688 ((void (*)(val*, val*))(var_n_float->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_float, self) /* parent= on <var_n_float:nullable TFloat>*/;
4689 }
4690 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFloatExpr> */
4691 var = NULL;
4692 if (var_n_annotations == NULL) {
4693 var1 = 0; /* is null */
4694 } else {
4695 var1 = 1; /* arg is null and recv is not */
4696 }
4697 if (var1){
4698 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
4699 } else {
4700 }
4701 RET_LABEL:;
4702 }
4703 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: Object, nullable TFloat, nullable AAnnotations) */
4704 void VIRTUAL_parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4705 parser_prod__AFloatExpr__init_afloatexpr(self, p0, p1);
4706 RET_LABEL:;
4707 }
4708 /* method parser_prod#AFloatExpr#replace_child for (self: AFloatExpr, ANode, nullable ANode) */
4709 void parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4710 val* var_old_child /* var old_child: ANode */;
4711 val* var_new_child /* var new_child: nullable ANode */;
4712 val* var /* : TFloat */;
4713 short int var1 /* : Bool */;
4714 val* var2 /* : null */;
4715 short int var3 /* : Bool */;
4716 short int var4 /* : Bool */;
4717 int cltype;
4718 int idtype;
4719 val* var5 /* : nullable AAnnotations */;
4720 short int var6 /* : Bool */;
4721 val* var7 /* : null */;
4722 short int var8 /* : Bool */;
4723 short int var9 /* : Bool */;
4724 int cltype10;
4725 int idtype11;
4726 val* var12 /* : null */;
4727 var_old_child = p0;
4728 var_new_child = p1;
4729 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4730 if (var == NULL) {
4731 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_float");
4732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9029);
4733 show_backtrace(1);
4734 }
4735 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TFloat>*/;
4736 if (var1){
4737 var2 = NULL;
4738 if (var_new_child == NULL) {
4739 var3 = 0; /* is null */
4740 } else {
4741 var3 = 1; /* arg is null and recv is not */
4742 }
4743 if (var3){
4744 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4745 /* <var_new_child:nullable ANode(ANode)> isa TFloat */
4746 cltype = type_parser_nodes__TFloat.color;
4747 idtype = type_parser_nodes__TFloat.id;
4748 if(cltype >= var_new_child->type->table_size) {
4749 var4 = 0;
4750 } else {
4751 var4 = var_new_child->type->type_table[cltype] == idtype;
4752 }
4753 if (!var4) {
4754 fprintf(stderr, "Runtime error: %s", "Assert failed");
4755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9032);
4756 show_backtrace(1);
4757 }
4758 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_new_child; /* _n_float on <self:AFloatExpr> */
4759 } else {
4760 fprintf(stderr, "Runtime error: %s", "Aborted");
4761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9035);
4762 show_backtrace(1);
4763 }
4764 goto RET_LABEL;
4765 } else {
4766 }
4767 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4768 if (var5 == NULL) {
4769 var6 = 0; /* <var_old_child:ANode> cannot be null */
4770 } else {
4771 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4772 }
4773 if (var6){
4774 var7 = NULL;
4775 if (var_new_child == NULL) {
4776 var8 = 0; /* is null */
4777 } else {
4778 var8 = 1; /* arg is null and recv is not */
4779 }
4780 if (var8){
4781 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4782 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4783 cltype10 = type_parser_nodes__AAnnotations.color;
4784 idtype11 = type_parser_nodes__AAnnotations.id;
4785 if(cltype10 >= var_new_child->type->table_size) {
4786 var9 = 0;
4787 } else {
4788 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4789 }
4790 if (!var9) {
4791 fprintf(stderr, "Runtime error: %s", "Assert failed");
4792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9042);
4793 show_backtrace(1);
4794 }
4795 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFloatExpr> */
4796 } else {
4797 var12 = NULL;
4798 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFloatExpr> */
4799 }
4800 goto RET_LABEL;
4801 } else {
4802 }
4803 RET_LABEL:;
4804 }
4805 /* method parser_prod#AFloatExpr#replace_child for (self: Object, ANode, nullable ANode) */
4806 void VIRTUAL_parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4807 parser_prod__AFloatExpr__replace_child(self, p0, p1);
4808 RET_LABEL:;
4809 }
4810 /* method parser_prod#AFloatExpr#n_float= for (self: AFloatExpr, TFloat) */
4811 void parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4812 val* var_node /* var node: TFloat */;
4813 var_node = p0;
4814 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_node; /* _n_float on <self:AFloatExpr> */
4815 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TFloat>*/;
4816 RET_LABEL:;
4817 }
4818 /* method parser_prod#AFloatExpr#n_float= for (self: Object, TFloat) */
4819 void VIRTUAL_parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4820 parser_prod__AFloatExpr__n_float_61d(self, p0);
4821 RET_LABEL:;
4822 }
4823 /* method parser_prod#AFloatExpr#n_annotations= for (self: AFloatExpr, nullable AAnnotations) */
4824 void parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4825 val* var_node /* var node: nullable AAnnotations */;
4826 val* var /* : null */;
4827 short int var1 /* : Bool */;
4828 var_node = p0;
4829 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFloatExpr> */
4830 var = NULL;
4831 if (var_node == NULL) {
4832 var1 = 0; /* is null */
4833 } else {
4834 var1 = 1; /* arg is null and recv is not */
4835 }
4836 if (var1){
4837 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4838 } else {
4839 }
4840 RET_LABEL:;
4841 }
4842 /* method parser_prod#AFloatExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4843 void VIRTUAL_parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4844 parser_prod__AFloatExpr__n_annotations_61d(self, p0);
4845 RET_LABEL:;
4846 }
4847 /* method parser_prod#AFloatExpr#visit_all for (self: AFloatExpr, Visitor) */
4848 void parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4849 val* var_v /* var v: Visitor */;
4850 val* var /* : TFloat */;
4851 val* var1 /* : nullable AAnnotations */;
4852 val* var2 /* : null */;
4853 short int var3 /* : Bool */;
4854 val* var4 /* : nullable AAnnotations */;
4855 var_v = p0;
4856 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4857 if (var == NULL) {
4858 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_float");
4859 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9067);
4860 show_backtrace(1);
4861 }
4862 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4863 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4864 var2 = NULL;
4865 if (var1 == NULL) {
4866 var3 = 0; /* is null */
4867 } else {
4868 var3 = 1; /* arg is null and recv is not */
4869 }
4870 if (var3){
4871 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4872 if (var4 == NULL) {
4873 fprintf(stderr, "Runtime error: %s", "Cast failed");
4874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9069);
4875 show_backtrace(1);
4876 }
4877 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4878 } else {
4879 }
4880 RET_LABEL:;
4881 }
4882 /* method parser_prod#AFloatExpr#visit_all for (self: Object, Visitor) */
4883 void VIRTUAL_parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4884 parser_prod__AFloatExpr__visit_all(self, p0);
4885 RET_LABEL:;
4886 }
4887 /* method parser_prod#ACharExpr#empty_init for (self: ACharExpr) */
4888 void parser_prod__ACharExpr__empty_init(val* self) {
4889 RET_LABEL:;
4890 }
4891 /* method parser_prod#ACharExpr#empty_init for (self: Object) */
4892 void VIRTUAL_parser_prod__ACharExpr__empty_init(val* self) {
4893 parser_prod__ACharExpr__empty_init(self);
4894 RET_LABEL:;
4895 }
4896 /* method parser_prod#ACharExpr#init_acharexpr for (self: ACharExpr, nullable TChar, nullable AAnnotations) */
4897 void parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4898 val* var_n_char /* var n_char: nullable TChar */;
4899 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4900 val* var /* : null */;
4901 short int var1 /* : Bool */;
4902 var_n_char = p0;
4903 var_n_annotations = p1;
4904 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACharExpr__empty_init]))(self) /* empty_init on <self:ACharExpr>*/;
4905 if (var_n_char == NULL) {
4906 fprintf(stderr, "Runtime error: %s", "Cast failed");
4907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9082);
4908 show_backtrace(1);
4909 }
4910 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_n_char; /* _n_char on <self:ACharExpr> */
4911 if (var_n_char == NULL) {
4912 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9083);
4914 show_backtrace(1);
4915 } else {
4916 ((void (*)(val*, val*))(var_n_char->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_char, self) /* parent= on <var_n_char:nullable TChar>*/;
4917 }
4918 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACharExpr> */
4919 var = NULL;
4920 if (var_n_annotations == NULL) {
4921 var1 = 0; /* is null */
4922 } else {
4923 var1 = 1; /* arg is null and recv is not */
4924 }
4925 if (var1){
4926 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
4927 } else {
4928 }
4929 RET_LABEL:;
4930 }
4931 /* method parser_prod#ACharExpr#init_acharexpr for (self: Object, nullable TChar, nullable AAnnotations) */
4932 void VIRTUAL_parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4933 parser_prod__ACharExpr__init_acharexpr(self, p0, p1);
4934 RET_LABEL:;
4935 }
4936 /* method parser_prod#ACharExpr#replace_child for (self: ACharExpr, ANode, nullable ANode) */
4937 void parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
4938 val* var_old_child /* var old_child: ANode */;
4939 val* var_new_child /* var new_child: nullable ANode */;
4940 val* var /* : TChar */;
4941 short int var1 /* : Bool */;
4942 val* var2 /* : null */;
4943 short int var3 /* : Bool */;
4944 short int var4 /* : Bool */;
4945 int cltype;
4946 int idtype;
4947 val* var5 /* : nullable AAnnotations */;
4948 short int var6 /* : Bool */;
4949 val* var7 /* : null */;
4950 short int var8 /* : Bool */;
4951 short int var9 /* : Bool */;
4952 int cltype10;
4953 int idtype11;
4954 val* var12 /* : null */;
4955 var_old_child = p0;
4956 var_new_child = p1;
4957 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
4958 if (var == NULL) {
4959 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_char");
4960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9092);
4961 show_backtrace(1);
4962 }
4963 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TChar>*/;
4964 if (var1){
4965 var2 = NULL;
4966 if (var_new_child == NULL) {
4967 var3 = 0; /* is null */
4968 } else {
4969 var3 = 1; /* arg is null and recv is not */
4970 }
4971 if (var3){
4972 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4973 /* <var_new_child:nullable ANode(ANode)> isa TChar */
4974 cltype = type_parser_nodes__TChar.color;
4975 idtype = type_parser_nodes__TChar.id;
4976 if(cltype >= var_new_child->type->table_size) {
4977 var4 = 0;
4978 } else {
4979 var4 = var_new_child->type->type_table[cltype] == idtype;
4980 }
4981 if (!var4) {
4982 fprintf(stderr, "Runtime error: %s", "Assert failed");
4983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9095);
4984 show_backtrace(1);
4985 }
4986 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_new_child; /* _n_char on <self:ACharExpr> */
4987 } else {
4988 fprintf(stderr, "Runtime error: %s", "Aborted");
4989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9098);
4990 show_backtrace(1);
4991 }
4992 goto RET_LABEL;
4993 } else {
4994 }
4995 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
4996 if (var5 == NULL) {
4997 var6 = 0; /* <var_old_child:ANode> cannot be null */
4998 } else {
4999 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
5000 }
5001 if (var6){
5002 var7 = NULL;
5003 if (var_new_child == NULL) {
5004 var8 = 0; /* is null */
5005 } else {
5006 var8 = 1; /* arg is null and recv is not */
5007 }
5008 if (var8){
5009 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5010 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5011 cltype10 = type_parser_nodes__AAnnotations.color;
5012 idtype11 = type_parser_nodes__AAnnotations.id;
5013 if(cltype10 >= var_new_child->type->table_size) {
5014 var9 = 0;
5015 } else {
5016 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5017 }
5018 if (!var9) {
5019 fprintf(stderr, "Runtime error: %s", "Assert failed");
5020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9105);
5021 show_backtrace(1);
5022 }
5023 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACharExpr> */
5024 } else {
5025 var12 = NULL;
5026 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ACharExpr> */
5027 }
5028 goto RET_LABEL;
5029 } else {
5030 }
5031 RET_LABEL:;
5032 }
5033 /* method parser_prod#ACharExpr#replace_child for (self: Object, ANode, nullable ANode) */
5034 void VIRTUAL_parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
5035 parser_prod__ACharExpr__replace_child(self, p0, p1);
5036 RET_LABEL:;
5037 }
5038 /* method parser_prod#ACharExpr#n_char= for (self: ACharExpr, TChar) */
5039 void parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
5040 val* var_node /* var node: TChar */;
5041 var_node = p0;
5042 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_node; /* _n_char on <self:ACharExpr> */
5043 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TChar>*/;
5044 RET_LABEL:;
5045 }
5046 /* method parser_prod#ACharExpr#n_char= for (self: Object, TChar) */
5047 void VIRTUAL_parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
5048 parser_prod__ACharExpr__n_char_61d(self, p0);
5049 RET_LABEL:;
5050 }
5051 /* method parser_prod#ACharExpr#n_annotations= for (self: ACharExpr, nullable AAnnotations) */
5052 void parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
5053 val* var_node /* var node: nullable AAnnotations */;
5054 val* var /* : null */;
5055 short int var1 /* : Bool */;
5056 var_node = p0;
5057 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACharExpr> */
5058 var = NULL;
5059 if (var_node == NULL) {
5060 var1 = 0; /* is null */
5061 } else {
5062 var1 = 1; /* arg is null and recv is not */
5063 }
5064 if (var1){
5065 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5066 } else {
5067 }
5068 RET_LABEL:;
5069 }
5070 /* method parser_prod#ACharExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5071 void VIRTUAL_parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
5072 parser_prod__ACharExpr__n_annotations_61d(self, p0);
5073 RET_LABEL:;
5074 }
5075 /* method parser_prod#ACharExpr#visit_all for (self: ACharExpr, Visitor) */
5076 void parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5077 val* var_v /* var v: Visitor */;
5078 val* var /* : TChar */;
5079 val* var1 /* : nullable AAnnotations */;
5080 val* var2 /* : null */;
5081 short int var3 /* : Bool */;
5082 val* var4 /* : nullable AAnnotations */;
5083 var_v = p0;
5084 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
5085 if (var == NULL) {
5086 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_char");
5087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9130);
5088 show_backtrace(1);
5089 }
5090 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5091 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5092 var2 = NULL;
5093 if (var1 == NULL) {
5094 var3 = 0; /* is null */
5095 } else {
5096 var3 = 1; /* arg is null and recv is not */
5097 }
5098 if (var3){
5099 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5100 if (var4 == NULL) {
5101 fprintf(stderr, "Runtime error: %s", "Cast failed");
5102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9132);
5103 show_backtrace(1);
5104 }
5105 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5106 } else {
5107 }
5108 RET_LABEL:;
5109 }
5110 /* method parser_prod#ACharExpr#visit_all for (self: Object, Visitor) */
5111 void VIRTUAL_parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5112 parser_prod__ACharExpr__visit_all(self, p0);
5113 RET_LABEL:;
5114 }
5115 /* method parser_prod#AStringExpr#empty_init for (self: AStringExpr) */
5116 void parser_prod__AStringExpr__empty_init(val* self) {
5117 RET_LABEL:;
5118 }
5119 /* method parser_prod#AStringExpr#empty_init for (self: Object) */
5120 void VIRTUAL_parser_prod__AStringExpr__empty_init(val* self) {
5121 parser_prod__AStringExpr__empty_init(self);
5122 RET_LABEL:;
5123 }
5124 /* method parser_prod#AStringExpr#init_astringexpr for (self: AStringExpr, nullable TString, nullable AAnnotations) */
5125 void parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5126 val* var_n_string /* var n_string: nullable TString */;
5127 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5128 val* var /* : null */;
5129 short int var1 /* : Bool */;
5130 var_n_string = p0;
5131 var_n_annotations = p1;
5132 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStringExpr__empty_init]))(self) /* empty_init on <self:AStringExpr>*/;
5133 if (var_n_string == NULL) {
5134 fprintf(stderr, "Runtime error: %s", "Cast failed");
5135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9145);
5136 show_backtrace(1);
5137 }
5138 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStringExpr> */
5139 if (var_n_string == NULL) {
5140 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9146);
5142 show_backtrace(1);
5143 } else {
5144 ((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on <var_n_string:nullable TString>*/;
5145 }
5146 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStringExpr> */
5147 var = NULL;
5148 if (var_n_annotations == NULL) {
5149 var1 = 0; /* is null */
5150 } else {
5151 var1 = 1; /* arg is null and recv is not */
5152 }
5153 if (var1){
5154 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
5155 } else {
5156 }
5157 RET_LABEL:;
5158 }
5159 /* method parser_prod#AStringExpr#init_astringexpr for (self: Object, nullable TString, nullable AAnnotations) */
5160 void VIRTUAL_parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5161 parser_prod__AStringExpr__init_astringexpr(self, p0, p1);
5162 RET_LABEL:;
5163 }
5164 /* method parser_prod#AStringExpr#replace_child for (self: AStringExpr, ANode, nullable ANode) */
5165 void parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5166 val* var_old_child /* var old_child: ANode */;
5167 val* var_new_child /* var new_child: nullable ANode */;
5168 val* var /* : Token */;
5169 short int var1 /* : Bool */;
5170 val* var2 /* : null */;
5171 short int var3 /* : Bool */;
5172 short int var4 /* : Bool */;
5173 int cltype;
5174 int idtype;
5175 val* var5 /* : nullable AAnnotations */;
5176 short int var6 /* : Bool */;
5177 val* var7 /* : null */;
5178 short int var8 /* : Bool */;
5179 short int var9 /* : Bool */;
5180 int cltype10;
5181 int idtype11;
5182 val* var12 /* : null */;
5183 var_old_child = p0;
5184 var_new_child = p1;
5185 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5186 if (var == NULL) {
5187 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9155);
5189 show_backtrace(1);
5190 }
5191 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5192 if (var1){
5193 var2 = NULL;
5194 if (var_new_child == NULL) {
5195 var3 = 0; /* is null */
5196 } else {
5197 var3 = 1; /* arg is null and recv is not */
5198 }
5199 if (var3){
5200 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5201 /* <var_new_child:nullable ANode(ANode)> isa TString */
5202 cltype = type_parser_nodes__TString.color;
5203 idtype = type_parser_nodes__TString.id;
5204 if(cltype >= var_new_child->type->table_size) {
5205 var4 = 0;
5206 } else {
5207 var4 = var_new_child->type->type_table[cltype] == idtype;
5208 }
5209 if (!var4) {
5210 fprintf(stderr, "Runtime error: %s", "Assert failed");
5211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9158);
5212 show_backtrace(1);
5213 }
5214 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStringExpr> */
5215 } else {
5216 fprintf(stderr, "Runtime error: %s", "Aborted");
5217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9161);
5218 show_backtrace(1);
5219 }
5220 goto RET_LABEL;
5221 } else {
5222 }
5223 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5224 if (var5 == NULL) {
5225 var6 = 0; /* <var_old_child:ANode> cannot be null */
5226 } else {
5227 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
5228 }
5229 if (var6){
5230 var7 = NULL;
5231 if (var_new_child == NULL) {
5232 var8 = 0; /* is null */
5233 } else {
5234 var8 = 1; /* arg is null and recv is not */
5235 }
5236 if (var8){
5237 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5238 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5239 cltype10 = type_parser_nodes__AAnnotations.color;
5240 idtype11 = type_parser_nodes__AAnnotations.id;
5241 if(cltype10 >= var_new_child->type->table_size) {
5242 var9 = 0;
5243 } else {
5244 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5245 }
5246 if (!var9) {
5247 fprintf(stderr, "Runtime error: %s", "Assert failed");
5248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9168);
5249 show_backtrace(1);
5250 }
5251 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStringExpr> */
5252 } else {
5253 var12 = NULL;
5254 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AStringExpr> */
5255 }
5256 goto RET_LABEL;
5257 } else {
5258 }
5259 RET_LABEL:;
5260 }
5261 /* method parser_prod#AStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5262 void VIRTUAL_parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5263 parser_prod__AStringExpr__replace_child(self, p0, p1);
5264 RET_LABEL:;
5265 }
5266 /* method parser_prod#AStringExpr#n_string= for (self: AStringExpr, Token) */
5267 void parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5268 val* var_node /* var node: Token */;
5269 var_node = p0;
5270 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStringExpr> */
5271 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5272 RET_LABEL:;
5273 }
5274 /* method parser_prod#AStringExpr#n_string= for (self: Object, Token) */
5275 void VIRTUAL_parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5276 parser_prod__AStringExpr__n_string_61d(self, p0);
5277 RET_LABEL:;
5278 }
5279 /* method parser_prod#AStringExpr#n_annotations= for (self: AStringExpr, nullable AAnnotations) */
5280 void parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5281 val* var_node /* var node: nullable AAnnotations */;
5282 val* var /* : null */;
5283 short int var1 /* : Bool */;
5284 var_node = p0;
5285 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStringExpr> */
5286 var = NULL;
5287 if (var_node == NULL) {
5288 var1 = 0; /* is null */
5289 } else {
5290 var1 = 1; /* arg is null and recv is not */
5291 }
5292 if (var1){
5293 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5294 } else {
5295 }
5296 RET_LABEL:;
5297 }
5298 /* method parser_prod#AStringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5299 void VIRTUAL_parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5300 parser_prod__AStringExpr__n_annotations_61d(self, p0);
5301 RET_LABEL:;
5302 }
5303 /* method parser_prod#AStringExpr#visit_all for (self: AStringExpr, Visitor) */
5304 void parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5305 val* var_v /* var v: Visitor */;
5306 val* var /* : Token */;
5307 val* var1 /* : nullable AAnnotations */;
5308 val* var2 /* : null */;
5309 short int var3 /* : Bool */;
5310 val* var4 /* : nullable AAnnotations */;
5311 var_v = p0;
5312 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5313 if (var == NULL) {
5314 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9193);
5316 show_backtrace(1);
5317 }
5318 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5319 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5320 var2 = NULL;
5321 if (var1 == NULL) {
5322 var3 = 0; /* is null */
5323 } else {
5324 var3 = 1; /* arg is null and recv is not */
5325 }
5326 if (var3){
5327 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5328 if (var4 == NULL) {
5329 fprintf(stderr, "Runtime error: %s", "Cast failed");
5330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9195);
5331 show_backtrace(1);
5332 }
5333 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5334 } else {
5335 }
5336 RET_LABEL:;
5337 }
5338 /* method parser_prod#AStringExpr#visit_all for (self: Object, Visitor) */
5339 void VIRTUAL_parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5340 parser_prod__AStringExpr__visit_all(self, p0);
5341 RET_LABEL:;
5342 }
5343 /* method parser_prod#AStartStringExpr#empty_init for (self: AStartStringExpr) */
5344 void parser_prod__AStartStringExpr__empty_init(val* self) {
5345 RET_LABEL:;
5346 }
5347 /* method parser_prod#AStartStringExpr#empty_init for (self: Object) */
5348 void VIRTUAL_parser_prod__AStartStringExpr__empty_init(val* self) {
5349 parser_prod__AStartStringExpr__empty_init(self);
5350 RET_LABEL:;
5351 }
5352 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: AStartStringExpr, nullable TStartString) */
5353 void parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5354 val* var_n_string /* var n_string: nullable TStartString */;
5355 var_n_string = p0;
5356 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStartStringExpr__empty_init]))(self) /* empty_init on <self:AStartStringExpr>*/;
5357 if (var_n_string == NULL) {
5358 fprintf(stderr, "Runtime error: %s", "Cast failed");
5359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9207);
5360 show_backtrace(1);
5361 }
5362 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStartStringExpr> */
5363 if (var_n_string == NULL) {
5364 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9208);
5366 show_backtrace(1);
5367 } else {
5368 ((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on <var_n_string:nullable TStartString>*/;
5369 }
5370 RET_LABEL:;
5371 }
5372 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: Object, nullable TStartString) */
5373 void VIRTUAL_parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5374 parser_prod__AStartStringExpr__init_astartstringexpr(self, p0);
5375 RET_LABEL:;
5376 }
5377 /* method parser_prod#AStartStringExpr#replace_child for (self: AStartStringExpr, ANode, nullable ANode) */
5378 void parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5379 val* var_old_child /* var old_child: ANode */;
5380 val* var_new_child /* var new_child: nullable ANode */;
5381 val* var /* : Token */;
5382 short int var1 /* : Bool */;
5383 val* var2 /* : null */;
5384 short int var3 /* : Bool */;
5385 short int var4 /* : Bool */;
5386 int cltype;
5387 int idtype;
5388 var_old_child = p0;
5389 var_new_child = p1;
5390 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5391 if (var == NULL) {
5392 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5393 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9213);
5394 show_backtrace(1);
5395 }
5396 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5397 if (var1){
5398 var2 = NULL;
5399 if (var_new_child == NULL) {
5400 var3 = 0; /* is null */
5401 } else {
5402 var3 = 1; /* arg is null and recv is not */
5403 }
5404 if (var3){
5405 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5406 /* <var_new_child:nullable ANode(ANode)> isa TStartString */
5407 cltype = type_parser_nodes__TStartString.color;
5408 idtype = type_parser_nodes__TStartString.id;
5409 if(cltype >= var_new_child->type->table_size) {
5410 var4 = 0;
5411 } else {
5412 var4 = var_new_child->type->type_table[cltype] == idtype;
5413 }
5414 if (!var4) {
5415 fprintf(stderr, "Runtime error: %s", "Assert failed");
5416 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9216);
5417 show_backtrace(1);
5418 }
5419 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStartStringExpr> */
5420 } else {
5421 fprintf(stderr, "Runtime error: %s", "Aborted");
5422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9219);
5423 show_backtrace(1);
5424 }
5425 goto RET_LABEL;
5426 } else {
5427 }
5428 RET_LABEL:;
5429 }
5430 /* method parser_prod#AStartStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5431 void VIRTUAL_parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5432 parser_prod__AStartStringExpr__replace_child(self, p0, p1);
5433 RET_LABEL:;
5434 }
5435 /* method parser_prod#AStartStringExpr#n_string= for (self: AStartStringExpr, Token) */
5436 void parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5437 val* var_node /* var node: Token */;
5438 var_node = p0;
5439 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStartStringExpr> */
5440 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5441 RET_LABEL:;
5442 }
5443 /* method parser_prod#AStartStringExpr#n_string= for (self: Object, Token) */
5444 void VIRTUAL_parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5445 parser_prod__AStartStringExpr__n_string_61d(self, p0);
5446 RET_LABEL:;
5447 }
5448 /* method parser_prod#AStartStringExpr#visit_all for (self: AStartStringExpr, Visitor) */
5449 void parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5450 val* var_v /* var v: Visitor */;
5451 val* var /* : Token */;
5452 var_v = p0;
5453 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5454 if (var == NULL) {
5455 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9234);
5457 show_backtrace(1);
5458 }
5459 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5460 RET_LABEL:;
5461 }
5462 /* method parser_prod#AStartStringExpr#visit_all for (self: Object, Visitor) */
5463 void VIRTUAL_parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5464 parser_prod__AStartStringExpr__visit_all(self, p0);
5465 RET_LABEL:;
5466 }
5467 /* method parser_prod#AMidStringExpr#empty_init for (self: AMidStringExpr) */
5468 void parser_prod__AMidStringExpr__empty_init(val* self) {
5469 RET_LABEL:;
5470 }
5471 /* method parser_prod#AMidStringExpr#empty_init for (self: Object) */
5472 void VIRTUAL_parser_prod__AMidStringExpr__empty_init(val* self) {
5473 parser_prod__AMidStringExpr__empty_init(self);
5474 RET_LABEL:;
5475 }
5476 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: AMidStringExpr, nullable TMidString) */
5477 void parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5478 val* var_n_string /* var n_string: nullable TMidString */;
5479 var_n_string = p0;
5480 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMidStringExpr__empty_init]))(self) /* empty_init on <self:AMidStringExpr>*/;
5481 if (var_n_string == NULL) {
5482 fprintf(stderr, "Runtime error: %s", "Cast failed");
5483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9245);
5484 show_backtrace(1);
5485 }
5486 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AMidStringExpr> */
5487 if (var_n_string == NULL) {
5488 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9246);
5490 show_backtrace(1);
5491 } else {
5492 ((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on <var_n_string:nullable TMidString>*/;
5493 }
5494 RET_LABEL:;
5495 }
5496 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: Object, nullable TMidString) */
5497 void VIRTUAL_parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5498 parser_prod__AMidStringExpr__init_amidstringexpr(self, p0);
5499 RET_LABEL:;
5500 }
5501 /* method parser_prod#AMidStringExpr#replace_child for (self: AMidStringExpr, ANode, nullable ANode) */
5502 void parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5503 val* var_old_child /* var old_child: ANode */;
5504 val* var_new_child /* var new_child: nullable ANode */;
5505 val* var /* : Token */;
5506 short int var1 /* : Bool */;
5507 val* var2 /* : null */;
5508 short int var3 /* : Bool */;
5509 short int var4 /* : Bool */;
5510 int cltype;
5511 int idtype;
5512 var_old_child = p0;
5513 var_new_child = p1;
5514 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5515 if (var == NULL) {
5516 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9251);
5518 show_backtrace(1);
5519 }
5520 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5521 if (var1){
5522 var2 = NULL;
5523 if (var_new_child == NULL) {
5524 var3 = 0; /* is null */
5525 } else {
5526 var3 = 1; /* arg is null and recv is not */
5527 }
5528 if (var3){
5529 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5530 /* <var_new_child:nullable ANode(ANode)> isa TMidString */
5531 cltype = type_parser_nodes__TMidString.color;
5532 idtype = type_parser_nodes__TMidString.id;
5533 if(cltype >= var_new_child->type->table_size) {
5534 var4 = 0;
5535 } else {
5536 var4 = var_new_child->type->type_table[cltype] == idtype;
5537 }
5538 if (!var4) {
5539 fprintf(stderr, "Runtime error: %s", "Assert failed");
5540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9254);
5541 show_backtrace(1);
5542 }
5543 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AMidStringExpr> */
5544 } else {
5545 fprintf(stderr, "Runtime error: %s", "Aborted");
5546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9257);
5547 show_backtrace(1);
5548 }
5549 goto RET_LABEL;
5550 } else {
5551 }
5552 RET_LABEL:;
5553 }
5554 /* method parser_prod#AMidStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5555 void VIRTUAL_parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5556 parser_prod__AMidStringExpr__replace_child(self, p0, p1);
5557 RET_LABEL:;
5558 }
5559 /* method parser_prod#AMidStringExpr#n_string= for (self: AMidStringExpr, Token) */
5560 void parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5561 val* var_node /* var node: Token */;
5562 var_node = p0;
5563 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AMidStringExpr> */
5564 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5565 RET_LABEL:;
5566 }
5567 /* method parser_prod#AMidStringExpr#n_string= for (self: Object, Token) */
5568 void VIRTUAL_parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5569 parser_prod__AMidStringExpr__n_string_61d(self, p0);
5570 RET_LABEL:;
5571 }
5572 /* method parser_prod#AMidStringExpr#visit_all for (self: AMidStringExpr, Visitor) */
5573 void parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5574 val* var_v /* var v: Visitor */;
5575 val* var /* : Token */;
5576 var_v = p0;
5577 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5578 if (var == NULL) {
5579 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9272);
5581 show_backtrace(1);
5582 }
5583 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5584 RET_LABEL:;
5585 }
5586 /* method parser_prod#AMidStringExpr#visit_all for (self: Object, Visitor) */
5587 void VIRTUAL_parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5588 parser_prod__AMidStringExpr__visit_all(self, p0);
5589 RET_LABEL:;
5590 }
5591 /* method parser_prod#AEndStringExpr#empty_init for (self: AEndStringExpr) */
5592 void parser_prod__AEndStringExpr__empty_init(val* self) {
5593 RET_LABEL:;
5594 }
5595 /* method parser_prod#AEndStringExpr#empty_init for (self: Object) */
5596 void VIRTUAL_parser_prod__AEndStringExpr__empty_init(val* self) {
5597 parser_prod__AEndStringExpr__empty_init(self);
5598 RET_LABEL:;
5599 }
5600 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: AEndStringExpr, nullable TEndString) */
5601 void parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5602 val* var_n_string /* var n_string: nullable TEndString */;
5603 var_n_string = p0;
5604 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEndStringExpr__empty_init]))(self) /* empty_init on <self:AEndStringExpr>*/;
5605 if (var_n_string == NULL) {
5606 fprintf(stderr, "Runtime error: %s", "Cast failed");
5607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9283);
5608 show_backtrace(1);
5609 }
5610 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AEndStringExpr> */
5611 if (var_n_string == NULL) {
5612 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9284);
5614 show_backtrace(1);
5615 } else {
5616 ((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on <var_n_string:nullable TEndString>*/;
5617 }
5618 RET_LABEL:;
5619 }
5620 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: Object, nullable TEndString) */
5621 void VIRTUAL_parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5622 parser_prod__AEndStringExpr__init_aendstringexpr(self, p0);
5623 RET_LABEL:;
5624 }
5625 /* method parser_prod#AEndStringExpr#replace_child for (self: AEndStringExpr, ANode, nullable ANode) */
5626 void parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5627 val* var_old_child /* var old_child: ANode */;
5628 val* var_new_child /* var new_child: nullable ANode */;
5629 val* var /* : Token */;
5630 short int var1 /* : Bool */;
5631 val* var2 /* : null */;
5632 short int var3 /* : Bool */;
5633 short int var4 /* : Bool */;
5634 int cltype;
5635 int idtype;
5636 var_old_child = p0;
5637 var_new_child = p1;
5638 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5639 if (var == NULL) {
5640 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9289);
5642 show_backtrace(1);
5643 }
5644 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5645 if (var1){
5646 var2 = NULL;
5647 if (var_new_child == NULL) {
5648 var3 = 0; /* is null */
5649 } else {
5650 var3 = 1; /* arg is null and recv is not */
5651 }
5652 if (var3){
5653 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5654 /* <var_new_child:nullable ANode(ANode)> isa TEndString */
5655 cltype = type_parser_nodes__TEndString.color;
5656 idtype = type_parser_nodes__TEndString.id;
5657 if(cltype >= var_new_child->type->table_size) {
5658 var4 = 0;
5659 } else {
5660 var4 = var_new_child->type->type_table[cltype] == idtype;
5661 }
5662 if (!var4) {
5663 fprintf(stderr, "Runtime error: %s", "Assert failed");
5664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9292);
5665 show_backtrace(1);
5666 }
5667 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AEndStringExpr> */
5668 } else {
5669 fprintf(stderr, "Runtime error: %s", "Aborted");
5670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9295);
5671 show_backtrace(1);
5672 }
5673 goto RET_LABEL;
5674 } else {
5675 }
5676 RET_LABEL:;
5677 }
5678 /* method parser_prod#AEndStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5679 void VIRTUAL_parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5680 parser_prod__AEndStringExpr__replace_child(self, p0, p1);
5681 RET_LABEL:;
5682 }
5683 /* method parser_prod#AEndStringExpr#n_string= for (self: AEndStringExpr, Token) */
5684 void parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5685 val* var_node /* var node: Token */;
5686 var_node = p0;
5687 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AEndStringExpr> */
5688 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5689 RET_LABEL:;
5690 }
5691 /* method parser_prod#AEndStringExpr#n_string= for (self: Object, Token) */
5692 void VIRTUAL_parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5693 parser_prod__AEndStringExpr__n_string_61d(self, p0);
5694 RET_LABEL:;
5695 }
5696 /* method parser_prod#AEndStringExpr#visit_all for (self: AEndStringExpr, Visitor) */
5697 void parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5698 val* var_v /* var v: Visitor */;
5699 val* var /* : Token */;
5700 var_v = p0;
5701 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5702 if (var == NULL) {
5703 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9310);
5705 show_backtrace(1);
5706 }
5707 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5708 RET_LABEL:;
5709 }
5710 /* method parser_prod#AEndStringExpr#visit_all for (self: Object, Visitor) */
5711 void VIRTUAL_parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5712 parser_prod__AEndStringExpr__visit_all(self, p0);
5713 RET_LABEL:;
5714 }
5715 /* method parser_prod#ASuperstringExpr#empty_init for (self: ASuperstringExpr) */
5716 void parser_prod__ASuperstringExpr__empty_init(val* self) {
5717 RET_LABEL:;
5718 }
5719 /* method parser_prod#ASuperstringExpr#empty_init for (self: Object) */
5720 void VIRTUAL_parser_prod__ASuperstringExpr__empty_init(val* self) {
5721 parser_prod__ASuperstringExpr__empty_init(self);
5722 RET_LABEL:;
5723 }
5724 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: ASuperstringExpr, Collection[Object], nullable AAnnotations) */
5725 void parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5726 val* var_n_exprs /* var n_exprs: Collection[Object] */;
5727 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5728 val* var /* : Iterator[nullable Object] */;
5729 short int var1 /* : Bool */;
5730 val* var2 /* : nullable Object */;
5731 val* var_n /* var n: Object */;
5732 short int var3 /* : Bool */;
5733 int cltype;
5734 int idtype;
5735 val* var4 /* : ANodes[AExpr] */;
5736 val* var5 /* : null */;
5737 short int var6 /* : Bool */;
5738 var_n_exprs = p0;
5739 var_n_annotations = p1;
5740 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperstringExpr__empty_init]))(self) /* empty_init on <self:ASuperstringExpr>*/;
5741 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
5742 for(;;) {
5743 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
5744 if(!var1) break;
5745 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
5746 var_n = var2;
5747 /* <var_n:Object> isa AExpr */
5748 cltype = type_parser_nodes__AExpr.color;
5749 idtype = type_parser_nodes__AExpr.id;
5750 if(cltype >= var_n->type->table_size) {
5751 var3 = 0;
5752 } else {
5753 var3 = var_n->type->type_table[cltype] == idtype;
5754 }
5755 if (!var3) {
5756 fprintf(stderr, "Runtime error: %s", "Assert failed");
5757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9323);
5758 show_backtrace(1);
5759 }
5760 var4 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5761 if (var4 == NULL) {
5762 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9324);
5764 show_backtrace(1);
5765 }
5766 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
5767 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
5768 CONTINUE_label: (void)0;
5769 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
5770 }
5771 BREAK_label: (void)0;
5772 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperstringExpr> */
5773 var5 = NULL;
5774 if (var_n_annotations == NULL) {
5775 var6 = 0; /* is null */
5776 } else {
5777 var6 = 1; /* arg is null and recv is not */
5778 }
5779 if (var6){
5780 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
5781 } else {
5782 }
5783 RET_LABEL:;
5784 }
5785 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: Object, Collection[Object], nullable AAnnotations) */
5786 void VIRTUAL_parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5787 parser_prod__ASuperstringExpr__init_asuperstringexpr(self, p0, p1);
5788 RET_LABEL:;
5789 }
5790 /* method parser_prod#ASuperstringExpr#replace_child for (self: ASuperstringExpr, ANode, nullable ANode) */
5791 void parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5792 val* var_old_child /* var old_child: ANode */;
5793 val* var_new_child /* var new_child: nullable ANode */;
5794 val* var /* : Range[Int] */;
5795 long var1 /* : Int */;
5796 val* var2 /* : ANodes[AExpr] */;
5797 long var3 /* : Int */;
5798 val* var4 /* : Discrete */;
5799 val* var5 /* : Discrete */;
5800 val* var6 /* : Iterator[nullable Object] */;
5801 short int var7 /* : Bool */;
5802 val* var8 /* : nullable Object */;
5803 long var_i /* var i: Int */;
5804 long var9 /* : Int */;
5805 val* var10 /* : ANodes[AExpr] */;
5806 val* var11 /* : nullable Object */;
5807 short int var12 /* : Bool */;
5808 val* var13 /* : null */;
5809 short int var14 /* : Bool */;
5810 short int var15 /* : Bool */;
5811 int cltype;
5812 int idtype;
5813 val* var16 /* : ANodes[AExpr] */;
5814 val* var17 /* : ANodes[AExpr] */;
5815 val* var18 /* : nullable AAnnotations */;
5816 short int var19 /* : Bool */;
5817 val* var20 /* : null */;
5818 short int var21 /* : Bool */;
5819 short int var22 /* : Bool */;
5820 int cltype23;
5821 int idtype24;
5822 val* var25 /* : null */;
5823 var_old_child = p0;
5824 var_new_child = p1;
5825 var = NEW_range__Range(&type_range__Rangekernel__Int);
5826 var1 = 0;
5827 var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5828 if (var2 == NULL) {
5829 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5830 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9335);
5831 show_backtrace(1);
5832 }
5833 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
5834 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
5835 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
5836 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
5837 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
5838 for(;;) {
5839 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
5840 if(!var7) break;
5841 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
5842 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
5843 var_i = var9;
5844 var10 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5845 if (var10 == NULL) {
5846 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9336);
5848 show_backtrace(1);
5849 }
5850 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
5851 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
5852 if (var12){
5853 var13 = NULL;
5854 if (var_new_child == NULL) {
5855 var14 = 0; /* is null */
5856 } else {
5857 var14 = 1; /* arg is null and recv is not */
5858 }
5859 if (var14){
5860 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5861 cltype = type_parser_nodes__AExpr.color;
5862 idtype = type_parser_nodes__AExpr.id;
5863 if(cltype >= var_new_child->type->table_size) {
5864 var15 = 0;
5865 } else {
5866 var15 = var_new_child->type->type_table[cltype] == idtype;
5867 }
5868 if (!var15) {
5869 fprintf(stderr, "Runtime error: %s", "Assert failed");
5870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9338);
5871 show_backtrace(1);
5872 }
5873 var16 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5874 if (var16 == NULL) {
5875 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9339);
5877 show_backtrace(1);
5878 }
5879 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
5880 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AExpr)>*/;
5881 } else {
5882 var17 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5883 if (var17 == NULL) {
5884 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9342);
5886 show_backtrace(1);
5887 }
5888 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
5889 }
5890 goto RET_LABEL;
5891 } else {
5892 }
5893 CONTINUE_label: (void)0;
5894 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
5895 }
5896 BREAK_label: (void)0;
5897 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5898 if (var18 == NULL) {
5899 var19 = 0; /* <var_old_child:ANode> cannot be null */
5900 } else {
5901 var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, var_old_child) /* == on <var18:nullable AAnnotations>*/;
5902 }
5903 if (var19){
5904 var20 = NULL;
5905 if (var_new_child == NULL) {
5906 var21 = 0; /* is null */
5907 } else {
5908 var21 = 1; /* arg is null and recv is not */
5909 }
5910 if (var21){
5911 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5912 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5913 cltype23 = type_parser_nodes__AAnnotations.color;
5914 idtype24 = type_parser_nodes__AAnnotations.id;
5915 if(cltype23 >= var_new_child->type->table_size) {
5916 var22 = 0;
5917 } else {
5918 var22 = var_new_child->type->type_table[cltype23] == idtype24;
5919 }
5920 if (!var22) {
5921 fprintf(stderr, "Runtime error: %s", "Assert failed");
5922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9350);
5923 show_backtrace(1);
5924 }
5925 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperstringExpr> */
5926 } else {
5927 var25 = NULL;
5928 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var25; /* _n_annotations on <self:ASuperstringExpr> */
5929 }
5930 goto RET_LABEL;
5931 } else {
5932 }
5933 RET_LABEL:;
5934 }
5935 /* method parser_prod#ASuperstringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5936 void VIRTUAL_parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5937 parser_prod__ASuperstringExpr__replace_child(self, p0, p1);
5938 RET_LABEL:;
5939 }
5940 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: ASuperstringExpr, nullable AAnnotations) */
5941 void parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5942 val* var_node /* var node: nullable AAnnotations */;
5943 val* var /* : null */;
5944 short int var1 /* : Bool */;
5945 var_node = p0;
5946 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperstringExpr> */
5947 var = NULL;
5948 if (var_node == NULL) {
5949 var1 = 0; /* is null */
5950 } else {
5951 var1 = 1; /* arg is null and recv is not */
5952 }
5953 if (var1){
5954 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5955 } else {
5956 }
5957 RET_LABEL:;
5958 }
5959 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5960 void VIRTUAL_parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5961 parser_prod__ASuperstringExpr__n_annotations_61d(self, p0);
5962 RET_LABEL:;
5963 }
5964 /* method parser_prod#ASuperstringExpr#visit_all for (self: ASuperstringExpr, Visitor) */
5965 void parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
5966 val* var_v /* var v: Visitor */;
5967 val* var /* : ANodes[AExpr] */;
5968 val* var1 /* : Iterator[nullable Object] */;
5969 short int var2 /* : Bool */;
5970 val* var3 /* : nullable Object */;
5971 val* var_n /* var n: AExpr */;
5972 val* var4 /* : nullable AAnnotations */;
5973 val* var5 /* : null */;
5974 short int var6 /* : Bool */;
5975 val* var7 /* : nullable AAnnotations */;
5976 var_v = p0;
5977 var = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5978 if (var == NULL) {
5979 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9370);
5981 show_backtrace(1);
5982 }
5983 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
5984 for(;;) {
5985 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
5986 if(!var2) break;
5987 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
5988 var_n = var3;
5989 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
5990 CONTINUE_label: (void)0;
5991 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
5992 }
5993 BREAK_label: (void)0;
5994 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5995 var5 = NULL;
5996 if (var4 == NULL) {
5997 var6 = 0; /* is null */
5998 } else {
5999 var6 = 1; /* arg is null and recv is not */
6000 }
6001 if (var6){
6002 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
6003 if (var7 == NULL) {
6004 fprintf(stderr, "Runtime error: %s", "Cast failed");
6005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9374);
6006 show_backtrace(1);
6007 }
6008 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6009 } else {
6010 }
6011 RET_LABEL:;
6012 }
6013 /* method parser_prod#ASuperstringExpr#visit_all for (self: Object, Visitor) */
6014 void VIRTUAL_parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
6015 parser_prod__ASuperstringExpr__visit_all(self, p0);
6016 RET_LABEL:;
6017 }
6018 /* method parser_prod#AParExpr#empty_init for (self: AParExpr) */
6019 void parser_prod__AParExpr__empty_init(val* self) {
6020 RET_LABEL:;
6021 }
6022 /* method parser_prod#AParExpr#empty_init for (self: Object) */
6023 void VIRTUAL_parser_prod__AParExpr__empty_init(val* self) {
6024 parser_prod__AParExpr__empty_init(self);
6025 RET_LABEL:;
6026 }
6027 /* method parser_prod#AParExpr#init_aparexpr for (self: AParExpr, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
6028 void parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
6029 val* var_n_opar /* var n_opar: nullable TOpar */;
6030 val* var_n_expr /* var n_expr: nullable AExpr */;
6031 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6032 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
6033 val* var /* : null */;
6034 short int var1 /* : Bool */;
6035 var_n_opar = p0;
6036 var_n_expr = p1;
6037 var_n_cpar = p2;
6038 var_n_annotations = p3;
6039 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExpr__empty_init]))(self) /* empty_init on <self:AParExpr>*/;
6040 if (var_n_opar == NULL) {
6041 fprintf(stderr, "Runtime error: %s", "Cast failed");
6042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9389);
6043 show_backtrace(1);
6044 }
6045 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AParExpr> */
6046 if (var_n_opar == NULL) {
6047 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9390);
6049 show_backtrace(1);
6050 } else {
6051 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar>*/;
6052 }
6053 if (var_n_expr == NULL) {
6054 fprintf(stderr, "Runtime error: %s", "Cast failed");
6055 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9391);
6056 show_backtrace(1);
6057 }
6058 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AParExpr> */
6059 if (var_n_expr == NULL) {
6060 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9392);
6062 show_backtrace(1);
6063 } else {
6064 ((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>*/;
6065 }
6066 if (var_n_cpar == NULL) {
6067 fprintf(stderr, "Runtime error: %s", "Cast failed");
6068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9393);
6069 show_backtrace(1);
6070 }
6071 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExpr> */
6072 if (var_n_cpar == NULL) {
6073 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9394);
6075 show_backtrace(1);
6076 } else {
6077 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar>*/;
6078 }
6079 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AParExpr> */
6080 var = NULL;
6081 if (var_n_annotations == NULL) {
6082 var1 = 0; /* is null */
6083 } else {
6084 var1 = 1; /* arg is null and recv is not */
6085 }
6086 if (var1){
6087 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
6088 } else {
6089 }
6090 RET_LABEL:;
6091 }
6092 /* method parser_prod#AParExpr#init_aparexpr for (self: Object, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
6093 void VIRTUAL_parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
6094 parser_prod__AParExpr__init_aparexpr(self, p0, p1, p2, p3);
6095 RET_LABEL:;
6096 }
6097 /* method parser_prod#AParExpr#replace_child for (self: AParExpr, ANode, nullable ANode) */
6098 void parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
6099 val* var_old_child /* var old_child: ANode */;
6100 val* var_new_child /* var new_child: nullable ANode */;
6101 val* var /* : TOpar */;
6102 short int var1 /* : Bool */;
6103 val* var2 /* : null */;
6104 short int var3 /* : Bool */;
6105 short int var4 /* : Bool */;
6106 int cltype;
6107 int idtype;
6108 val* var5 /* : AExpr */;
6109 short int var6 /* : Bool */;
6110 val* var7 /* : null */;
6111 short int var8 /* : Bool */;
6112 short int var9 /* : Bool */;
6113 int cltype10;
6114 int idtype11;
6115 val* var12 /* : TCpar */;
6116 short int var13 /* : Bool */;
6117 val* var14 /* : null */;
6118 short int var15 /* : Bool */;
6119 short int var16 /* : Bool */;
6120 int cltype17;
6121 int idtype18;
6122 val* var19 /* : nullable AAnnotations */;
6123 short int var20 /* : Bool */;
6124 val* var21 /* : null */;
6125 short int var22 /* : Bool */;
6126 short int var23 /* : Bool */;
6127 int cltype24;
6128 int idtype25;
6129 val* var26 /* : null */;
6130 var_old_child = p0;
6131 var_new_child = p1;
6132 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6133 if (var == NULL) {
6134 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9403);
6136 show_backtrace(1);
6137 }
6138 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
6139 if (var1){
6140 var2 = NULL;
6141 if (var_new_child == NULL) {
6142 var3 = 0; /* is null */
6143 } else {
6144 var3 = 1; /* arg is null and recv is not */
6145 }
6146 if (var3){
6147 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6148 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6149 cltype = type_parser_nodes__TOpar.color;
6150 idtype = type_parser_nodes__TOpar.id;
6151 if(cltype >= var_new_child->type->table_size) {
6152 var4 = 0;
6153 } else {
6154 var4 = var_new_child->type->type_table[cltype] == idtype;
6155 }
6156 if (!var4) {
6157 fprintf(stderr, "Runtime error: %s", "Assert failed");
6158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9406);
6159 show_backtrace(1);
6160 }
6161 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_new_child; /* _n_opar on <self:AParExpr> */
6162 } else {
6163 fprintf(stderr, "Runtime error: %s", "Aborted");
6164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9409);
6165 show_backtrace(1);
6166 }
6167 goto RET_LABEL;
6168 } else {
6169 }
6170 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6171 if (var5 == NULL) {
6172 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6173 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9413);
6174 show_backtrace(1);
6175 }
6176 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6177 if (var6){
6178 var7 = NULL;
6179 if (var_new_child == NULL) {
6180 var8 = 0; /* is null */
6181 } else {
6182 var8 = 1; /* arg is null and recv is not */
6183 }
6184 if (var8){
6185 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6186 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6187 cltype10 = type_parser_nodes__AExpr.color;
6188 idtype11 = type_parser_nodes__AExpr.id;
6189 if(cltype10 >= var_new_child->type->table_size) {
6190 var9 = 0;
6191 } else {
6192 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6193 }
6194 if (!var9) {
6195 fprintf(stderr, "Runtime error: %s", "Assert failed");
6196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9416);
6197 show_backtrace(1);
6198 }
6199 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AParExpr> */
6200 } else {
6201 fprintf(stderr, "Runtime error: %s", "Aborted");
6202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9419);
6203 show_backtrace(1);
6204 }
6205 goto RET_LABEL;
6206 } else {
6207 }
6208 var12 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6209 if (var12 == NULL) {
6210 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9423);
6212 show_backtrace(1);
6213 }
6214 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TCpar>*/;
6215 if (var13){
6216 var14 = NULL;
6217 if (var_new_child == NULL) {
6218 var15 = 0; /* is null */
6219 } else {
6220 var15 = 1; /* arg is null and recv is not */
6221 }
6222 if (var15){
6223 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6224 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
6225 cltype17 = type_parser_nodes__TCpar.color;
6226 idtype18 = type_parser_nodes__TCpar.id;
6227 if(cltype17 >= var_new_child->type->table_size) {
6228 var16 = 0;
6229 } else {
6230 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6231 }
6232 if (!var16) {
6233 fprintf(stderr, "Runtime error: %s", "Assert failed");
6234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9426);
6235 show_backtrace(1);
6236 }
6237 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExpr> */
6238 } else {
6239 fprintf(stderr, "Runtime error: %s", "Aborted");
6240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9429);
6241 show_backtrace(1);
6242 }
6243 goto RET_LABEL;
6244 } else {
6245 }
6246 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6247 if (var19 == NULL) {
6248 var20 = 0; /* <var_old_child:ANode> cannot be null */
6249 } else {
6250 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
6251 }
6252 if (var20){
6253 var21 = NULL;
6254 if (var_new_child == NULL) {
6255 var22 = 0; /* is null */
6256 } else {
6257 var22 = 1; /* arg is null and recv is not */
6258 }
6259 if (var22){
6260 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6261 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
6262 cltype24 = type_parser_nodes__AAnnotations.color;
6263 idtype25 = type_parser_nodes__AAnnotations.id;
6264 if(cltype24 >= var_new_child->type->table_size) {
6265 var23 = 0;
6266 } else {
6267 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6268 }
6269 if (!var23) {
6270 fprintf(stderr, "Runtime error: %s", "Assert failed");
6271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9436);
6272 show_backtrace(1);
6273 }
6274 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AParExpr> */
6275 } else {
6276 var26 = NULL;
6277 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AParExpr> */
6278 }
6279 goto RET_LABEL;
6280 } else {
6281 }
6282 RET_LABEL:;
6283 }
6284 /* method parser_prod#AParExpr#replace_child for (self: Object, ANode, nullable ANode) */
6285 void VIRTUAL_parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
6286 parser_prod__AParExpr__replace_child(self, p0, p1);
6287 RET_LABEL:;
6288 }
6289 /* method parser_prod#AParExpr#n_opar= for (self: AParExpr, TOpar) */
6290 void parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6291 val* var_node /* var node: TOpar */;
6292 var_node = p0;
6293 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_node; /* _n_opar on <self:AParExpr> */
6294 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6295 RET_LABEL:;
6296 }
6297 /* method parser_prod#AParExpr#n_opar= for (self: Object, TOpar) */
6298 void VIRTUAL_parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6299 parser_prod__AParExpr__n_opar_61d(self, p0);
6300 RET_LABEL:;
6301 }
6302 /* method parser_prod#AParExpr#n_expr= for (self: AParExpr, AExpr) */
6303 void parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6304 val* var_node /* var node: AExpr */;
6305 var_node = p0;
6306 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AParExpr> */
6307 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6308 RET_LABEL:;
6309 }
6310 /* method parser_prod#AParExpr#n_expr= for (self: Object, AExpr) */
6311 void VIRTUAL_parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6312 parser_prod__AParExpr__n_expr_61d(self, p0);
6313 RET_LABEL:;
6314 }
6315 /* method parser_prod#AParExpr#n_cpar= for (self: AParExpr, TCpar) */
6316 void parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6317 val* var_node /* var node: TCpar */;
6318 var_node = p0;
6319 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_node; /* _n_cpar on <self:AParExpr> */
6320 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6321 RET_LABEL:;
6322 }
6323 /* method parser_prod#AParExpr#n_cpar= for (self: Object, TCpar) */
6324 void VIRTUAL_parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6325 parser_prod__AParExpr__n_cpar_61d(self, p0);
6326 RET_LABEL:;
6327 }
6328 /* method parser_prod#AParExpr#n_annotations= for (self: AParExpr, nullable AAnnotations) */
6329 void parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6330 val* var_node /* var node: nullable AAnnotations */;
6331 val* var /* : null */;
6332 short int var1 /* : Bool */;
6333 var_node = p0;
6334 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AParExpr> */
6335 var = NULL;
6336 if (var_node == NULL) {
6337 var1 = 0; /* is null */
6338 } else {
6339 var1 = 1; /* arg is null and recv is not */
6340 }
6341 if (var1){
6342 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
6343 } else {
6344 }
6345 RET_LABEL:;
6346 }
6347 /* method parser_prod#AParExpr#n_annotations= for (self: Object, nullable AAnnotations) */
6348 void VIRTUAL_parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6349 parser_prod__AParExpr__n_annotations_61d(self, p0);
6350 RET_LABEL:;
6351 }
6352 /* method parser_prod#AParExpr#visit_all for (self: AParExpr, Visitor) */
6353 void parser_prod__AParExpr__visit_all(val* self, val* p0) {
6354 val* var_v /* var v: Visitor */;
6355 val* var /* : TOpar */;
6356 val* var1 /* : AExpr */;
6357 val* var2 /* : TCpar */;
6358 val* var3 /* : nullable AAnnotations */;
6359 val* var4 /* : null */;
6360 short int var5 /* : Bool */;
6361 val* var6 /* : nullable AAnnotations */;
6362 var_v = p0;
6363 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6364 if (var == NULL) {
6365 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9471);
6367 show_backtrace(1);
6368 }
6369 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6370 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6371 if (var1 == NULL) {
6372 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9472);
6374 show_backtrace(1);
6375 }
6376 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6377 var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6378 if (var2 == NULL) {
6379 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9473);
6381 show_backtrace(1);
6382 }
6383 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6384 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6385 var4 = NULL;
6386 if (var3 == NULL) {
6387 var5 = 0; /* is null */
6388 } else {
6389 var5 = 1; /* arg is null and recv is not */
6390 }
6391 if (var5){
6392 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6393 if (var6 == NULL) {
6394 fprintf(stderr, "Runtime error: %s", "Cast failed");
6395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9475);
6396 show_backtrace(1);
6397 }
6398 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
6399 } else {
6400 }
6401 RET_LABEL:;
6402 }
6403 /* method parser_prod#AParExpr#visit_all for (self: Object, Visitor) */
6404 void VIRTUAL_parser_prod__AParExpr__visit_all(val* self, val* p0) {
6405 parser_prod__AParExpr__visit_all(self, p0);
6406 RET_LABEL:;
6407 }
6408 /* method parser_prod#AAsCastExpr#empty_init for (self: AAsCastExpr) */
6409 void parser_prod__AAsCastExpr__empty_init(val* self) {
6410 RET_LABEL:;
6411 }
6412 /* method parser_prod#AAsCastExpr#empty_init for (self: Object) */
6413 void VIRTUAL_parser_prod__AAsCastExpr__empty_init(val* self) {
6414 parser_prod__AAsCastExpr__empty_init(self);
6415 RET_LABEL:;
6416 }
6417 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: AAsCastExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6418 void parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6419 val* var_n_expr /* var n_expr: nullable AExpr */;
6420 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6421 val* var_n_opar /* var n_opar: nullable TOpar */;
6422 val* var_n_type /* var n_type: nullable AType */;
6423 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6424 var_n_expr = p0;
6425 var_n_kwas = p1;
6426 var_n_opar = p2;
6427 var_n_type = p3;
6428 var_n_cpar = p4;
6429 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsCastExpr__empty_init]))(self) /* empty_init on <self:AAsCastExpr>*/;
6430 if (var_n_expr == NULL) {
6431 fprintf(stderr, "Runtime error: %s", "Cast failed");
6432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9491);
6433 show_backtrace(1);
6434 }
6435 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsCastExpr> */
6436 if (var_n_expr == NULL) {
6437 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9492);
6439 show_backtrace(1);
6440 } else {
6441 ((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>*/;
6442 }
6443 if (var_n_kwas == NULL) {
6444 fprintf(stderr, "Runtime error: %s", "Cast failed");
6445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9493);
6446 show_backtrace(1);
6447 }
6448 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsCastExpr> */
6449 if (var_n_kwas == NULL) {
6450 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9494);
6452 show_backtrace(1);
6453 } else {
6454 ((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on <var_n_kwas:nullable TKwas>*/;
6455 }
6456 if (var_n_opar == NULL) {
6457 fprintf(stderr, "Runtime error: %s", "Cast failed");
6458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9495);
6459 show_backtrace(1);
6460 }
6461 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsCastExpr> */
6462 if (var_n_opar == NULL) {
6463 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9496);
6465 show_backtrace(1);
6466 } else {
6467 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar>*/;
6468 }
6469 if (var_n_type == NULL) {
6470 fprintf(stderr, "Runtime error: %s", "Cast failed");
6471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9497);
6472 show_backtrace(1);
6473 }
6474 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_n_type; /* _n_type on <self:AAsCastExpr> */
6475 if (var_n_type == NULL) {
6476 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9498);
6478 show_backtrace(1);
6479 } else {
6480 ((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>*/;
6481 }
6482 if (var_n_cpar == NULL) {
6483 fprintf(stderr, "Runtime error: %s", "Cast failed");
6484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9499);
6485 show_backtrace(1);
6486 }
6487 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsCastExpr> */
6488 if (var_n_cpar == NULL) {
6489 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9500);
6491 show_backtrace(1);
6492 } else {
6493 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar>*/;
6494 }
6495 RET_LABEL:;
6496 }
6497 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6498 void VIRTUAL_parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6499 parser_prod__AAsCastExpr__init_aascastexpr(self, p0, p1, p2, p3, p4);
6500 RET_LABEL:;
6501 }
6502 /* method parser_prod#AAsCastExpr#replace_child for (self: AAsCastExpr, ANode, nullable ANode) */
6503 void parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6504 val* var_old_child /* var old_child: ANode */;
6505 val* var_new_child /* var new_child: nullable ANode */;
6506 val* var /* : AExpr */;
6507 short int var1 /* : Bool */;
6508 val* var2 /* : null */;
6509 short int var3 /* : Bool */;
6510 short int var4 /* : Bool */;
6511 int cltype;
6512 int idtype;
6513 val* var5 /* : TKwas */;
6514 short int var6 /* : Bool */;
6515 val* var7 /* : null */;
6516 short int var8 /* : Bool */;
6517 short int var9 /* : Bool */;
6518 int cltype10;
6519 int idtype11;
6520 val* var12 /* : TOpar */;
6521 short int var13 /* : Bool */;
6522 val* var14 /* : null */;
6523 short int var15 /* : Bool */;
6524 short int var16 /* : Bool */;
6525 int cltype17;
6526 int idtype18;
6527 val* var19 /* : AType */;
6528 short int var20 /* : Bool */;
6529 val* var21 /* : null */;
6530 short int var22 /* : Bool */;
6531 short int var23 /* : Bool */;
6532 int cltype24;
6533 int idtype25;
6534 val* var26 /* : TCpar */;
6535 short int var27 /* : Bool */;
6536 val* var28 /* : null */;
6537 short int var29 /* : Bool */;
6538 short int var30 /* : Bool */;
6539 int cltype31;
6540 int idtype32;
6541 var_old_child = p0;
6542 var_new_child = p1;
6543 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6544 if (var == NULL) {
6545 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9505);
6547 show_backtrace(1);
6548 }
6549 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6550 if (var1){
6551 var2 = NULL;
6552 if (var_new_child == NULL) {
6553 var3 = 0; /* is null */
6554 } else {
6555 var3 = 1; /* arg is null and recv is not */
6556 }
6557 if (var3){
6558 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6559 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6560 cltype = type_parser_nodes__AExpr.color;
6561 idtype = type_parser_nodes__AExpr.id;
6562 if(cltype >= var_new_child->type->table_size) {
6563 var4 = 0;
6564 } else {
6565 var4 = var_new_child->type->type_table[cltype] == idtype;
6566 }
6567 if (!var4) {
6568 fprintf(stderr, "Runtime error: %s", "Assert failed");
6569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9508);
6570 show_backtrace(1);
6571 }
6572 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsCastExpr> */
6573 } else {
6574 fprintf(stderr, "Runtime error: %s", "Aborted");
6575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9511);
6576 show_backtrace(1);
6577 }
6578 goto RET_LABEL;
6579 } else {
6580 }
6581 var5 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6582 if (var5 == NULL) {
6583 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
6584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9515);
6585 show_backtrace(1);
6586 }
6587 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
6588 if (var6){
6589 var7 = NULL;
6590 if (var_new_child == NULL) {
6591 var8 = 0; /* is null */
6592 } else {
6593 var8 = 1; /* arg is null and recv is not */
6594 }
6595 if (var8){
6596 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6597 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
6598 cltype10 = type_parser_nodes__TKwas.color;
6599 idtype11 = type_parser_nodes__TKwas.id;
6600 if(cltype10 >= var_new_child->type->table_size) {
6601 var9 = 0;
6602 } else {
6603 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6604 }
6605 if (!var9) {
6606 fprintf(stderr, "Runtime error: %s", "Assert failed");
6607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9518);
6608 show_backtrace(1);
6609 }
6610 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsCastExpr> */
6611 } else {
6612 fprintf(stderr, "Runtime error: %s", "Aborted");
6613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9521);
6614 show_backtrace(1);
6615 }
6616 goto RET_LABEL;
6617 } else {
6618 }
6619 var12 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6620 if (var12 == NULL) {
6621 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9525);
6623 show_backtrace(1);
6624 }
6625 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
6626 if (var13){
6627 var14 = NULL;
6628 if (var_new_child == NULL) {
6629 var15 = 0; /* is null */
6630 } else {
6631 var15 = 1; /* arg is null and recv is not */
6632 }
6633 if (var15){
6634 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6635 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6636 cltype17 = type_parser_nodes__TOpar.color;
6637 idtype18 = type_parser_nodes__TOpar.id;
6638 if(cltype17 >= var_new_child->type->table_size) {
6639 var16 = 0;
6640 } else {
6641 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6642 }
6643 if (!var16) {
6644 fprintf(stderr, "Runtime error: %s", "Assert failed");
6645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9528);
6646 show_backtrace(1);
6647 }
6648 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsCastExpr> */
6649 } else {
6650 fprintf(stderr, "Runtime error: %s", "Aborted");
6651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9531);
6652 show_backtrace(1);
6653 }
6654 goto RET_LABEL;
6655 } else {
6656 }
6657 var19 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6658 if (var19 == NULL) {
6659 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
6660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9535);
6661 show_backtrace(1);
6662 }
6663 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
6664 if (var20){
6665 var21 = NULL;
6666 if (var_new_child == NULL) {
6667 var22 = 0; /* is null */
6668 } else {
6669 var22 = 1; /* arg is null and recv is not */
6670 }
6671 if (var22){
6672 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6673 /* <var_new_child:nullable ANode(ANode)> isa AType */
6674 cltype24 = type_parser_nodes__AType.color;
6675 idtype25 = type_parser_nodes__AType.id;
6676 if(cltype24 >= var_new_child->type->table_size) {
6677 var23 = 0;
6678 } else {
6679 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6680 }
6681 if (!var23) {
6682 fprintf(stderr, "Runtime error: %s", "Assert failed");
6683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9538);
6684 show_backtrace(1);
6685 }
6686 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_new_child; /* _n_type on <self:AAsCastExpr> */
6687 } else {
6688 fprintf(stderr, "Runtime error: %s", "Aborted");
6689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9541);
6690 show_backtrace(1);
6691 }
6692 goto RET_LABEL;
6693 } else {
6694 }
6695 var26 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6696 if (var26 == NULL) {
6697 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9545);
6699 show_backtrace(1);
6700 }
6701 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TCpar>*/;
6702 if (var27){
6703 var28 = NULL;
6704 if (var_new_child == NULL) {
6705 var29 = 0; /* is null */
6706 } else {
6707 var29 = 1; /* arg is null and recv is not */
6708 }
6709 if (var29){
6710 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6711 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
6712 cltype31 = type_parser_nodes__TCpar.color;
6713 idtype32 = type_parser_nodes__TCpar.id;
6714 if(cltype31 >= var_new_child->type->table_size) {
6715 var30 = 0;
6716 } else {
6717 var30 = var_new_child->type->type_table[cltype31] == idtype32;
6718 }
6719 if (!var30) {
6720 fprintf(stderr, "Runtime error: %s", "Assert failed");
6721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9548);
6722 show_backtrace(1);
6723 }
6724 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsCastExpr> */
6725 } else {
6726 fprintf(stderr, "Runtime error: %s", "Aborted");
6727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9551);
6728 show_backtrace(1);
6729 }
6730 goto RET_LABEL;
6731 } else {
6732 }
6733 RET_LABEL:;
6734 }
6735 /* method parser_prod#AAsCastExpr#replace_child for (self: Object, ANode, nullable ANode) */
6736 void VIRTUAL_parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6737 parser_prod__AAsCastExpr__replace_child(self, p0, p1);
6738 RET_LABEL:;
6739 }
6740 /* method parser_prod#AAsCastExpr#n_expr= for (self: AAsCastExpr, AExpr) */
6741 void parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6742 val* var_node /* var node: AExpr */;
6743 var_node = p0;
6744 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_node; /* _n_expr on <self:AAsCastExpr> */
6745 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6746 RET_LABEL:;
6747 }
6748 /* method parser_prod#AAsCastExpr#n_expr= for (self: Object, AExpr) */
6749 void VIRTUAL_parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6750 parser_prod__AAsCastExpr__n_expr_61d(self, p0);
6751 RET_LABEL:;
6752 }
6753 /* method parser_prod#AAsCastExpr#n_kwas= for (self: AAsCastExpr, TKwas) */
6754 void parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6755 val* var_node /* var node: TKwas */;
6756 var_node = p0;
6757 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsCastExpr> */
6758 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
6759 RET_LABEL:;
6760 }
6761 /* method parser_prod#AAsCastExpr#n_kwas= for (self: Object, TKwas) */
6762 void VIRTUAL_parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6763 parser_prod__AAsCastExpr__n_kwas_61d(self, p0);
6764 RET_LABEL:;
6765 }
6766 /* method parser_prod#AAsCastExpr#n_opar= for (self: AAsCastExpr, TOpar) */
6767 void parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6768 val* var_node /* var node: TOpar */;
6769 var_node = p0;
6770 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_node; /* _n_opar on <self:AAsCastExpr> */
6771 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6772 RET_LABEL:;
6773 }
6774 /* method parser_prod#AAsCastExpr#n_opar= for (self: Object, TOpar) */
6775 void VIRTUAL_parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6776 parser_prod__AAsCastExpr__n_opar_61d(self, p0);
6777 RET_LABEL:;
6778 }
6779 /* method parser_prod#AAsCastExpr#n_type= for (self: AAsCastExpr, AType) */
6780 void parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6781 val* var_node /* var node: AType */;
6782 var_node = p0;
6783 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_node; /* _n_type on <self:AAsCastExpr> */
6784 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
6785 RET_LABEL:;
6786 }
6787 /* method parser_prod#AAsCastExpr#n_type= for (self: Object, AType) */
6788 void VIRTUAL_parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6789 parser_prod__AAsCastExpr__n_type_61d(self, p0);
6790 RET_LABEL:;
6791 }
6792 /* method parser_prod#AAsCastExpr#n_cpar= for (self: AAsCastExpr, TCpar) */
6793 void parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6794 val* var_node /* var node: TCpar */;
6795 var_node = p0;
6796 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsCastExpr> */
6797 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6798 RET_LABEL:;
6799 }
6800 /* method parser_prod#AAsCastExpr#n_cpar= for (self: Object, TCpar) */
6801 void VIRTUAL_parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6802 parser_prod__AAsCastExpr__n_cpar_61d(self, p0);
6803 RET_LABEL:;
6804 }
6805 /* method parser_prod#AAsCastExpr#visit_all for (self: AAsCastExpr, Visitor) */
6806 void parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6807 val* var_v /* var v: Visitor */;
6808 val* var /* : AExpr */;
6809 val* var1 /* : TKwas */;
6810 val* var2 /* : TOpar */;
6811 val* var3 /* : AType */;
6812 val* var4 /* : TCpar */;
6813 var_v = p0;
6814 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6815 if (var == NULL) {
6816 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9586);
6818 show_backtrace(1);
6819 }
6820 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6821 var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6822 if (var1 == NULL) {
6823 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
6824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9587);
6825 show_backtrace(1);
6826 }
6827 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6828 var2 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6829 if (var2 == NULL) {
6830 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9588);
6832 show_backtrace(1);
6833 }
6834 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6835 var3 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6836 if (var3 == NULL) {
6837 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
6838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9589);
6839 show_backtrace(1);
6840 }
6841 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6842 var4 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6843 if (var4 == NULL) {
6844 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9590);
6846 show_backtrace(1);
6847 }
6848 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
6849 RET_LABEL:;
6850 }
6851 /* method parser_prod#AAsCastExpr#visit_all for (self: Object, Visitor) */
6852 void VIRTUAL_parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6853 parser_prod__AAsCastExpr__visit_all(self, p0);
6854 RET_LABEL:;
6855 }
6856 /* method parser_prod#AAsNotnullExpr#empty_init for (self: AAsNotnullExpr) */
6857 void parser_prod__AAsNotnullExpr__empty_init(val* self) {
6858 RET_LABEL:;
6859 }
6860 /* method parser_prod#AAsNotnullExpr#empty_init for (self: Object) */
6861 void VIRTUAL_parser_prod__AAsNotnullExpr__empty_init(val* self) {
6862 parser_prod__AAsNotnullExpr__empty_init(self);
6863 RET_LABEL:;
6864 }
6865 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: AAsNotnullExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6866 void parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6867 val* var_n_expr /* var n_expr: nullable AExpr */;
6868 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6869 val* var_n_opar /* var n_opar: nullable TOpar */;
6870 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
6871 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
6872 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6873 var_n_expr = p0;
6874 var_n_kwas = p1;
6875 var_n_opar = p2;
6876 var_n_kwnot = p3;
6877 var_n_kwnull = p4;
6878 var_n_cpar = p5;
6879 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNotnullExpr__empty_init]))(self) /* empty_init on <self:AAsNotnullExpr>*/;
6880 if (var_n_expr == NULL) {
6881 fprintf(stderr, "Runtime error: %s", "Cast failed");
6882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9606);
6883 show_backtrace(1);
6884 }
6885 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsNotnullExpr> */
6886 if (var_n_expr == NULL) {
6887 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9607);
6889 show_backtrace(1);
6890 } else {
6891 ((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>*/;
6892 }
6893 if (var_n_kwas == NULL) {
6894 fprintf(stderr, "Runtime error: %s", "Cast failed");
6895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9608);
6896 show_backtrace(1);
6897 }
6898 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNotnullExpr> */
6899 if (var_n_kwas == NULL) {
6900 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9609);
6902 show_backtrace(1);
6903 } else {
6904 ((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on <var_n_kwas:nullable TKwas>*/;
6905 }
6906 if (var_n_opar == NULL) {
6907 fprintf(stderr, "Runtime error: %s", "Cast failed");
6908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9610);
6909 show_backtrace(1);
6910 }
6911 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsNotnullExpr> */
6912 if (var_n_opar == NULL) {
6913 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9611);
6915 show_backtrace(1);
6916 } else {
6917 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar>*/;
6918 }
6919 if (var_n_kwnot == NULL) {
6920 fprintf(stderr, "Runtime error: %s", "Cast failed");
6921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9612);
6922 show_backtrace(1);
6923 }
6924 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:AAsNotnullExpr> */
6925 if (var_n_kwnot == NULL) {
6926 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9613);
6928 show_backtrace(1);
6929 } else {
6930 ((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>*/;
6931 }
6932 if (var_n_kwnull == NULL) {
6933 fprintf(stderr, "Runtime error: %s", "Cast failed");
6934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9614);
6935 show_backtrace(1);
6936 }
6937 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:AAsNotnullExpr> */
6938 if (var_n_kwnull == NULL) {
6939 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9615);
6941 show_backtrace(1);
6942 } else {
6943 ((void (*)(val*, val*))(var_n_kwnull->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnull, self) /* parent= on <var_n_kwnull:nullable TKwnull>*/;
6944 }
6945 if (var_n_cpar == NULL) {
6946 fprintf(stderr, "Runtime error: %s", "Cast failed");
6947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9616);
6948 show_backtrace(1);
6949 }
6950 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsNotnullExpr> */
6951 if (var_n_cpar == NULL) {
6952 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9617);
6954 show_backtrace(1);
6955 } else {
6956 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar>*/;
6957 }
6958 RET_LABEL:;
6959 }
6960 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6961 void VIRTUAL_parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6962 parser_prod__AAsNotnullExpr__init_aasnotnullexpr(self, p0, p1, p2, p3, p4, p5);
6963 RET_LABEL:;
6964 }
6965 /* method parser_prod#AAsNotnullExpr#replace_child for (self: AAsNotnullExpr, ANode, nullable ANode) */
6966 void parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
6967 val* var_old_child /* var old_child: ANode */;
6968 val* var_new_child /* var new_child: nullable ANode */;
6969 val* var /* : AExpr */;
6970 short int var1 /* : Bool */;
6971 val* var2 /* : null */;
6972 short int var3 /* : Bool */;
6973 short int var4 /* : Bool */;
6974 int cltype;
6975 int idtype;
6976 val* var5 /* : TKwas */;
6977 short int var6 /* : Bool */;
6978 val* var7 /* : null */;
6979 short int var8 /* : Bool */;
6980 short int var9 /* : Bool */;
6981 int cltype10;
6982 int idtype11;
6983 val* var12 /* : TOpar */;
6984 short int var13 /* : Bool */;
6985 val* var14 /* : null */;
6986 short int var15 /* : Bool */;
6987 short int var16 /* : Bool */;
6988 int cltype17;
6989 int idtype18;
6990 val* var19 /* : TKwnot */;
6991 short int var20 /* : Bool */;
6992 val* var21 /* : null */;
6993 short int var22 /* : Bool */;
6994 short int var23 /* : Bool */;
6995 int cltype24;
6996 int idtype25;
6997 val* var26 /* : TKwnull */;
6998 short int var27 /* : Bool */;
6999 val* var28 /* : null */;
7000 short int var29 /* : Bool */;
7001 short int var30 /* : Bool */;
7002 int cltype31;
7003 int idtype32;
7004 val* var33 /* : TCpar */;
7005 short int var34 /* : Bool */;
7006 val* var35 /* : null */;
7007 short int var36 /* : Bool */;
7008 short int var37 /* : Bool */;
7009 int cltype38;
7010 int idtype39;
7011 var_old_child = p0;
7012 var_new_child = p1;
7013 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
7014 if (var == NULL) {
7015 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9622);
7017 show_backtrace(1);
7018 }
7019 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7020 if (var1){
7021 var2 = NULL;
7022 if (var_new_child == NULL) {
7023 var3 = 0; /* is null */
7024 } else {
7025 var3 = 1; /* arg is null and recv is not */
7026 }
7027 if (var3){
7028 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7029 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7030 cltype = type_parser_nodes__AExpr.color;
7031 idtype = type_parser_nodes__AExpr.id;
7032 if(cltype >= var_new_child->type->table_size) {
7033 var4 = 0;
7034 } else {
7035 var4 = var_new_child->type->type_table[cltype] == idtype;
7036 }
7037 if (!var4) {
7038 fprintf(stderr, "Runtime error: %s", "Assert failed");
7039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9625);
7040 show_backtrace(1);
7041 }
7042 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsNotnullExpr> */
7043 } else {
7044 fprintf(stderr, "Runtime error: %s", "Aborted");
7045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9628);
7046 show_backtrace(1);
7047 }
7048 goto RET_LABEL;
7049 } else {
7050 }
7051 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
7052 if (var5 == NULL) {
7053 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
7054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9632);
7055 show_backtrace(1);
7056 }
7057 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
7058 if (var6){
7059 var7 = NULL;
7060 if (var_new_child == NULL) {
7061 var8 = 0; /* is null */
7062 } else {
7063 var8 = 1; /* arg is null and recv is not */
7064 }
7065 if (var8){
7066 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7067 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
7068 cltype10 = type_parser_nodes__TKwas.color;
7069 idtype11 = type_parser_nodes__TKwas.id;
7070 if(cltype10 >= var_new_child->type->table_size) {
7071 var9 = 0;
7072 } else {
7073 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7074 }
7075 if (!var9) {
7076 fprintf(stderr, "Runtime error: %s", "Assert failed");
7077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9635);
7078 show_backtrace(1);
7079 }
7080 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsNotnullExpr> */
7081 } else {
7082 fprintf(stderr, "Runtime error: %s", "Aborted");
7083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9638);
7084 show_backtrace(1);
7085 }
7086 goto RET_LABEL;
7087 } else {
7088 }
7089 var12 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
7090 if (var12 == NULL) {
7091 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
7092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9642);
7093 show_backtrace(1);
7094 }
7095 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
7096 if (var13){
7097 var14 = NULL;
7098 if (var_new_child == NULL) {
7099 var15 = 0; /* is null */
7100 } else {
7101 var15 = 1; /* arg is null and recv is not */
7102 }
7103 if (var15){
7104 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7105 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
7106 cltype17 = type_parser_nodes__TOpar.color;
7107 idtype18 = type_parser_nodes__TOpar.id;
7108 if(cltype17 >= var_new_child->type->table_size) {
7109 var16 = 0;
7110 } else {
7111 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7112 }
7113 if (!var16) {
7114 fprintf(stderr, "Runtime error: %s", "Assert failed");
7115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9645);
7116 show_backtrace(1);
7117 }
7118 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsNotnullExpr> */
7119 } else {
7120 fprintf(stderr, "Runtime error: %s", "Aborted");
7121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9648);
7122 show_backtrace(1);
7123 }
7124 goto RET_LABEL;
7125 } else {
7126 }
7127 var19 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
7128 if (var19 == NULL) {
7129 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
7130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9652);
7131 show_backtrace(1);
7132 }
7133 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TKwnot>*/;
7134 if (var20){
7135 var21 = NULL;
7136 if (var_new_child == NULL) {
7137 var22 = 0; /* is null */
7138 } else {
7139 var22 = 1; /* arg is null and recv is not */
7140 }
7141 if (var22){
7142 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7143 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
7144 cltype24 = type_parser_nodes__TKwnot.color;
7145 idtype25 = type_parser_nodes__TKwnot.id;
7146 if(cltype24 >= var_new_child->type->table_size) {
7147 var23 = 0;
7148 } else {
7149 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7150 }
7151 if (!var23) {
7152 fprintf(stderr, "Runtime error: %s", "Assert failed");
7153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9655);
7154 show_backtrace(1);
7155 }
7156 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:AAsNotnullExpr> */
7157 } else {
7158 fprintf(stderr, "Runtime error: %s", "Aborted");
7159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9658);
7160 show_backtrace(1);
7161 }
7162 goto RET_LABEL;
7163 } else {
7164 }
7165 var26 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
7166 if (var26 == NULL) {
7167 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
7168 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9662);
7169 show_backtrace(1);
7170 }
7171 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwnull>*/;
7172 if (var27){
7173 var28 = NULL;
7174 if (var_new_child == NULL) {
7175 var29 = 0; /* is null */
7176 } else {
7177 var29 = 1; /* arg is null and recv is not */
7178 }
7179 if (var29){
7180 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7181 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
7182 cltype31 = type_parser_nodes__TKwnull.color;
7183 idtype32 = type_parser_nodes__TKwnull.id;
7184 if(cltype31 >= var_new_child->type->table_size) {
7185 var30 = 0;
7186 } else {
7187 var30 = var_new_child->type->type_table[cltype31] == idtype32;
7188 }
7189 if (!var30) {
7190 fprintf(stderr, "Runtime error: %s", "Assert failed");
7191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9665);
7192 show_backtrace(1);
7193 }
7194 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:AAsNotnullExpr> */
7195 } else {
7196 fprintf(stderr, "Runtime error: %s", "Aborted");
7197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9668);
7198 show_backtrace(1);
7199 }
7200 goto RET_LABEL;
7201 } else {
7202 }
7203 var33 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7204 if (var33 == NULL) {
7205 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
7206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9672);
7207 show_backtrace(1);
7208 }
7209 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:TCpar>*/;
7210 if (var34){
7211 var35 = NULL;
7212 if (var_new_child == NULL) {
7213 var36 = 0; /* is null */
7214 } else {
7215 var36 = 1; /* arg is null and recv is not */
7216 }
7217 if (var36){
7218 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7219 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
7220 cltype38 = type_parser_nodes__TCpar.color;
7221 idtype39 = type_parser_nodes__TCpar.id;
7222 if(cltype38 >= var_new_child->type->table_size) {
7223 var37 = 0;
7224 } else {
7225 var37 = var_new_child->type->type_table[cltype38] == idtype39;
7226 }
7227 if (!var37) {
7228 fprintf(stderr, "Runtime error: %s", "Assert failed");
7229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9675);
7230 show_backtrace(1);
7231 }
7232 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsNotnullExpr> */
7233 } else {
7234 fprintf(stderr, "Runtime error: %s", "Aborted");
7235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9678);
7236 show_backtrace(1);
7237 }
7238 goto RET_LABEL;
7239 } else {
7240 }
7241 RET_LABEL:;
7242 }
7243 /* method parser_prod#AAsNotnullExpr#replace_child for (self: Object, ANode, nullable ANode) */
7244 void VIRTUAL_parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
7245 parser_prod__AAsNotnullExpr__replace_child(self, p0, p1);
7246 RET_LABEL:;
7247 }
7248 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: AAsNotnullExpr, AExpr) */
7249 void parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7250 val* var_node /* var node: AExpr */;
7251 var_node = p0;
7252 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_node; /* _n_expr on <self:AAsNotnullExpr> */
7253 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7254 RET_LABEL:;
7255 }
7256 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: Object, AExpr) */
7257 void VIRTUAL_parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7258 parser_prod__AAsNotnullExpr__n_expr_61d(self, p0);
7259 RET_LABEL:;
7260 }
7261 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: AAsNotnullExpr, TKwas) */
7262 void parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7263 val* var_node /* var node: TKwas */;
7264 var_node = p0;
7265 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsNotnullExpr> */
7266 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
7267 RET_LABEL:;
7268 }
7269 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: Object, TKwas) */
7270 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7271 parser_prod__AAsNotnullExpr__n_kwas_61d(self, p0);
7272 RET_LABEL:;
7273 }
7274 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: AAsNotnullExpr, TOpar) */
7275 void parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7276 val* var_node /* var node: TOpar */;
7277 var_node = p0;
7278 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_node; /* _n_opar on <self:AAsNotnullExpr> */
7279 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
7280 RET_LABEL:;
7281 }
7282 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: Object, TOpar) */
7283 void VIRTUAL_parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7284 parser_prod__AAsNotnullExpr__n_opar_61d(self, p0);
7285 RET_LABEL:;
7286 }
7287 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: AAsNotnullExpr, TKwnot) */
7288 void parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7289 val* var_node /* var node: TKwnot */;
7290 var_node = p0;
7291 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:AAsNotnullExpr> */
7292 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
7293 RET_LABEL:;
7294 }
7295 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: Object, TKwnot) */
7296 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7297 parser_prod__AAsNotnullExpr__n_kwnot_61d(self, p0);
7298 RET_LABEL:;
7299 }
7300 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: AAsNotnullExpr, TKwnull) */
7301 void parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7302 val* var_node /* var node: TKwnull */;
7303 var_node = p0;
7304 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:AAsNotnullExpr> */
7305 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
7306 RET_LABEL:;
7307 }
7308 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: Object, TKwnull) */
7309 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7310 parser_prod__AAsNotnullExpr__n_kwnull_61d(self, p0);
7311 RET_LABEL:;
7312 }
7313 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: AAsNotnullExpr, TCpar) */
7314 void parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7315 val* var_node /* var node: TCpar */;
7316 var_node = p0;
7317 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsNotnullExpr> */
7318 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
7319 RET_LABEL:;
7320 }
7321 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: Object, TCpar) */
7322 void VIRTUAL_parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7323 parser_prod__AAsNotnullExpr__n_cpar_61d(self, p0);
7324 RET_LABEL:;
7325 }
7326 /* method parser_prod#AAsNotnullExpr#visit_all for (self: AAsNotnullExpr, Visitor) */
7327 void parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7328 val* var_v /* var v: Visitor */;
7329 val* var /* : AExpr */;
7330 val* var1 /* : TKwas */;
7331 val* var2 /* : TOpar */;
7332 val* var3 /* : TKwnot */;
7333 val* var4 /* : TKwnull */;
7334 val* var5 /* : TCpar */;
7335 var_v = p0;
7336 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
7337 if (var == NULL) {
7338 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9718);
7340 show_backtrace(1);
7341 }
7342 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7343 var1 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
7344 if (var1 == NULL) {
7345 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
7346 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9719);
7347 show_backtrace(1);
7348 }
7349 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7350 var2 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
7351 if (var2 == NULL) {
7352 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
7353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9720);
7354 show_backtrace(1);
7355 }
7356 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7357 var3 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
7358 if (var3 == NULL) {
7359 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
7360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9721);
7361 show_backtrace(1);
7362 }
7363 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7364 var4 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
7365 if (var4 == NULL) {
7366 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
7367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9722);
7368 show_backtrace(1);
7369 }
7370 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
7371 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7372 if (var5 == NULL) {
7373 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
7374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9723);
7375 show_backtrace(1);
7376 }
7377 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7378 RET_LABEL:;
7379 }
7380 /* method parser_prod#AAsNotnullExpr#visit_all for (self: Object, Visitor) */
7381 void VIRTUAL_parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7382 parser_prod__AAsNotnullExpr__visit_all(self, p0);
7383 RET_LABEL:;
7384 }
7385 /* method parser_prod#AIssetAttrExpr#empty_init for (self: AIssetAttrExpr) */
7386 void parser_prod__AIssetAttrExpr__empty_init(val* self) {
7387 RET_LABEL:;
7388 }
7389 /* method parser_prod#AIssetAttrExpr#empty_init for (self: Object) */
7390 void VIRTUAL_parser_prod__AIssetAttrExpr__empty_init(val* self) {
7391 parser_prod__AIssetAttrExpr__empty_init(self);
7392 RET_LABEL:;
7393 }
7394 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: AIssetAttrExpr, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7395 void parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7396 val* var_n_kwisset /* var n_kwisset: nullable TKwisset */;
7397 val* var_n_expr /* var n_expr: nullable AExpr */;
7398 val* var_n_id /* var n_id: nullable TAttrid */;
7399 var_n_kwisset = p0;
7400 var_n_expr = p1;
7401 var_n_id = p2;
7402 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIssetAttrExpr__empty_init]))(self) /* empty_init on <self:AIssetAttrExpr>*/;
7403 if (var_n_kwisset == NULL) {
7404 fprintf(stderr, "Runtime error: %s", "Cast failed");
7405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9736);
7406 show_backtrace(1);
7407 }
7408 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_n_kwisset; /* _n_kwisset on <self:AIssetAttrExpr> */
7409 if (var_n_kwisset == NULL) {
7410 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9737);
7412 show_backtrace(1);
7413 } else {
7414 ((void (*)(val*, val*))(var_n_kwisset->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwisset, self) /* parent= on <var_n_kwisset:nullable TKwisset>*/;
7415 }
7416 if (var_n_expr == NULL) {
7417 fprintf(stderr, "Runtime error: %s", "Cast failed");
7418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9738);
7419 show_backtrace(1);
7420 }
7421 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIssetAttrExpr> */
7422 if (var_n_expr == NULL) {
7423 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9739);
7425 show_backtrace(1);
7426 } else {
7427 ((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>*/;
7428 }
7429 if (var_n_id == NULL) {
7430 fprintf(stderr, "Runtime error: %s", "Cast failed");
7431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9740);
7432 show_backtrace(1);
7433 }
7434 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AIssetAttrExpr> */
7435 if (var_n_id == NULL) {
7436 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9741);
7438 show_backtrace(1);
7439 } else {
7440 ((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>*/;
7441 }
7442 RET_LABEL:;
7443 }
7444 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: Object, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7445 void VIRTUAL_parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7446 parser_prod__AIssetAttrExpr__init_aissetattrexpr(self, p0, p1, p2);
7447 RET_LABEL:;
7448 }
7449 /* method parser_prod#AIssetAttrExpr#replace_child for (self: AIssetAttrExpr, ANode, nullable ANode) */
7450 void parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7451 val* var_old_child /* var old_child: ANode */;
7452 val* var_new_child /* var new_child: nullable ANode */;
7453 val* var /* : TKwisset */;
7454 short int var1 /* : Bool */;
7455 val* var2 /* : null */;
7456 short int var3 /* : Bool */;
7457 short int var4 /* : Bool */;
7458 int cltype;
7459 int idtype;
7460 val* var5 /* : AExpr */;
7461 short int var6 /* : Bool */;
7462 val* var7 /* : null */;
7463 short int var8 /* : Bool */;
7464 short int var9 /* : Bool */;
7465 int cltype10;
7466 int idtype11;
7467 val* var12 /* : TAttrid */;
7468 short int var13 /* : Bool */;
7469 val* var14 /* : null */;
7470 short int var15 /* : Bool */;
7471 short int var16 /* : Bool */;
7472 int cltype17;
7473 int idtype18;
7474 var_old_child = p0;
7475 var_new_child = p1;
7476 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7477 if (var == NULL) {
7478 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwisset");
7479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9746);
7480 show_backtrace(1);
7481 }
7482 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwisset>*/;
7483 if (var1){
7484 var2 = NULL;
7485 if (var_new_child == NULL) {
7486 var3 = 0; /* is null */
7487 } else {
7488 var3 = 1; /* arg is null and recv is not */
7489 }
7490 if (var3){
7491 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7492 /* <var_new_child:nullable ANode(ANode)> isa TKwisset */
7493 cltype = type_parser_nodes__TKwisset.color;
7494 idtype = type_parser_nodes__TKwisset.id;
7495 if(cltype >= var_new_child->type->table_size) {
7496 var4 = 0;
7497 } else {
7498 var4 = var_new_child->type->type_table[cltype] == idtype;
7499 }
7500 if (!var4) {
7501 fprintf(stderr, "Runtime error: %s", "Assert failed");
7502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9749);
7503 show_backtrace(1);
7504 }
7505 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_new_child; /* _n_kwisset on <self:AIssetAttrExpr> */
7506 } else {
7507 fprintf(stderr, "Runtime error: %s", "Aborted");
7508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9752);
7509 show_backtrace(1);
7510 }
7511 goto RET_LABEL;
7512 } else {
7513 }
7514 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7515 if (var5 == NULL) {
7516 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9756);
7518 show_backtrace(1);
7519 }
7520 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
7521 if (var6){
7522 var7 = NULL;
7523 if (var_new_child == NULL) {
7524 var8 = 0; /* is null */
7525 } else {
7526 var8 = 1; /* arg is null and recv is not */
7527 }
7528 if (var8){
7529 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7530 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7531 cltype10 = type_parser_nodes__AExpr.color;
7532 idtype11 = type_parser_nodes__AExpr.id;
7533 if(cltype10 >= var_new_child->type->table_size) {
7534 var9 = 0;
7535 } else {
7536 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7537 }
7538 if (!var9) {
7539 fprintf(stderr, "Runtime error: %s", "Assert failed");
7540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9759);
7541 show_backtrace(1);
7542 }
7543 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIssetAttrExpr> */
7544 } else {
7545 fprintf(stderr, "Runtime error: %s", "Aborted");
7546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9762);
7547 show_backtrace(1);
7548 }
7549 goto RET_LABEL;
7550 } else {
7551 }
7552 var12 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7553 if (var12 == NULL) {
7554 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9766);
7556 show_backtrace(1);
7557 }
7558 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAttrid>*/;
7559 if (var13){
7560 var14 = NULL;
7561 if (var_new_child == NULL) {
7562 var15 = 0; /* is null */
7563 } else {
7564 var15 = 1; /* arg is null and recv is not */
7565 }
7566 if (var15){
7567 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7568 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7569 cltype17 = type_parser_nodes__TAttrid.color;
7570 idtype18 = type_parser_nodes__TAttrid.id;
7571 if(cltype17 >= var_new_child->type->table_size) {
7572 var16 = 0;
7573 } else {
7574 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7575 }
7576 if (!var16) {
7577 fprintf(stderr, "Runtime error: %s", "Assert failed");
7578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9769);
7579 show_backtrace(1);
7580 }
7581 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AIssetAttrExpr> */
7582 } else {
7583 fprintf(stderr, "Runtime error: %s", "Aborted");
7584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9772);
7585 show_backtrace(1);
7586 }
7587 goto RET_LABEL;
7588 } else {
7589 }
7590 RET_LABEL:;
7591 }
7592 /* method parser_prod#AIssetAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7593 void VIRTUAL_parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7594 parser_prod__AIssetAttrExpr__replace_child(self, p0, p1);
7595 RET_LABEL:;
7596 }
7597 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: AIssetAttrExpr, TKwisset) */
7598 void parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7599 val* var_node /* var node: TKwisset */;
7600 var_node = p0;
7601 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_node; /* _n_kwisset on <self:AIssetAttrExpr> */
7602 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwisset>*/;
7603 RET_LABEL:;
7604 }
7605 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: Object, TKwisset) */
7606 void VIRTUAL_parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7607 parser_prod__AIssetAttrExpr__n_kwisset_61d(self, p0);
7608 RET_LABEL:;
7609 }
7610 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: AIssetAttrExpr, AExpr) */
7611 void parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7612 val* var_node /* var node: AExpr */;
7613 var_node = p0;
7614 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AIssetAttrExpr> */
7615 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7616 RET_LABEL:;
7617 }
7618 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: Object, AExpr) */
7619 void VIRTUAL_parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7620 parser_prod__AIssetAttrExpr__n_expr_61d(self, p0);
7621 RET_LABEL:;
7622 }
7623 /* method parser_prod#AIssetAttrExpr#n_id= for (self: AIssetAttrExpr, TAttrid) */
7624 void parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7625 val* var_node /* var node: TAttrid */;
7626 var_node = p0;
7627 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AIssetAttrExpr> */
7628 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7629 RET_LABEL:;
7630 }
7631 /* method parser_prod#AIssetAttrExpr#n_id= for (self: Object, TAttrid) */
7632 void VIRTUAL_parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7633 parser_prod__AIssetAttrExpr__n_id_61d(self, p0);
7634 RET_LABEL:;
7635 }
7636 /* method parser_prod#AIssetAttrExpr#visit_all for (self: AIssetAttrExpr, Visitor) */
7637 void parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7638 val* var_v /* var v: Visitor */;
7639 val* var /* : TKwisset */;
7640 val* var1 /* : AExpr */;
7641 val* var2 /* : TAttrid */;
7642 var_v = p0;
7643 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7644 if (var == NULL) {
7645 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwisset");
7646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9797);
7647 show_backtrace(1);
7648 }
7649 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7650 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7651 if (var1 == NULL) {
7652 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9798);
7654 show_backtrace(1);
7655 }
7656 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7657 var2 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7658 if (var2 == NULL) {
7659 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9799);
7661 show_backtrace(1);
7662 }
7663 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7664 RET_LABEL:;
7665 }
7666 /* method parser_prod#AIssetAttrExpr#visit_all for (self: Object, Visitor) */
7667 void VIRTUAL_parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7668 parser_prod__AIssetAttrExpr__visit_all(self, p0);
7669 RET_LABEL:;
7670 }
7671 /* method parser_prod#ADebugTypeExpr#empty_init for (self: ADebugTypeExpr) */
7672 void parser_prod__ADebugTypeExpr__empty_init(val* self) {
7673 RET_LABEL:;
7674 }
7675 /* method parser_prod#ADebugTypeExpr#empty_init for (self: Object) */
7676 void VIRTUAL_parser_prod__ADebugTypeExpr__empty_init(val* self) {
7677 parser_prod__ADebugTypeExpr__empty_init(self);
7678 RET_LABEL:;
7679 }
7680 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: ADebugTypeExpr, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7681 void parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7682 val* var_n_kwdebug /* var n_kwdebug: nullable TKwdebug */;
7683 val* var_n_kwtype /* var n_kwtype: nullable TKwtype */;
7684 val* var_n_expr /* var n_expr: nullable AExpr */;
7685 val* var_n_type /* var n_type: nullable AType */;
7686 var_n_kwdebug = p0;
7687 var_n_kwtype = p1;
7688 var_n_expr = p2;
7689 var_n_type = p3;
7690 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADebugTypeExpr__empty_init]))(self) /* empty_init on <self:ADebugTypeExpr>*/;
7691 if (var_n_kwdebug == NULL) {
7692 fprintf(stderr, "Runtime error: %s", "Cast failed");
7693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9813);
7694 show_backtrace(1);
7695 }
7696 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_n_kwdebug; /* _n_kwdebug on <self:ADebugTypeExpr> */
7697 if (var_n_kwdebug == NULL) {
7698 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9814);
7700 show_backtrace(1);
7701 } else {
7702 ((void (*)(val*, val*))(var_n_kwdebug->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdebug, self) /* parent= on <var_n_kwdebug:nullable TKwdebug>*/;
7703 }
7704 if (var_n_kwtype == NULL) {
7705 fprintf(stderr, "Runtime error: %s", "Cast failed");
7706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9815);
7707 show_backtrace(1);
7708 }
7709 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_n_kwtype; /* _n_kwtype on <self:ADebugTypeExpr> */
7710 if (var_n_kwtype == NULL) {
7711 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9816);
7713 show_backtrace(1);
7714 } else {
7715 ((void (*)(val*, val*))(var_n_kwtype->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwtype, self) /* parent= on <var_n_kwtype:nullable TKwtype>*/;
7716 }
7717 if (var_n_expr == NULL) {
7718 fprintf(stderr, "Runtime error: %s", "Cast failed");
7719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9817);
7720 show_backtrace(1);
7721 }
7722 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ADebugTypeExpr> */
7723 if (var_n_expr == NULL) {
7724 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9818);
7726 show_backtrace(1);
7727 } else {
7728 ((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>*/;
7729 }
7730 if (var_n_type == NULL) {
7731 fprintf(stderr, "Runtime error: %s", "Cast failed");
7732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9819);
7733 show_backtrace(1);
7734 }
7735 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_n_type; /* _n_type on <self:ADebugTypeExpr> */
7736 if (var_n_type == NULL) {
7737 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9820);
7739 show_backtrace(1);
7740 } else {
7741 ((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>*/;
7742 }
7743 RET_LABEL:;
7744 }
7745 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: Object, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7746 void VIRTUAL_parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7747 parser_prod__ADebugTypeExpr__init_adebugtypeexpr(self, p0, p1, p2, p3);
7748 RET_LABEL:;
7749 }
7750 /* method parser_prod#ADebugTypeExpr#replace_child for (self: ADebugTypeExpr, ANode, nullable ANode) */
7751 void parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7752 val* var_old_child /* var old_child: ANode */;
7753 val* var_new_child /* var new_child: nullable ANode */;
7754 val* var /* : TKwdebug */;
7755 short int var1 /* : Bool */;
7756 val* var2 /* : null */;
7757 short int var3 /* : Bool */;
7758 short int var4 /* : Bool */;
7759 int cltype;
7760 int idtype;
7761 val* var5 /* : TKwtype */;
7762 short int var6 /* : Bool */;
7763 val* var7 /* : null */;
7764 short int var8 /* : Bool */;
7765 short int var9 /* : Bool */;
7766 int cltype10;
7767 int idtype11;
7768 val* var12 /* : AExpr */;
7769 short int var13 /* : Bool */;
7770 val* var14 /* : null */;
7771 short int var15 /* : Bool */;
7772 short int var16 /* : Bool */;
7773 int cltype17;
7774 int idtype18;
7775 val* var19 /* : AType */;
7776 short int var20 /* : Bool */;
7777 val* var21 /* : null */;
7778 short int var22 /* : Bool */;
7779 short int var23 /* : Bool */;
7780 int cltype24;
7781 int idtype25;
7782 var_old_child = p0;
7783 var_new_child = p1;
7784 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
7785 if (var == NULL) {
7786 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdebug");
7787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9825);
7788 show_backtrace(1);
7789 }
7790 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwdebug>*/;
7791 if (var1){
7792 var2 = NULL;
7793 if (var_new_child == NULL) {
7794 var3 = 0; /* is null */
7795 } else {
7796 var3 = 1; /* arg is null and recv is not */
7797 }
7798 if (var3){
7799 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7800 /* <var_new_child:nullable ANode(ANode)> isa TKwdebug */
7801 cltype = type_parser_nodes__TKwdebug.color;
7802 idtype = type_parser_nodes__TKwdebug.id;
7803 if(cltype >= var_new_child->type->table_size) {
7804 var4 = 0;
7805 } else {
7806 var4 = var_new_child->type->type_table[cltype] == idtype;
7807 }
7808 if (!var4) {
7809 fprintf(stderr, "Runtime error: %s", "Assert failed");
7810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9828);
7811 show_backtrace(1);
7812 }
7813 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_new_child; /* _n_kwdebug on <self:ADebugTypeExpr> */
7814 } else {
7815 fprintf(stderr, "Runtime error: %s", "Aborted");
7816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9831);
7817 show_backtrace(1);
7818 }
7819 goto RET_LABEL;
7820 } else {
7821 }
7822 var5 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
7823 if (var5 == NULL) {
7824 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype");
7825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9835);
7826 show_backtrace(1);
7827 }
7828 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwtype>*/;
7829 if (var6){
7830 var7 = NULL;
7831 if (var_new_child == NULL) {
7832 var8 = 0; /* is null */
7833 } else {
7834 var8 = 1; /* arg is null and recv is not */
7835 }
7836 if (var8){
7837 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7838 /* <var_new_child:nullable ANode(ANode)> isa TKwtype */
7839 cltype10 = type_parser_nodes__TKwtype.color;
7840 idtype11 = type_parser_nodes__TKwtype.id;
7841 if(cltype10 >= var_new_child->type->table_size) {
7842 var9 = 0;
7843 } else {
7844 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7845 }
7846 if (!var9) {
7847 fprintf(stderr, "Runtime error: %s", "Assert failed");
7848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9838);
7849 show_backtrace(1);
7850 }
7851 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_new_child; /* _n_kwtype on <self:ADebugTypeExpr> */
7852 } else {
7853 fprintf(stderr, "Runtime error: %s", "Aborted");
7854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9841);
7855 show_backtrace(1);
7856 }
7857 goto RET_LABEL;
7858 } else {
7859 }
7860 var12 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
7861 if (var12 == NULL) {
7862 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9845);
7864 show_backtrace(1);
7865 }
7866 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
7867 if (var13){
7868 var14 = NULL;
7869 if (var_new_child == NULL) {
7870 var15 = 0; /* is null */
7871 } else {
7872 var15 = 1; /* arg is null and recv is not */
7873 }
7874 if (var15){
7875 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7876 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7877 cltype17 = type_parser_nodes__AExpr.color;
7878 idtype18 = type_parser_nodes__AExpr.id;
7879 if(cltype17 >= var_new_child->type->table_size) {
7880 var16 = 0;
7881 } else {
7882 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7883 }
7884 if (!var16) {
7885 fprintf(stderr, "Runtime error: %s", "Assert failed");
7886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9848);
7887 show_backtrace(1);
7888 }
7889 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ADebugTypeExpr> */
7890 } else {
7891 fprintf(stderr, "Runtime error: %s", "Aborted");
7892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9851);
7893 show_backtrace(1);
7894 }
7895 goto RET_LABEL;
7896 } else {
7897 }
7898 var19 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
7899 if (var19 == NULL) {
7900 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9855);
7902 show_backtrace(1);
7903 }
7904 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
7905 if (var20){
7906 var21 = NULL;
7907 if (var_new_child == NULL) {
7908 var22 = 0; /* is null */
7909 } else {
7910 var22 = 1; /* arg is null and recv is not */
7911 }
7912 if (var22){
7913 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7914 /* <var_new_child:nullable ANode(ANode)> isa AType */
7915 cltype24 = type_parser_nodes__AType.color;
7916 idtype25 = type_parser_nodes__AType.id;
7917 if(cltype24 >= var_new_child->type->table_size) {
7918 var23 = 0;
7919 } else {
7920 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7921 }
7922 if (!var23) {
7923 fprintf(stderr, "Runtime error: %s", "Assert failed");
7924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9858);
7925 show_backtrace(1);
7926 }
7927 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_new_child; /* _n_type on <self:ADebugTypeExpr> */
7928 } else {
7929 fprintf(stderr, "Runtime error: %s", "Aborted");
7930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9861);
7931 show_backtrace(1);
7932 }
7933 goto RET_LABEL;
7934 } else {
7935 }
7936 RET_LABEL:;
7937 }
7938 /* method parser_prod#ADebugTypeExpr#replace_child for (self: Object, ANode, nullable ANode) */
7939 void VIRTUAL_parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7940 parser_prod__ADebugTypeExpr__replace_child(self, p0, p1);
7941 RET_LABEL:;
7942 }
7943 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: ADebugTypeExpr, TKwdebug) */
7944 void parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7945 val* var_node /* var node: TKwdebug */;
7946 var_node = p0;
7947 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_node; /* _n_kwdebug on <self:ADebugTypeExpr> */
7948 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdebug>*/;
7949 RET_LABEL:;
7950 }
7951 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: Object, TKwdebug) */
7952 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7953 parser_prod__ADebugTypeExpr__n_kwdebug_61d(self, p0);
7954 RET_LABEL:;
7955 }
7956 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: ADebugTypeExpr, TKwtype) */
7957 void parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7958 val* var_node /* var node: TKwtype */;
7959 var_node = p0;
7960 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_node; /* _n_kwtype on <self:ADebugTypeExpr> */
7961 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtype>*/;
7962 RET_LABEL:;
7963 }
7964 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: Object, TKwtype) */
7965 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7966 parser_prod__ADebugTypeExpr__n_kwtype_61d(self, p0);
7967 RET_LABEL:;
7968 }
7969 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: ADebugTypeExpr, AExpr) */
7970 void parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7971 val* var_node /* var node: AExpr */;
7972 var_node = p0;
7973 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_node; /* _n_expr on <self:ADebugTypeExpr> */
7974 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7975 RET_LABEL:;
7976 }
7977 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: Object, AExpr) */
7978 void VIRTUAL_parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7979 parser_prod__ADebugTypeExpr__n_expr_61d(self, p0);
7980 RET_LABEL:;
7981 }
7982 /* method parser_prod#ADebugTypeExpr#n_type= for (self: ADebugTypeExpr, AType) */
7983 void parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7984 val* var_node /* var node: AType */;
7985 var_node = p0;
7986 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_node; /* _n_type on <self:ADebugTypeExpr> */
7987 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7988 RET_LABEL:;
7989 }
7990 /* method parser_prod#ADebugTypeExpr#n_type= for (self: Object, AType) */
7991 void VIRTUAL_parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7992 parser_prod__ADebugTypeExpr__n_type_61d(self, p0);
7993 RET_LABEL:;
7994 }
7995 /* method parser_prod#ADebugTypeExpr#visit_all for (self: ADebugTypeExpr, Visitor) */
7996 void parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
7997 val* var_v /* var v: Visitor */;
7998 val* var /* : TKwdebug */;
7999 val* var1 /* : TKwtype */;
8000 val* var2 /* : AExpr */;
8001 val* var3 /* : AType */;
8002 var_v = p0;
8003 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
8004 if (var == NULL) {
8005 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdebug");
8006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9891);
8007 show_backtrace(1);
8008 }
8009 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8010 var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
8011 if (var1 == NULL) {
8012 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype");
8013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9892);
8014 show_backtrace(1);
8015 }
8016 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8017 var2 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
8018 if (var2 == NULL) {
8019 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9893);
8021 show_backtrace(1);
8022 }
8023 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8024 var3 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
8025 if (var3 == NULL) {
8026 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
8027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9894);
8028 show_backtrace(1);
8029 }
8030 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8031 RET_LABEL:;
8032 }
8033 /* method parser_prod#ADebugTypeExpr#visit_all for (self: Object, Visitor) */
8034 void VIRTUAL_parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
8035 parser_prod__ADebugTypeExpr__visit_all(self, p0);
8036 RET_LABEL:;
8037 }
8038 /* method parser_prod#AListExprs#empty_init for (self: AListExprs) */
8039 void parser_prod__AListExprs__empty_init(val* self) {
8040 RET_LABEL:;
8041 }
8042 /* method parser_prod#AListExprs#empty_init for (self: Object) */
8043 void VIRTUAL_parser_prod__AListExprs__empty_init(val* self) {
8044 parser_prod__AListExprs__empty_init(self);
8045 RET_LABEL:;
8046 }
8047 /* method parser_prod#AListExprs#init_alistexprs for (self: AListExprs, Collection[Object]) */
8048 void parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
8049 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8050 val* var /* : Iterator[nullable Object] */;
8051 short int var1 /* : Bool */;
8052 val* var2 /* : nullable Object */;
8053 val* var_n /* var n: Object */;
8054 short int var3 /* : Bool */;
8055 int cltype;
8056 int idtype;
8057 val* var4 /* : ANodes[AExpr] */;
8058 var_n_exprs = p0;
8059 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AListExprs__empty_init]))(self) /* empty_init on <self:AListExprs>*/;
8060 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8061 for(;;) {
8062 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8063 if(!var1) break;
8064 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8065 var_n = var2;
8066 /* <var_n:Object> isa AExpr */
8067 cltype = type_parser_nodes__AExpr.color;
8068 idtype = type_parser_nodes__AExpr.id;
8069 if(cltype >= var_n->type->table_size) {
8070 var3 = 0;
8071 } else {
8072 var3 = var_n->type->type_table[cltype] == idtype;
8073 }
8074 if (!var3) {
8075 fprintf(stderr, "Runtime error: %s", "Assert failed");
8076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9906);
8077 show_backtrace(1);
8078 }
8079 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8080 if (var4 == NULL) {
8081 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9907);
8083 show_backtrace(1);
8084 }
8085 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8086 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8087 CONTINUE_label: (void)0;
8088 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8089 }
8090 BREAK_label: (void)0;
8091 RET_LABEL:;
8092 }
8093 /* method parser_prod#AListExprs#init_alistexprs for (self: Object, Collection[Object]) */
8094 void VIRTUAL_parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
8095 parser_prod__AListExprs__init_alistexprs(self, p0);
8096 RET_LABEL:;
8097 }
8098 /* method parser_prod#AListExprs#replace_child for (self: AListExprs, ANode, nullable ANode) */
8099 void parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
8100 val* var_old_child /* var old_child: ANode */;
8101 val* var_new_child /* var new_child: nullable ANode */;
8102 val* var /* : Range[Int] */;
8103 long var1 /* : Int */;
8104 val* var2 /* : ANodes[AExpr] */;
8105 long var3 /* : Int */;
8106 val* var4 /* : Discrete */;
8107 val* var5 /* : Discrete */;
8108 val* var6 /* : Iterator[nullable Object] */;
8109 short int var7 /* : Bool */;
8110 val* var8 /* : nullable Object */;
8111 long var_i /* var i: Int */;
8112 long var9 /* : Int */;
8113 val* var10 /* : ANodes[AExpr] */;
8114 val* var11 /* : nullable Object */;
8115 short int var12 /* : Bool */;
8116 val* var13 /* : null */;
8117 short int var14 /* : Bool */;
8118 short int var15 /* : Bool */;
8119 int cltype;
8120 int idtype;
8121 val* var16 /* : ANodes[AExpr] */;
8122 val* var17 /* : ANodes[AExpr] */;
8123 var_old_child = p0;
8124 var_new_child = p1;
8125 var = NEW_range__Range(&type_range__Rangekernel__Int);
8126 var1 = 0;
8127 var2 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8128 if (var2 == NULL) {
8129 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9914);
8131 show_backtrace(1);
8132 }
8133 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
8134 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
8135 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
8136 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
8137 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
8138 for(;;) {
8139 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
8140 if(!var7) break;
8141 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
8142 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
8143 var_i = var9;
8144 var10 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8145 if (var10 == NULL) {
8146 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9915);
8148 show_backtrace(1);
8149 }
8150 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
8151 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
8152 if (var12){
8153 var13 = NULL;
8154 if (var_new_child == NULL) {
8155 var14 = 0; /* is null */
8156 } else {
8157 var14 = 1; /* arg is null and recv is not */
8158 }
8159 if (var14){
8160 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8161 cltype = type_parser_nodes__AExpr.color;
8162 idtype = type_parser_nodes__AExpr.id;
8163 if(cltype >= var_new_child->type->table_size) {
8164 var15 = 0;
8165 } else {
8166 var15 = var_new_child->type->type_table[cltype] == idtype;
8167 }
8168 if (!var15) {
8169 fprintf(stderr, "Runtime error: %s", "Assert failed");
8170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9917);
8171 show_backtrace(1);
8172 }
8173 var16 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8174 if (var16 == NULL) {
8175 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9918);
8177 show_backtrace(1);
8178 }
8179 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
8180 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AExpr)>*/;
8181 } else {
8182 var17 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8183 if (var17 == NULL) {
8184 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9921);
8186 show_backtrace(1);
8187 }
8188 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
8189 }
8190 goto RET_LABEL;
8191 } else {
8192 }
8193 CONTINUE_label: (void)0;
8194 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
8195 }
8196 BREAK_label: (void)0;
8197 RET_LABEL:;
8198 }
8199 /* method parser_prod#AListExprs#replace_child for (self: Object, ANode, nullable ANode) */
8200 void VIRTUAL_parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
8201 parser_prod__AListExprs__replace_child(self, p0, p1);
8202 RET_LABEL:;
8203 }
8204 /* method parser_prod#AListExprs#visit_all for (self: AListExprs, Visitor) */
8205 void parser_prod__AListExprs__visit_all(val* self, val* p0) {
8206 val* var_v /* var v: Visitor */;
8207 val* var /* : ANodes[AExpr] */;
8208 val* var1 /* : Iterator[nullable Object] */;
8209 short int var2 /* : Bool */;
8210 val* var3 /* : nullable Object */;
8211 val* var_n /* var n: AExpr */;
8212 var_v = p0;
8213 var = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8214 if (var == NULL) {
8215 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9932);
8217 show_backtrace(1);
8218 }
8219 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
8220 for(;;) {
8221 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
8222 if(!var2) break;
8223 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
8224 var_n = var3;
8225 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8226 CONTINUE_label: (void)0;
8227 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
8228 }
8229 BREAK_label: (void)0;
8230 RET_LABEL:;
8231 }
8232 /* method parser_prod#AListExprs#visit_all for (self: Object, Visitor) */
8233 void VIRTUAL_parser_prod__AListExprs__visit_all(val* self, val* p0) {
8234 parser_prod__AListExprs__visit_all(self, p0);
8235 RET_LABEL:;
8236 }
8237 /* method parser_prod#AParExprs#empty_init for (self: AParExprs) */
8238 void parser_prod__AParExprs__empty_init(val* self) {
8239 RET_LABEL:;
8240 }
8241 /* method parser_prod#AParExprs#empty_init for (self: Object) */
8242 void VIRTUAL_parser_prod__AParExprs__empty_init(val* self) {
8243 parser_prod__AParExprs__empty_init(self);
8244 RET_LABEL:;
8245 }
8246 /* method parser_prod#AParExprs#init_aparexprs for (self: AParExprs, nullable TOpar, Collection[Object], nullable TCpar) */
8247 void parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8248 val* var_n_opar /* var n_opar: nullable TOpar */;
8249 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8250 val* var_n_cpar /* var n_cpar: nullable TCpar */;
8251 val* var /* : Iterator[nullable Object] */;
8252 short int var1 /* : Bool */;
8253 val* var2 /* : nullable Object */;
8254 val* var_n /* var n: Object */;
8255 short int var3 /* : Bool */;
8256 int cltype;
8257 int idtype;
8258 val* var4 /* : ANodes[AExpr] */;
8259 var_n_opar = p0;
8260 var_n_exprs = p1;
8261 var_n_cpar = p2;
8262 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExprs__empty_init]))(self) /* empty_init on <self:AParExprs>*/;
8263 if (var_n_opar == NULL) {
8264 fprintf(stderr, "Runtime error: %s", "Cast failed");
8265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9947);
8266 show_backtrace(1);
8267 }
8268 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_n_opar; /* _n_opar on <self:AParExprs> */
8269 if (var_n_opar == NULL) {
8270 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9948);
8272 show_backtrace(1);
8273 } else {
8274 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar>*/;
8275 }
8276 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8277 for(;;) {
8278 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8279 if(!var1) break;
8280 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8281 var_n = var2;
8282 /* <var_n:Object> isa AExpr */
8283 cltype = type_parser_nodes__AExpr.color;
8284 idtype = type_parser_nodes__AExpr.id;
8285 if(cltype >= var_n->type->table_size) {
8286 var3 = 0;
8287 } else {
8288 var3 = var_n->type->type_table[cltype] == idtype;
8289 }
8290 if (!var3) {
8291 fprintf(stderr, "Runtime error: %s", "Assert failed");
8292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9950);
8293 show_backtrace(1);
8294 }
8295 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8296 if (var4 == NULL) {
8297 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9951);
8299 show_backtrace(1);
8300 }
8301 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8302 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8303 CONTINUE_label: (void)0;
8304 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8305 }
8306 BREAK_label: (void)0;
8307 if (var_n_cpar == NULL) {
8308 fprintf(stderr, "Runtime error: %s", "Cast failed");
8309 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9954);
8310 show_backtrace(1);
8311 }
8312 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExprs> */
8313 if (var_n_cpar == NULL) {
8314 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9955);
8316 show_backtrace(1);
8317 } else {
8318 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar>*/;
8319 }
8320 RET_LABEL:;
8321 }
8322 /* method parser_prod#AParExprs#init_aparexprs for (self: Object, nullable TOpar, Collection[Object], nullable TCpar) */
8323 void VIRTUAL_parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8324 parser_prod__AParExprs__init_aparexprs(self, p0, p1, p2);
8325 RET_LABEL:;
8326 }
8327 /* method parser_prod#AParExprs#replace_child for (self: AParExprs, ANode, nullable ANode) */
8328 void parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8329 val* var_old_child /* var old_child: ANode */;
8330 val* var_new_child /* var new_child: nullable ANode */;
8331 val* var /* : TOpar */;
8332 short int var1 /* : Bool */;
8333 val* var2 /* : null */;
8334 short int var3 /* : Bool */;
8335 short int var4 /* : Bool */;
8336 int cltype;
8337 int idtype;
8338 val* var5 /* : Range[Int] */;
8339 long var6 /* : Int */;
8340 val* var7 /* : ANodes[AExpr] */;
8341 long var8 /* : Int */;
8342 val* var9 /* : Discrete */;
8343 val* var10 /* : Discrete */;
8344 val* var11 /* : Iterator[nullable Object] */;
8345 short int var12 /* : Bool */;
8346 val* var13 /* : nullable Object */;
8347 long var_i /* var i: Int */;
8348 long var14 /* : Int */;
8349 val* var15 /* : ANodes[AExpr] */;
8350 val* var16 /* : nullable Object */;
8351 short int var17 /* : Bool */;
8352 val* var18 /* : null */;
8353 short int var19 /* : Bool */;
8354 short int var20 /* : Bool */;
8355 int cltype21;
8356 int idtype22;
8357 val* var23 /* : ANodes[AExpr] */;
8358 val* var24 /* : ANodes[AExpr] */;
8359 val* var25 /* : TCpar */;
8360 short int var26 /* : Bool */;
8361 val* var27 /* : null */;
8362 short int var28 /* : Bool */;
8363 short int var29 /* : Bool */;
8364 int cltype30;
8365 int idtype31;
8366 var_old_child = p0;
8367 var_new_child = p1;
8368 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8369 if (var == NULL) {
8370 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
8371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9960);
8372 show_backtrace(1);
8373 }
8374 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
8375 if (var1){
8376 var2 = NULL;
8377 if (var_new_child == NULL) {
8378 var3 = 0; /* is null */
8379 } else {
8380 var3 = 1; /* arg is null and recv is not */
8381 }
8382 if (var3){
8383 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8384 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
8385 cltype = type_parser_nodes__TOpar.color;
8386 idtype = type_parser_nodes__TOpar.id;
8387 if(cltype >= var_new_child->type->table_size) {
8388 var4 = 0;
8389 } else {
8390 var4 = var_new_child->type->type_table[cltype] == idtype;
8391 }
8392 if (!var4) {
8393 fprintf(stderr, "Runtime error: %s", "Assert failed");
8394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9963);
8395 show_backtrace(1);
8396 }
8397 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_new_child; /* _n_opar on <self:AParExprs> */
8398 } else {
8399 fprintf(stderr, "Runtime error: %s", "Aborted");
8400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9966);
8401 show_backtrace(1);
8402 }
8403 goto RET_LABEL;
8404 } else {
8405 }
8406 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8407 var6 = 0;
8408 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8409 if (var7 == NULL) {
8410 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9970);
8412 show_backtrace(1);
8413 }
8414 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8415 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8416 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8417 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8418 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8419 for(;;) {
8420 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8421 if(!var12) break;
8422 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8423 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8424 var_i = var14;
8425 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8426 if (var15 == NULL) {
8427 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9971);
8429 show_backtrace(1);
8430 }
8431 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8432 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8433 if (var17){
8434 var18 = NULL;
8435 if (var_new_child == NULL) {
8436 var19 = 0; /* is null */
8437 } else {
8438 var19 = 1; /* arg is null and recv is not */
8439 }
8440 if (var19){
8441 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8442 cltype21 = type_parser_nodes__AExpr.color;
8443 idtype22 = type_parser_nodes__AExpr.id;
8444 if(cltype21 >= var_new_child->type->table_size) {
8445 var20 = 0;
8446 } else {
8447 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8448 }
8449 if (!var20) {
8450 fprintf(stderr, "Runtime error: %s", "Assert failed");
8451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9973);
8452 show_backtrace(1);
8453 }
8454 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8455 if (var23 == NULL) {
8456 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9974);
8458 show_backtrace(1);
8459 }
8460 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8461 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AExpr)>*/;
8462 } else {
8463 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8464 if (var24 == NULL) {
8465 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9977);
8467 show_backtrace(1);
8468 }
8469 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8470 }
8471 goto RET_LABEL;
8472 } else {
8473 }
8474 CONTINUE_label: (void)0;
8475 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8476 }
8477 BREAK_label: (void)0;
8478 var25 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8479 if (var25 == NULL) {
8480 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
8481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9982);
8482 show_backtrace(1);
8483 }
8484 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCpar>*/;
8485 if (var26){
8486 var27 = NULL;
8487 if (var_new_child == NULL) {
8488 var28 = 0; /* is null */
8489 } else {
8490 var28 = 1; /* arg is null and recv is not */
8491 }
8492 if (var28){
8493 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8494 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
8495 cltype30 = type_parser_nodes__TCpar.color;
8496 idtype31 = type_parser_nodes__TCpar.id;
8497 if(cltype30 >= var_new_child->type->table_size) {
8498 var29 = 0;
8499 } else {
8500 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8501 }
8502 if (!var29) {
8503 fprintf(stderr, "Runtime error: %s", "Assert failed");
8504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9985);
8505 show_backtrace(1);
8506 }
8507 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExprs> */
8508 } else {
8509 fprintf(stderr, "Runtime error: %s", "Aborted");
8510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9988);
8511 show_backtrace(1);
8512 }
8513 goto RET_LABEL;
8514 } else {
8515 }
8516 RET_LABEL:;
8517 }
8518 /* method parser_prod#AParExprs#replace_child for (self: Object, ANode, nullable ANode) */
8519 void VIRTUAL_parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8520 parser_prod__AParExprs__replace_child(self, p0, p1);
8521 RET_LABEL:;
8522 }
8523 /* method parser_prod#AParExprs#n_opar= for (self: AParExprs, TOpar) */
8524 void parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8525 val* var_node /* var node: TOpar */;
8526 var_node = p0;
8527 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_node; /* _n_opar on <self:AParExprs> */
8528 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
8529 RET_LABEL:;
8530 }
8531 /* method parser_prod#AParExprs#n_opar= for (self: Object, TOpar) */
8532 void VIRTUAL_parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8533 parser_prod__AParExprs__n_opar_61d(self, p0);
8534 RET_LABEL:;
8535 }
8536 /* method parser_prod#AParExprs#n_cpar= for (self: AParExprs, TCpar) */
8537 void parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8538 val* var_node /* var node: TCpar */;
8539 var_node = p0;
8540 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_node; /* _n_cpar on <self:AParExprs> */
8541 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
8542 RET_LABEL:;
8543 }
8544 /* method parser_prod#AParExprs#n_cpar= for (self: Object, TCpar) */
8545 void VIRTUAL_parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8546 parser_prod__AParExprs__n_cpar_61d(self, p0);
8547 RET_LABEL:;
8548 }
8549 /* method parser_prod#AParExprs#visit_all for (self: AParExprs, Visitor) */
8550 void parser_prod__AParExprs__visit_all(val* self, val* p0) {
8551 val* var_v /* var v: Visitor */;
8552 val* var /* : TOpar */;
8553 val* var1 /* : ANodes[AExpr] */;
8554 val* var2 /* : Iterator[nullable Object] */;
8555 short int var3 /* : Bool */;
8556 val* var4 /* : nullable Object */;
8557 val* var_n /* var n: AExpr */;
8558 val* var5 /* : TCpar */;
8559 var_v = p0;
8560 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8561 if (var == NULL) {
8562 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
8563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10008);
8564 show_backtrace(1);
8565 }
8566 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8567 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8568 if (var1 == NULL) {
8569 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10009);
8571 show_backtrace(1);
8572 }
8573 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8574 for(;;) {
8575 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8576 if(!var3) break;
8577 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8578 var_n = var4;
8579 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8580 CONTINUE_label: (void)0;
8581 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8582 }
8583 BREAK_label: (void)0;
8584 var5 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8585 if (var5 == NULL) {
8586 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
8587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10012);
8588 show_backtrace(1);
8589 }
8590 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8591 RET_LABEL:;
8592 }
8593 /* method parser_prod#AParExprs#visit_all for (self: Object, Visitor) */
8594 void VIRTUAL_parser_prod__AParExprs__visit_all(val* self, val* p0) {
8595 parser_prod__AParExprs__visit_all(self, p0);
8596 RET_LABEL:;
8597 }
8598 /* method parser_prod#ABraExprs#empty_init for (self: ABraExprs) */
8599 void parser_prod__ABraExprs__empty_init(val* self) {
8600 RET_LABEL:;
8601 }
8602 /* method parser_prod#ABraExprs#empty_init for (self: Object) */
8603 void VIRTUAL_parser_prod__ABraExprs__empty_init(val* self) {
8604 parser_prod__ABraExprs__empty_init(self);
8605 RET_LABEL:;
8606 }
8607 /* method parser_prod#ABraExprs#init_abraexprs for (self: ABraExprs, nullable TObra, Collection[Object], nullable TCbra) */
8608 void parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8609 val* var_n_obra /* var n_obra: nullable TObra */;
8610 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8611 val* var_n_cbra /* var n_cbra: nullable TCbra */;
8612 val* var /* : Iterator[nullable Object] */;
8613 short int var1 /* : Bool */;
8614 val* var2 /* : nullable Object */;
8615 val* var_n /* var n: Object */;
8616 short int var3 /* : Bool */;
8617 int cltype;
8618 int idtype;
8619 val* var4 /* : ANodes[AExpr] */;
8620 var_n_obra = p0;
8621 var_n_exprs = p1;
8622 var_n_cbra = p2;
8623 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExprs__empty_init]))(self) /* empty_init on <self:ABraExprs>*/;
8624 if (var_n_obra == NULL) {
8625 fprintf(stderr, "Runtime error: %s", "Cast failed");
8626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10025);
8627 show_backtrace(1);
8628 }
8629 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_n_obra; /* _n_obra on <self:ABraExprs> */
8630 if (var_n_obra == NULL) {
8631 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10026);
8633 show_backtrace(1);
8634 } else {
8635 ((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on <var_n_obra:nullable TObra>*/;
8636 }
8637 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8638 for(;;) {
8639 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8640 if(!var1) break;
8641 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8642 var_n = var2;
8643 /* <var_n:Object> isa AExpr */
8644 cltype = type_parser_nodes__AExpr.color;
8645 idtype = type_parser_nodes__AExpr.id;
8646 if(cltype >= var_n->type->table_size) {
8647 var3 = 0;
8648 } else {
8649 var3 = var_n->type->type_table[cltype] == idtype;
8650 }
8651 if (!var3) {
8652 fprintf(stderr, "Runtime error: %s", "Assert failed");
8653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10028);
8654 show_backtrace(1);
8655 }
8656 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8657 if (var4 == NULL) {
8658 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10029);
8660 show_backtrace(1);
8661 }
8662 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8663 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8664 CONTINUE_label: (void)0;
8665 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8666 }
8667 BREAK_label: (void)0;
8668 if (var_n_cbra == NULL) {
8669 fprintf(stderr, "Runtime error: %s", "Cast failed");
8670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10032);
8671 show_backtrace(1);
8672 }
8673 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ABraExprs> */
8674 if (var_n_cbra == NULL) {
8675 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10033);
8677 show_backtrace(1);
8678 } else {
8679 ((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on <var_n_cbra:nullable TCbra>*/;
8680 }
8681 RET_LABEL:;
8682 }
8683 /* method parser_prod#ABraExprs#init_abraexprs for (self: Object, nullable TObra, Collection[Object], nullable TCbra) */
8684 void VIRTUAL_parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8685 parser_prod__ABraExprs__init_abraexprs(self, p0, p1, p2);
8686 RET_LABEL:;
8687 }
8688 /* method parser_prod#ABraExprs#replace_child for (self: ABraExprs, ANode, nullable ANode) */
8689 void parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8690 val* var_old_child /* var old_child: ANode */;
8691 val* var_new_child /* var new_child: nullable ANode */;
8692 val* var /* : TObra */;
8693 short int var1 /* : Bool */;
8694 val* var2 /* : null */;
8695 short int var3 /* : Bool */;
8696 short int var4 /* : Bool */;
8697 int cltype;
8698 int idtype;
8699 val* var5 /* : Range[Int] */;
8700 long var6 /* : Int */;
8701 val* var7 /* : ANodes[AExpr] */;
8702 long var8 /* : Int */;
8703 val* var9 /* : Discrete */;
8704 val* var10 /* : Discrete */;
8705 val* var11 /* : Iterator[nullable Object] */;
8706 short int var12 /* : Bool */;
8707 val* var13 /* : nullable Object */;
8708 long var_i /* var i: Int */;
8709 long var14 /* : Int */;
8710 val* var15 /* : ANodes[AExpr] */;
8711 val* var16 /* : nullable Object */;
8712 short int var17 /* : Bool */;
8713 val* var18 /* : null */;
8714 short int var19 /* : Bool */;
8715 short int var20 /* : Bool */;
8716 int cltype21;
8717 int idtype22;
8718 val* var23 /* : ANodes[AExpr] */;
8719 val* var24 /* : ANodes[AExpr] */;
8720 val* var25 /* : TCbra */;
8721 short int var26 /* : Bool */;
8722 val* var27 /* : null */;
8723 short int var28 /* : Bool */;
8724 short int var29 /* : Bool */;
8725 int cltype30;
8726 int idtype31;
8727 var_old_child = p0;
8728 var_new_child = p1;
8729 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8730 if (var == NULL) {
8731 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
8732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10038);
8733 show_backtrace(1);
8734 }
8735 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
8736 if (var1){
8737 var2 = NULL;
8738 if (var_new_child == NULL) {
8739 var3 = 0; /* is null */
8740 } else {
8741 var3 = 1; /* arg is null and recv is not */
8742 }
8743 if (var3){
8744 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8745 /* <var_new_child:nullable ANode(ANode)> isa TObra */
8746 cltype = type_parser_nodes__TObra.color;
8747 idtype = type_parser_nodes__TObra.id;
8748 if(cltype >= var_new_child->type->table_size) {
8749 var4 = 0;
8750 } else {
8751 var4 = var_new_child->type->type_table[cltype] == idtype;
8752 }
8753 if (!var4) {
8754 fprintf(stderr, "Runtime error: %s", "Assert failed");
8755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10041);
8756 show_backtrace(1);
8757 }
8758 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_new_child; /* _n_obra on <self:ABraExprs> */
8759 } else {
8760 fprintf(stderr, "Runtime error: %s", "Aborted");
8761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10044);
8762 show_backtrace(1);
8763 }
8764 goto RET_LABEL;
8765 } else {
8766 }
8767 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8768 var6 = 0;
8769 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8770 if (var7 == NULL) {
8771 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10048);
8773 show_backtrace(1);
8774 }
8775 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8776 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8777 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8778 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8779 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8780 for(;;) {
8781 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8782 if(!var12) break;
8783 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8784 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8785 var_i = var14;
8786 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8787 if (var15 == NULL) {
8788 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10049);
8790 show_backtrace(1);
8791 }
8792 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8793 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8794 if (var17){
8795 var18 = NULL;
8796 if (var_new_child == NULL) {
8797 var19 = 0; /* is null */
8798 } else {
8799 var19 = 1; /* arg is null and recv is not */
8800 }
8801 if (var19){
8802 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8803 cltype21 = type_parser_nodes__AExpr.color;
8804 idtype22 = type_parser_nodes__AExpr.id;
8805 if(cltype21 >= var_new_child->type->table_size) {
8806 var20 = 0;
8807 } else {
8808 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8809 }
8810 if (!var20) {
8811 fprintf(stderr, "Runtime error: %s", "Assert failed");
8812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10051);
8813 show_backtrace(1);
8814 }
8815 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8816 if (var23 == NULL) {
8817 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10052);
8819 show_backtrace(1);
8820 }
8821 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8822 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AExpr)>*/;
8823 } else {
8824 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8825 if (var24 == NULL) {
8826 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10055);
8828 show_backtrace(1);
8829 }
8830 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8831 }
8832 goto RET_LABEL;
8833 } else {
8834 }
8835 CONTINUE_label: (void)0;
8836 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8837 }
8838 BREAK_label: (void)0;
8839 var25 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8840 if (var25 == NULL) {
8841 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
8842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10060);
8843 show_backtrace(1);
8844 }
8845 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCbra>*/;
8846 if (var26){
8847 var27 = NULL;
8848 if (var_new_child == NULL) {
8849 var28 = 0; /* is null */
8850 } else {
8851 var28 = 1; /* arg is null and recv is not */
8852 }
8853 if (var28){
8854 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8855 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
8856 cltype30 = type_parser_nodes__TCbra.color;
8857 idtype31 = type_parser_nodes__TCbra.id;
8858 if(cltype30 >= var_new_child->type->table_size) {
8859 var29 = 0;
8860 } else {
8861 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8862 }
8863 if (!var29) {
8864 fprintf(stderr, "Runtime error: %s", "Assert failed");
8865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10063);
8866 show_backtrace(1);
8867 }
8868 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_new_child; /* _n_cbra on <self:ABraExprs> */
8869 } else {
8870 fprintf(stderr, "Runtime error: %s", "Aborted");
8871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10066);
8872 show_backtrace(1);
8873 }
8874 goto RET_LABEL;
8875 } else {
8876 }
8877 RET_LABEL:;
8878 }
8879 /* method parser_prod#ABraExprs#replace_child for (self: Object, ANode, nullable ANode) */
8880 void VIRTUAL_parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8881 parser_prod__ABraExprs__replace_child(self, p0, p1);
8882 RET_LABEL:;
8883 }
8884 /* method parser_prod#ABraExprs#n_obra= for (self: ABraExprs, TObra) */
8885 void parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8886 val* var_node /* var node: TObra */;
8887 var_node = p0;
8888 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_node; /* _n_obra on <self:ABraExprs> */
8889 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
8890 RET_LABEL:;
8891 }
8892 /* method parser_prod#ABraExprs#n_obra= for (self: Object, TObra) */
8893 void VIRTUAL_parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8894 parser_prod__ABraExprs__n_obra_61d(self, p0);
8895 RET_LABEL:;
8896 }
8897 /* method parser_prod#ABraExprs#n_cbra= for (self: ABraExprs, TCbra) */
8898 void parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8899 val* var_node /* var node: TCbra */;
8900 var_node = p0;
8901 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_node; /* _n_cbra on <self:ABraExprs> */
8902 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
8903 RET_LABEL:;
8904 }
8905 /* method parser_prod#ABraExprs#n_cbra= for (self: Object, TCbra) */
8906 void VIRTUAL_parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8907 parser_prod__ABraExprs__n_cbra_61d(self, p0);
8908 RET_LABEL:;
8909 }
8910 /* method parser_prod#ABraExprs#visit_all for (self: ABraExprs, Visitor) */
8911 void parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8912 val* var_v /* var v: Visitor */;
8913 val* var /* : TObra */;
8914 val* var1 /* : ANodes[AExpr] */;
8915 val* var2 /* : Iterator[nullable Object] */;
8916 short int var3 /* : Bool */;
8917 val* var4 /* : nullable Object */;
8918 val* var_n /* var n: AExpr */;
8919 val* var5 /* : TCbra */;
8920 var_v = p0;
8921 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8922 if (var == NULL) {
8923 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
8924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10086);
8925 show_backtrace(1);
8926 }
8927 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8928 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8929 if (var1 == NULL) {
8930 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10087);
8932 show_backtrace(1);
8933 }
8934 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8935 for(;;) {
8936 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8937 if(!var3) break;
8938 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8939 var_n = var4;
8940 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8941 CONTINUE_label: (void)0;
8942 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8943 }
8944 BREAK_label: (void)0;
8945 var5 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8946 if (var5 == NULL) {
8947 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
8948 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10090);
8949 show_backtrace(1);
8950 }
8951 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8952 RET_LABEL:;
8953 }
8954 /* method parser_prod#ABraExprs#visit_all for (self: Object, Visitor) */
8955 void VIRTUAL_parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8956 parser_prod__ABraExprs__visit_all(self, p0);
8957 RET_LABEL:;
8958 }
8959 /* method parser_prod#APlusAssignOp#empty_init for (self: APlusAssignOp) */
8960 void parser_prod__APlusAssignOp__empty_init(val* self) {
8961 RET_LABEL:;
8962 }
8963 /* method parser_prod#APlusAssignOp#empty_init for (self: Object) */
8964 void VIRTUAL_parser_prod__APlusAssignOp__empty_init(val* self) {
8965 parser_prod__APlusAssignOp__empty_init(self);
8966 RET_LABEL:;
8967 }
8968 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: APlusAssignOp, nullable TPluseq) */
8969 void parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8970 val* var_n_pluseq /* var n_pluseq: nullable TPluseq */;
8971 var_n_pluseq = p0;
8972 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusAssignOp__empty_init]))(self) /* empty_init on <self:APlusAssignOp>*/;
8973 if (var_n_pluseq == NULL) {
8974 fprintf(stderr, "Runtime error: %s", "Cast failed");
8975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10101);
8976 show_backtrace(1);
8977 }
8978 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_n_pluseq; /* _n_pluseq on <self:APlusAssignOp> */
8979 if (var_n_pluseq == NULL) {
8980 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8981 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10102);
8982 show_backtrace(1);
8983 } else {
8984 ((void (*)(val*, val*))(var_n_pluseq->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_pluseq, self) /* parent= on <var_n_pluseq:nullable TPluseq>*/;
8985 }
8986 RET_LABEL:;
8987 }
8988 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: Object, nullable TPluseq) */
8989 void VIRTUAL_parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8990 parser_prod__APlusAssignOp__init_aplusassignop(self, p0);
8991 RET_LABEL:;
8992 }
8993 /* method parser_prod#APlusAssignOp#replace_child for (self: APlusAssignOp, ANode, nullable ANode) */
8994 void parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
8995 val* var_old_child /* var old_child: ANode */;
8996 val* var_new_child /* var new_child: nullable ANode */;
8997 val* var /* : TPluseq */;
8998 short int var1 /* : Bool */;
8999 val* var2 /* : null */;
9000 short int var3 /* : Bool */;
9001 short int var4 /* : Bool */;
9002 int cltype;
9003 int idtype;
9004 var_old_child = p0;
9005 var_new_child = p1;
9006 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
9007 if (var == NULL) {
9008 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_pluseq");
9009 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10107);
9010 show_backtrace(1);
9011 }
9012 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TPluseq>*/;
9013 if (var1){
9014 var2 = NULL;
9015 if (var_new_child == NULL) {
9016 var3 = 0; /* is null */
9017 } else {
9018 var3 = 1; /* arg is null and recv is not */
9019 }
9020 if (var3){
9021 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9022 /* <var_new_child:nullable ANode(ANode)> isa TPluseq */
9023 cltype = type_parser_nodes__TPluseq.color;
9024 idtype = type_parser_nodes__TPluseq.id;
9025 if(cltype >= var_new_child->type->table_size) {
9026 var4 = 0;
9027 } else {
9028 var4 = var_new_child->type->type_table[cltype] == idtype;
9029 }
9030 if (!var4) {
9031 fprintf(stderr, "Runtime error: %s", "Assert failed");
9032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10110);
9033 show_backtrace(1);
9034 }
9035 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_new_child; /* _n_pluseq on <self:APlusAssignOp> */
9036 } else {
9037 fprintf(stderr, "Runtime error: %s", "Aborted");
9038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10113);
9039 show_backtrace(1);
9040 }
9041 goto RET_LABEL;
9042 } else {
9043 }
9044 RET_LABEL:;
9045 }
9046 /* method parser_prod#APlusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
9047 void VIRTUAL_parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
9048 parser_prod__APlusAssignOp__replace_child(self, p0, p1);
9049 RET_LABEL:;
9050 }
9051 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: APlusAssignOp, TPluseq) */
9052 void parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
9053 val* var_node /* var node: TPluseq */;
9054 var_node = p0;
9055 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_node; /* _n_pluseq on <self:APlusAssignOp> */
9056 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TPluseq>*/;
9057 RET_LABEL:;
9058 }
9059 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: Object, TPluseq) */
9060 void VIRTUAL_parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
9061 parser_prod__APlusAssignOp__n_pluseq_61d(self, p0);
9062 RET_LABEL:;
9063 }
9064 /* method parser_prod#APlusAssignOp#visit_all for (self: APlusAssignOp, Visitor) */
9065 void parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
9066 val* var_v /* var v: Visitor */;
9067 val* var /* : TPluseq */;
9068 var_v = p0;
9069 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
9070 if (var == NULL) {
9071 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_pluseq");
9072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10128);
9073 show_backtrace(1);
9074 }
9075 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9076 RET_LABEL:;
9077 }
9078 /* method parser_prod#APlusAssignOp#visit_all for (self: Object, Visitor) */
9079 void VIRTUAL_parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
9080 parser_prod__APlusAssignOp__visit_all(self, p0);
9081 RET_LABEL:;
9082 }
9083 /* method parser_prod#AMinusAssignOp#empty_init for (self: AMinusAssignOp) */
9084 void parser_prod__AMinusAssignOp__empty_init(val* self) {
9085 RET_LABEL:;
9086 }
9087 /* method parser_prod#AMinusAssignOp#empty_init for (self: Object) */
9088 void VIRTUAL_parser_prod__AMinusAssignOp__empty_init(val* self) {
9089 parser_prod__AMinusAssignOp__empty_init(self);
9090 RET_LABEL:;
9091 }
9092 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: AMinusAssignOp, nullable TMinuseq) */
9093 void parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
9094 val* var_n_minuseq /* var n_minuseq: nullable TMinuseq */;
9095 var_n_minuseq = p0;
9096 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusAssignOp__empty_init]))(self) /* empty_init on <self:AMinusAssignOp>*/;
9097 if (var_n_minuseq == NULL) {
9098 fprintf(stderr, "Runtime error: %s", "Cast failed");
9099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10139);
9100 show_backtrace(1);
9101 }
9102 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_n_minuseq; /* _n_minuseq on <self:AMinusAssignOp> */
9103 if (var_n_minuseq == NULL) {
9104 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10140);
9106 show_backtrace(1);
9107 } else {
9108 ((void (*)(val*, val*))(var_n_minuseq->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_minuseq, self) /* parent= on <var_n_minuseq:nullable TMinuseq>*/;
9109 }
9110 RET_LABEL:;
9111 }
9112 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: Object, nullable TMinuseq) */
9113 void VIRTUAL_parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
9114 parser_prod__AMinusAssignOp__init_aminusassignop(self, p0);
9115 RET_LABEL:;
9116 }
9117 /* method parser_prod#AMinusAssignOp#replace_child for (self: AMinusAssignOp, ANode, nullable ANode) */
9118 void parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
9119 val* var_old_child /* var old_child: ANode */;
9120 val* var_new_child /* var new_child: nullable ANode */;
9121 val* var /* : TMinuseq */;
9122 short int var1 /* : Bool */;
9123 val* var2 /* : null */;
9124 short int var3 /* : Bool */;
9125 short int var4 /* : Bool */;
9126 int cltype;
9127 int idtype;
9128 var_old_child = p0;
9129 var_new_child = p1;
9130 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
9131 if (var == NULL) {
9132 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minuseq");
9133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10145);
9134 show_backtrace(1);
9135 }
9136 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinuseq>*/;
9137 if (var1){
9138 var2 = NULL;
9139 if (var_new_child == NULL) {
9140 var3 = 0; /* is null */
9141 } else {
9142 var3 = 1; /* arg is null and recv is not */
9143 }
9144 if (var3){
9145 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9146 /* <var_new_child:nullable ANode(ANode)> isa TMinuseq */
9147 cltype = type_parser_nodes__TMinuseq.color;
9148 idtype = type_parser_nodes__TMinuseq.id;
9149 if(cltype >= var_new_child->type->table_size) {
9150 var4 = 0;
9151 } else {
9152 var4 = var_new_child->type->type_table[cltype] == idtype;
9153 }
9154 if (!var4) {
9155 fprintf(stderr, "Runtime error: %s", "Assert failed");
9156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10148);
9157 show_backtrace(1);
9158 }
9159 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_new_child; /* _n_minuseq on <self:AMinusAssignOp> */
9160 } else {
9161 fprintf(stderr, "Runtime error: %s", "Aborted");
9162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10151);
9163 show_backtrace(1);
9164 }
9165 goto RET_LABEL;
9166 } else {
9167 }
9168 RET_LABEL:;
9169 }
9170 /* method parser_prod#AMinusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
9171 void VIRTUAL_parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
9172 parser_prod__AMinusAssignOp__replace_child(self, p0, p1);
9173 RET_LABEL:;
9174 }
9175 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: AMinusAssignOp, TMinuseq) */
9176 void parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
9177 val* var_node /* var node: TMinuseq */;
9178 var_node = p0;
9179 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_node; /* _n_minuseq on <self:AMinusAssignOp> */
9180 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinuseq>*/;
9181 RET_LABEL:;
9182 }
9183 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: Object, TMinuseq) */
9184 void VIRTUAL_parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
9185 parser_prod__AMinusAssignOp__n_minuseq_61d(self, p0);
9186 RET_LABEL:;
9187 }
9188 /* method parser_prod#AMinusAssignOp#visit_all for (self: AMinusAssignOp, Visitor) */
9189 void parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
9190 val* var_v /* var v: Visitor */;
9191 val* var /* : TMinuseq */;
9192 var_v = p0;
9193 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
9194 if (var == NULL) {
9195 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minuseq");
9196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10166);
9197 show_backtrace(1);
9198 }
9199 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9200 RET_LABEL:;
9201 }
9202 /* method parser_prod#AMinusAssignOp#visit_all for (self: Object, Visitor) */
9203 void VIRTUAL_parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
9204 parser_prod__AMinusAssignOp__visit_all(self, p0);
9205 RET_LABEL:;
9206 }
9207 /* method parser_prod#AModuleName#empty_init for (self: AModuleName) */
9208 void parser_prod__AModuleName__empty_init(val* self) {
9209 RET_LABEL:;
9210 }
9211 /* method parser_prod#AModuleName#empty_init for (self: Object) */
9212 void VIRTUAL_parser_prod__AModuleName__empty_init(val* self) {
9213 parser_prod__AModuleName__empty_init(self);
9214 RET_LABEL:;
9215 }
9216 /* method parser_prod#AModuleName#init_amodulename for (self: AModuleName, nullable TQuad, Collection[Object], nullable TId) */
9217 void parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9218 val* var_n_quad /* var n_quad: nullable TQuad */;
9219 val* var_n_path /* var n_path: Collection[Object] */;
9220 val* var_n_id /* var n_id: nullable TId */;
9221 val* var /* : null */;
9222 short int var1 /* : Bool */;
9223 val* var2 /* : Iterator[nullable Object] */;
9224 short int var3 /* : Bool */;
9225 val* var4 /* : nullable Object */;
9226 val* var_n /* var n: Object */;
9227 short int var5 /* : Bool */;
9228 int cltype;
9229 int idtype;
9230 val* var6 /* : ANodes[TId] */;
9231 var_n_quad = p0;
9232 var_n_path = p1;
9233 var_n_id = p2;
9234 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuleName__empty_init]))(self) /* empty_init on <self:AModuleName>*/;
9235 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_n_quad; /* _n_quad on <self:AModuleName> */
9236 var = NULL;
9237 if (var_n_quad == NULL) {
9238 var1 = 0; /* is null */
9239 } else {
9240 var1 = 1; /* arg is null and recv is not */
9241 }
9242 if (var1){
9243 ((void (*)(val*, val*))(var_n_quad->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_quad, self) /* parent= on <var_n_quad:nullable TQuad(TQuad)>*/;
9244 } else {
9245 }
9246 var2 = ((val* (*)(val*))(var_n_path->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_path) /* iterator on <var_n_path:Collection[Object]>*/;
9247 for(;;) {
9248 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
9249 if(!var3) break;
9250 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
9251 var_n = var4;
9252 /* <var_n:Object> isa TId */
9253 cltype = type_parser_nodes__TId.color;
9254 idtype = type_parser_nodes__TId.id;
9255 if(cltype >= var_n->type->table_size) {
9256 var5 = 0;
9257 } else {
9258 var5 = var_n->type->type_table[cltype] == idtype;
9259 }
9260 if (!var5) {
9261 fprintf(stderr, "Runtime error: %s", "Assert failed");
9262 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10184);
9263 show_backtrace(1);
9264 }
9265 var6 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9266 if (var6 == NULL) {
9267 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10185);
9269 show_backtrace(1);
9270 }
9271 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[TId]>*/;
9272 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
9273 CONTINUE_label: (void)0;
9274 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
9275 }
9276 BREAK_label: (void)0;
9277 if (var_n_id == NULL) {
9278 fprintf(stderr, "Runtime error: %s", "Cast failed");
9279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10188);
9280 show_backtrace(1);
9281 }
9282 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_n_id; /* _n_id on <self:AModuleName> */
9283 if (var_n_id == NULL) {
9284 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10189);
9286 show_backtrace(1);
9287 } else {
9288 ((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>*/;
9289 }
9290 RET_LABEL:;
9291 }
9292 /* method parser_prod#AModuleName#init_amodulename for (self: Object, nullable TQuad, Collection[Object], nullable TId) */
9293 void VIRTUAL_parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9294 parser_prod__AModuleName__init_amodulename(self, p0, p1, p2);
9295 RET_LABEL:;
9296 }
9297 /* method parser_prod#AModuleName#replace_child for (self: AModuleName, ANode, nullable ANode) */
9298 void parser_prod__AModuleName__replace_child(val* self, val* p0, val* p1) {
9299 val* var_old_child /* var old_child: ANode */;
9300 val* var_new_child /* var new_child: nullable ANode */;
9301 val* var /* : nullable TQuad */;
9302 short int var1 /* : Bool */;
9303 val* var2 /* : null */;
9304 short int var3 /* : Bool */;
9305 short int var4 /* : Bool */;
9306 int cltype;
9307 int idtype;
9308 val* var5 /* : null */;
9309 val* var6 /* : Range[Int] */;
9310 long var7 /* : Int */;
9311 val* var8 /* : ANodes[TId] */;
9312 long var9 /* : Int */;
9313 val* var10 /* : Discrete */;
9314 val* var11 /* : Discrete */;
9315 val* var12 /* : Iterator[nullable Object] */;
9316 short int var13 /* : Bool */;
9317 val* var14 /* : nullable Object */;
9318 long var_i /* var i: Int */;
9319 long var15 /* : Int */;
9320 val* var16 /* : ANodes[TId] */;
9321 val* var17 /* : nullable Object */;
9322 short int var18 /* : Bool */;
9323 val* var19 /* : null */;
9324 short int var20 /* : Bool */;
9325 short int var21 /* : Bool */;
9326 int cltype22;
9327 int idtype23;
9328 val* var24 /* : ANodes[TId] */;
9329 val* var25 /* : ANodes[TId] */;
9330 val* var26 /* : TId */;
9331 short int var27 /* : Bool */;
9332 val* var28 /* : null */;
9333 short int var29 /* : Bool */;
9334 short int var30 /* : Bool */;
9335 int cltype31;
9336 int idtype32;
9337 var_old_child = p0;
9338 var_new_child = p1;
9339 var = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9340 if (var == NULL) {
9341 var1 = 0; /* <var_old_child:ANode> cannot be null */
9342 } else {
9343 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TQuad>*/;
9344 }
9345 if (var1){
9346 var2 = NULL;
9347 if (var_new_child == NULL) {
9348 var3 = 0; /* is null */
9349 } else {
9350 var3 = 1; /* arg is null and recv is not */
9351 }
9352 if (var3){
9353 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9354 /* <var_new_child:nullable ANode(ANode)> isa TQuad */
9355 cltype = type_parser_nodes__TQuad.color;
9356 idtype = type_parser_nodes__TQuad.id;
9357 if(cltype >= var_new_child->type->table_size) {
9358 var4 = 0;
9359 } else {
9360 var4 = var_new_child->type->type_table[cltype] == idtype;
9361 }
9362 if (!var4) {
9363 fprintf(stderr, "Runtime error: %s", "Assert failed");
9364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10197);
9365 show_backtrace(1);
9366 }
9367 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_new_child; /* _n_quad on <self:AModuleName> */
9368 } else {
9369 var5 = NULL;
9370 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var5; /* _n_quad on <self:AModuleName> */
9371 }
9372 goto RET_LABEL;
9373 } else {
9374 }
9375 var6 = NEW_range__Range(&type_range__Rangekernel__Int);
9376 var7 = 0;
9377 var8 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9378 if (var8 == NULL) {
9379 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10204);
9381 show_backtrace(1);
9382 }
9383 var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__length]))(var8) /* length on <var8:ANodes[TId]>*/;
9384 var10 = BOX_kernel__Int(var7); /* autobox from Int to Discrete */
9385 var11 = BOX_kernel__Int(var9); /* autobox from Int to Discrete */
9386 ((void (*)(val*, val*, val*))(var6->class->vft[COLOR_range__Range__without_last]))(var6, var10, var11) /* without_last on <var6:Range[Int]>*/;
9387 var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on <var6:Range[Int]>*/;
9388 for(;;) {
9389 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on <var12:Iterator[nullable Object]>*/;
9390 if(!var13) break;
9391 var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on <var12:Iterator[nullable Object]>*/;
9392 var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */;
9393 var_i = var15;
9394 var16 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9395 if (var16 == NULL) {
9396 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10205);
9398 show_backtrace(1);
9399 }
9400 var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on <var16:ANodes[TId]>*/;
9401 var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on <var17:nullable Object(TId)>*/;
9402 if (var18){
9403 var19 = NULL;
9404 if (var_new_child == NULL) {
9405 var20 = 0; /* is null */
9406 } else {
9407 var20 = 1; /* arg is null and recv is not */
9408 }
9409 if (var20){
9410 /* <var_new_child:nullable ANode(ANode)> isa TId */
9411 cltype22 = type_parser_nodes__TId.color;
9412 idtype23 = type_parser_nodes__TId.id;
9413 if(cltype22 >= var_new_child->type->table_size) {
9414 var21 = 0;
9415 } else {
9416 var21 = var_new_child->type->type_table[cltype22] == idtype23;
9417 }
9418 if (!var21) {
9419 fprintf(stderr, "Runtime error: %s", "Assert failed");
9420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10207);
9421 show_backtrace(1);
9422 }
9423 var24 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9424 if (var24 == NULL) {
9425 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10208);
9427 show_backtrace(1);
9428 }
9429 ((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, var_i, var_new_child) /* []= on <var24:ANodes[TId]>*/;
9430 ((void (*)(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)>*/;
9431 } else {
9432 var25 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9433 if (var25 == NULL) {
9434 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10211);
9436 show_backtrace(1);
9437 }
9438 ((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on <var25:ANodes[TId]>*/;
9439 }
9440 goto RET_LABEL;
9441 } else {
9442 }
9443 CONTINUE_label: (void)0;
9444 ((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on <var12:Iterator[nullable Object]>*/;
9445 }
9446 BREAK_label: (void)0;
9447 var26 = self->attrs[COLOR_parser_nodes__AModuleName___n_id].val; /* _n_id on <self:AModuleName> */
9448 if (var26 == NULL) {
9449 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10216);
9451 show_backtrace(1);
9452 }
9453 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TId>*/;
9454 if (var27){
9455 var28 = NULL;
9456 if (var_new_child == NULL) {
9457 var29 = 0; /* is null */
9458 } else {
9459 var29 = 1; /* arg is null and recv is not */
9460 }
9461 if (var29){
9462 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9463 /* <var_new_child:nullable ANode(ANode)> isa TId */
9464 cltype31 = type_parser_nodes__TId.color;
9465 idtype32 = type_parser_nodes__TId.id;
9466 if(cltype31 >= var_new_child->type->table_size) {
9467 var30 = 0;
9468 } else {
9469 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9470 }
9471 if (!var30) {
9472 fprintf(stderr, "Runtime error: %s", "Assert failed");
9473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10219);
9474 show_backtrace(1);
9475 }
9476 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_new_child; /* _n_id on <self:AModuleName> */
9477 } else {
9478 fprintf(stderr, "Runtime error: %s", "Aborted");
9479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10222);
9480 show_backtrace(1);
9481 }
9482 goto RET_LABEL;
9483 } else {
9484 }
9485 RET_LABEL:;
9486 }
9487 /* method parser_prod#AModuleName#replace_child for (self: Object, ANode, nullable ANode) */
9488 void VIRTUAL_parser_prod__AModuleName__replace_child(val* self, val* p0, val* p1) {
9489 parser_prod__AModuleName__replace_child(self, p0, p1);
9490 RET_LABEL:;
9491 }
9492 /* method parser_prod#AModuleName#n_quad= for (self: AModuleName, nullable TQuad) */
9493 void parser_prod__AModuleName__n_quad_61d(val* self, val* p0) {
9494 val* var_node /* var node: nullable TQuad */;
9495 val* var /* : null */;
9496 short int var1 /* : Bool */;
9497 var_node = p0;
9498 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_node; /* _n_quad on <self:AModuleName> */
9499 var = NULL;
9500 if (var_node == NULL) {
9501 var1 = 0; /* is null */
9502 } else {
9503 var1 = 1; /* arg is null and recv is not */
9504 }
9505 if (var1){
9506 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TQuad(TQuad)>*/;
9507 } else {
9508 }
9509 RET_LABEL:;
9510 }
9511 /* method parser_prod#AModuleName#n_quad= for (self: Object, nullable TQuad) */
9512 void VIRTUAL_parser_prod__AModuleName__n_quad_61d(val* self, val* p0) {
9513 parser_prod__AModuleName__n_quad_61d(self, p0);
9514 RET_LABEL:;
9515 }
9516 /* method parser_prod#AModuleName#n_id= for (self: AModuleName, TId) */
9517 void parser_prod__AModuleName__n_id_61d(val* self, val* p0) {
9518 val* var_node /* var node: TId */;
9519 var_node = p0;
9520 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_node; /* _n_id on <self:AModuleName> */
9521 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9522 RET_LABEL:;
9523 }
9524 /* method parser_prod#AModuleName#n_id= for (self: Object, TId) */
9525 void VIRTUAL_parser_prod__AModuleName__n_id_61d(val* self, val* p0) {
9526 parser_prod__AModuleName__n_id_61d(self, p0);
9527 RET_LABEL:;
9528 }
9529 /* method parser_prod#AModuleName#visit_all for (self: AModuleName, Visitor) */
9530 void parser_prod__AModuleName__visit_all(val* self, val* p0) {
9531 val* var_v /* var v: Visitor */;
9532 val* var /* : nullable TQuad */;
9533 val* var1 /* : null */;
9534 short int var2 /* : Bool */;
9535 val* var3 /* : nullable TQuad */;
9536 val* var4 /* : ANodes[TId] */;
9537 val* var5 /* : Iterator[nullable Object] */;
9538 short int var6 /* : Bool */;
9539 val* var7 /* : nullable Object */;
9540 val* var_n /* var n: TId */;
9541 val* var8 /* : TId */;
9542 var_v = p0;
9543 var = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9544 var1 = NULL;
9545 if (var == NULL) {
9546 var2 = 0; /* is null */
9547 } else {
9548 var2 = 1; /* arg is null and recv is not */
9549 }
9550 if (var2){
9551 var3 = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9552 if (var3 == NULL) {
9553 fprintf(stderr, "Runtime error: %s", "Cast failed");
9554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10245);
9555 show_backtrace(1);
9556 }
9557 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9558 } else {
9559 }
9560 var4 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9561 if (var4 == NULL) {
9562 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10247);
9564 show_backtrace(1);
9565 }
9566 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on <var4:ANodes[TId]>*/;
9567 for(;;) {
9568 var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on <var5:Iterator[nullable Object]>*/;
9569 if(!var6) break;
9570 var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on <var5:Iterator[nullable Object]>*/;
9571 var_n = var7;
9572 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
9573 CONTINUE_label: (void)0;
9574 ((void (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on <var5:Iterator[nullable Object]>*/;
9575 }
9576 BREAK_label: (void)0;
9577 var8 = self->attrs[COLOR_parser_nodes__AModuleName___n_id].val; /* _n_id on <self:AModuleName> */
9578 if (var8 == NULL) {
9579 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10250);
9581 show_backtrace(1);
9582 }
9583 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
9584 RET_LABEL:;
9585 }
9586 /* method parser_prod#AModuleName#visit_all for (self: Object, Visitor) */
9587 void VIRTUAL_parser_prod__AModuleName__visit_all(val* self, val* p0) {
9588 parser_prod__AModuleName__visit_all(self, p0);
9589 RET_LABEL:;
9590 }
9591 /* method parser_prod#AExternCalls#empty_init for (self: AExternCalls) */
9592 void parser_prod__AExternCalls__empty_init(val* self) {
9593 RET_LABEL:;
9594 }
9595 /* method parser_prod#AExternCalls#empty_init for (self: Object) */
9596 void VIRTUAL_parser_prod__AExternCalls__empty_init(val* self) {
9597 parser_prod__AExternCalls__empty_init(self);
9598 RET_LABEL:;
9599 }
9600 /* method parser_prod#AExternCalls#init_aexterncalls for (self: AExternCalls, nullable TKwimport, Collection[Object]) */
9601 void parser_prod__AExternCalls__init_aexterncalls(val* self, val* p0, val* p1) {
9602 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
9603 val* var_n_extern_calls /* var n_extern_calls: Collection[Object] */;
9604 val* var /* : Iterator[nullable Object] */;
9605 short int var1 /* : Bool */;
9606 val* var2 /* : nullable Object */;
9607 val* var_n /* var n: Object */;
9608 short int var3 /* : Bool */;
9609 int cltype;
9610 int idtype;
9611 val* var4 /* : ANodes[AExternCall] */;
9612 var_n_kwimport = p0;
9613 var_n_extern_calls = p1;
9614 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternCalls__empty_init]))(self) /* empty_init on <self:AExternCalls>*/;
9615 if (var_n_kwimport == NULL) {
9616 fprintf(stderr, "Runtime error: %s", "Cast failed");
9617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10262);
9618 show_backtrace(1);
9619 }
9620 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:AExternCalls> */
9621 if (var_n_kwimport == NULL) {
9622 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10263);
9624 show_backtrace(1);
9625 } else {
9626 ((void (*)(val*, val*))(var_n_kwimport->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwimport, self) /* parent= on <var_n_kwimport:nullable TKwimport>*/;
9627 }
9628 var = ((val* (*)(val*))(var_n_extern_calls->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_extern_calls) /* iterator on <var_n_extern_calls:Collection[Object]>*/;
9629 for(;;) {
9630 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
9631 if(!var1) break;
9632 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
9633 var_n = var2;
9634 /* <var_n:Object> isa AExternCall */
9635 cltype = type_parser_nodes__AExternCall.color;
9636 idtype = type_parser_nodes__AExternCall.id;
9637 if(cltype >= var_n->type->table_size) {
9638 var3 = 0;
9639 } else {
9640 var3 = var_n->type->type_table[cltype] == idtype;
9641 }
9642 if (!var3) {
9643 fprintf(stderr, "Runtime error: %s", "Assert failed");
9644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10265);
9645 show_backtrace(1);
9646 }
9647 var4 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9648 if (var4 == NULL) {
9649 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10266);
9651 show_backtrace(1);
9652 }
9653 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExternCall]>*/;
9654 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExternCall)>*/;
9655 CONTINUE_label: (void)0;
9656 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
9657 }
9658 BREAK_label: (void)0;
9659 RET_LABEL:;
9660 }
9661 /* method parser_prod#AExternCalls#init_aexterncalls for (self: Object, nullable TKwimport, Collection[Object]) */
9662 void VIRTUAL_parser_prod__AExternCalls__init_aexterncalls(val* self, val* p0, val* p1) {
9663 parser_prod__AExternCalls__init_aexterncalls(self, p0, p1);
9664 RET_LABEL:;
9665 }
9666 /* method parser_prod#AExternCalls#replace_child for (self: AExternCalls, ANode, nullable ANode) */
9667 void parser_prod__AExternCalls__replace_child(val* self, val* p0, val* p1) {
9668 val* var_old_child /* var old_child: ANode */;
9669 val* var_new_child /* var new_child: nullable ANode */;
9670 val* var /* : TKwimport */;
9671 short int var1 /* : Bool */;
9672 val* var2 /* : null */;
9673 short int var3 /* : Bool */;
9674 short int var4 /* : Bool */;
9675 int cltype;
9676 int idtype;
9677 val* var5 /* : Range[Int] */;
9678 long var6 /* : Int */;
9679 val* var7 /* : ANodes[AExternCall] */;
9680 long var8 /* : Int */;
9681 val* var9 /* : Discrete */;
9682 val* var10 /* : Discrete */;
9683 val* var11 /* : Iterator[nullable Object] */;
9684 short int var12 /* : Bool */;
9685 val* var13 /* : nullable Object */;
9686 long var_i /* var i: Int */;
9687 long var14 /* : Int */;
9688 val* var15 /* : ANodes[AExternCall] */;
9689 val* var16 /* : nullable Object */;
9690 short int var17 /* : Bool */;
9691 val* var18 /* : null */;
9692 short int var19 /* : Bool */;
9693 short int var20 /* : Bool */;
9694 int cltype21;
9695 int idtype22;
9696 val* var23 /* : ANodes[AExternCall] */;
9697 val* var24 /* : ANodes[AExternCall] */;
9698 var_old_child = p0;
9699 var_new_child = p1;
9700 var = self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val; /* _n_kwimport on <self:AExternCalls> */
9701 if (var == NULL) {
9702 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
9703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10273);
9704 show_backtrace(1);
9705 }
9706 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwimport>*/;
9707 if (var1){
9708 var2 = NULL;
9709 if (var_new_child == NULL) {
9710 var3 = 0; /* is null */
9711 } else {
9712 var3 = 1; /* arg is null and recv is not */
9713 }
9714 if (var3){
9715 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9716 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
9717 cltype = type_parser_nodes__TKwimport.color;
9718 idtype = type_parser_nodes__TKwimport.id;
9719 if(cltype >= var_new_child->type->table_size) {
9720 var4 = 0;
9721 } else {
9722 var4 = var_new_child->type->type_table[cltype] == idtype;
9723 }
9724 if (!var4) {
9725 fprintf(stderr, "Runtime error: %s", "Assert failed");
9726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10276);
9727 show_backtrace(1);
9728 }
9729 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_new_child; /* _n_kwimport on <self:AExternCalls> */
9730 } else {
9731 fprintf(stderr, "Runtime error: %s", "Aborted");
9732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10279);
9733 show_backtrace(1);
9734 }
9735 goto RET_LABEL;
9736 } else {
9737 }
9738 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
9739 var6 = 0;
9740 var7 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9741 if (var7 == NULL) {
9742 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10283);
9744 show_backtrace(1);
9745 }
9746 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExternCall]>*/;
9747 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
9748 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
9749 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
9750 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
9751 for(;;) {
9752 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
9753 if(!var12) break;
9754 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
9755 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
9756 var_i = var14;
9757 var15 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9758 if (var15 == NULL) {
9759 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10284);
9761 show_backtrace(1);
9762 }
9763 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExternCall]>*/;
9764 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExternCall)>*/;
9765 if (var17){
9766 var18 = NULL;
9767 if (var_new_child == NULL) {
9768 var19 = 0; /* is null */
9769 } else {
9770 var19 = 1; /* arg is null and recv is not */
9771 }
9772 if (var19){
9773 /* <var_new_child:nullable ANode(ANode)> isa AExternCall */
9774 cltype21 = type_parser_nodes__AExternCall.color;
9775 idtype22 = type_parser_nodes__AExternCall.id;
9776 if(cltype21 >= var_new_child->type->table_size) {
9777 var20 = 0;
9778 } else {
9779 var20 = var_new_child->type->type_table[cltype21] == idtype22;
9780 }
9781 if (!var20) {
9782 fprintf(stderr, "Runtime error: %s", "Assert failed");
9783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10286);
9784 show_backtrace(1);
9785 }
9786 var23 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9787 if (var23 == NULL) {
9788 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10287);
9790 show_backtrace(1);
9791 }
9792 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExternCall]>*/;
9793 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AExternCall)>*/;
9794 } else {
9795 var24 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9796 if (var24 == NULL) {
9797 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10290);
9799 show_backtrace(1);
9800 }
9801 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExternCall]>*/;
9802 }
9803 goto RET_LABEL;
9804 } else {
9805 }
9806 CONTINUE_label: (void)0;
9807 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
9808 }
9809 BREAK_label: (void)0;
9810 RET_LABEL:;
9811 }
9812 /* method parser_prod#AExternCalls#replace_child for (self: Object, ANode, nullable ANode) */
9813 void VIRTUAL_parser_prod__AExternCalls__replace_child(val* self, val* p0, val* p1) {
9814 parser_prod__AExternCalls__replace_child(self, p0, p1);
9815 RET_LABEL:;
9816 }
9817 /* method parser_prod#AExternCalls#n_kwimport= for (self: AExternCalls, TKwimport) */
9818 void parser_prod__AExternCalls__n_kwimport_61d(val* self, val* p0) {
9819 val* var_node /* var node: TKwimport */;
9820 var_node = p0;
9821 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_node; /* _n_kwimport on <self:AExternCalls> */
9822 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
9823 RET_LABEL:;
9824 }
9825 /* method parser_prod#AExternCalls#n_kwimport= for (self: Object, TKwimport) */
9826 void VIRTUAL_parser_prod__AExternCalls__n_kwimport_61d(val* self, val* p0) {
9827 parser_prod__AExternCalls__n_kwimport_61d(self, p0);
9828 RET_LABEL:;
9829 }
9830 /* method parser_prod#AExternCalls#visit_all for (self: AExternCalls, Visitor) */
9831 void parser_prod__AExternCalls__visit_all(val* self, val* p0) {
9832 val* var_v /* var v: Visitor */;
9833 val* var /* : TKwimport */;
9834 val* var1 /* : ANodes[AExternCall] */;
9835 val* var2 /* : Iterator[nullable Object] */;
9836 short int var3 /* : Bool */;
9837 val* var4 /* : nullable Object */;
9838 val* var_n /* var n: AExternCall */;
9839 var_v = p0;
9840 var = self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val; /* _n_kwimport on <self:AExternCalls> */
9841 if (var == NULL) {
9842 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
9843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10306);
9844 show_backtrace(1);
9845 }
9846 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9847 var1 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9848 if (var1 == NULL) {
9849 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10307);
9851 show_backtrace(1);
9852 }
9853 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExternCall]>*/;
9854 for(;;) {
9855 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
9856 if(!var3) break;
9857 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
9858 var_n = var4;
9859 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
9860 CONTINUE_label: (void)0;
9861 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
9862 }
9863 BREAK_label: (void)0;
9864 RET_LABEL:;
9865 }
9866 /* method parser_prod#AExternCalls#visit_all for (self: Object, Visitor) */
9867 void VIRTUAL_parser_prod__AExternCalls__visit_all(val* self, val* p0) {
9868 parser_prod__AExternCalls__visit_all(self, p0);
9869 RET_LABEL:;
9870 }
9871 /* method parser_prod#AExternCall#empty_init for (self: AExternCall) */
9872 void parser_prod__AExternCall__empty_init(val* self) {
9873 RET_LABEL:;
9874 }
9875 /* method parser_prod#AExternCall#empty_init for (self: Object) */
9876 void VIRTUAL_parser_prod__AExternCall__empty_init(val* self) {
9877 parser_prod__AExternCall__empty_init(self);
9878 RET_LABEL:;
9879 }
9880 /* method parser_prod#AExternCall#init_aexterncall for (self: AExternCall) */
9881 void parser_prod__AExternCall__init_aexterncall(val* self) {
9882 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternCall__empty_init]))(self) /* empty_init on <self:AExternCall>*/;
9883 RET_LABEL:;
9884 }
9885 /* method parser_prod#AExternCall#init_aexterncall for (self: Object) */
9886 void VIRTUAL_parser_prod__AExternCall__init_aexterncall(val* self) {
9887 parser_prod__AExternCall__init_aexterncall(self);
9888 RET_LABEL:;
9889 }
9890 /* method parser_prod#AExternCall#replace_child for (self: AExternCall, ANode, nullable ANode) */
9891 void parser_prod__AExternCall__replace_child(val* self, val* p0, val* p1) {
9892 val* var_old_child /* var old_child: ANode */;
9893 val* var_new_child /* var new_child: nullable ANode */;
9894 var_old_child = p0;
9895 var_new_child = p1;
9896 RET_LABEL:;
9897 }
9898 /* method parser_prod#AExternCall#replace_child for (self: Object, ANode, nullable ANode) */
9899 void VIRTUAL_parser_prod__AExternCall__replace_child(val* self, val* p0, val* p1) {
9900 parser_prod__AExternCall__replace_child(self, p0, p1);
9901 RET_LABEL:;
9902 }
9903 /* method parser_prod#AExternCall#visit_all for (self: AExternCall, Visitor) */
9904 void parser_prod__AExternCall__visit_all(val* self, val* p0) {
9905 val* var_v /* var v: Visitor */;
9906 var_v = p0;
9907 RET_LABEL:;
9908 }
9909 /* method parser_prod#AExternCall#visit_all for (self: Object, Visitor) */
9910 void VIRTUAL_parser_prod__AExternCall__visit_all(val* self, val* p0) {
9911 parser_prod__AExternCall__visit_all(self, p0);
9912 RET_LABEL:;
9913 }
9914 /* method parser_prod#ASuperExternCall#empty_init for (self: ASuperExternCall) */
9915 void parser_prod__ASuperExternCall__empty_init(val* self) {
9916 RET_LABEL:;
9917 }
9918 /* method parser_prod#ASuperExternCall#empty_init for (self: Object) */
9919 void VIRTUAL_parser_prod__ASuperExternCall__empty_init(val* self) {
9920 parser_prod__ASuperExternCall__empty_init(self);
9921 RET_LABEL:;
9922 }
9923 /* method parser_prod#ASuperExternCall#init_asuperexterncall for (self: ASuperExternCall, nullable TKwsuper) */
9924 void parser_prod__ASuperExternCall__init_asuperexterncall(val* self, val* p0) {
9925 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
9926 var_n_kwsuper = p0;
9927 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperExternCall__empty_init]))(self) /* empty_init on <self:ASuperExternCall>*/;
9928 if (var_n_kwsuper == NULL) {
9929 fprintf(stderr, "Runtime error: %s", "Cast failed");
9930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10338);
9931 show_backtrace(1);
9932 }
9933 self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExternCall> */
9934 if (var_n_kwsuper == NULL) {
9935 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10339);
9937 show_backtrace(1);
9938 } else {
9939 ((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>*/;
9940 }
9941 RET_LABEL:;
9942 }
9943 /* method parser_prod#ASuperExternCall#init_asuperexterncall for (self: Object, nullable TKwsuper) */
9944 void VIRTUAL_parser_prod__ASuperExternCall__init_asuperexterncall(val* self, val* p0) {
9945 parser_prod__ASuperExternCall__init_asuperexterncall(self, p0);
9946 RET_LABEL:;
9947 }
9948 /* method parser_prod#ASuperExternCall#replace_child for (self: ASuperExternCall, ANode, nullable ANode) */
9949 void parser_prod__ASuperExternCall__replace_child(val* self, val* p0, val* p1) {
9950 val* var_old_child /* var old_child: ANode */;
9951 val* var_new_child /* var new_child: nullable ANode */;
9952 val* var /* : TKwsuper */;
9953 short int var1 /* : Bool */;
9954 val* var2 /* : null */;
9955 short int var3 /* : Bool */;
9956 short int var4 /* : Bool */;
9957 int cltype;
9958 int idtype;
9959 var_old_child = p0;
9960 var_new_child = p1;
9961 var = self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExternCall> */
9962 if (var == NULL) {
9963 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
9964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10344);
9965 show_backtrace(1);
9966 }
9967 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwsuper>*/;
9968 if (var1){
9969 var2 = NULL;
9970 if (var_new_child == NULL) {
9971 var3 = 0; /* is null */
9972 } else {
9973 var3 = 1; /* arg is null and recv is not */
9974 }
9975 if (var3){
9976 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9977 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
9978 cltype = type_parser_nodes__TKwsuper.color;
9979 idtype = type_parser_nodes__TKwsuper.id;
9980 if(cltype >= var_new_child->type->table_size) {
9981 var4 = 0;
9982 } else {
9983 var4 = var_new_child->type->type_table[cltype] == idtype;
9984 }
9985 if (!var4) {
9986 fprintf(stderr, "Runtime error: %s", "Assert failed");
9987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10347);
9988 show_backtrace(1);
9989 }
9990 self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperExternCall> */
9991 } else {
9992 fprintf(stderr, "Runtime error: %s", "Aborted");
9993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10350);
9994 show_backtrace(1);
9995 }
9996 goto RET_LABEL;
9997 } else {
9998 }
9999 RET_LABEL:;
10000 }