lib/simple_json_reader: unprotect special char in strings
[nit.git] / c_src / parser_prod.sep.4.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#ASuperExpr#n_qualified= for (self: Object, nullable AQualified) */
3 void VIRTUAL_parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
4 parser_prod__ASuperExpr__n_qualified_61d(self, p0);
5 RET_LABEL:;
6 }
7 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: ASuperExpr, TKwsuper) */
8 void parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
9 val* var_node /* var node: TKwsuper */;
10 var_node = p0;
11 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperExpr> */
12 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
13 RET_LABEL:;
14 }
15 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: Object, TKwsuper) */
16 void VIRTUAL_parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) {
17 parser_prod__ASuperExpr__n_kwsuper_61d(self, p0);
18 RET_LABEL:;
19 }
20 /* method parser_prod#ASuperExpr#n_args= for (self: ASuperExpr, AExprs) */
21 void parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
22 val* var_node /* var node: AExprs */;
23 var_node = p0;
24 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_node; /* _n_args on <self:ASuperExpr> */
25 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
26 RET_LABEL:;
27 }
28 /* method parser_prod#ASuperExpr#n_args= for (self: Object, AExprs) */
29 void VIRTUAL_parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) {
30 parser_prod__ASuperExpr__n_args_61d(self, p0);
31 RET_LABEL:;
32 }
33 /* method parser_prod#ASuperExpr#visit_all for (self: ASuperExpr, Visitor) */
34 void parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
35 val* var_v /* var v: Visitor */;
36 val* var /* : nullable AQualified */;
37 val* var1 /* : null */;
38 short int var2 /* : Bool */;
39 val* var3 /* : nullable AQualified */;
40 val* var4 /* : TKwsuper */;
41 val* var5 /* : AExprs */;
42 var_v = p0;
43 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
44 var1 = NULL;
45 if (var == NULL) {
46 var2 = 0; /* is null */
47 } else {
48 var2 = 1; /* arg is null and recv is not */
49 }
50 if (var2){
51 var3 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
52 if (var3 == NULL) {
53 fprintf(stderr, "Runtime error: %s", "Cast failed");
54 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7773);
55 exit(1);
56 }
57 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
58 } else {
59 }
60 var4 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
61 if (var4 == NULL) {
62 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
63 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7775);
64 exit(1);
65 }
66 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
67 var5 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
68 if (var5 == NULL) {
69 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
70 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7776);
71 exit(1);
72 }
73 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
74 RET_LABEL:;
75 }
76 /* method parser_prod#ASuperExpr#visit_all for (self: Object, Visitor) */
77 void VIRTUAL_parser_prod__ASuperExpr__visit_all(val* self, val* p0) {
78 parser_prod__ASuperExpr__visit_all(self, p0);
79 RET_LABEL:;
80 }
81 /* method parser_prod#AInitExpr#empty_init for (self: AInitExpr) */
82 void parser_prod__AInitExpr__empty_init(val* self) {
83 RET_LABEL:;
84 }
85 /* method parser_prod#AInitExpr#empty_init for (self: Object) */
86 void VIRTUAL_parser_prod__AInitExpr__empty_init(val* self) {
87 parser_prod__AInitExpr__empty_init(self);
88 RET_LABEL:;
89 }
90 /* method parser_prod#AInitExpr#init_ainitexpr for (self: AInitExpr, nullable AExpr, nullable TKwinit, nullable AExprs) */
91 void parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
92 val* var_n_expr /* var n_expr: nullable AExpr */;
93 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
94 val* var_n_args /* var n_args: nullable AExprs */;
95 var_n_expr = p0;
96 var_n_kwinit = p1;
97 var_n_args = p2;
98 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInitExpr__empty_init]))(self) /* empty_init on <self:AInitExpr>*/;
99 if (var_n_expr == NULL) {
100 fprintf(stderr, "Runtime error: %s", "Cast failed");
101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7789);
102 exit(1);
103 }
104 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AInitExpr> */
105 if (var_n_expr == NULL) {
106 fprintf(stderr, "Runtime error: %s", "Reciever is null");
107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7790);
108 exit(1);
109 } else {
110 ((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>*/;
111 }
112 if (var_n_kwinit == NULL) {
113 fprintf(stderr, "Runtime error: %s", "Cast failed");
114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7791);
115 exit(1);
116 }
117 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AInitExpr> */
118 if (var_n_kwinit == NULL) {
119 fprintf(stderr, "Runtime error: %s", "Reciever is null");
120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7792);
121 exit(1);
122 } else {
123 ((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>*/;
124 }
125 if (var_n_args == NULL) {
126 fprintf(stderr, "Runtime error: %s", "Cast failed");
127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7793);
128 exit(1);
129 }
130 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_n_args; /* _n_args on <self:AInitExpr> */
131 if (var_n_args == NULL) {
132 fprintf(stderr, "Runtime error: %s", "Reciever is null");
133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7794);
134 exit(1);
135 } else {
136 ((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>*/;
137 }
138 RET_LABEL:;
139 }
140 /* method parser_prod#AInitExpr#init_ainitexpr for (self: Object, nullable AExpr, nullable TKwinit, nullable AExprs) */
141 void VIRTUAL_parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
142 parser_prod__AInitExpr__init_ainitexpr(self, p0, p1, p2);
143 RET_LABEL:;
144 }
145 /* method parser_prod#AInitExpr#replace_child for (self: AInitExpr, ANode, nullable ANode) */
146 void parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
147 val* var_old_child /* var old_child: ANode */;
148 val* var_new_child /* var new_child: nullable ANode */;
149 val* var /* : AExpr */;
150 short int var1 /* : Bool */;
151 val* var2 /* : null */;
152 short int var3 /* : Bool */;
153 short int var4 /* : Bool */;
154 int cltype;
155 int idtype;
156 val* var5 /* : TKwinit */;
157 short int var6 /* : Bool */;
158 val* var7 /* : null */;
159 short int var8 /* : Bool */;
160 short int var9 /* : Bool */;
161 int cltype10;
162 int idtype11;
163 val* var12 /* : AExprs */;
164 short int var13 /* : Bool */;
165 val* var14 /* : null */;
166 short int var15 /* : Bool */;
167 short int var16 /* : Bool */;
168 int cltype17;
169 int idtype18;
170 var_old_child = p0;
171 var_new_child = p1;
172 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
173 if (var == NULL) {
174 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7799);
176 exit(1);
177 }
178 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
179 if (var1){
180 var2 = NULL;
181 if (var_new_child == NULL) {
182 var3 = 0; /* is null */
183 } else {
184 var3 = 1; /* arg is null and recv is not */
185 }
186 if (var3){
187 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
188 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
189 cltype = type_parser_nodes__AExpr.color;
190 idtype = type_parser_nodes__AExpr.id;
191 if(cltype >= var_new_child->type->table_size) {
192 var4 = 0;
193 } else {
194 var4 = var_new_child->type->type_table[cltype] == idtype;
195 }
196 if (!var4) {
197 fprintf(stderr, "Runtime error: %s", "Assert failed");
198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7802);
199 exit(1);
200 }
201 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AInitExpr> */
202 } else {
203 fprintf(stderr, "Runtime error: %s", "Aborted");
204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7805);
205 exit(1);
206 }
207 goto RET_LABEL;
208 } else {
209 }
210 var5 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
211 if (var5 == NULL) {
212 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit");
213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7809);
214 exit(1);
215 }
216 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwinit>*/;
217 if (var6){
218 var7 = NULL;
219 if (var_new_child == NULL) {
220 var8 = 0; /* is null */
221 } else {
222 var8 = 1; /* arg is null and recv is not */
223 }
224 if (var8){
225 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
226 /* <var_new_child:nullable ANode(ANode)> isa TKwinit */
227 cltype10 = type_parser_nodes__TKwinit.color;
228 idtype11 = type_parser_nodes__TKwinit.id;
229 if(cltype10 >= var_new_child->type->table_size) {
230 var9 = 0;
231 } else {
232 var9 = var_new_child->type->type_table[cltype10] == idtype11;
233 }
234 if (!var9) {
235 fprintf(stderr, "Runtime error: %s", "Assert failed");
236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7812);
237 exit(1);
238 }
239 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_new_child; /* _n_kwinit on <self:AInitExpr> */
240 } else {
241 fprintf(stderr, "Runtime error: %s", "Aborted");
242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7815);
243 exit(1);
244 }
245 goto RET_LABEL;
246 } else {
247 }
248 var12 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
249 if (var12 == NULL) {
250 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7819);
252 exit(1);
253 }
254 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
255 if (var13){
256 var14 = NULL;
257 if (var_new_child == NULL) {
258 var15 = 0; /* is null */
259 } else {
260 var15 = 1; /* arg is null and recv is not */
261 }
262 if (var15){
263 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
264 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
265 cltype17 = type_parser_nodes__AExprs.color;
266 idtype18 = type_parser_nodes__AExprs.id;
267 if(cltype17 >= var_new_child->type->table_size) {
268 var16 = 0;
269 } else {
270 var16 = var_new_child->type->type_table[cltype17] == idtype18;
271 }
272 if (!var16) {
273 fprintf(stderr, "Runtime error: %s", "Assert failed");
274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7822);
275 exit(1);
276 }
277 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_new_child; /* _n_args on <self:AInitExpr> */
278 } else {
279 fprintf(stderr, "Runtime error: %s", "Aborted");
280 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7825);
281 exit(1);
282 }
283 goto RET_LABEL;
284 } else {
285 }
286 RET_LABEL:;
287 }
288 /* method parser_prod#AInitExpr#replace_child for (self: Object, ANode, nullable ANode) */
289 void VIRTUAL_parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) {
290 parser_prod__AInitExpr__replace_child(self, p0, p1);
291 RET_LABEL:;
292 }
293 /* method parser_prod#AInitExpr#n_expr= for (self: AInitExpr, AExpr) */
294 void parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
295 val* var_node /* var node: AExpr */;
296 var_node = p0;
297 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AInitExpr> */
298 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
299 RET_LABEL:;
300 }
301 /* method parser_prod#AInitExpr#n_expr= for (self: Object, AExpr) */
302 void VIRTUAL_parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) {
303 parser_prod__AInitExpr__n_expr_61d(self, p0);
304 RET_LABEL:;
305 }
306 /* method parser_prod#AInitExpr#n_kwinit= for (self: AInitExpr, TKwinit) */
307 void parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
308 val* var_node /* var node: TKwinit */;
309 var_node = p0;
310 self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_node; /* _n_kwinit on <self:AInitExpr> */
311 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinit>*/;
312 RET_LABEL:;
313 }
314 /* method parser_prod#AInitExpr#n_kwinit= for (self: Object, TKwinit) */
315 void VIRTUAL_parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) {
316 parser_prod__AInitExpr__n_kwinit_61d(self, p0);
317 RET_LABEL:;
318 }
319 /* method parser_prod#AInitExpr#n_args= for (self: AInitExpr, AExprs) */
320 void parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
321 val* var_node /* var node: AExprs */;
322 var_node = p0;
323 self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val = var_node; /* _n_args on <self:AInitExpr> */
324 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
325 RET_LABEL:;
326 }
327 /* method parser_prod#AInitExpr#n_args= for (self: Object, AExprs) */
328 void VIRTUAL_parser_prod__AInitExpr__n_args_61d(val* self, val* p0) {
329 parser_prod__AInitExpr__n_args_61d(self, p0);
330 RET_LABEL:;
331 }
332 /* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */
333 void parser_prod__AInitExpr__visit_all(val* self, val* p0) {
334 val* var_v /* var v: Visitor */;
335 val* var /* : AExpr */;
336 val* var1 /* : TKwinit */;
337 val* var2 /* : AExprs */;
338 var_v = p0;
339 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
340 if (var == NULL) {
341 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7850);
343 exit(1);
344 }
345 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
346 var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
347 if (var1 == NULL) {
348 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit");
349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7851);
350 exit(1);
351 }
352 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
353 var2 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
354 if (var2 == NULL) {
355 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7852);
357 exit(1);
358 }
359 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
360 RET_LABEL:;
361 }
362 /* method parser_prod#AInitExpr#visit_all for (self: Object, Visitor) */
363 void VIRTUAL_parser_prod__AInitExpr__visit_all(val* self, val* p0) {
364 parser_prod__AInitExpr__visit_all(self, p0);
365 RET_LABEL:;
366 }
367 /* method parser_prod#ABraExpr#empty_init for (self: ABraExpr) */
368 void parser_prod__ABraExpr__empty_init(val* self) {
369 RET_LABEL:;
370 }
371 /* method parser_prod#ABraExpr#empty_init for (self: Object) */
372 void VIRTUAL_parser_prod__ABraExpr__empty_init(val* self) {
373 parser_prod__ABraExpr__empty_init(self);
374 RET_LABEL:;
375 }
376 /* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs) */
377 void parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) {
378 val* var_n_expr /* var n_expr: nullable AExpr */;
379 val* var_n_args /* var n_args: nullable AExprs */;
380 var_n_expr = p0;
381 var_n_args = p1;
382 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExpr__empty_init]))(self) /* empty_init on <self:ABraExpr>*/;
383 if (var_n_expr == NULL) {
384 fprintf(stderr, "Runtime error: %s", "Cast failed");
385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7864);
386 exit(1);
387 }
388 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraExpr> */
389 if (var_n_expr == NULL) {
390 fprintf(stderr, "Runtime error: %s", "Reciever is null");
391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7865);
392 exit(1);
393 } else {
394 ((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>*/;
395 }
396 if (var_n_args == NULL) {
397 fprintf(stderr, "Runtime error: %s", "Cast failed");
398 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7866);
399 exit(1);
400 }
401 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraExpr> */
402 if (var_n_args == NULL) {
403 fprintf(stderr, "Runtime error: %s", "Reciever is null");
404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7867);
405 exit(1);
406 } else {
407 ((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>*/;
408 }
409 RET_LABEL:;
410 }
411 /* method parser_prod#ABraExpr#init_abraexpr for (self: Object, nullable AExpr, nullable AExprs) */
412 void VIRTUAL_parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) {
413 parser_prod__ABraExpr__init_abraexpr(self, p0, p1);
414 RET_LABEL:;
415 }
416 /* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */
417 void parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
418 val* var_old_child /* var old_child: ANode */;
419 val* var_new_child /* var new_child: nullable ANode */;
420 val* var /* : AExpr */;
421 short int var1 /* : Bool */;
422 val* var2 /* : null */;
423 short int var3 /* : Bool */;
424 short int var4 /* : Bool */;
425 int cltype;
426 int idtype;
427 val* var5 /* : AExprs */;
428 short int var6 /* : Bool */;
429 val* var7 /* : null */;
430 short int var8 /* : Bool */;
431 short int var9 /* : Bool */;
432 int cltype10;
433 int idtype11;
434 var_old_child = p0;
435 var_new_child = p1;
436 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
437 if (var == NULL) {
438 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7872);
440 exit(1);
441 }
442 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
443 if (var1){
444 var2 = NULL;
445 if (var_new_child == NULL) {
446 var3 = 0; /* is null */
447 } else {
448 var3 = 1; /* arg is null and recv is not */
449 }
450 if (var3){
451 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
452 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
453 cltype = type_parser_nodes__AExpr.color;
454 idtype = type_parser_nodes__AExpr.id;
455 if(cltype >= var_new_child->type->table_size) {
456 var4 = 0;
457 } else {
458 var4 = var_new_child->type->type_table[cltype] == idtype;
459 }
460 if (!var4) {
461 fprintf(stderr, "Runtime error: %s", "Assert failed");
462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7875);
463 exit(1);
464 }
465 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraExpr> */
466 } else {
467 fprintf(stderr, "Runtime error: %s", "Aborted");
468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7878);
469 exit(1);
470 }
471 goto RET_LABEL;
472 } else {
473 }
474 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
475 if (var5 == NULL) {
476 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7882);
478 exit(1);
479 }
480 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
481 if (var6){
482 var7 = NULL;
483 if (var_new_child == NULL) {
484 var8 = 0; /* is null */
485 } else {
486 var8 = 1; /* arg is null and recv is not */
487 }
488 if (var8){
489 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
490 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
491 cltype10 = type_parser_nodes__AExprs.color;
492 idtype11 = type_parser_nodes__AExprs.id;
493 if(cltype10 >= var_new_child->type->table_size) {
494 var9 = 0;
495 } else {
496 var9 = var_new_child->type->type_table[cltype10] == idtype11;
497 }
498 if (!var9) {
499 fprintf(stderr, "Runtime error: %s", "Assert failed");
500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7885);
501 exit(1);
502 }
503 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraExpr> */
504 } else {
505 fprintf(stderr, "Runtime error: %s", "Aborted");
506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7888);
507 exit(1);
508 }
509 goto RET_LABEL;
510 } else {
511 }
512 RET_LABEL:;
513 }
514 /* method parser_prod#ABraExpr#replace_child for (self: Object, ANode, nullable ANode) */
515 void VIRTUAL_parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
516 parser_prod__ABraExpr__replace_child(self, p0, p1);
517 RET_LABEL:;
518 }
519 /* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */
520 void parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
521 val* var_node /* var node: AExpr */;
522 var_node = p0;
523 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraExpr> */
524 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
525 RET_LABEL:;
526 }
527 /* method parser_prod#ABraExpr#n_expr= for (self: Object, AExpr) */
528 void VIRTUAL_parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
529 parser_prod__ABraExpr__n_expr_61d(self, p0);
530 RET_LABEL:;
531 }
532 /* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */
533 void parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
534 val* var_node /* var node: AExprs */;
535 var_node = p0;
536 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraExpr> */
537 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
538 RET_LABEL:;
539 }
540 /* method parser_prod#ABraExpr#n_args= for (self: Object, AExprs) */
541 void VIRTUAL_parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
542 parser_prod__ABraExpr__n_args_61d(self, p0);
543 RET_LABEL:;
544 }
545 /* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */
546 void parser_prod__ABraExpr__visit_all(val* self, val* p0) {
547 val* var_v /* var v: Visitor */;
548 val* var /* : AExpr */;
549 val* var1 /* : AExprs */;
550 var_v = p0;
551 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
552 if (var == NULL) {
553 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7908);
555 exit(1);
556 }
557 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
558 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
559 if (var1 == NULL) {
560 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7909);
562 exit(1);
563 }
564 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
565 RET_LABEL:;
566 }
567 /* method parser_prod#ABraExpr#visit_all for (self: Object, Visitor) */
568 void VIRTUAL_parser_prod__ABraExpr__visit_all(val* self, val* p0) {
569 parser_prod__ABraExpr__visit_all(self, p0);
570 RET_LABEL:;
571 }
572 /* method parser_prod#ABraAssignExpr#empty_init for (self: ABraAssignExpr) */
573 void parser_prod__ABraAssignExpr__empty_init(val* self) {
574 RET_LABEL:;
575 }
576 /* method parser_prod#ABraAssignExpr#empty_init for (self: Object) */
577 void VIRTUAL_parser_prod__ABraAssignExpr__empty_init(val* self) {
578 parser_prod__ABraAssignExpr__empty_init(self);
579 RET_LABEL:;
580 }
581 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
582 void parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
583 val* var_n_expr /* var n_expr: nullable AExpr */;
584 val* var_n_args /* var n_args: nullable AExprs */;
585 val* var_n_assign /* var n_assign: nullable TAssign */;
586 val* var_n_value /* var n_value: nullable AExpr */;
587 var_n_expr = p0;
588 var_n_args = p1;
589 var_n_assign = p2;
590 var_n_value = p3;
591 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraAssignExpr__empty_init]))(self) /* empty_init on <self:ABraAssignExpr>*/;
592 if (var_n_expr == NULL) {
593 fprintf(stderr, "Runtime error: %s", "Cast failed");
594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7923);
595 exit(1);
596 }
597 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraAssignExpr> */
598 if (var_n_expr == NULL) {
599 fprintf(stderr, "Runtime error: %s", "Reciever is null");
600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7924);
601 exit(1);
602 } else {
603 ((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>*/;
604 }
605 if (var_n_args == NULL) {
606 fprintf(stderr, "Runtime error: %s", "Cast failed");
607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7925);
608 exit(1);
609 }
610 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraAssignExpr> */
611 if (var_n_args == NULL) {
612 fprintf(stderr, "Runtime error: %s", "Reciever is null");
613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7926);
614 exit(1);
615 } else {
616 ((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>*/;
617 }
618 if (var_n_assign == NULL) {
619 fprintf(stderr, "Runtime error: %s", "Cast failed");
620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7927);
621 exit(1);
622 }
623 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ABraAssignExpr> */
624 if (var_n_assign == NULL) {
625 fprintf(stderr, "Runtime error: %s", "Reciever is null");
626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7928);
627 exit(1);
628 } else {
629 ((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>*/;
630 }
631 if (var_n_value == NULL) {
632 fprintf(stderr, "Runtime error: %s", "Cast failed");
633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7929);
634 exit(1);
635 }
636 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraAssignExpr> */
637 if (var_n_value == NULL) {
638 fprintf(stderr, "Runtime error: %s", "Reciever is null");
639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7930);
640 exit(1);
641 } else {
642 ((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>*/;
643 }
644 RET_LABEL:;
645 }
646 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
647 void VIRTUAL_parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
648 parser_prod__ABraAssignExpr__init_abraassignexpr(self, p0, p1, p2, p3);
649 RET_LABEL:;
650 }
651 /* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */
652 void parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
653 val* var_old_child /* var old_child: ANode */;
654 val* var_new_child /* var new_child: nullable ANode */;
655 val* var /* : AExpr */;
656 short int var1 /* : Bool */;
657 val* var2 /* : null */;
658 short int var3 /* : Bool */;
659 short int var4 /* : Bool */;
660 int cltype;
661 int idtype;
662 val* var5 /* : AExprs */;
663 short int var6 /* : Bool */;
664 val* var7 /* : null */;
665 short int var8 /* : Bool */;
666 short int var9 /* : Bool */;
667 int cltype10;
668 int idtype11;
669 val* var12 /* : TAssign */;
670 short int var13 /* : Bool */;
671 val* var14 /* : null */;
672 short int var15 /* : Bool */;
673 short int var16 /* : Bool */;
674 int cltype17;
675 int idtype18;
676 val* var19 /* : AExpr */;
677 short int var20 /* : Bool */;
678 val* var21 /* : null */;
679 short int var22 /* : Bool */;
680 short int var23 /* : Bool */;
681 int cltype24;
682 int idtype25;
683 var_old_child = p0;
684 var_new_child = p1;
685 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
686 if (var == NULL) {
687 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7935);
689 exit(1);
690 }
691 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
692 if (var1){
693 var2 = NULL;
694 if (var_new_child == NULL) {
695 var3 = 0; /* is null */
696 } else {
697 var3 = 1; /* arg is null and recv is not */
698 }
699 if (var3){
700 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
701 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
702 cltype = type_parser_nodes__AExpr.color;
703 idtype = type_parser_nodes__AExpr.id;
704 if(cltype >= var_new_child->type->table_size) {
705 var4 = 0;
706 } else {
707 var4 = var_new_child->type->type_table[cltype] == idtype;
708 }
709 if (!var4) {
710 fprintf(stderr, "Runtime error: %s", "Assert failed");
711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7938);
712 exit(1);
713 }
714 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraAssignExpr> */
715 } else {
716 fprintf(stderr, "Runtime error: %s", "Aborted");
717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7941);
718 exit(1);
719 }
720 goto RET_LABEL;
721 } else {
722 }
723 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
724 if (var5 == NULL) {
725 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7945);
727 exit(1);
728 }
729 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
730 if (var6){
731 var7 = NULL;
732 if (var_new_child == NULL) {
733 var8 = 0; /* is null */
734 } else {
735 var8 = 1; /* arg is null and recv is not */
736 }
737 if (var8){
738 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
739 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
740 cltype10 = type_parser_nodes__AExprs.color;
741 idtype11 = type_parser_nodes__AExprs.id;
742 if(cltype10 >= var_new_child->type->table_size) {
743 var9 = 0;
744 } else {
745 var9 = var_new_child->type->type_table[cltype10] == idtype11;
746 }
747 if (!var9) {
748 fprintf(stderr, "Runtime error: %s", "Assert failed");
749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7948);
750 exit(1);
751 }
752 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraAssignExpr> */
753 } else {
754 fprintf(stderr, "Runtime error: %s", "Aborted");
755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7951);
756 exit(1);
757 }
758 goto RET_LABEL;
759 } else {
760 }
761 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
762 if (var12 == NULL) {
763 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7955);
765 exit(1);
766 }
767 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
768 if (var13){
769 var14 = NULL;
770 if (var_new_child == NULL) {
771 var15 = 0; /* is null */
772 } else {
773 var15 = 1; /* arg is null and recv is not */
774 }
775 if (var15){
776 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
777 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
778 cltype17 = type_parser_nodes__TAssign.color;
779 idtype18 = type_parser_nodes__TAssign.id;
780 if(cltype17 >= var_new_child->type->table_size) {
781 var16 = 0;
782 } else {
783 var16 = var_new_child->type->type_table[cltype17] == idtype18;
784 }
785 if (!var16) {
786 fprintf(stderr, "Runtime error: %s", "Assert failed");
787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7958);
788 exit(1);
789 }
790 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ABraAssignExpr> */
791 } else {
792 fprintf(stderr, "Runtime error: %s", "Aborted");
793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7961);
794 exit(1);
795 }
796 goto RET_LABEL;
797 } else {
798 }
799 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
800 if (var19 == NULL) {
801 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7965);
803 exit(1);
804 }
805 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
806 if (var20){
807 var21 = NULL;
808 if (var_new_child == NULL) {
809 var22 = 0; /* is null */
810 } else {
811 var22 = 1; /* arg is null and recv is not */
812 }
813 if (var22){
814 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
815 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
816 cltype24 = type_parser_nodes__AExpr.color;
817 idtype25 = type_parser_nodes__AExpr.id;
818 if(cltype24 >= var_new_child->type->table_size) {
819 var23 = 0;
820 } else {
821 var23 = var_new_child->type->type_table[cltype24] == idtype25;
822 }
823 if (!var23) {
824 fprintf(stderr, "Runtime error: %s", "Assert failed");
825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7968);
826 exit(1);
827 }
828 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraAssignExpr> */
829 } else {
830 fprintf(stderr, "Runtime error: %s", "Aborted");
831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7971);
832 exit(1);
833 }
834 goto RET_LABEL;
835 } else {
836 }
837 RET_LABEL:;
838 }
839 /* method parser_prod#ABraAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
840 void VIRTUAL_parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
841 parser_prod__ABraAssignExpr__replace_child(self, p0, p1);
842 RET_LABEL:;
843 }
844 /* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */
845 void parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
846 val* var_node /* var node: AExpr */;
847 var_node = p0;
848 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraAssignExpr> */
849 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
850 RET_LABEL:;
851 }
852 /* method parser_prod#ABraAssignExpr#n_expr= for (self: Object, AExpr) */
853 void VIRTUAL_parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
854 parser_prod__ABraAssignExpr__n_expr_61d(self, p0);
855 RET_LABEL:;
856 }
857 /* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */
858 void parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
859 val* var_node /* var node: AExprs */;
860 var_node = p0;
861 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraAssignExpr> */
862 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
863 RET_LABEL:;
864 }
865 /* method parser_prod#ABraAssignExpr#n_args= for (self: Object, AExprs) */
866 void VIRTUAL_parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
867 parser_prod__ABraAssignExpr__n_args_61d(self, p0);
868 RET_LABEL:;
869 }
870 /* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */
871 void parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
872 val* var_node /* var node: TAssign */;
873 var_node = p0;
874 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ABraAssignExpr> */
875 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
876 RET_LABEL:;
877 }
878 /* method parser_prod#ABraAssignExpr#n_assign= for (self: Object, TAssign) */
879 void VIRTUAL_parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
880 parser_prod__ABraAssignExpr__n_assign_61d(self, p0);
881 RET_LABEL:;
882 }
883 /* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */
884 void parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
885 val* var_node /* var node: AExpr */;
886 var_node = p0;
887 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraAssignExpr> */
888 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
889 RET_LABEL:;
890 }
891 /* method parser_prod#ABraAssignExpr#n_value= for (self: Object, AExpr) */
892 void VIRTUAL_parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
893 parser_prod__ABraAssignExpr__n_value_61d(self, p0);
894 RET_LABEL:;
895 }
896 /* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */
897 void parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
898 val* var_v /* var v: Visitor */;
899 val* var /* : AExpr */;
900 val* var1 /* : AExprs */;
901 val* var2 /* : TAssign */;
902 val* var3 /* : AExpr */;
903 var_v = p0;
904 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
905 if (var == NULL) {
906 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8001);
908 exit(1);
909 }
910 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
911 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
912 if (var1 == NULL) {
913 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8002);
915 exit(1);
916 }
917 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
918 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
919 if (var2 == NULL) {
920 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8003);
922 exit(1);
923 }
924 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
925 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
926 if (var3 == NULL) {
927 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8004);
929 exit(1);
930 }
931 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
932 RET_LABEL:;
933 }
934 /* method parser_prod#ABraAssignExpr#visit_all for (self: Object, Visitor) */
935 void VIRTUAL_parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
936 parser_prod__ABraAssignExpr__visit_all(self, p0);
937 RET_LABEL:;
938 }
939 /* method parser_prod#ABraReassignExpr#empty_init for (self: ABraReassignExpr) */
940 void parser_prod__ABraReassignExpr__empty_init(val* self) {
941 RET_LABEL:;
942 }
943 /* method parser_prod#ABraReassignExpr#empty_init for (self: Object) */
944 void VIRTUAL_parser_prod__ABraReassignExpr__empty_init(val* self) {
945 parser_prod__ABraReassignExpr__empty_init(self);
946 RET_LABEL:;
947 }
948 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
949 void parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
950 val* var_n_expr /* var n_expr: nullable AExpr */;
951 val* var_n_args /* var n_args: nullable AExprs */;
952 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
953 val* var_n_value /* var n_value: nullable AExpr */;
954 var_n_expr = p0;
955 var_n_args = p1;
956 var_n_assign_op = p2;
957 var_n_value = p3;
958 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraReassignExpr__empty_init]))(self) /* empty_init on <self:ABraReassignExpr>*/;
959 if (var_n_expr == NULL) {
960 fprintf(stderr, "Runtime error: %s", "Cast failed");
961 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8018);
962 exit(1);
963 }
964 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraReassignExpr> */
965 if (var_n_expr == NULL) {
966 fprintf(stderr, "Runtime error: %s", "Reciever is null");
967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8019);
968 exit(1);
969 } else {
970 ((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>*/;
971 }
972 if (var_n_args == NULL) {
973 fprintf(stderr, "Runtime error: %s", "Cast failed");
974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8020);
975 exit(1);
976 }
977 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraReassignExpr> */
978 if (var_n_args == NULL) {
979 fprintf(stderr, "Runtime error: %s", "Reciever is null");
980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8021);
981 exit(1);
982 } else {
983 ((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>*/;
984 }
985 if (var_n_assign_op == NULL) {
986 fprintf(stderr, "Runtime error: %s", "Cast failed");
987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8022);
988 exit(1);
989 }
990 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ABraReassignExpr> */
991 if (var_n_assign_op == NULL) {
992 fprintf(stderr, "Runtime error: %s", "Reciever is null");
993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8023);
994 exit(1);
995 } else {
996 ((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>*/;
997 }
998 if (var_n_value == NULL) {
999 fprintf(stderr, "Runtime error: %s", "Cast failed");
1000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8024);
1001 exit(1);
1002 }
1003 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraReassignExpr> */
1004 if (var_n_value == NULL) {
1005 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8025);
1007 exit(1);
1008 } else {
1009 ((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>*/;
1010 }
1011 RET_LABEL:;
1012 }
1013 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
1014 void VIRTUAL_parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
1015 parser_prod__ABraReassignExpr__init_abrareassignexpr(self, p0, p1, p2, p3);
1016 RET_LABEL:;
1017 }
1018 /* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */
1019 void parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
1020 val* var_old_child /* var old_child: ANode */;
1021 val* var_new_child /* var new_child: nullable ANode */;
1022 val* var /* : AExpr */;
1023 short int var1 /* : Bool */;
1024 val* var2 /* : null */;
1025 short int var3 /* : Bool */;
1026 short int var4 /* : Bool */;
1027 int cltype;
1028 int idtype;
1029 val* var5 /* : AExprs */;
1030 short int var6 /* : Bool */;
1031 val* var7 /* : null */;
1032 short int var8 /* : Bool */;
1033 short int var9 /* : Bool */;
1034 int cltype10;
1035 int idtype11;
1036 val* var12 /* : AAssignOp */;
1037 short int var13 /* : Bool */;
1038 val* var14 /* : null */;
1039 short int var15 /* : Bool */;
1040 short int var16 /* : Bool */;
1041 int cltype17;
1042 int idtype18;
1043 val* var19 /* : AExpr */;
1044 short int var20 /* : Bool */;
1045 val* var21 /* : null */;
1046 short int var22 /* : Bool */;
1047 short int var23 /* : Bool */;
1048 int cltype24;
1049 int idtype25;
1050 var_old_child = p0;
1051 var_new_child = p1;
1052 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
1053 if (var == NULL) {
1054 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1055 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8030);
1056 exit(1);
1057 }
1058 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
1059 if (var1){
1060 var2 = NULL;
1061 if (var_new_child == NULL) {
1062 var3 = 0; /* is null */
1063 } else {
1064 var3 = 1; /* arg is null and recv is not */
1065 }
1066 if (var3){
1067 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1068 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1069 cltype = type_parser_nodes__AExpr.color;
1070 idtype = type_parser_nodes__AExpr.id;
1071 if(cltype >= var_new_child->type->table_size) {
1072 var4 = 0;
1073 } else {
1074 var4 = var_new_child->type->type_table[cltype] == idtype;
1075 }
1076 if (!var4) {
1077 fprintf(stderr, "Runtime error: %s", "Assert failed");
1078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8033);
1079 exit(1);
1080 }
1081 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraReassignExpr> */
1082 } else {
1083 fprintf(stderr, "Runtime error: %s", "Aborted");
1084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8036);
1085 exit(1);
1086 }
1087 goto RET_LABEL;
1088 } else {
1089 }
1090 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
1091 if (var5 == NULL) {
1092 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
1093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8040);
1094 exit(1);
1095 }
1096 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
1097 if (var6){
1098 var7 = NULL;
1099 if (var_new_child == NULL) {
1100 var8 = 0; /* is null */
1101 } else {
1102 var8 = 1; /* arg is null and recv is not */
1103 }
1104 if (var8){
1105 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1106 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
1107 cltype10 = type_parser_nodes__AExprs.color;
1108 idtype11 = type_parser_nodes__AExprs.id;
1109 if(cltype10 >= var_new_child->type->table_size) {
1110 var9 = 0;
1111 } else {
1112 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1113 }
1114 if (!var9) {
1115 fprintf(stderr, "Runtime error: %s", "Assert failed");
1116 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8043);
1117 exit(1);
1118 }
1119 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraReassignExpr> */
1120 } else {
1121 fprintf(stderr, "Runtime error: %s", "Aborted");
1122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8046);
1123 exit(1);
1124 }
1125 goto RET_LABEL;
1126 } else {
1127 }
1128 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
1129 if (var12 == NULL) {
1130 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8050);
1132 exit(1);
1133 }
1134 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
1135 if (var13){
1136 var14 = NULL;
1137 if (var_new_child == NULL) {
1138 var15 = 0; /* is null */
1139 } else {
1140 var15 = 1; /* arg is null and recv is not */
1141 }
1142 if (var15){
1143 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1144 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
1145 cltype17 = type_parser_nodes__AAssignOp.color;
1146 idtype18 = type_parser_nodes__AAssignOp.id;
1147 if(cltype17 >= var_new_child->type->table_size) {
1148 var16 = 0;
1149 } else {
1150 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1151 }
1152 if (!var16) {
1153 fprintf(stderr, "Runtime error: %s", "Assert failed");
1154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8053);
1155 exit(1);
1156 }
1157 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ABraReassignExpr> */
1158 } else {
1159 fprintf(stderr, "Runtime error: %s", "Aborted");
1160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8056);
1161 exit(1);
1162 }
1163 goto RET_LABEL;
1164 } else {
1165 }
1166 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
1167 if (var19 == NULL) {
1168 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8060);
1170 exit(1);
1171 }
1172 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
1173 if (var20){
1174 var21 = NULL;
1175 if (var_new_child == NULL) {
1176 var22 = 0; /* is null */
1177 } else {
1178 var22 = 1; /* arg is null and recv is not */
1179 }
1180 if (var22){
1181 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1182 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1183 cltype24 = type_parser_nodes__AExpr.color;
1184 idtype25 = type_parser_nodes__AExpr.id;
1185 if(cltype24 >= var_new_child->type->table_size) {
1186 var23 = 0;
1187 } else {
1188 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1189 }
1190 if (!var23) {
1191 fprintf(stderr, "Runtime error: %s", "Assert failed");
1192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8063);
1193 exit(1);
1194 }
1195 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraReassignExpr> */
1196 } else {
1197 fprintf(stderr, "Runtime error: %s", "Aborted");
1198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8066);
1199 exit(1);
1200 }
1201 goto RET_LABEL;
1202 } else {
1203 }
1204 RET_LABEL:;
1205 }
1206 /* method parser_prod#ABraReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1207 void VIRTUAL_parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
1208 parser_prod__ABraReassignExpr__replace_child(self, p0, p1);
1209 RET_LABEL:;
1210 }
1211 /* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */
1212 void parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
1213 val* var_node /* var node: AExpr */;
1214 var_node = p0;
1215 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraReassignExpr> */
1216 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1217 RET_LABEL:;
1218 }
1219 /* method parser_prod#ABraReassignExpr#n_expr= for (self: Object, AExpr) */
1220 void VIRTUAL_parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
1221 parser_prod__ABraReassignExpr__n_expr_61d(self, p0);
1222 RET_LABEL:;
1223 }
1224 /* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */
1225 void parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
1226 val* var_node /* var node: AExprs */;
1227 var_node = p0;
1228 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraReassignExpr> */
1229 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
1230 RET_LABEL:;
1231 }
1232 /* method parser_prod#ABraReassignExpr#n_args= for (self: Object, AExprs) */
1233 void VIRTUAL_parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
1234 parser_prod__ABraReassignExpr__n_args_61d(self, p0);
1235 RET_LABEL:;
1236 }
1237 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */
1238 void parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
1239 val* var_node /* var node: AAssignOp */;
1240 var_node = p0;
1241 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ABraReassignExpr> */
1242 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
1243 RET_LABEL:;
1244 }
1245 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
1246 void VIRTUAL_parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
1247 parser_prod__ABraReassignExpr__n_assign_op_61d(self, p0);
1248 RET_LABEL:;
1249 }
1250 /* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */
1251 void parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1252 val* var_node /* var node: AExpr */;
1253 var_node = p0;
1254 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraReassignExpr> */
1255 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1256 RET_LABEL:;
1257 }
1258 /* method parser_prod#ABraReassignExpr#n_value= for (self: Object, AExpr) */
1259 void VIRTUAL_parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1260 parser_prod__ABraReassignExpr__n_value_61d(self, p0);
1261 RET_LABEL:;
1262 }
1263 /* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */
1264 void parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1265 val* var_v /* var v: Visitor */;
1266 val* var /* : AExpr */;
1267 val* var1 /* : AExprs */;
1268 val* var2 /* : AAssignOp */;
1269 val* var3 /* : AExpr */;
1270 var_v = p0;
1271 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
1272 if (var == NULL) {
1273 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8096);
1275 exit(1);
1276 }
1277 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1278 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
1279 if (var1 == NULL) {
1280 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
1281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8097);
1282 exit(1);
1283 }
1284 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1285 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
1286 if (var2 == NULL) {
1287 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8098);
1289 exit(1);
1290 }
1291 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1292 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
1293 if (var3 == NULL) {
1294 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8099);
1296 exit(1);
1297 }
1298 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
1299 RET_LABEL:;
1300 }
1301 /* method parser_prod#ABraReassignExpr#visit_all for (self: Object, Visitor) */
1302 void VIRTUAL_parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1303 parser_prod__ABraReassignExpr__visit_all(self, p0);
1304 RET_LABEL:;
1305 }
1306 /* method parser_prod#AVarExpr#empty_init for (self: AVarExpr) */
1307 void parser_prod__AVarExpr__empty_init(val* self) {
1308 RET_LABEL:;
1309 }
1310 /* method parser_prod#AVarExpr#empty_init for (self: Object) */
1311 void VIRTUAL_parser_prod__AVarExpr__empty_init(val* self) {
1312 parser_prod__AVarExpr__empty_init(self);
1313 RET_LABEL:;
1314 }
1315 /* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */
1316 void parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1317 val* var_n_id /* var n_id: nullable TId */;
1318 var_n_id = p0;
1319 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarExpr__empty_init]))(self) /* empty_init on <self:AVarExpr>*/;
1320 if (var_n_id == NULL) {
1321 fprintf(stderr, "Runtime error: %s", "Cast failed");
1322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8110);
1323 exit(1);
1324 }
1325 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarExpr> */
1326 if (var_n_id == NULL) {
1327 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1328 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8111);
1329 exit(1);
1330 } else {
1331 ((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>*/;
1332 }
1333 RET_LABEL:;
1334 }
1335 /* method parser_prod#AVarExpr#init_avarexpr for (self: Object, nullable TId) */
1336 void VIRTUAL_parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1337 parser_prod__AVarExpr__init_avarexpr(self, p0);
1338 RET_LABEL:;
1339 }
1340 /* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */
1341 void parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1342 val* var_old_child /* var old_child: ANode */;
1343 val* var_new_child /* var new_child: nullable ANode */;
1344 val* var /* : TId */;
1345 short int var1 /* : Bool */;
1346 val* var2 /* : null */;
1347 short int var3 /* : Bool */;
1348 short int var4 /* : Bool */;
1349 int cltype;
1350 int idtype;
1351 var_old_child = p0;
1352 var_new_child = p1;
1353 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1354 if (var == NULL) {
1355 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8116);
1357 exit(1);
1358 }
1359 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1360 if (var1){
1361 var2 = NULL;
1362 if (var_new_child == NULL) {
1363 var3 = 0; /* is null */
1364 } else {
1365 var3 = 1; /* arg is null and recv is not */
1366 }
1367 if (var3){
1368 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1369 /* <var_new_child:nullable ANode(ANode)> isa TId */
1370 cltype = type_parser_nodes__TId.color;
1371 idtype = type_parser_nodes__TId.id;
1372 if(cltype >= var_new_child->type->table_size) {
1373 var4 = 0;
1374 } else {
1375 var4 = var_new_child->type->type_table[cltype] == idtype;
1376 }
1377 if (!var4) {
1378 fprintf(stderr, "Runtime error: %s", "Assert failed");
1379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8119);
1380 exit(1);
1381 }
1382 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarExpr> */
1383 } else {
1384 fprintf(stderr, "Runtime error: %s", "Aborted");
1385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8122);
1386 exit(1);
1387 }
1388 goto RET_LABEL;
1389 } else {
1390 }
1391 RET_LABEL:;
1392 }
1393 /* method parser_prod#AVarExpr#replace_child for (self: Object, ANode, nullable ANode) */
1394 void VIRTUAL_parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1395 parser_prod__AVarExpr__replace_child(self, p0, p1);
1396 RET_LABEL:;
1397 }
1398 /* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */
1399 void parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1400 val* var_node /* var node: TId */;
1401 var_node = p0;
1402 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarExpr> */
1403 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1404 RET_LABEL:;
1405 }
1406 /* method parser_prod#AVarExpr#n_id= for (self: Object, TId) */
1407 void VIRTUAL_parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1408 parser_prod__AVarExpr__n_id_61d(self, p0);
1409 RET_LABEL:;
1410 }
1411 /* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */
1412 void parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1413 val* var_v /* var v: Visitor */;
1414 val* var /* : TId */;
1415 var_v = p0;
1416 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1417 if (var == NULL) {
1418 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8137);
1420 exit(1);
1421 }
1422 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1423 RET_LABEL:;
1424 }
1425 /* method parser_prod#AVarExpr#visit_all for (self: Object, Visitor) */
1426 void VIRTUAL_parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1427 parser_prod__AVarExpr__visit_all(self, p0);
1428 RET_LABEL:;
1429 }
1430 /* method parser_prod#AVarAssignExpr#empty_init for (self: AVarAssignExpr) */
1431 void parser_prod__AVarAssignExpr__empty_init(val* self) {
1432 RET_LABEL:;
1433 }
1434 /* method parser_prod#AVarAssignExpr#empty_init for (self: Object) */
1435 void VIRTUAL_parser_prod__AVarAssignExpr__empty_init(val* self) {
1436 parser_prod__AVarAssignExpr__empty_init(self);
1437 RET_LABEL:;
1438 }
1439 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */
1440 void parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1441 val* var_n_id /* var n_id: nullable TId */;
1442 val* var_n_assign /* var n_assign: nullable TAssign */;
1443 val* var_n_value /* var n_value: nullable AExpr */;
1444 var_n_id = p0;
1445 var_n_assign = p1;
1446 var_n_value = p2;
1447 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarAssignExpr__empty_init]))(self) /* empty_init on <self:AVarAssignExpr>*/;
1448 if (var_n_id == NULL) {
1449 fprintf(stderr, "Runtime error: %s", "Cast failed");
1450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8150);
1451 exit(1);
1452 }
1453 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarAssignExpr> */
1454 if (var_n_id == NULL) {
1455 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8151);
1457 exit(1);
1458 } else {
1459 ((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>*/;
1460 }
1461 if (var_n_assign == NULL) {
1462 fprintf(stderr, "Runtime error: %s", "Cast failed");
1463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8152);
1464 exit(1);
1465 }
1466 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AVarAssignExpr> */
1467 if (var_n_assign == NULL) {
1468 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8153);
1470 exit(1);
1471 } else {
1472 ((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>*/;
1473 }
1474 if (var_n_value == NULL) {
1475 fprintf(stderr, "Runtime error: %s", "Cast failed");
1476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8154);
1477 exit(1);
1478 }
1479 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarAssignExpr> */
1480 if (var_n_value == NULL) {
1481 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8155);
1483 exit(1);
1484 } else {
1485 ((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>*/;
1486 }
1487 RET_LABEL:;
1488 }
1489 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: Object, nullable TId, nullable TAssign, nullable AExpr) */
1490 void VIRTUAL_parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1491 parser_prod__AVarAssignExpr__init_avarassignexpr(self, p0, p1, p2);
1492 RET_LABEL:;
1493 }
1494 /* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */
1495 void parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1496 val* var_old_child /* var old_child: ANode */;
1497 val* var_new_child /* var new_child: nullable ANode */;
1498 val* var /* : TId */;
1499 short int var1 /* : Bool */;
1500 val* var2 /* : null */;
1501 short int var3 /* : Bool */;
1502 short int var4 /* : Bool */;
1503 int cltype;
1504 int idtype;
1505 val* var5 /* : TAssign */;
1506 short int var6 /* : Bool */;
1507 val* var7 /* : null */;
1508 short int var8 /* : Bool */;
1509 short int var9 /* : Bool */;
1510 int cltype10;
1511 int idtype11;
1512 val* var12 /* : AExpr */;
1513 short int var13 /* : Bool */;
1514 val* var14 /* : null */;
1515 short int var15 /* : Bool */;
1516 short int var16 /* : Bool */;
1517 int cltype17;
1518 int idtype18;
1519 var_old_child = p0;
1520 var_new_child = p1;
1521 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1522 if (var == NULL) {
1523 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8160);
1525 exit(1);
1526 }
1527 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1528 if (var1){
1529 var2 = NULL;
1530 if (var_new_child == NULL) {
1531 var3 = 0; /* is null */
1532 } else {
1533 var3 = 1; /* arg is null and recv is not */
1534 }
1535 if (var3){
1536 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1537 /* <var_new_child:nullable ANode(ANode)> isa TId */
1538 cltype = type_parser_nodes__TId.color;
1539 idtype = type_parser_nodes__TId.id;
1540 if(cltype >= var_new_child->type->table_size) {
1541 var4 = 0;
1542 } else {
1543 var4 = var_new_child->type->type_table[cltype] == idtype;
1544 }
1545 if (!var4) {
1546 fprintf(stderr, "Runtime error: %s", "Assert failed");
1547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8163);
1548 exit(1);
1549 }
1550 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarAssignExpr> */
1551 } else {
1552 fprintf(stderr, "Runtime error: %s", "Aborted");
1553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8166);
1554 exit(1);
1555 }
1556 goto RET_LABEL;
1557 } else {
1558 }
1559 var5 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1560 if (var5 == NULL) {
1561 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
1562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8170);
1563 exit(1);
1564 }
1565 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAssign>*/;
1566 if (var6){
1567 var7 = NULL;
1568 if (var_new_child == NULL) {
1569 var8 = 0; /* is null */
1570 } else {
1571 var8 = 1; /* arg is null and recv is not */
1572 }
1573 if (var8){
1574 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1575 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
1576 cltype10 = type_parser_nodes__TAssign.color;
1577 idtype11 = type_parser_nodes__TAssign.id;
1578 if(cltype10 >= var_new_child->type->table_size) {
1579 var9 = 0;
1580 } else {
1581 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1582 }
1583 if (!var9) {
1584 fprintf(stderr, "Runtime error: %s", "Assert failed");
1585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8173);
1586 exit(1);
1587 }
1588 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AVarAssignExpr> */
1589 } else {
1590 fprintf(stderr, "Runtime error: %s", "Aborted");
1591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8176);
1592 exit(1);
1593 }
1594 goto RET_LABEL;
1595 } else {
1596 }
1597 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1598 if (var12 == NULL) {
1599 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8180);
1601 exit(1);
1602 }
1603 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1604 if (var13){
1605 var14 = NULL;
1606 if (var_new_child == NULL) {
1607 var15 = 0; /* is null */
1608 } else {
1609 var15 = 1; /* arg is null and recv is not */
1610 }
1611 if (var15){
1612 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1613 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1614 cltype17 = type_parser_nodes__AExpr.color;
1615 idtype18 = type_parser_nodes__AExpr.id;
1616 if(cltype17 >= var_new_child->type->table_size) {
1617 var16 = 0;
1618 } else {
1619 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1620 }
1621 if (!var16) {
1622 fprintf(stderr, "Runtime error: %s", "Assert failed");
1623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8183);
1624 exit(1);
1625 }
1626 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarAssignExpr> */
1627 } else {
1628 fprintf(stderr, "Runtime error: %s", "Aborted");
1629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8186);
1630 exit(1);
1631 }
1632 goto RET_LABEL;
1633 } else {
1634 }
1635 RET_LABEL:;
1636 }
1637 /* method parser_prod#AVarAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1638 void VIRTUAL_parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1639 parser_prod__AVarAssignExpr__replace_child(self, p0, p1);
1640 RET_LABEL:;
1641 }
1642 /* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */
1643 void parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1644 val* var_node /* var node: TId */;
1645 var_node = p0;
1646 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarAssignExpr> */
1647 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1648 RET_LABEL:;
1649 }
1650 /* method parser_prod#AVarAssignExpr#n_id= for (self: Object, TId) */
1651 void VIRTUAL_parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1652 parser_prod__AVarAssignExpr__n_id_61d(self, p0);
1653 RET_LABEL:;
1654 }
1655 /* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */
1656 void parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1657 val* var_node /* var node: TAssign */;
1658 var_node = p0;
1659 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AVarAssignExpr> */
1660 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
1661 RET_LABEL:;
1662 }
1663 /* method parser_prod#AVarAssignExpr#n_assign= for (self: Object, TAssign) */
1664 void VIRTUAL_parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1665 parser_prod__AVarAssignExpr__n_assign_61d(self, p0);
1666 RET_LABEL:;
1667 }
1668 /* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */
1669 void parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1670 val* var_node /* var node: AExpr */;
1671 var_node = p0;
1672 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarAssignExpr> */
1673 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1674 RET_LABEL:;
1675 }
1676 /* method parser_prod#AVarAssignExpr#n_value= for (self: Object, AExpr) */
1677 void VIRTUAL_parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1678 parser_prod__AVarAssignExpr__n_value_61d(self, p0);
1679 RET_LABEL:;
1680 }
1681 /* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */
1682 void parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1683 val* var_v /* var v: Visitor */;
1684 val* var /* : TId */;
1685 val* var1 /* : TAssign */;
1686 val* var2 /* : AExpr */;
1687 var_v = p0;
1688 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1689 if (var == NULL) {
1690 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8211);
1692 exit(1);
1693 }
1694 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1695 var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1696 if (var1 == NULL) {
1697 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
1698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8212);
1699 exit(1);
1700 }
1701 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1702 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1703 if (var2 == NULL) {
1704 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8213);
1706 exit(1);
1707 }
1708 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1709 RET_LABEL:;
1710 }
1711 /* method parser_prod#AVarAssignExpr#visit_all for (self: Object, Visitor) */
1712 void VIRTUAL_parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1713 parser_prod__AVarAssignExpr__visit_all(self, p0);
1714 RET_LABEL:;
1715 }
1716 /* method parser_prod#AVarReassignExpr#empty_init for (self: AVarReassignExpr) */
1717 void parser_prod__AVarReassignExpr__empty_init(val* self) {
1718 RET_LABEL:;
1719 }
1720 /* method parser_prod#AVarReassignExpr#empty_init for (self: Object) */
1721 void VIRTUAL_parser_prod__AVarReassignExpr__empty_init(val* self) {
1722 parser_prod__AVarReassignExpr__empty_init(self);
1723 RET_LABEL:;
1724 }
1725 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */
1726 void parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1727 val* var_n_id /* var n_id: nullable TId */;
1728 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
1729 val* var_n_value /* var n_value: nullable AExpr */;
1730 var_n_id = p0;
1731 var_n_assign_op = p1;
1732 var_n_value = p2;
1733 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarReassignExpr__empty_init]))(self) /* empty_init on <self:AVarReassignExpr>*/;
1734 if (var_n_id == NULL) {
1735 fprintf(stderr, "Runtime error: %s", "Cast failed");
1736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8226);
1737 exit(1);
1738 }
1739 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarReassignExpr> */
1740 if (var_n_id == NULL) {
1741 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8227);
1743 exit(1);
1744 } else {
1745 ((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>*/;
1746 }
1747 if (var_n_assign_op == NULL) {
1748 fprintf(stderr, "Runtime error: %s", "Cast failed");
1749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8228);
1750 exit(1);
1751 }
1752 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AVarReassignExpr> */
1753 if (var_n_assign_op == NULL) {
1754 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8229);
1756 exit(1);
1757 } else {
1758 ((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>*/;
1759 }
1760 if (var_n_value == NULL) {
1761 fprintf(stderr, "Runtime error: %s", "Cast failed");
1762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8230);
1763 exit(1);
1764 }
1765 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarReassignExpr> */
1766 if (var_n_value == NULL) {
1767 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8231);
1769 exit(1);
1770 } else {
1771 ((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>*/;
1772 }
1773 RET_LABEL:;
1774 }
1775 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: Object, nullable TId, nullable AAssignOp, nullable AExpr) */
1776 void VIRTUAL_parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1777 parser_prod__AVarReassignExpr__init_avarreassignexpr(self, p0, p1, p2);
1778 RET_LABEL:;
1779 }
1780 /* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */
1781 void parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1782 val* var_old_child /* var old_child: ANode */;
1783 val* var_new_child /* var new_child: nullable ANode */;
1784 val* var /* : TId */;
1785 short int var1 /* : Bool */;
1786 val* var2 /* : null */;
1787 short int var3 /* : Bool */;
1788 short int var4 /* : Bool */;
1789 int cltype;
1790 int idtype;
1791 val* var5 /* : AAssignOp */;
1792 short int var6 /* : Bool */;
1793 val* var7 /* : null */;
1794 short int var8 /* : Bool */;
1795 short int var9 /* : Bool */;
1796 int cltype10;
1797 int idtype11;
1798 val* var12 /* : AExpr */;
1799 short int var13 /* : Bool */;
1800 val* var14 /* : null */;
1801 short int var15 /* : Bool */;
1802 short int var16 /* : Bool */;
1803 int cltype17;
1804 int idtype18;
1805 var_old_child = p0;
1806 var_new_child = p1;
1807 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
1808 if (var == NULL) {
1809 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8236);
1811 exit(1);
1812 }
1813 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1814 if (var1){
1815 var2 = NULL;
1816 if (var_new_child == NULL) {
1817 var3 = 0; /* is null */
1818 } else {
1819 var3 = 1; /* arg is null and recv is not */
1820 }
1821 if (var3){
1822 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1823 /* <var_new_child:nullable ANode(ANode)> isa TId */
1824 cltype = type_parser_nodes__TId.color;
1825 idtype = type_parser_nodes__TId.id;
1826 if(cltype >= var_new_child->type->table_size) {
1827 var4 = 0;
1828 } else {
1829 var4 = var_new_child->type->type_table[cltype] == idtype;
1830 }
1831 if (!var4) {
1832 fprintf(stderr, "Runtime error: %s", "Assert failed");
1833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8239);
1834 exit(1);
1835 }
1836 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarReassignExpr> */
1837 } else {
1838 fprintf(stderr, "Runtime error: %s", "Aborted");
1839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8242);
1840 exit(1);
1841 }
1842 goto RET_LABEL;
1843 } else {
1844 }
1845 var5 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
1846 if (var5 == NULL) {
1847 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8246);
1849 exit(1);
1850 }
1851 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AAssignOp>*/;
1852 if (var6){
1853 var7 = NULL;
1854 if (var_new_child == NULL) {
1855 var8 = 0; /* is null */
1856 } else {
1857 var8 = 1; /* arg is null and recv is not */
1858 }
1859 if (var8){
1860 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1861 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
1862 cltype10 = type_parser_nodes__AAssignOp.color;
1863 idtype11 = type_parser_nodes__AAssignOp.id;
1864 if(cltype10 >= var_new_child->type->table_size) {
1865 var9 = 0;
1866 } else {
1867 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1868 }
1869 if (!var9) {
1870 fprintf(stderr, "Runtime error: %s", "Assert failed");
1871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8249);
1872 exit(1);
1873 }
1874 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AVarReassignExpr> */
1875 } else {
1876 fprintf(stderr, "Runtime error: %s", "Aborted");
1877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8252);
1878 exit(1);
1879 }
1880 goto RET_LABEL;
1881 } else {
1882 }
1883 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
1884 if (var12 == NULL) {
1885 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8256);
1887 exit(1);
1888 }
1889 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1890 if (var13){
1891 var14 = NULL;
1892 if (var_new_child == NULL) {
1893 var15 = 0; /* is null */
1894 } else {
1895 var15 = 1; /* arg is null and recv is not */
1896 }
1897 if (var15){
1898 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1899 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1900 cltype17 = type_parser_nodes__AExpr.color;
1901 idtype18 = type_parser_nodes__AExpr.id;
1902 if(cltype17 >= var_new_child->type->table_size) {
1903 var16 = 0;
1904 } else {
1905 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1906 }
1907 if (!var16) {
1908 fprintf(stderr, "Runtime error: %s", "Assert failed");
1909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8259);
1910 exit(1);
1911 }
1912 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarReassignExpr> */
1913 } else {
1914 fprintf(stderr, "Runtime error: %s", "Aborted");
1915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8262);
1916 exit(1);
1917 }
1918 goto RET_LABEL;
1919 } else {
1920 }
1921 RET_LABEL:;
1922 }
1923 /* method parser_prod#AVarReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1924 void VIRTUAL_parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1925 parser_prod__AVarReassignExpr__replace_child(self, p0, p1);
1926 RET_LABEL:;
1927 }
1928 /* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */
1929 void parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1930 val* var_node /* var node: TId */;
1931 var_node = p0;
1932 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarReassignExpr> */
1933 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1934 RET_LABEL:;
1935 }
1936 /* method parser_prod#AVarReassignExpr#n_id= for (self: Object, TId) */
1937 void VIRTUAL_parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1938 parser_prod__AVarReassignExpr__n_id_61d(self, p0);
1939 RET_LABEL:;
1940 }
1941 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */
1942 void parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
1943 val* var_node /* var node: AAssignOp */;
1944 var_node = p0;
1945 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AVarReassignExpr> */
1946 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
1947 RET_LABEL:;
1948 }
1949 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
1950 void VIRTUAL_parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
1951 parser_prod__AVarReassignExpr__n_assign_op_61d(self, p0);
1952 RET_LABEL:;
1953 }
1954 /* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */
1955 void parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
1956 val* var_node /* var node: AExpr */;
1957 var_node = p0;
1958 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarReassignExpr> */
1959 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1960 RET_LABEL:;
1961 }
1962 /* method parser_prod#AVarReassignExpr#n_value= for (self: Object, AExpr) */
1963 void VIRTUAL_parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
1964 parser_prod__AVarReassignExpr__n_value_61d(self, p0);
1965 RET_LABEL:;
1966 }
1967 /* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */
1968 void parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
1969 val* var_v /* var v: Visitor */;
1970 val* var /* : TId */;
1971 val* var1 /* : AAssignOp */;
1972 val* var2 /* : AExpr */;
1973 var_v = p0;
1974 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
1975 if (var == NULL) {
1976 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
1977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8287);
1978 exit(1);
1979 }
1980 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1981 var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
1982 if (var1 == NULL) {
1983 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
1984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8288);
1985 exit(1);
1986 }
1987 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1988 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
1989 if (var2 == NULL) {
1990 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
1991 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8289);
1992 exit(1);
1993 }
1994 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1995 RET_LABEL:;
1996 }
1997 /* method parser_prod#AVarReassignExpr#visit_all for (self: Object, Visitor) */
1998 void VIRTUAL_parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
1999 parser_prod__AVarReassignExpr__visit_all(self, p0);
2000 RET_LABEL:;
2001 }
2002 /* method parser_prod#ARangeExpr#empty_init for (self: ARangeExpr) */
2003 void parser_prod__ARangeExpr__empty_init(val* self) {
2004 RET_LABEL:;
2005 }
2006 /* method parser_prod#ARangeExpr#empty_init for (self: Object) */
2007 void VIRTUAL_parser_prod__ARangeExpr__empty_init(val* self) {
2008 parser_prod__ARangeExpr__empty_init(self);
2009 RET_LABEL:;
2010 }
2011 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: ARangeExpr, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2012 void parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2013 val* var_n_expr /* var n_expr: nullable AExpr */;
2014 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2015 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2016 val* var /* : null */;
2017 short int var1 /* : Bool */;
2018 var_n_expr = p0;
2019 var_n_expr2 = p1;
2020 var_n_annotations = p2;
2021 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ARangeExpr__empty_init]))(self) /* empty_init on <self:ARangeExpr>*/;
2022 if (var_n_expr == NULL) {
2023 fprintf(stderr, "Runtime error: %s", "Cast failed");
2024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8302);
2025 exit(1);
2026 }
2027 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ARangeExpr> */
2028 if (var_n_expr == NULL) {
2029 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8303);
2031 exit(1);
2032 } else {
2033 ((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>*/;
2034 }
2035 if (var_n_expr2 == NULL) {
2036 fprintf(stderr, "Runtime error: %s", "Cast failed");
2037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8304);
2038 exit(1);
2039 }
2040 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ARangeExpr> */
2041 if (var_n_expr2 == NULL) {
2042 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8305);
2044 exit(1);
2045 } else {
2046 ((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>*/;
2047 }
2048 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ARangeExpr> */
2049 var = NULL;
2050 if (var_n_annotations == NULL) {
2051 var1 = 0; /* is null */
2052 } else {
2053 var1 = 1; /* arg is null and recv is not */
2054 }
2055 if (var1){
2056 ((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)>*/;
2057 } else {
2058 }
2059 RET_LABEL:;
2060 }
2061 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: Object, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2062 void VIRTUAL_parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2063 parser_prod__ARangeExpr__init_arangeexpr(self, p0, p1, p2);
2064 RET_LABEL:;
2065 }
2066 /* method parser_prod#ARangeExpr#replace_child for (self: ARangeExpr, ANode, nullable ANode) */
2067 void parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2068 val* var_old_child /* var old_child: ANode */;
2069 val* var_new_child /* var new_child: nullable ANode */;
2070 val* var /* : AExpr */;
2071 short int var1 /* : Bool */;
2072 val* var2 /* : null */;
2073 short int var3 /* : Bool */;
2074 short int var4 /* : Bool */;
2075 int cltype;
2076 int idtype;
2077 val* var5 /* : AExpr */;
2078 short int var6 /* : Bool */;
2079 val* var7 /* : null */;
2080 short int var8 /* : Bool */;
2081 short int var9 /* : Bool */;
2082 int cltype10;
2083 int idtype11;
2084 val* var12 /* : nullable AAnnotations */;
2085 short int var13 /* : Bool */;
2086 val* var14 /* : null */;
2087 short int var15 /* : Bool */;
2088 short int var16 /* : Bool */;
2089 int cltype17;
2090 int idtype18;
2091 val* var19 /* : null */;
2092 var_old_child = p0;
2093 var_new_child = p1;
2094 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2095 if (var == NULL) {
2096 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8314);
2098 exit(1);
2099 }
2100 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2101 if (var1){
2102 var2 = NULL;
2103 if (var_new_child == NULL) {
2104 var3 = 0; /* is null */
2105 } else {
2106 var3 = 1; /* arg is null and recv is not */
2107 }
2108 if (var3){
2109 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2110 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2111 cltype = type_parser_nodes__AExpr.color;
2112 idtype = type_parser_nodes__AExpr.id;
2113 if(cltype >= var_new_child->type->table_size) {
2114 var4 = 0;
2115 } else {
2116 var4 = var_new_child->type->type_table[cltype] == idtype;
2117 }
2118 if (!var4) {
2119 fprintf(stderr, "Runtime error: %s", "Assert failed");
2120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8317);
2121 exit(1);
2122 }
2123 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ARangeExpr> */
2124 } else {
2125 fprintf(stderr, "Runtime error: %s", "Aborted");
2126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8320);
2127 exit(1);
2128 }
2129 goto RET_LABEL;
2130 } else {
2131 }
2132 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2133 if (var5 == NULL) {
2134 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8324);
2136 exit(1);
2137 }
2138 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2139 if (var6){
2140 var7 = NULL;
2141 if (var_new_child == NULL) {
2142 var8 = 0; /* is null */
2143 } else {
2144 var8 = 1; /* arg is null and recv is not */
2145 }
2146 if (var8){
2147 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2148 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2149 cltype10 = type_parser_nodes__AExpr.color;
2150 idtype11 = type_parser_nodes__AExpr.id;
2151 if(cltype10 >= var_new_child->type->table_size) {
2152 var9 = 0;
2153 } else {
2154 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2155 }
2156 if (!var9) {
2157 fprintf(stderr, "Runtime error: %s", "Assert failed");
2158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8327);
2159 exit(1);
2160 }
2161 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ARangeExpr> */
2162 } else {
2163 fprintf(stderr, "Runtime error: %s", "Aborted");
2164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8330);
2165 exit(1);
2166 }
2167 goto RET_LABEL;
2168 } else {
2169 }
2170 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2171 if (var12 == NULL) {
2172 var13 = 0; /* <var_old_child:ANode> cannot be null */
2173 } else {
2174 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
2175 }
2176 if (var13){
2177 var14 = NULL;
2178 if (var_new_child == NULL) {
2179 var15 = 0; /* is null */
2180 } else {
2181 var15 = 1; /* arg is null and recv is not */
2182 }
2183 if (var15){
2184 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2185 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2186 cltype17 = type_parser_nodes__AAnnotations.color;
2187 idtype18 = type_parser_nodes__AAnnotations.id;
2188 if(cltype17 >= var_new_child->type->table_size) {
2189 var16 = 0;
2190 } else {
2191 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2192 }
2193 if (!var16) {
2194 fprintf(stderr, "Runtime error: %s", "Assert failed");
2195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8337);
2196 exit(1);
2197 }
2198 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ARangeExpr> */
2199 } else {
2200 var19 = NULL;
2201 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ARangeExpr> */
2202 }
2203 goto RET_LABEL;
2204 } else {
2205 }
2206 RET_LABEL:;
2207 }
2208 /* method parser_prod#ARangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2209 void VIRTUAL_parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2210 parser_prod__ARangeExpr__replace_child(self, p0, p1);
2211 RET_LABEL:;
2212 }
2213 /* method parser_prod#ARangeExpr#n_expr= for (self: ARangeExpr, AExpr) */
2214 void parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2215 val* var_node /* var node: AExpr */;
2216 var_node = p0;
2217 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ARangeExpr> */
2218 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2219 RET_LABEL:;
2220 }
2221 /* method parser_prod#ARangeExpr#n_expr= for (self: Object, AExpr) */
2222 void VIRTUAL_parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2223 parser_prod__ARangeExpr__n_expr_61d(self, p0);
2224 RET_LABEL:;
2225 }
2226 /* method parser_prod#ARangeExpr#n_expr2= for (self: ARangeExpr, AExpr) */
2227 void parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2228 val* var_node /* var node: AExpr */;
2229 var_node = p0;
2230 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ARangeExpr> */
2231 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2232 RET_LABEL:;
2233 }
2234 /* method parser_prod#ARangeExpr#n_expr2= for (self: Object, AExpr) */
2235 void VIRTUAL_parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2236 parser_prod__ARangeExpr__n_expr2_61d(self, p0);
2237 RET_LABEL:;
2238 }
2239 /* method parser_prod#ARangeExpr#n_annotations= for (self: ARangeExpr, nullable AAnnotations) */
2240 void parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2241 val* var_node /* var node: nullable AAnnotations */;
2242 val* var /* : null */;
2243 short int var1 /* : Bool */;
2244 var_node = p0;
2245 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ARangeExpr> */
2246 var = NULL;
2247 if (var_node == NULL) {
2248 var1 = 0; /* is null */
2249 } else {
2250 var1 = 1; /* arg is null and recv is not */
2251 }
2252 if (var1){
2253 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2254 } else {
2255 }
2256 RET_LABEL:;
2257 }
2258 /* method parser_prod#ARangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2259 void VIRTUAL_parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2260 parser_prod__ARangeExpr__n_annotations_61d(self, p0);
2261 RET_LABEL:;
2262 }
2263 /* method parser_prod#ARangeExpr#visit_all for (self: ARangeExpr, Visitor) */
2264 void parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2265 val* var_v /* var v: Visitor */;
2266 val* var /* : AExpr */;
2267 val* var1 /* : AExpr */;
2268 val* var2 /* : nullable AAnnotations */;
2269 val* var3 /* : null */;
2270 short int var4 /* : Bool */;
2271 val* var5 /* : nullable AAnnotations */;
2272 var_v = p0;
2273 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2274 if (var == NULL) {
2275 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8367);
2277 exit(1);
2278 }
2279 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2280 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2281 if (var1 == NULL) {
2282 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8368);
2284 exit(1);
2285 }
2286 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2287 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2288 var3 = NULL;
2289 if (var2 == NULL) {
2290 var4 = 0; /* is null */
2291 } else {
2292 var4 = 1; /* arg is null and recv is not */
2293 }
2294 if (var4){
2295 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2296 if (var5 == NULL) {
2297 fprintf(stderr, "Runtime error: %s", "Cast failed");
2298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8370);
2299 exit(1);
2300 }
2301 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2302 } else {
2303 }
2304 RET_LABEL:;
2305 }
2306 /* method parser_prod#ARangeExpr#visit_all for (self: Object, Visitor) */
2307 void VIRTUAL_parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2308 parser_prod__ARangeExpr__visit_all(self, p0);
2309 RET_LABEL:;
2310 }
2311 /* method parser_prod#ACrangeExpr#empty_init for (self: ACrangeExpr) */
2312 void parser_prod__ACrangeExpr__empty_init(val* self) {
2313 RET_LABEL:;
2314 }
2315 /* method parser_prod#ACrangeExpr#empty_init for (self: Object) */
2316 void VIRTUAL_parser_prod__ACrangeExpr__empty_init(val* self) {
2317 parser_prod__ACrangeExpr__empty_init(self);
2318 RET_LABEL:;
2319 }
2320 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2321 void parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2322 val* var_n_obra /* var n_obra: nullable TObra */;
2323 val* var_n_expr /* var n_expr: nullable AExpr */;
2324 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2325 val* var_n_cbra /* var n_cbra: nullable TCbra */;
2326 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2327 val* var /* : null */;
2328 short int var1 /* : Bool */;
2329 var_n_obra = p0;
2330 var_n_expr = p1;
2331 var_n_expr2 = p2;
2332 var_n_cbra = p3;
2333 var_n_annotations = p4;
2334 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACrangeExpr__empty_init]))(self) /* empty_init on <self:ACrangeExpr>*/;
2335 if (var_n_obra == NULL) {
2336 fprintf(stderr, "Runtime error: %s", "Cast failed");
2337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8386);
2338 exit(1);
2339 }
2340 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:ACrangeExpr> */
2341 if (var_n_obra == NULL) {
2342 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8387);
2344 exit(1);
2345 } else {
2346 ((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>*/;
2347 }
2348 if (var_n_expr == NULL) {
2349 fprintf(stderr, "Runtime error: %s", "Cast failed");
2350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8388);
2351 exit(1);
2352 }
2353 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACrangeExpr> */
2354 if (var_n_expr == NULL) {
2355 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8389);
2357 exit(1);
2358 } else {
2359 ((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>*/;
2360 }
2361 if (var_n_expr2 == NULL) {
2362 fprintf(stderr, "Runtime error: %s", "Cast failed");
2363 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8390);
2364 exit(1);
2365 }
2366 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ACrangeExpr> */
2367 if (var_n_expr2 == NULL) {
2368 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8391);
2370 exit(1);
2371 } else {
2372 ((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>*/;
2373 }
2374 if (var_n_cbra == NULL) {
2375 fprintf(stderr, "Runtime error: %s", "Cast failed");
2376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8392);
2377 exit(1);
2378 }
2379 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ACrangeExpr> */
2380 if (var_n_cbra == NULL) {
2381 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2382 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8393);
2383 exit(1);
2384 } else {
2385 ((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>*/;
2386 }
2387 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACrangeExpr> */
2388 var = NULL;
2389 if (var_n_annotations == NULL) {
2390 var1 = 0; /* is null */
2391 } else {
2392 var1 = 1; /* arg is null and recv is not */
2393 }
2394 if (var1){
2395 ((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)>*/;
2396 } else {
2397 }
2398 RET_LABEL:;
2399 }
2400 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2401 void VIRTUAL_parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2402 parser_prod__ACrangeExpr__init_acrangeexpr(self, p0, p1, p2, p3, p4);
2403 RET_LABEL:;
2404 }
2405 /* method parser_prod#ACrangeExpr#replace_child for (self: ACrangeExpr, ANode, nullable ANode) */
2406 void parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2407 val* var_old_child /* var old_child: ANode */;
2408 val* var_new_child /* var new_child: nullable ANode */;
2409 val* var /* : TObra */;
2410 short int var1 /* : Bool */;
2411 val* var2 /* : null */;
2412 short int var3 /* : Bool */;
2413 short int var4 /* : Bool */;
2414 int cltype;
2415 int idtype;
2416 val* var5 /* : AExpr */;
2417 short int var6 /* : Bool */;
2418 val* var7 /* : null */;
2419 short int var8 /* : Bool */;
2420 short int var9 /* : Bool */;
2421 int cltype10;
2422 int idtype11;
2423 val* var12 /* : AExpr */;
2424 short int var13 /* : Bool */;
2425 val* var14 /* : null */;
2426 short int var15 /* : Bool */;
2427 short int var16 /* : Bool */;
2428 int cltype17;
2429 int idtype18;
2430 val* var19 /* : TCbra */;
2431 short int var20 /* : Bool */;
2432 val* var21 /* : null */;
2433 short int var22 /* : Bool */;
2434 short int var23 /* : Bool */;
2435 int cltype24;
2436 int idtype25;
2437 val* var26 /* : nullable AAnnotations */;
2438 short int var27 /* : Bool */;
2439 val* var28 /* : null */;
2440 short int var29 /* : Bool */;
2441 short int var30 /* : Bool */;
2442 int cltype31;
2443 int idtype32;
2444 val* var33 /* : null */;
2445 var_old_child = p0;
2446 var_new_child = p1;
2447 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2448 if (var == NULL) {
2449 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8402);
2451 exit(1);
2452 }
2453 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2454 if (var1){
2455 var2 = NULL;
2456 if (var_new_child == NULL) {
2457 var3 = 0; /* is null */
2458 } else {
2459 var3 = 1; /* arg is null and recv is not */
2460 }
2461 if (var3){
2462 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2463 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2464 cltype = type_parser_nodes__TObra.color;
2465 idtype = type_parser_nodes__TObra.id;
2466 if(cltype >= var_new_child->type->table_size) {
2467 var4 = 0;
2468 } else {
2469 var4 = var_new_child->type->type_table[cltype] == idtype;
2470 }
2471 if (!var4) {
2472 fprintf(stderr, "Runtime error: %s", "Assert failed");
2473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8405);
2474 exit(1);
2475 }
2476 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:ACrangeExpr> */
2477 } else {
2478 fprintf(stderr, "Runtime error: %s", "Aborted");
2479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8408);
2480 exit(1);
2481 }
2482 goto RET_LABEL;
2483 } else {
2484 }
2485 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2486 if (var5 == NULL) {
2487 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8412);
2489 exit(1);
2490 }
2491 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2492 if (var6){
2493 var7 = NULL;
2494 if (var_new_child == NULL) {
2495 var8 = 0; /* is null */
2496 } else {
2497 var8 = 1; /* arg is null and recv is not */
2498 }
2499 if (var8){
2500 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2501 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2502 cltype10 = type_parser_nodes__AExpr.color;
2503 idtype11 = type_parser_nodes__AExpr.id;
2504 if(cltype10 >= var_new_child->type->table_size) {
2505 var9 = 0;
2506 } else {
2507 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2508 }
2509 if (!var9) {
2510 fprintf(stderr, "Runtime error: %s", "Assert failed");
2511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8415);
2512 exit(1);
2513 }
2514 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACrangeExpr> */
2515 } else {
2516 fprintf(stderr, "Runtime error: %s", "Aborted");
2517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8418);
2518 exit(1);
2519 }
2520 goto RET_LABEL;
2521 } else {
2522 }
2523 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2524 if (var12 == NULL) {
2525 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8422);
2527 exit(1);
2528 }
2529 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
2530 if (var13){
2531 var14 = NULL;
2532 if (var_new_child == NULL) {
2533 var15 = 0; /* is null */
2534 } else {
2535 var15 = 1; /* arg is null and recv is not */
2536 }
2537 if (var15){
2538 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2539 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2540 cltype17 = type_parser_nodes__AExpr.color;
2541 idtype18 = type_parser_nodes__AExpr.id;
2542 if(cltype17 >= var_new_child->type->table_size) {
2543 var16 = 0;
2544 } else {
2545 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2546 }
2547 if (!var16) {
2548 fprintf(stderr, "Runtime error: %s", "Assert failed");
2549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8425);
2550 exit(1);
2551 }
2552 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ACrangeExpr> */
2553 } else {
2554 fprintf(stderr, "Runtime error: %s", "Aborted");
2555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8428);
2556 exit(1);
2557 }
2558 goto RET_LABEL;
2559 } else {
2560 }
2561 var19 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2562 if (var19 == NULL) {
2563 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
2564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8432);
2565 exit(1);
2566 }
2567 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TCbra>*/;
2568 if (var20){
2569 var21 = NULL;
2570 if (var_new_child == NULL) {
2571 var22 = 0; /* is null */
2572 } else {
2573 var22 = 1; /* arg is null and recv is not */
2574 }
2575 if (var22){
2576 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2577 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
2578 cltype24 = type_parser_nodes__TCbra.color;
2579 idtype25 = type_parser_nodes__TCbra.id;
2580 if(cltype24 >= var_new_child->type->table_size) {
2581 var23 = 0;
2582 } else {
2583 var23 = var_new_child->type->type_table[cltype24] == idtype25;
2584 }
2585 if (!var23) {
2586 fprintf(stderr, "Runtime error: %s", "Assert failed");
2587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8435);
2588 exit(1);
2589 }
2590 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:ACrangeExpr> */
2591 } else {
2592 fprintf(stderr, "Runtime error: %s", "Aborted");
2593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8438);
2594 exit(1);
2595 }
2596 goto RET_LABEL;
2597 } else {
2598 }
2599 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2600 if (var26 == NULL) {
2601 var27 = 0; /* <var_old_child:ANode> cannot be null */
2602 } else {
2603 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
2604 }
2605 if (var27){
2606 var28 = NULL;
2607 if (var_new_child == NULL) {
2608 var29 = 0; /* is null */
2609 } else {
2610 var29 = 1; /* arg is null and recv is not */
2611 }
2612 if (var29){
2613 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2614 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2615 cltype31 = type_parser_nodes__AAnnotations.color;
2616 idtype32 = type_parser_nodes__AAnnotations.id;
2617 if(cltype31 >= var_new_child->type->table_size) {
2618 var30 = 0;
2619 } else {
2620 var30 = var_new_child->type->type_table[cltype31] == idtype32;
2621 }
2622 if (!var30) {
2623 fprintf(stderr, "Runtime error: %s", "Assert failed");
2624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8445);
2625 exit(1);
2626 }
2627 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACrangeExpr> */
2628 } else {
2629 var33 = NULL;
2630 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:ACrangeExpr> */
2631 }
2632 goto RET_LABEL;
2633 } else {
2634 }
2635 RET_LABEL:;
2636 }
2637 /* method parser_prod#ACrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2638 void VIRTUAL_parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2639 parser_prod__ACrangeExpr__replace_child(self, p0, p1);
2640 RET_LABEL:;
2641 }
2642 /* method parser_prod#ACrangeExpr#n_obra= for (self: ACrangeExpr, TObra) */
2643 void parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2644 val* var_node /* var node: TObra */;
2645 var_node = p0;
2646 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_node; /* _n_obra on <self:ACrangeExpr> */
2647 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
2648 RET_LABEL:;
2649 }
2650 /* method parser_prod#ACrangeExpr#n_obra= for (self: Object, TObra) */
2651 void VIRTUAL_parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2652 parser_prod__ACrangeExpr__n_obra_61d(self, p0);
2653 RET_LABEL:;
2654 }
2655 /* method parser_prod#ACrangeExpr#n_expr= for (self: ACrangeExpr, AExpr) */
2656 void parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2657 val* var_node /* var node: AExpr */;
2658 var_node = p0;
2659 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ACrangeExpr> */
2660 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2661 RET_LABEL:;
2662 }
2663 /* method parser_prod#ACrangeExpr#n_expr= for (self: Object, AExpr) */
2664 void VIRTUAL_parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2665 parser_prod__ACrangeExpr__n_expr_61d(self, p0);
2666 RET_LABEL:;
2667 }
2668 /* method parser_prod#ACrangeExpr#n_expr2= for (self: ACrangeExpr, AExpr) */
2669 void parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2670 val* var_node /* var node: AExpr */;
2671 var_node = p0;
2672 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ACrangeExpr> */
2673 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2674 RET_LABEL:;
2675 }
2676 /* method parser_prod#ACrangeExpr#n_expr2= for (self: Object, AExpr) */
2677 void VIRTUAL_parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2678 parser_prod__ACrangeExpr__n_expr2_61d(self, p0);
2679 RET_LABEL:;
2680 }
2681 /* method parser_prod#ACrangeExpr#n_cbra= for (self: ACrangeExpr, TCbra) */
2682 void parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2683 val* var_node /* var node: TCbra */;
2684 var_node = p0;
2685 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:ACrangeExpr> */
2686 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
2687 RET_LABEL:;
2688 }
2689 /* method parser_prod#ACrangeExpr#n_cbra= for (self: Object, TCbra) */
2690 void VIRTUAL_parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2691 parser_prod__ACrangeExpr__n_cbra_61d(self, p0);
2692 RET_LABEL:;
2693 }
2694 /* method parser_prod#ACrangeExpr#n_annotations= for (self: ACrangeExpr, nullable AAnnotations) */
2695 void parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2696 val* var_node /* var node: nullable AAnnotations */;
2697 val* var /* : null */;
2698 short int var1 /* : Bool */;
2699 var_node = p0;
2700 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACrangeExpr> */
2701 var = NULL;
2702 if (var_node == NULL) {
2703 var1 = 0; /* is null */
2704 } else {
2705 var1 = 1; /* arg is null and recv is not */
2706 }
2707 if (var1){
2708 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2709 } else {
2710 }
2711 RET_LABEL:;
2712 }
2713 /* method parser_prod#ACrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2714 void VIRTUAL_parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2715 parser_prod__ACrangeExpr__n_annotations_61d(self, p0);
2716 RET_LABEL:;
2717 }
2718 /* method parser_prod#ACrangeExpr#visit_all for (self: ACrangeExpr, Visitor) */
2719 void parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2720 val* var_v /* var v: Visitor */;
2721 val* var /* : TObra */;
2722 val* var1 /* : AExpr */;
2723 val* var2 /* : AExpr */;
2724 val* var3 /* : TCbra */;
2725 val* var4 /* : nullable AAnnotations */;
2726 val* var5 /* : null */;
2727 short int var6 /* : Bool */;
2728 val* var7 /* : nullable AAnnotations */;
2729 var_v = p0;
2730 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2731 if (var == NULL) {
2732 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8485);
2734 exit(1);
2735 }
2736 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2737 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2738 if (var1 == NULL) {
2739 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8486);
2741 exit(1);
2742 }
2743 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2744 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2745 if (var2 == NULL) {
2746 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8487);
2748 exit(1);
2749 }
2750 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
2751 var3 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2752 if (var3 == NULL) {
2753 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
2754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8488);
2755 exit(1);
2756 }
2757 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
2758 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2759 var5 = NULL;
2760 if (var4 == NULL) {
2761 var6 = 0; /* is null */
2762 } else {
2763 var6 = 1; /* arg is null and recv is not */
2764 }
2765 if (var6){
2766 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2767 if (var7 == NULL) {
2768 fprintf(stderr, "Runtime error: %s", "Cast failed");
2769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8490);
2770 exit(1);
2771 }
2772 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
2773 } else {
2774 }
2775 RET_LABEL:;
2776 }
2777 /* method parser_prod#ACrangeExpr#visit_all for (self: Object, Visitor) */
2778 void VIRTUAL_parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2779 parser_prod__ACrangeExpr__visit_all(self, p0);
2780 RET_LABEL:;
2781 }
2782 /* method parser_prod#AOrangeExpr#empty_init for (self: AOrangeExpr) */
2783 void parser_prod__AOrangeExpr__empty_init(val* self) {
2784 RET_LABEL:;
2785 }
2786 /* method parser_prod#AOrangeExpr#empty_init for (self: Object) */
2787 void VIRTUAL_parser_prod__AOrangeExpr__empty_init(val* self) {
2788 parser_prod__AOrangeExpr__empty_init(self);
2789 RET_LABEL:;
2790 }
2791 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: AOrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2792 void parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2793 val* var_n_obra /* var n_obra: nullable TObra */;
2794 val* var_n_expr /* var n_expr: nullable AExpr */;
2795 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2796 val* var_n_cbra /* var n_cbra: nullable TObra */;
2797 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2798 val* var /* : null */;
2799 short int var1 /* : Bool */;
2800 var_n_obra = p0;
2801 var_n_expr = p1;
2802 var_n_expr2 = p2;
2803 var_n_cbra = p3;
2804 var_n_annotations = p4;
2805 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrangeExpr__empty_init]))(self) /* empty_init on <self:AOrangeExpr>*/;
2806 if (var_n_obra == NULL) {
2807 fprintf(stderr, "Runtime error: %s", "Cast failed");
2808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8506);
2809 exit(1);
2810 }
2811 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:AOrangeExpr> */
2812 if (var_n_obra == NULL) {
2813 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8507);
2815 exit(1);
2816 } else {
2817 ((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>*/;
2818 }
2819 if (var_n_expr == NULL) {
2820 fprintf(stderr, "Runtime error: %s", "Cast failed");
2821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8508);
2822 exit(1);
2823 }
2824 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrangeExpr> */
2825 if (var_n_expr == NULL) {
2826 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8509);
2828 exit(1);
2829 } else {
2830 ((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>*/;
2831 }
2832 if (var_n_expr2 == NULL) {
2833 fprintf(stderr, "Runtime error: %s", "Cast failed");
2834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8510);
2835 exit(1);
2836 }
2837 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrangeExpr> */
2838 if (var_n_expr2 == NULL) {
2839 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8511);
2841 exit(1);
2842 } else {
2843 ((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>*/;
2844 }
2845 if (var_n_cbra == NULL) {
2846 fprintf(stderr, "Runtime error: %s", "Cast failed");
2847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8512);
2848 exit(1);
2849 }
2850 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:AOrangeExpr> */
2851 if (var_n_cbra == NULL) {
2852 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8513);
2854 exit(1);
2855 } else {
2856 ((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>*/;
2857 }
2858 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AOrangeExpr> */
2859 var = NULL;
2860 if (var_n_annotations == NULL) {
2861 var1 = 0; /* is null */
2862 } else {
2863 var1 = 1; /* arg is null and recv is not */
2864 }
2865 if (var1){
2866 ((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)>*/;
2867 } else {
2868 }
2869 RET_LABEL:;
2870 }
2871 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2872 void VIRTUAL_parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2873 parser_prod__AOrangeExpr__init_aorangeexpr(self, p0, p1, p2, p3, p4);
2874 RET_LABEL:;
2875 }
2876 /* method parser_prod#AOrangeExpr#replace_child for (self: AOrangeExpr, ANode, nullable ANode) */
2877 void parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
2878 val* var_old_child /* var old_child: ANode */;
2879 val* var_new_child /* var new_child: nullable ANode */;
2880 val* var /* : TObra */;
2881 short int var1 /* : Bool */;
2882 val* var2 /* : null */;
2883 short int var3 /* : Bool */;
2884 short int var4 /* : Bool */;
2885 int cltype;
2886 int idtype;
2887 val* var5 /* : AExpr */;
2888 short int var6 /* : Bool */;
2889 val* var7 /* : null */;
2890 short int var8 /* : Bool */;
2891 short int var9 /* : Bool */;
2892 int cltype10;
2893 int idtype11;
2894 val* var12 /* : AExpr */;
2895 short int var13 /* : Bool */;
2896 val* var14 /* : null */;
2897 short int var15 /* : Bool */;
2898 short int var16 /* : Bool */;
2899 int cltype17;
2900 int idtype18;
2901 val* var19 /* : TObra */;
2902 short int var20 /* : Bool */;
2903 val* var21 /* : null */;
2904 short int var22 /* : Bool */;
2905 short int var23 /* : Bool */;
2906 int cltype24;
2907 int idtype25;
2908 val* var26 /* : nullable AAnnotations */;
2909 short int var27 /* : Bool */;
2910 val* var28 /* : null */;
2911 short int var29 /* : Bool */;
2912 short int var30 /* : Bool */;
2913 int cltype31;
2914 int idtype32;
2915 val* var33 /* : null */;
2916 var_old_child = p0;
2917 var_new_child = p1;
2918 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
2919 if (var == NULL) {
2920 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
2921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8522);
2922 exit(1);
2923 }
2924 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2925 if (var1){
2926 var2 = NULL;
2927 if (var_new_child == NULL) {
2928 var3 = 0; /* is null */
2929 } else {
2930 var3 = 1; /* arg is null and recv is not */
2931 }
2932 if (var3){
2933 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2934 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2935 cltype = type_parser_nodes__TObra.color;
2936 idtype = type_parser_nodes__TObra.id;
2937 if(cltype >= var_new_child->type->table_size) {
2938 var4 = 0;
2939 } else {
2940 var4 = var_new_child->type->type_table[cltype] == idtype;
2941 }
2942 if (!var4) {
2943 fprintf(stderr, "Runtime error: %s", "Assert failed");
2944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8525);
2945 exit(1);
2946 }
2947 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:AOrangeExpr> */
2948 } else {
2949 fprintf(stderr, "Runtime error: %s", "Aborted");
2950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8528);
2951 exit(1);
2952 }
2953 goto RET_LABEL;
2954 } else {
2955 }
2956 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
2957 if (var5 == NULL) {
2958 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8532);
2960 exit(1);
2961 }
2962 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2963 if (var6){
2964 var7 = NULL;
2965 if (var_new_child == NULL) {
2966 var8 = 0; /* is null */
2967 } else {
2968 var8 = 1; /* arg is null and recv is not */
2969 }
2970 if (var8){
2971 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2972 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2973 cltype10 = type_parser_nodes__AExpr.color;
2974 idtype11 = type_parser_nodes__AExpr.id;
2975 if(cltype10 >= var_new_child->type->table_size) {
2976 var9 = 0;
2977 } else {
2978 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2979 }
2980 if (!var9) {
2981 fprintf(stderr, "Runtime error: %s", "Assert failed");
2982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8535);
2983 exit(1);
2984 }
2985 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrangeExpr> */
2986 } else {
2987 fprintf(stderr, "Runtime error: %s", "Aborted");
2988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8538);
2989 exit(1);
2990 }
2991 goto RET_LABEL;
2992 } else {
2993 }
2994 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
2995 if (var12 == NULL) {
2996 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8542);
2998 exit(1);
2999 }
3000 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
3001 if (var13){
3002 var14 = NULL;
3003 if (var_new_child == NULL) {
3004 var15 = 0; /* is null */
3005 } else {
3006 var15 = 1; /* arg is null and recv is not */
3007 }
3008 if (var15){
3009 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3010 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3011 cltype17 = type_parser_nodes__AExpr.color;
3012 idtype18 = type_parser_nodes__AExpr.id;
3013 if(cltype17 >= var_new_child->type->table_size) {
3014 var16 = 0;
3015 } else {
3016 var16 = var_new_child->type->type_table[cltype17] == idtype18;
3017 }
3018 if (!var16) {
3019 fprintf(stderr, "Runtime error: %s", "Assert failed");
3020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8545);
3021 exit(1);
3022 }
3023 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrangeExpr> */
3024 } else {
3025 fprintf(stderr, "Runtime error: %s", "Aborted");
3026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8548);
3027 exit(1);
3028 }
3029 goto RET_LABEL;
3030 } else {
3031 }
3032 var19 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3033 if (var19 == NULL) {
3034 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
3035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8552);
3036 exit(1);
3037 }
3038 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TObra>*/;
3039 if (var20){
3040 var21 = NULL;
3041 if (var_new_child == NULL) {
3042 var22 = 0; /* is null */
3043 } else {
3044 var22 = 1; /* arg is null and recv is not */
3045 }
3046 if (var22){
3047 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3048 /* <var_new_child:nullable ANode(ANode)> isa TObra */
3049 cltype24 = type_parser_nodes__TObra.color;
3050 idtype25 = type_parser_nodes__TObra.id;
3051 if(cltype24 >= var_new_child->type->table_size) {
3052 var23 = 0;
3053 } else {
3054 var23 = var_new_child->type->type_table[cltype24] == idtype25;
3055 }
3056 if (!var23) {
3057 fprintf(stderr, "Runtime error: %s", "Assert failed");
3058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8555);
3059 exit(1);
3060 }
3061 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:AOrangeExpr> */
3062 } else {
3063 fprintf(stderr, "Runtime error: %s", "Aborted");
3064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8558);
3065 exit(1);
3066 }
3067 goto RET_LABEL;
3068 } else {
3069 }
3070 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3071 if (var26 == NULL) {
3072 var27 = 0; /* <var_old_child:ANode> cannot be null */
3073 } else {
3074 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
3075 }
3076 if (var27){
3077 var28 = NULL;
3078 if (var_new_child == NULL) {
3079 var29 = 0; /* is null */
3080 } else {
3081 var29 = 1; /* arg is null and recv is not */
3082 }
3083 if (var29){
3084 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3085 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3086 cltype31 = type_parser_nodes__AAnnotations.color;
3087 idtype32 = type_parser_nodes__AAnnotations.id;
3088 if(cltype31 >= var_new_child->type->table_size) {
3089 var30 = 0;
3090 } else {
3091 var30 = var_new_child->type->type_table[cltype31] == idtype32;
3092 }
3093 if (!var30) {
3094 fprintf(stderr, "Runtime error: %s", "Assert failed");
3095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8565);
3096 exit(1);
3097 }
3098 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AOrangeExpr> */
3099 } else {
3100 var33 = NULL;
3101 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:AOrangeExpr> */
3102 }
3103 goto RET_LABEL;
3104 } else {
3105 }
3106 RET_LABEL:;
3107 }
3108 /* method parser_prod#AOrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
3109 void VIRTUAL_parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
3110 parser_prod__AOrangeExpr__replace_child(self, p0, p1);
3111 RET_LABEL:;
3112 }
3113 /* method parser_prod#AOrangeExpr#n_obra= for (self: AOrangeExpr, TObra) */
3114 void parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3115 val* var_node /* var node: TObra */;
3116 var_node = p0;
3117 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_node; /* _n_obra on <self:AOrangeExpr> */
3118 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3119 RET_LABEL:;
3120 }
3121 /* method parser_prod#AOrangeExpr#n_obra= for (self: Object, TObra) */
3122 void VIRTUAL_parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3123 parser_prod__AOrangeExpr__n_obra_61d(self, p0);
3124 RET_LABEL:;
3125 }
3126 /* method parser_prod#AOrangeExpr#n_expr= for (self: AOrangeExpr, AExpr) */
3127 void parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3128 val* var_node /* var node: AExpr */;
3129 var_node = p0;
3130 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:AOrangeExpr> */
3131 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3132 RET_LABEL:;
3133 }
3134 /* method parser_prod#AOrangeExpr#n_expr= for (self: Object, AExpr) */
3135 void VIRTUAL_parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3136 parser_prod__AOrangeExpr__n_expr_61d(self, p0);
3137 RET_LABEL:;
3138 }
3139 /* method parser_prod#AOrangeExpr#n_expr2= for (self: AOrangeExpr, AExpr) */
3140 void parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3141 val* var_node /* var node: AExpr */;
3142 var_node = p0;
3143 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrangeExpr> */
3144 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3145 RET_LABEL:;
3146 }
3147 /* method parser_prod#AOrangeExpr#n_expr2= for (self: Object, AExpr) */
3148 void VIRTUAL_parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3149 parser_prod__AOrangeExpr__n_expr2_61d(self, p0);
3150 RET_LABEL:;
3151 }
3152 /* method parser_prod#AOrangeExpr#n_cbra= for (self: AOrangeExpr, TObra) */
3153 void parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3154 val* var_node /* var node: TObra */;
3155 var_node = p0;
3156 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:AOrangeExpr> */
3157 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3158 RET_LABEL:;
3159 }
3160 /* method parser_prod#AOrangeExpr#n_cbra= for (self: Object, TObra) */
3161 void VIRTUAL_parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3162 parser_prod__AOrangeExpr__n_cbra_61d(self, p0);
3163 RET_LABEL:;
3164 }
3165 /* method parser_prod#AOrangeExpr#n_annotations= for (self: AOrangeExpr, nullable AAnnotations) */
3166 void parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3167 val* var_node /* var node: nullable AAnnotations */;
3168 val* var /* : null */;
3169 short int var1 /* : Bool */;
3170 var_node = p0;
3171 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AOrangeExpr> */
3172 var = NULL;
3173 if (var_node == NULL) {
3174 var1 = 0; /* is null */
3175 } else {
3176 var1 = 1; /* arg is null and recv is not */
3177 }
3178 if (var1){
3179 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3180 } else {
3181 }
3182 RET_LABEL:;
3183 }
3184 /* method parser_prod#AOrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3185 void VIRTUAL_parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3186 parser_prod__AOrangeExpr__n_annotations_61d(self, p0);
3187 RET_LABEL:;
3188 }
3189 /* method parser_prod#AOrangeExpr#visit_all for (self: AOrangeExpr, Visitor) */
3190 void parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3191 val* var_v /* var v: Visitor */;
3192 val* var /* : TObra */;
3193 val* var1 /* : AExpr */;
3194 val* var2 /* : AExpr */;
3195 val* var3 /* : TObra */;
3196 val* var4 /* : nullable AAnnotations */;
3197 val* var5 /* : null */;
3198 short int var6 /* : Bool */;
3199 val* var7 /* : nullable AAnnotations */;
3200 var_v = p0;
3201 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
3202 if (var == NULL) {
3203 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
3204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8605);
3205 exit(1);
3206 }
3207 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3208 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
3209 if (var1 == NULL) {
3210 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8606);
3212 exit(1);
3213 }
3214 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3215 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
3216 if (var2 == NULL) {
3217 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8607);
3219 exit(1);
3220 }
3221 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
3222 var3 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3223 if (var3 == NULL) {
3224 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
3225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8608);
3226 exit(1);
3227 }
3228 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3229 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3230 var5 = NULL;
3231 if (var4 == NULL) {
3232 var6 = 0; /* is null */
3233 } else {
3234 var6 = 1; /* arg is null and recv is not */
3235 }
3236 if (var6){
3237 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3238 if (var7 == NULL) {
3239 fprintf(stderr, "Runtime error: %s", "Cast failed");
3240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8610);
3241 exit(1);
3242 }
3243 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3244 } else {
3245 }
3246 RET_LABEL:;
3247 }
3248 /* method parser_prod#AOrangeExpr#visit_all for (self: Object, Visitor) */
3249 void VIRTUAL_parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3250 parser_prod__AOrangeExpr__visit_all(self, p0);
3251 RET_LABEL:;
3252 }
3253 /* method parser_prod#AArrayExpr#empty_init for (self: AArrayExpr) */
3254 void parser_prod__AArrayExpr__empty_init(val* self) {
3255 RET_LABEL:;
3256 }
3257 /* method parser_prod#AArrayExpr#empty_init for (self: Object) */
3258 void VIRTUAL_parser_prod__AArrayExpr__empty_init(val* self) {
3259 parser_prod__AArrayExpr__empty_init(self);
3260 RET_LABEL:;
3261 }
3262 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: AArrayExpr, nullable AExprs, nullable AAnnotations) */
3263 void parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3264 val* var_n_exprs /* var n_exprs: nullable AExprs */;
3265 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3266 val* var /* : null */;
3267 short int var1 /* : Bool */;
3268 var_n_exprs = p0;
3269 var_n_annotations = p1;
3270 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AArrayExpr__empty_init]))(self) /* empty_init on <self:AArrayExpr>*/;
3271 if (var_n_exprs == NULL) {
3272 fprintf(stderr, "Runtime error: %s", "Cast failed");
3273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8623);
3274 exit(1);
3275 }
3276 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_n_exprs; /* _n_exprs on <self:AArrayExpr> */
3277 if (var_n_exprs == NULL) {
3278 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8624);
3280 exit(1);
3281 } else {
3282 ((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>*/;
3283 }
3284 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AArrayExpr> */
3285 var = NULL;
3286 if (var_n_annotations == NULL) {
3287 var1 = 0; /* is null */
3288 } else {
3289 var1 = 1; /* arg is null and recv is not */
3290 }
3291 if (var1){
3292 ((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)>*/;
3293 } else {
3294 }
3295 RET_LABEL:;
3296 }
3297 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: Object, nullable AExprs, nullable AAnnotations) */
3298 void VIRTUAL_parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3299 parser_prod__AArrayExpr__init_aarrayexpr(self, p0, p1);
3300 RET_LABEL:;
3301 }
3302 /* method parser_prod#AArrayExpr#replace_child for (self: AArrayExpr, ANode, nullable ANode) */
3303 void parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3304 val* var_old_child /* var old_child: ANode */;
3305 val* var_new_child /* var new_child: nullable ANode */;
3306 val* var /* : AExprs */;
3307 short int var1 /* : Bool */;
3308 val* var2 /* : null */;
3309 short int var3 /* : Bool */;
3310 short int var4 /* : Bool */;
3311 int cltype;
3312 int idtype;
3313 val* var5 /* : nullable AAnnotations */;
3314 short int var6 /* : Bool */;
3315 val* var7 /* : null */;
3316 short int var8 /* : Bool */;
3317 short int var9 /* : Bool */;
3318 int cltype10;
3319 int idtype11;
3320 val* var12 /* : null */;
3321 var_old_child = p0;
3322 var_new_child = p1;
3323 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3324 if (var == NULL) {
3325 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
3326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8633);
3327 exit(1);
3328 }
3329 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExprs>*/;
3330 if (var1){
3331 var2 = NULL;
3332 if (var_new_child == NULL) {
3333 var3 = 0; /* is null */
3334 } else {
3335 var3 = 1; /* arg is null and recv is not */
3336 }
3337 if (var3){
3338 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3339 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
3340 cltype = type_parser_nodes__AExprs.color;
3341 idtype = type_parser_nodes__AExprs.id;
3342 if(cltype >= var_new_child->type->table_size) {
3343 var4 = 0;
3344 } else {
3345 var4 = var_new_child->type->type_table[cltype] == idtype;
3346 }
3347 if (!var4) {
3348 fprintf(stderr, "Runtime error: %s", "Assert failed");
3349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8636);
3350 exit(1);
3351 }
3352 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_new_child; /* _n_exprs on <self:AArrayExpr> */
3353 } else {
3354 fprintf(stderr, "Runtime error: %s", "Aborted");
3355 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8639);
3356 exit(1);
3357 }
3358 goto RET_LABEL;
3359 } else {
3360 }
3361 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3362 if (var5 == NULL) {
3363 var6 = 0; /* <var_old_child:ANode> cannot be null */
3364 } else {
3365 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3366 }
3367 if (var6){
3368 var7 = NULL;
3369 if (var_new_child == NULL) {
3370 var8 = 0; /* is null */
3371 } else {
3372 var8 = 1; /* arg is null and recv is not */
3373 }
3374 if (var8){
3375 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3376 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3377 cltype10 = type_parser_nodes__AAnnotations.color;
3378 idtype11 = type_parser_nodes__AAnnotations.id;
3379 if(cltype10 >= var_new_child->type->table_size) {
3380 var9 = 0;
3381 } else {
3382 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3383 }
3384 if (!var9) {
3385 fprintf(stderr, "Runtime error: %s", "Assert failed");
3386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8646);
3387 exit(1);
3388 }
3389 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AArrayExpr> */
3390 } else {
3391 var12 = NULL;
3392 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AArrayExpr> */
3393 }
3394 goto RET_LABEL;
3395 } else {
3396 }
3397 RET_LABEL:;
3398 }
3399 /* method parser_prod#AArrayExpr#replace_child for (self: Object, ANode, nullable ANode) */
3400 void VIRTUAL_parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3401 parser_prod__AArrayExpr__replace_child(self, p0, p1);
3402 RET_LABEL:;
3403 }
3404 /* method parser_prod#AArrayExpr#n_exprs= for (self: AArrayExpr, AExprs) */
3405 void parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3406 val* var_node /* var node: AExprs */;
3407 var_node = p0;
3408 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_node; /* _n_exprs on <self:AArrayExpr> */
3409 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
3410 RET_LABEL:;
3411 }
3412 /* method parser_prod#AArrayExpr#n_exprs= for (self: Object, AExprs) */
3413 void VIRTUAL_parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3414 parser_prod__AArrayExpr__n_exprs_61d(self, p0);
3415 RET_LABEL:;
3416 }
3417 /* method parser_prod#AArrayExpr#n_annotations= for (self: AArrayExpr, nullable AAnnotations) */
3418 void parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3419 val* var_node /* var node: nullable AAnnotations */;
3420 val* var /* : null */;
3421 short int var1 /* : Bool */;
3422 var_node = p0;
3423 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AArrayExpr> */
3424 var = NULL;
3425 if (var_node == NULL) {
3426 var1 = 0; /* is null */
3427 } else {
3428 var1 = 1; /* arg is null and recv is not */
3429 }
3430 if (var1){
3431 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3432 } else {
3433 }
3434 RET_LABEL:;
3435 }
3436 /* method parser_prod#AArrayExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3437 void VIRTUAL_parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3438 parser_prod__AArrayExpr__n_annotations_61d(self, p0);
3439 RET_LABEL:;
3440 }
3441 /* method parser_prod#AArrayExpr#visit_all for (self: AArrayExpr, Visitor) */
3442 void parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3443 val* var_v /* var v: Visitor */;
3444 val* var /* : AExprs */;
3445 val* var1 /* : nullable AAnnotations */;
3446 val* var2 /* : null */;
3447 short int var3 /* : Bool */;
3448 val* var4 /* : nullable AAnnotations */;
3449 var_v = p0;
3450 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3451 if (var == NULL) {
3452 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
3453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8671);
3454 exit(1);
3455 }
3456 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3457 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3458 var2 = NULL;
3459 if (var1 == NULL) {
3460 var3 = 0; /* is null */
3461 } else {
3462 var3 = 1; /* arg is null and recv is not */
3463 }
3464 if (var3){
3465 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3466 if (var4 == NULL) {
3467 fprintf(stderr, "Runtime error: %s", "Cast failed");
3468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8673);
3469 exit(1);
3470 }
3471 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3472 } else {
3473 }
3474 RET_LABEL:;
3475 }
3476 /* method parser_prod#AArrayExpr#visit_all for (self: Object, Visitor) */
3477 void VIRTUAL_parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3478 parser_prod__AArrayExpr__visit_all(self, p0);
3479 RET_LABEL:;
3480 }
3481 /* method parser_prod#ASelfExpr#empty_init for (self: ASelfExpr) */
3482 void parser_prod__ASelfExpr__empty_init(val* self) {
3483 RET_LABEL:;
3484 }
3485 /* method parser_prod#ASelfExpr#empty_init for (self: Object) */
3486 void VIRTUAL_parser_prod__ASelfExpr__empty_init(val* self) {
3487 parser_prod__ASelfExpr__empty_init(self);
3488 RET_LABEL:;
3489 }
3490 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: ASelfExpr, nullable TKwself, nullable AAnnotations) */
3491 void parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3492 val* var_n_kwself /* var n_kwself: nullable TKwself */;
3493 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3494 val* var /* : null */;
3495 short int var1 /* : Bool */;
3496 var_n_kwself = p0;
3497 var_n_annotations = p1;
3498 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASelfExpr__empty_init]))(self) /* empty_init on <self:ASelfExpr>*/;
3499 if (var_n_kwself == NULL) {
3500 fprintf(stderr, "Runtime error: %s", "Cast failed");
3501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8686);
3502 exit(1);
3503 }
3504 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_n_kwself; /* _n_kwself on <self:ASelfExpr> */
3505 if (var_n_kwself == NULL) {
3506 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8687);
3508 exit(1);
3509 } else {
3510 ((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>*/;
3511 }
3512 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASelfExpr> */
3513 var = NULL;
3514 if (var_n_annotations == NULL) {
3515 var1 = 0; /* is null */
3516 } else {
3517 var1 = 1; /* arg is null and recv is not */
3518 }
3519 if (var1){
3520 ((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)>*/;
3521 } else {
3522 }
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: Object, nullable TKwself, nullable AAnnotations) */
3526 void VIRTUAL_parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3527 parser_prod__ASelfExpr__init_aselfexpr(self, p0, p1);
3528 RET_LABEL:;
3529 }
3530 /* method parser_prod#ASelfExpr#replace_child for (self: ASelfExpr, ANode, nullable ANode) */
3531 void parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3532 val* var_old_child /* var old_child: ANode */;
3533 val* var_new_child /* var new_child: nullable ANode */;
3534 val* var /* : nullable TKwself */;
3535 short int var1 /* : Bool */;
3536 val* var2 /* : null */;
3537 short int var3 /* : Bool */;
3538 short int var4 /* : Bool */;
3539 int cltype;
3540 int idtype;
3541 val* var5 /* : nullable AAnnotations */;
3542 short int var6 /* : Bool */;
3543 val* var7 /* : null */;
3544 short int var8 /* : Bool */;
3545 short int var9 /* : Bool */;
3546 int cltype10;
3547 int idtype11;
3548 val* var12 /* : null */;
3549 var_old_child = p0;
3550 var_new_child = p1;
3551 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3552 if (var == NULL) {
3553 var1 = 0; /* <var_old_child:ANode> cannot be null */
3554 } else {
3555 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TKwself>*/;
3556 }
3557 if (var1){
3558 var2 = NULL;
3559 if (var_new_child == NULL) {
3560 var3 = 0; /* is null */
3561 } else {
3562 var3 = 1; /* arg is null and recv is not */
3563 }
3564 if (var3){
3565 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3566 /* <var_new_child:nullable ANode(ANode)> isa TKwself */
3567 cltype = type_parser_nodes__TKwself.color;
3568 idtype = type_parser_nodes__TKwself.id;
3569 if(cltype >= var_new_child->type->table_size) {
3570 var4 = 0;
3571 } else {
3572 var4 = var_new_child->type->type_table[cltype] == idtype;
3573 }
3574 if (!var4) {
3575 fprintf(stderr, "Runtime error: %s", "Assert failed");
3576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8699);
3577 exit(1);
3578 }
3579 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_new_child; /* _n_kwself on <self:ASelfExpr> */
3580 } else {
3581 fprintf(stderr, "Runtime error: %s", "Aborted");
3582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8702);
3583 exit(1);
3584 }
3585 goto RET_LABEL;
3586 } else {
3587 }
3588 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3589 if (var5 == NULL) {
3590 var6 = 0; /* <var_old_child:ANode> cannot be null */
3591 } else {
3592 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3593 }
3594 if (var6){
3595 var7 = NULL;
3596 if (var_new_child == NULL) {
3597 var8 = 0; /* is null */
3598 } else {
3599 var8 = 1; /* arg is null and recv is not */
3600 }
3601 if (var8){
3602 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3603 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3604 cltype10 = type_parser_nodes__AAnnotations.color;
3605 idtype11 = type_parser_nodes__AAnnotations.id;
3606 if(cltype10 >= var_new_child->type->table_size) {
3607 var9 = 0;
3608 } else {
3609 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3610 }
3611 if (!var9) {
3612 fprintf(stderr, "Runtime error: %s", "Assert failed");
3613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8709);
3614 exit(1);
3615 }
3616 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASelfExpr> */
3617 } else {
3618 var12 = NULL;
3619 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ASelfExpr> */
3620 }
3621 goto RET_LABEL;
3622 } else {
3623 }
3624 RET_LABEL:;
3625 }
3626 /* method parser_prod#ASelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3627 void VIRTUAL_parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3628 parser_prod__ASelfExpr__replace_child(self, p0, p1);
3629 RET_LABEL:;
3630 }
3631 /* method parser_prod#ASelfExpr#n_kwself= for (self: ASelfExpr, nullable TKwself) */
3632 void parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3633 val* var_node /* var node: nullable TKwself */;
3634 var_node = p0;
3635 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_node; /* _n_kwself on <self:ASelfExpr> */
3636 if (var_node == NULL) {
3637 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8721);
3639 exit(1);
3640 } else {
3641 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwself>*/;
3642 }
3643 RET_LABEL:;
3644 }
3645 /* method parser_prod#ASelfExpr#n_kwself= for (self: Object, nullable TKwself) */
3646 void VIRTUAL_parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3647 parser_prod__ASelfExpr__n_kwself_61d(self, p0);
3648 RET_LABEL:;
3649 }
3650 /* method parser_prod#ASelfExpr#n_annotations= for (self: ASelfExpr, nullable AAnnotations) */
3651 void parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3652 val* var_node /* var node: nullable AAnnotations */;
3653 val* var /* : null */;
3654 short int var1 /* : Bool */;
3655 var_node = p0;
3656 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASelfExpr> */
3657 var = NULL;
3658 if (var_node == NULL) {
3659 var1 = 0; /* is null */
3660 } else {
3661 var1 = 1; /* arg is null and recv is not */
3662 }
3663 if (var1){
3664 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3665 } else {
3666 }
3667 RET_LABEL:;
3668 }
3669 /* method parser_prod#ASelfExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3670 void VIRTUAL_parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3671 parser_prod__ASelfExpr__n_annotations_61d(self, p0);
3672 RET_LABEL:;
3673 }
3674 /* method parser_prod#ASelfExpr#visit_all for (self: ASelfExpr, Visitor) */
3675 void parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3676 val* var_v /* var v: Visitor */;
3677 val* var /* : nullable TKwself */;
3678 val* var1 /* : nullable AAnnotations */;
3679 val* var2 /* : null */;
3680 short int var3 /* : Bool */;
3681 val* var4 /* : nullable AAnnotations */;
3682 var_v = p0;
3683 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3684 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3685 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3686 var2 = NULL;
3687 if (var1 == NULL) {
3688 var3 = 0; /* is null */
3689 } else {
3690 var3 = 1; /* arg is null and recv is not */
3691 }
3692 if (var3){
3693 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3694 if (var4 == NULL) {
3695 fprintf(stderr, "Runtime error: %s", "Cast failed");
3696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8736);
3697 exit(1);
3698 }
3699 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3700 } else {
3701 }
3702 RET_LABEL:;
3703 }
3704 /* method parser_prod#ASelfExpr#visit_all for (self: Object, Visitor) */
3705 void VIRTUAL_parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3706 parser_prod__ASelfExpr__visit_all(self, p0);
3707 RET_LABEL:;
3708 }
3709 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: AImplicitSelfExpr) */
3710 void parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3711 RET_LABEL:;
3712 }
3713 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: Object) */
3714 void VIRTUAL_parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3715 parser_prod__AImplicitSelfExpr__empty_init(self);
3716 RET_LABEL:;
3717 }
3718 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: AImplicitSelfExpr) */
3719 void parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3720 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImplicitSelfExpr__empty_init]))(self) /* empty_init on <self:AImplicitSelfExpr>*/;
3721 RET_LABEL:;
3722 }
3723 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: Object) */
3724 void VIRTUAL_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3725 parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(self);
3726 RET_LABEL:;
3727 }
3728 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: AImplicitSelfExpr, ANode, nullable ANode) */
3729 void parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3730 val* var_old_child /* var old_child: ANode */;
3731 val* var_new_child /* var new_child: nullable ANode */;
3732 var_old_child = p0;
3733 var_new_child = p1;
3734 RET_LABEL:;
3735 }
3736 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3737 void VIRTUAL_parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3738 parser_prod__AImplicitSelfExpr__replace_child(self, p0, p1);
3739 RET_LABEL:;
3740 }
3741 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: AImplicitSelfExpr, Visitor) */
3742 void parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3743 val* var_v /* var v: Visitor */;
3744 var_v = p0;
3745 RET_LABEL:;
3746 }
3747 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: Object, Visitor) */
3748 void VIRTUAL_parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3749 parser_prod__AImplicitSelfExpr__visit_all(self, p0);
3750 RET_LABEL:;
3751 }
3752 /* method parser_prod#ATrueExpr#empty_init for (self: ATrueExpr) */
3753 void parser_prod__ATrueExpr__empty_init(val* self) {
3754 RET_LABEL:;
3755 }
3756 /* method parser_prod#ATrueExpr#empty_init for (self: Object) */
3757 void VIRTUAL_parser_prod__ATrueExpr__empty_init(val* self) {
3758 parser_prod__ATrueExpr__empty_init(self);
3759 RET_LABEL:;
3760 }
3761 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: ATrueExpr, nullable TKwtrue, nullable AAnnotations) */
3762 void parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3763 val* var_n_kwtrue /* var n_kwtrue: nullable TKwtrue */;
3764 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3765 val* var /* : null */;
3766 short int var1 /* : Bool */;
3767 var_n_kwtrue = p0;
3768 var_n_annotations = p1;
3769 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATrueExpr__empty_init]))(self) /* empty_init on <self:ATrueExpr>*/;
3770 if (var_n_kwtrue == NULL) {
3771 fprintf(stderr, "Runtime error: %s", "Cast failed");
3772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8767);
3773 exit(1);
3774 }
3775 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_n_kwtrue; /* _n_kwtrue on <self:ATrueExpr> */
3776 if (var_n_kwtrue == NULL) {
3777 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8768);
3779 exit(1);
3780 } else {
3781 ((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>*/;
3782 }
3783 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ATrueExpr> */
3784 var = NULL;
3785 if (var_n_annotations == NULL) {
3786 var1 = 0; /* is null */
3787 } else {
3788 var1 = 1; /* arg is null and recv is not */
3789 }
3790 if (var1){
3791 ((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)>*/;
3792 } else {
3793 }
3794 RET_LABEL:;
3795 }
3796 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: Object, nullable TKwtrue, nullable AAnnotations) */
3797 void VIRTUAL_parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3798 parser_prod__ATrueExpr__init_atrueexpr(self, p0, p1);
3799 RET_LABEL:;
3800 }
3801 /* method parser_prod#ATrueExpr#replace_child for (self: ATrueExpr, ANode, nullable ANode) */
3802 void parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3803 val* var_old_child /* var old_child: ANode */;
3804 val* var_new_child /* var new_child: nullable ANode */;
3805 val* var /* : TKwtrue */;
3806 short int var1 /* : Bool */;
3807 val* var2 /* : null */;
3808 short int var3 /* : Bool */;
3809 short int var4 /* : Bool */;
3810 int cltype;
3811 int idtype;
3812 val* var5 /* : nullable AAnnotations */;
3813 short int var6 /* : Bool */;
3814 val* var7 /* : null */;
3815 short int var8 /* : Bool */;
3816 short int var9 /* : Bool */;
3817 int cltype10;
3818 int idtype11;
3819 val* var12 /* : null */;
3820 var_old_child = p0;
3821 var_new_child = p1;
3822 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3823 if (var == NULL) {
3824 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtrue");
3825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8777);
3826 exit(1);
3827 }
3828 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwtrue>*/;
3829 if (var1){
3830 var2 = NULL;
3831 if (var_new_child == NULL) {
3832 var3 = 0; /* is null */
3833 } else {
3834 var3 = 1; /* arg is null and recv is not */
3835 }
3836 if (var3){
3837 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3838 /* <var_new_child:nullable ANode(ANode)> isa TKwtrue */
3839 cltype = type_parser_nodes__TKwtrue.color;
3840 idtype = type_parser_nodes__TKwtrue.id;
3841 if(cltype >= var_new_child->type->table_size) {
3842 var4 = 0;
3843 } else {
3844 var4 = var_new_child->type->type_table[cltype] == idtype;
3845 }
3846 if (!var4) {
3847 fprintf(stderr, "Runtime error: %s", "Assert failed");
3848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8780);
3849 exit(1);
3850 }
3851 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_new_child; /* _n_kwtrue on <self:ATrueExpr> */
3852 } else {
3853 fprintf(stderr, "Runtime error: %s", "Aborted");
3854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8783);
3855 exit(1);
3856 }
3857 goto RET_LABEL;
3858 } else {
3859 }
3860 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3861 if (var5 == NULL) {
3862 var6 = 0; /* <var_old_child:ANode> cannot be null */
3863 } else {
3864 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3865 }
3866 if (var6){
3867 var7 = NULL;
3868 if (var_new_child == NULL) {
3869 var8 = 0; /* is null */
3870 } else {
3871 var8 = 1; /* arg is null and recv is not */
3872 }
3873 if (var8){
3874 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3875 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3876 cltype10 = type_parser_nodes__AAnnotations.color;
3877 idtype11 = type_parser_nodes__AAnnotations.id;
3878 if(cltype10 >= var_new_child->type->table_size) {
3879 var9 = 0;
3880 } else {
3881 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3882 }
3883 if (!var9) {
3884 fprintf(stderr, "Runtime error: %s", "Assert failed");
3885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8790);
3886 exit(1);
3887 }
3888 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ATrueExpr> */
3889 } else {
3890 var12 = NULL;
3891 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ATrueExpr> */
3892 }
3893 goto RET_LABEL;
3894 } else {
3895 }
3896 RET_LABEL:;
3897 }
3898 /* method parser_prod#ATrueExpr#replace_child for (self: Object, ANode, nullable ANode) */
3899 void VIRTUAL_parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3900 parser_prod__ATrueExpr__replace_child(self, p0, p1);
3901 RET_LABEL:;
3902 }
3903 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: ATrueExpr, TKwtrue) */
3904 void parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3905 val* var_node /* var node: TKwtrue */;
3906 var_node = p0;
3907 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_node; /* _n_kwtrue on <self:ATrueExpr> */
3908 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtrue>*/;
3909 RET_LABEL:;
3910 }
3911 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: Object, TKwtrue) */
3912 void VIRTUAL_parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3913 parser_prod__ATrueExpr__n_kwtrue_61d(self, p0);
3914 RET_LABEL:;
3915 }
3916 /* method parser_prod#ATrueExpr#n_annotations= for (self: ATrueExpr, nullable AAnnotations) */
3917 void parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3918 val* var_node /* var node: nullable AAnnotations */;
3919 val* var /* : null */;
3920 short int var1 /* : Bool */;
3921 var_node = p0;
3922 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ATrueExpr> */
3923 var = NULL;
3924 if (var_node == NULL) {
3925 var1 = 0; /* is null */
3926 } else {
3927 var1 = 1; /* arg is null and recv is not */
3928 }
3929 if (var1){
3930 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3931 } else {
3932 }
3933 RET_LABEL:;
3934 }
3935 /* method parser_prod#ATrueExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3936 void VIRTUAL_parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3937 parser_prod__ATrueExpr__n_annotations_61d(self, p0);
3938 RET_LABEL:;
3939 }
3940 /* method parser_prod#ATrueExpr#visit_all for (self: ATrueExpr, Visitor) */
3941 void parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3942 val* var_v /* var v: Visitor */;
3943 val* var /* : TKwtrue */;
3944 val* var1 /* : nullable AAnnotations */;
3945 val* var2 /* : null */;
3946 short int var3 /* : Bool */;
3947 val* var4 /* : nullable AAnnotations */;
3948 var_v = p0;
3949 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3950 if (var == NULL) {
3951 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtrue");
3952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8815);
3953 exit(1);
3954 }
3955 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3956 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3957 var2 = NULL;
3958 if (var1 == NULL) {
3959 var3 = 0; /* is null */
3960 } else {
3961 var3 = 1; /* arg is null and recv is not */
3962 }
3963 if (var3){
3964 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3965 if (var4 == NULL) {
3966 fprintf(stderr, "Runtime error: %s", "Cast failed");
3967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8817);
3968 exit(1);
3969 }
3970 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3971 } else {
3972 }
3973 RET_LABEL:;
3974 }
3975 /* method parser_prod#ATrueExpr#visit_all for (self: Object, Visitor) */
3976 void VIRTUAL_parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3977 parser_prod__ATrueExpr__visit_all(self, p0);
3978 RET_LABEL:;
3979 }
3980 /* method parser_prod#AFalseExpr#empty_init for (self: AFalseExpr) */
3981 void parser_prod__AFalseExpr__empty_init(val* self) {
3982 RET_LABEL:;
3983 }
3984 /* method parser_prod#AFalseExpr#empty_init for (self: Object) */
3985 void VIRTUAL_parser_prod__AFalseExpr__empty_init(val* self) {
3986 parser_prod__AFalseExpr__empty_init(self);
3987 RET_LABEL:;
3988 }
3989 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: AFalseExpr, nullable TKwfalse, nullable AAnnotations) */
3990 void parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
3991 val* var_n_kwfalse /* var n_kwfalse: nullable TKwfalse */;
3992 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3993 val* var /* : null */;
3994 short int var1 /* : Bool */;
3995 var_n_kwfalse = p0;
3996 var_n_annotations = p1;
3997 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFalseExpr__empty_init]))(self) /* empty_init on <self:AFalseExpr>*/;
3998 if (var_n_kwfalse == NULL) {
3999 fprintf(stderr, "Runtime error: %s", "Cast failed");
4000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8830);
4001 exit(1);
4002 }
4003 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_n_kwfalse; /* _n_kwfalse on <self:AFalseExpr> */
4004 if (var_n_kwfalse == NULL) {
4005 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8831);
4007 exit(1);
4008 } else {
4009 ((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>*/;
4010 }
4011 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFalseExpr> */
4012 var = NULL;
4013 if (var_n_annotations == NULL) {
4014 var1 = 0; /* is null */
4015 } else {
4016 var1 = 1; /* arg is null and recv is not */
4017 }
4018 if (var1){
4019 ((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)>*/;
4020 } else {
4021 }
4022 RET_LABEL:;
4023 }
4024 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: Object, nullable TKwfalse, nullable AAnnotations) */
4025 void VIRTUAL_parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
4026 parser_prod__AFalseExpr__init_afalseexpr(self, p0, p1);
4027 RET_LABEL:;
4028 }
4029 /* method parser_prod#AFalseExpr#replace_child for (self: AFalseExpr, ANode, nullable ANode) */
4030 void parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
4031 val* var_old_child /* var old_child: ANode */;
4032 val* var_new_child /* var new_child: nullable ANode */;
4033 val* var /* : TKwfalse */;
4034 short int var1 /* : Bool */;
4035 val* var2 /* : null */;
4036 short int var3 /* : Bool */;
4037 short int var4 /* : Bool */;
4038 int cltype;
4039 int idtype;
4040 val* var5 /* : nullable AAnnotations */;
4041 short int var6 /* : Bool */;
4042 val* var7 /* : null */;
4043 short int var8 /* : Bool */;
4044 short int var9 /* : Bool */;
4045 int cltype10;
4046 int idtype11;
4047 val* var12 /* : null */;
4048 var_old_child = p0;
4049 var_new_child = p1;
4050 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4051 if (var == NULL) {
4052 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfalse");
4053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8840);
4054 exit(1);
4055 }
4056 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfalse>*/;
4057 if (var1){
4058 var2 = NULL;
4059 if (var_new_child == NULL) {
4060 var3 = 0; /* is null */
4061 } else {
4062 var3 = 1; /* arg is null and recv is not */
4063 }
4064 if (var3){
4065 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4066 /* <var_new_child:nullable ANode(ANode)> isa TKwfalse */
4067 cltype = type_parser_nodes__TKwfalse.color;
4068 idtype = type_parser_nodes__TKwfalse.id;
4069 if(cltype >= var_new_child->type->table_size) {
4070 var4 = 0;
4071 } else {
4072 var4 = var_new_child->type->type_table[cltype] == idtype;
4073 }
4074 if (!var4) {
4075 fprintf(stderr, "Runtime error: %s", "Assert failed");
4076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8843);
4077 exit(1);
4078 }
4079 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_new_child; /* _n_kwfalse on <self:AFalseExpr> */
4080 } else {
4081 fprintf(stderr, "Runtime error: %s", "Aborted");
4082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8846);
4083 exit(1);
4084 }
4085 goto RET_LABEL;
4086 } else {
4087 }
4088 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4089 if (var5 == NULL) {
4090 var6 = 0; /* <var_old_child:ANode> cannot be null */
4091 } else {
4092 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4093 }
4094 if (var6){
4095 var7 = NULL;
4096 if (var_new_child == NULL) {
4097 var8 = 0; /* is null */
4098 } else {
4099 var8 = 1; /* arg is null and recv is not */
4100 }
4101 if (var8){
4102 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4103 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4104 cltype10 = type_parser_nodes__AAnnotations.color;
4105 idtype11 = type_parser_nodes__AAnnotations.id;
4106 if(cltype10 >= var_new_child->type->table_size) {
4107 var9 = 0;
4108 } else {
4109 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4110 }
4111 if (!var9) {
4112 fprintf(stderr, "Runtime error: %s", "Assert failed");
4113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8853);
4114 exit(1);
4115 }
4116 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFalseExpr> */
4117 } else {
4118 var12 = NULL;
4119 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFalseExpr> */
4120 }
4121 goto RET_LABEL;
4122 } else {
4123 }
4124 RET_LABEL:;
4125 }
4126 /* method parser_prod#AFalseExpr#replace_child for (self: Object, ANode, nullable ANode) */
4127 void VIRTUAL_parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
4128 parser_prod__AFalseExpr__replace_child(self, p0, p1);
4129 RET_LABEL:;
4130 }
4131 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: AFalseExpr, TKwfalse) */
4132 void parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4133 val* var_node /* var node: TKwfalse */;
4134 var_node = p0;
4135 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_node; /* _n_kwfalse on <self:AFalseExpr> */
4136 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfalse>*/;
4137 RET_LABEL:;
4138 }
4139 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: Object, TKwfalse) */
4140 void VIRTUAL_parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4141 parser_prod__AFalseExpr__n_kwfalse_61d(self, p0);
4142 RET_LABEL:;
4143 }
4144 /* method parser_prod#AFalseExpr#n_annotations= for (self: AFalseExpr, nullable AAnnotations) */
4145 void parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4146 val* var_node /* var node: nullable AAnnotations */;
4147 val* var /* : null */;
4148 short int var1 /* : Bool */;
4149 var_node = p0;
4150 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFalseExpr> */
4151 var = NULL;
4152 if (var_node == NULL) {
4153 var1 = 0; /* is null */
4154 } else {
4155 var1 = 1; /* arg is null and recv is not */
4156 }
4157 if (var1){
4158 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4159 } else {
4160 }
4161 RET_LABEL:;
4162 }
4163 /* method parser_prod#AFalseExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4164 void VIRTUAL_parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4165 parser_prod__AFalseExpr__n_annotations_61d(self, p0);
4166 RET_LABEL:;
4167 }
4168 /* method parser_prod#AFalseExpr#visit_all for (self: AFalseExpr, Visitor) */
4169 void parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4170 val* var_v /* var v: Visitor */;
4171 val* var /* : TKwfalse */;
4172 val* var1 /* : nullable AAnnotations */;
4173 val* var2 /* : null */;
4174 short int var3 /* : Bool */;
4175 val* var4 /* : nullable AAnnotations */;
4176 var_v = p0;
4177 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4178 if (var == NULL) {
4179 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfalse");
4180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8878);
4181 exit(1);
4182 }
4183 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4184 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4185 var2 = NULL;
4186 if (var1 == NULL) {
4187 var3 = 0; /* is null */
4188 } else {
4189 var3 = 1; /* arg is null and recv is not */
4190 }
4191 if (var3){
4192 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4193 if (var4 == NULL) {
4194 fprintf(stderr, "Runtime error: %s", "Cast failed");
4195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8880);
4196 exit(1);
4197 }
4198 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4199 } else {
4200 }
4201 RET_LABEL:;
4202 }
4203 /* method parser_prod#AFalseExpr#visit_all for (self: Object, Visitor) */
4204 void VIRTUAL_parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4205 parser_prod__AFalseExpr__visit_all(self, p0);
4206 RET_LABEL:;
4207 }
4208 /* method parser_prod#ANullExpr#empty_init for (self: ANullExpr) */
4209 void parser_prod__ANullExpr__empty_init(val* self) {
4210 RET_LABEL:;
4211 }
4212 /* method parser_prod#ANullExpr#empty_init for (self: Object) */
4213 void VIRTUAL_parser_prod__ANullExpr__empty_init(val* self) {
4214 parser_prod__ANullExpr__empty_init(self);
4215 RET_LABEL:;
4216 }
4217 /* method parser_prod#ANullExpr#init_anullexpr for (self: ANullExpr, nullable TKwnull, nullable AAnnotations) */
4218 void parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4219 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
4220 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4221 val* var /* : null */;
4222 short int var1 /* : Bool */;
4223 var_n_kwnull = p0;
4224 var_n_annotations = p1;
4225 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANullExpr__empty_init]))(self) /* empty_init on <self:ANullExpr>*/;
4226 if (var_n_kwnull == NULL) {
4227 fprintf(stderr, "Runtime error: %s", "Cast failed");
4228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8893);
4229 exit(1);
4230 }
4231 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:ANullExpr> */
4232 if (var_n_kwnull == NULL) {
4233 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8894);
4235 exit(1);
4236 } else {
4237 ((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>*/;
4238 }
4239 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ANullExpr> */
4240 var = NULL;
4241 if (var_n_annotations == NULL) {
4242 var1 = 0; /* is null */
4243 } else {
4244 var1 = 1; /* arg is null and recv is not */
4245 }
4246 if (var1){
4247 ((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)>*/;
4248 } else {
4249 }
4250 RET_LABEL:;
4251 }
4252 /* method parser_prod#ANullExpr#init_anullexpr for (self: Object, nullable TKwnull, nullable AAnnotations) */
4253 void VIRTUAL_parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4254 parser_prod__ANullExpr__init_anullexpr(self, p0, p1);
4255 RET_LABEL:;
4256 }
4257 /* method parser_prod#ANullExpr#replace_child for (self: ANullExpr, ANode, nullable ANode) */
4258 void parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4259 val* var_old_child /* var old_child: ANode */;
4260 val* var_new_child /* var new_child: nullable ANode */;
4261 val* var /* : TKwnull */;
4262 short int var1 /* : Bool */;
4263 val* var2 /* : null */;
4264 short int var3 /* : Bool */;
4265 short int var4 /* : Bool */;
4266 int cltype;
4267 int idtype;
4268 val* var5 /* : nullable AAnnotations */;
4269 short int var6 /* : Bool */;
4270 val* var7 /* : null */;
4271 short int var8 /* : Bool */;
4272 short int var9 /* : Bool */;
4273 int cltype10;
4274 int idtype11;
4275 val* var12 /* : null */;
4276 var_old_child = p0;
4277 var_new_child = p1;
4278 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4279 if (var == NULL) {
4280 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
4281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8903);
4282 exit(1);
4283 }
4284 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnull>*/;
4285 if (var1){
4286 var2 = NULL;
4287 if (var_new_child == NULL) {
4288 var3 = 0; /* is null */
4289 } else {
4290 var3 = 1; /* arg is null and recv is not */
4291 }
4292 if (var3){
4293 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4294 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
4295 cltype = type_parser_nodes__TKwnull.color;
4296 idtype = type_parser_nodes__TKwnull.id;
4297 if(cltype >= var_new_child->type->table_size) {
4298 var4 = 0;
4299 } else {
4300 var4 = var_new_child->type->type_table[cltype] == idtype;
4301 }
4302 if (!var4) {
4303 fprintf(stderr, "Runtime error: %s", "Assert failed");
4304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8906);
4305 exit(1);
4306 }
4307 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:ANullExpr> */
4308 } else {
4309 fprintf(stderr, "Runtime error: %s", "Aborted");
4310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8909);
4311 exit(1);
4312 }
4313 goto RET_LABEL;
4314 } else {
4315 }
4316 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4317 if (var5 == NULL) {
4318 var6 = 0; /* <var_old_child:ANode> cannot be null */
4319 } else {
4320 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4321 }
4322 if (var6){
4323 var7 = NULL;
4324 if (var_new_child == NULL) {
4325 var8 = 0; /* is null */
4326 } else {
4327 var8 = 1; /* arg is null and recv is not */
4328 }
4329 if (var8){
4330 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4331 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4332 cltype10 = type_parser_nodes__AAnnotations.color;
4333 idtype11 = type_parser_nodes__AAnnotations.id;
4334 if(cltype10 >= var_new_child->type->table_size) {
4335 var9 = 0;
4336 } else {
4337 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4338 }
4339 if (!var9) {
4340 fprintf(stderr, "Runtime error: %s", "Assert failed");
4341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8916);
4342 exit(1);
4343 }
4344 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ANullExpr> */
4345 } else {
4346 var12 = NULL;
4347 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ANullExpr> */
4348 }
4349 goto RET_LABEL;
4350 } else {
4351 }
4352 RET_LABEL:;
4353 }
4354 /* method parser_prod#ANullExpr#replace_child for (self: Object, ANode, nullable ANode) */
4355 void VIRTUAL_parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4356 parser_prod__ANullExpr__replace_child(self, p0, p1);
4357 RET_LABEL:;
4358 }
4359 /* method parser_prod#ANullExpr#n_kwnull= for (self: ANullExpr, TKwnull) */
4360 void parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4361 val* var_node /* var node: TKwnull */;
4362 var_node = p0;
4363 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:ANullExpr> */
4364 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
4365 RET_LABEL:;
4366 }
4367 /* method parser_prod#ANullExpr#n_kwnull= for (self: Object, TKwnull) */
4368 void VIRTUAL_parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4369 parser_prod__ANullExpr__n_kwnull_61d(self, p0);
4370 RET_LABEL:;
4371 }
4372 /* method parser_prod#ANullExpr#n_annotations= for (self: ANullExpr, nullable AAnnotations) */
4373 void parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4374 val* var_node /* var node: nullable AAnnotations */;
4375 val* var /* : null */;
4376 short int var1 /* : Bool */;
4377 var_node = p0;
4378 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ANullExpr> */
4379 var = NULL;
4380 if (var_node == NULL) {
4381 var1 = 0; /* is null */
4382 } else {
4383 var1 = 1; /* arg is null and recv is not */
4384 }
4385 if (var1){
4386 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4387 } else {
4388 }
4389 RET_LABEL:;
4390 }
4391 /* method parser_prod#ANullExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4392 void VIRTUAL_parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4393 parser_prod__ANullExpr__n_annotations_61d(self, p0);
4394 RET_LABEL:;
4395 }
4396 /* method parser_prod#ANullExpr#visit_all for (self: ANullExpr, Visitor) */
4397 void parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4398 val* var_v /* var v: Visitor */;
4399 val* var /* : TKwnull */;
4400 val* var1 /* : nullable AAnnotations */;
4401 val* var2 /* : null */;
4402 short int var3 /* : Bool */;
4403 val* var4 /* : nullable AAnnotations */;
4404 var_v = p0;
4405 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4406 if (var == NULL) {
4407 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
4408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8941);
4409 exit(1);
4410 }
4411 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4412 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4413 var2 = NULL;
4414 if (var1 == NULL) {
4415 var3 = 0; /* is null */
4416 } else {
4417 var3 = 1; /* arg is null and recv is not */
4418 }
4419 if (var3){
4420 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4421 if (var4 == NULL) {
4422 fprintf(stderr, "Runtime error: %s", "Cast failed");
4423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8943);
4424 exit(1);
4425 }
4426 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4427 } else {
4428 }
4429 RET_LABEL:;
4430 }
4431 /* method parser_prod#ANullExpr#visit_all for (self: Object, Visitor) */
4432 void VIRTUAL_parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4433 parser_prod__ANullExpr__visit_all(self, p0);
4434 RET_LABEL:;
4435 }
4436 /* method parser_prod#AIntExpr#empty_init for (self: AIntExpr) */
4437 void parser_prod__AIntExpr__empty_init(val* self) {
4438 RET_LABEL:;
4439 }
4440 /* method parser_prod#AIntExpr#empty_init for (self: Object) */
4441 void VIRTUAL_parser_prod__AIntExpr__empty_init(val* self) {
4442 parser_prod__AIntExpr__empty_init(self);
4443 RET_LABEL:;
4444 }
4445 /* method parser_prod#AIntExpr#init_aintexpr for (self: AIntExpr, nullable TNumber, nullable AAnnotations) */
4446 void parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4447 val* var_n_number /* var n_number: nullable TNumber */;
4448 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4449 val* var /* : null */;
4450 short int var1 /* : Bool */;
4451 var_n_number = p0;
4452 var_n_annotations = p1;
4453 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntExpr__empty_init]))(self) /* empty_init on <self:AIntExpr>*/;
4454 if (var_n_number == NULL) {
4455 fprintf(stderr, "Runtime error: %s", "Cast failed");
4456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8956);
4457 exit(1);
4458 }
4459 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_n_number; /* _n_number on <self:AIntExpr> */
4460 if (var_n_number == NULL) {
4461 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8957);
4463 exit(1);
4464 } else {
4465 ((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>*/;
4466 }
4467 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AIntExpr> */
4468 var = NULL;
4469 if (var_n_annotations == NULL) {
4470 var1 = 0; /* is null */
4471 } else {
4472 var1 = 1; /* arg is null and recv is not */
4473 }
4474 if (var1){
4475 ((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)>*/;
4476 } else {
4477 }
4478 RET_LABEL:;
4479 }
4480 /* method parser_prod#AIntExpr#init_aintexpr for (self: Object, nullable TNumber, nullable AAnnotations) */
4481 void VIRTUAL_parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4482 parser_prod__AIntExpr__init_aintexpr(self, p0, p1);
4483 RET_LABEL:;
4484 }
4485 /* method parser_prod#AIntExpr#replace_child for (self: AIntExpr, ANode, nullable ANode) */
4486 void parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4487 val* var_old_child /* var old_child: ANode */;
4488 val* var_new_child /* var new_child: nullable ANode */;
4489 val* var /* : TNumber */;
4490 short int var1 /* : Bool */;
4491 val* var2 /* : null */;
4492 short int var3 /* : Bool */;
4493 short int var4 /* : Bool */;
4494 int cltype;
4495 int idtype;
4496 val* var5 /* : nullable AAnnotations */;
4497 short int var6 /* : Bool */;
4498 val* var7 /* : null */;
4499 short int var8 /* : Bool */;
4500 short int var9 /* : Bool */;
4501 int cltype10;
4502 int idtype11;
4503 val* var12 /* : null */;
4504 var_old_child = p0;
4505 var_new_child = p1;
4506 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4507 if (var == NULL) {
4508 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_number");
4509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8966);
4510 exit(1);
4511 }
4512 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TNumber>*/;
4513 if (var1){
4514 var2 = NULL;
4515 if (var_new_child == NULL) {
4516 var3 = 0; /* is null */
4517 } else {
4518 var3 = 1; /* arg is null and recv is not */
4519 }
4520 if (var3){
4521 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4522 /* <var_new_child:nullable ANode(ANode)> isa TNumber */
4523 cltype = type_parser_nodes__TNumber.color;
4524 idtype = type_parser_nodes__TNumber.id;
4525 if(cltype >= var_new_child->type->table_size) {
4526 var4 = 0;
4527 } else {
4528 var4 = var_new_child->type->type_table[cltype] == idtype;
4529 }
4530 if (!var4) {
4531 fprintf(stderr, "Runtime error: %s", "Assert failed");
4532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8969);
4533 exit(1);
4534 }
4535 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_new_child; /* _n_number on <self:AIntExpr> */
4536 } else {
4537 fprintf(stderr, "Runtime error: %s", "Aborted");
4538 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8972);
4539 exit(1);
4540 }
4541 goto RET_LABEL;
4542 } else {
4543 }
4544 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4545 if (var5 == NULL) {
4546 var6 = 0; /* <var_old_child:ANode> cannot be null */
4547 } else {
4548 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4549 }
4550 if (var6){
4551 var7 = NULL;
4552 if (var_new_child == NULL) {
4553 var8 = 0; /* is null */
4554 } else {
4555 var8 = 1; /* arg is null and recv is not */
4556 }
4557 if (var8){
4558 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4559 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4560 cltype10 = type_parser_nodes__AAnnotations.color;
4561 idtype11 = type_parser_nodes__AAnnotations.id;
4562 if(cltype10 >= var_new_child->type->table_size) {
4563 var9 = 0;
4564 } else {
4565 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4566 }
4567 if (!var9) {
4568 fprintf(stderr, "Runtime error: %s", "Assert failed");
4569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 8979);
4570 exit(1);
4571 }
4572 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AIntExpr> */
4573 } else {
4574 var12 = NULL;
4575 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AIntExpr> */
4576 }
4577 goto RET_LABEL;
4578 } else {
4579 }
4580 RET_LABEL:;
4581 }
4582 /* method parser_prod#AIntExpr#replace_child for (self: Object, ANode, nullable ANode) */
4583 void VIRTUAL_parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4584 parser_prod__AIntExpr__replace_child(self, p0, p1);
4585 RET_LABEL:;
4586 }
4587 /* method parser_prod#AIntExpr#n_number= for (self: AIntExpr, TNumber) */
4588 void parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4589 val* var_node /* var node: TNumber */;
4590 var_node = p0;
4591 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_node; /* _n_number on <self:AIntExpr> */
4592 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TNumber>*/;
4593 RET_LABEL:;
4594 }
4595 /* method parser_prod#AIntExpr#n_number= for (self: Object, TNumber) */
4596 void VIRTUAL_parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4597 parser_prod__AIntExpr__n_number_61d(self, p0);
4598 RET_LABEL:;
4599 }
4600 /* method parser_prod#AIntExpr#n_annotations= for (self: AIntExpr, nullable AAnnotations) */
4601 void parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4602 val* var_node /* var node: nullable AAnnotations */;
4603 val* var /* : null */;
4604 short int var1 /* : Bool */;
4605 var_node = p0;
4606 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AIntExpr> */
4607 var = NULL;
4608 if (var_node == NULL) {
4609 var1 = 0; /* is null */
4610 } else {
4611 var1 = 1; /* arg is null and recv is not */
4612 }
4613 if (var1){
4614 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4615 } else {
4616 }
4617 RET_LABEL:;
4618 }
4619 /* method parser_prod#AIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4620 void VIRTUAL_parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4621 parser_prod__AIntExpr__n_annotations_61d(self, p0);
4622 RET_LABEL:;
4623 }
4624 /* method parser_prod#AIntExpr#visit_all for (self: AIntExpr, Visitor) */
4625 void parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4626 val* var_v /* var v: Visitor */;
4627 val* var /* : TNumber */;
4628 val* var1 /* : nullable AAnnotations */;
4629 val* var2 /* : null */;
4630 short int var3 /* : Bool */;
4631 val* var4 /* : nullable AAnnotations */;
4632 var_v = p0;
4633 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4634 if (var == NULL) {
4635 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_number");
4636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9004);
4637 exit(1);
4638 }
4639 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4640 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4641 var2 = NULL;
4642 if (var1 == NULL) {
4643 var3 = 0; /* is null */
4644 } else {
4645 var3 = 1; /* arg is null and recv is not */
4646 }
4647 if (var3){
4648 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4649 if (var4 == NULL) {
4650 fprintf(stderr, "Runtime error: %s", "Cast failed");
4651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9006);
4652 exit(1);
4653 }
4654 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4655 } else {
4656 }
4657 RET_LABEL:;
4658 }
4659 /* method parser_prod#AIntExpr#visit_all for (self: Object, Visitor) */
4660 void VIRTUAL_parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4661 parser_prod__AIntExpr__visit_all(self, p0);
4662 RET_LABEL:;
4663 }
4664 /* method parser_prod#AFloatExpr#empty_init for (self: AFloatExpr) */
4665 void parser_prod__AFloatExpr__empty_init(val* self) {
4666 RET_LABEL:;
4667 }
4668 /* method parser_prod#AFloatExpr#empty_init for (self: Object) */
4669 void VIRTUAL_parser_prod__AFloatExpr__empty_init(val* self) {
4670 parser_prod__AFloatExpr__empty_init(self);
4671 RET_LABEL:;
4672 }
4673 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: AFloatExpr, nullable TFloat, nullable AAnnotations) */
4674 void parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4675 val* var_n_float /* var n_float: nullable TFloat */;
4676 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4677 val* var /* : null */;
4678 short int var1 /* : Bool */;
4679 var_n_float = p0;
4680 var_n_annotations = p1;
4681 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFloatExpr__empty_init]))(self) /* empty_init on <self:AFloatExpr>*/;
4682 if (var_n_float == NULL) {
4683 fprintf(stderr, "Runtime error: %s", "Cast failed");
4684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9019);
4685 exit(1);
4686 }
4687 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_n_float; /* _n_float on <self:AFloatExpr> */
4688 if (var_n_float == NULL) {
4689 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4690 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9020);
4691 exit(1);
4692 } else {
4693 ((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>*/;
4694 }
4695 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFloatExpr> */
4696 var = NULL;
4697 if (var_n_annotations == NULL) {
4698 var1 = 0; /* is null */
4699 } else {
4700 var1 = 1; /* arg is null and recv is not */
4701 }
4702 if (var1){
4703 ((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)>*/;
4704 } else {
4705 }
4706 RET_LABEL:;
4707 }
4708 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: Object, nullable TFloat, nullable AAnnotations) */
4709 void VIRTUAL_parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4710 parser_prod__AFloatExpr__init_afloatexpr(self, p0, p1);
4711 RET_LABEL:;
4712 }
4713 /* method parser_prod#AFloatExpr#replace_child for (self: AFloatExpr, ANode, nullable ANode) */
4714 void parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4715 val* var_old_child /* var old_child: ANode */;
4716 val* var_new_child /* var new_child: nullable ANode */;
4717 val* var /* : TFloat */;
4718 short int var1 /* : Bool */;
4719 val* var2 /* : null */;
4720 short int var3 /* : Bool */;
4721 short int var4 /* : Bool */;
4722 int cltype;
4723 int idtype;
4724 val* var5 /* : nullable AAnnotations */;
4725 short int var6 /* : Bool */;
4726 val* var7 /* : null */;
4727 short int var8 /* : Bool */;
4728 short int var9 /* : Bool */;
4729 int cltype10;
4730 int idtype11;
4731 val* var12 /* : null */;
4732 var_old_child = p0;
4733 var_new_child = p1;
4734 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4735 if (var == NULL) {
4736 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_float");
4737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9029);
4738 exit(1);
4739 }
4740 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TFloat>*/;
4741 if (var1){
4742 var2 = NULL;
4743 if (var_new_child == NULL) {
4744 var3 = 0; /* is null */
4745 } else {
4746 var3 = 1; /* arg is null and recv is not */
4747 }
4748 if (var3){
4749 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4750 /* <var_new_child:nullable ANode(ANode)> isa TFloat */
4751 cltype = type_parser_nodes__TFloat.color;
4752 idtype = type_parser_nodes__TFloat.id;
4753 if(cltype >= var_new_child->type->table_size) {
4754 var4 = 0;
4755 } else {
4756 var4 = var_new_child->type->type_table[cltype] == idtype;
4757 }
4758 if (!var4) {
4759 fprintf(stderr, "Runtime error: %s", "Assert failed");
4760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9032);
4761 exit(1);
4762 }
4763 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_new_child; /* _n_float on <self:AFloatExpr> */
4764 } else {
4765 fprintf(stderr, "Runtime error: %s", "Aborted");
4766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9035);
4767 exit(1);
4768 }
4769 goto RET_LABEL;
4770 } else {
4771 }
4772 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4773 if (var5 == NULL) {
4774 var6 = 0; /* <var_old_child:ANode> cannot be null */
4775 } else {
4776 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4777 }
4778 if (var6){
4779 var7 = NULL;
4780 if (var_new_child == NULL) {
4781 var8 = 0; /* is null */
4782 } else {
4783 var8 = 1; /* arg is null and recv is not */
4784 }
4785 if (var8){
4786 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4787 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4788 cltype10 = type_parser_nodes__AAnnotations.color;
4789 idtype11 = type_parser_nodes__AAnnotations.id;
4790 if(cltype10 >= var_new_child->type->table_size) {
4791 var9 = 0;
4792 } else {
4793 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4794 }
4795 if (!var9) {
4796 fprintf(stderr, "Runtime error: %s", "Assert failed");
4797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9042);
4798 exit(1);
4799 }
4800 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFloatExpr> */
4801 } else {
4802 var12 = NULL;
4803 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFloatExpr> */
4804 }
4805 goto RET_LABEL;
4806 } else {
4807 }
4808 RET_LABEL:;
4809 }
4810 /* method parser_prod#AFloatExpr#replace_child for (self: Object, ANode, nullable ANode) */
4811 void VIRTUAL_parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4812 parser_prod__AFloatExpr__replace_child(self, p0, p1);
4813 RET_LABEL:;
4814 }
4815 /* method parser_prod#AFloatExpr#n_float= for (self: AFloatExpr, TFloat) */
4816 void parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4817 val* var_node /* var node: TFloat */;
4818 var_node = p0;
4819 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_node; /* _n_float on <self:AFloatExpr> */
4820 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TFloat>*/;
4821 RET_LABEL:;
4822 }
4823 /* method parser_prod#AFloatExpr#n_float= for (self: Object, TFloat) */
4824 void VIRTUAL_parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4825 parser_prod__AFloatExpr__n_float_61d(self, p0);
4826 RET_LABEL:;
4827 }
4828 /* method parser_prod#AFloatExpr#n_annotations= for (self: AFloatExpr, nullable AAnnotations) */
4829 void parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4830 val* var_node /* var node: nullable AAnnotations */;
4831 val* var /* : null */;
4832 short int var1 /* : Bool */;
4833 var_node = p0;
4834 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFloatExpr> */
4835 var = NULL;
4836 if (var_node == NULL) {
4837 var1 = 0; /* is null */
4838 } else {
4839 var1 = 1; /* arg is null and recv is not */
4840 }
4841 if (var1){
4842 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4843 } else {
4844 }
4845 RET_LABEL:;
4846 }
4847 /* method parser_prod#AFloatExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4848 void VIRTUAL_parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4849 parser_prod__AFloatExpr__n_annotations_61d(self, p0);
4850 RET_LABEL:;
4851 }
4852 /* method parser_prod#AFloatExpr#visit_all for (self: AFloatExpr, Visitor) */
4853 void parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4854 val* var_v /* var v: Visitor */;
4855 val* var /* : TFloat */;
4856 val* var1 /* : nullable AAnnotations */;
4857 val* var2 /* : null */;
4858 short int var3 /* : Bool */;
4859 val* var4 /* : nullable AAnnotations */;
4860 var_v = p0;
4861 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4862 if (var == NULL) {
4863 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_float");
4864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9067);
4865 exit(1);
4866 }
4867 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4868 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4869 var2 = NULL;
4870 if (var1 == NULL) {
4871 var3 = 0; /* is null */
4872 } else {
4873 var3 = 1; /* arg is null and recv is not */
4874 }
4875 if (var3){
4876 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4877 if (var4 == NULL) {
4878 fprintf(stderr, "Runtime error: %s", "Cast failed");
4879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9069);
4880 exit(1);
4881 }
4882 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4883 } else {
4884 }
4885 RET_LABEL:;
4886 }
4887 /* method parser_prod#AFloatExpr#visit_all for (self: Object, Visitor) */
4888 void VIRTUAL_parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4889 parser_prod__AFloatExpr__visit_all(self, p0);
4890 RET_LABEL:;
4891 }
4892 /* method parser_prod#ACharExpr#empty_init for (self: ACharExpr) */
4893 void parser_prod__ACharExpr__empty_init(val* self) {
4894 RET_LABEL:;
4895 }
4896 /* method parser_prod#ACharExpr#empty_init for (self: Object) */
4897 void VIRTUAL_parser_prod__ACharExpr__empty_init(val* self) {
4898 parser_prod__ACharExpr__empty_init(self);
4899 RET_LABEL:;
4900 }
4901 /* method parser_prod#ACharExpr#init_acharexpr for (self: ACharExpr, nullable TChar, nullable AAnnotations) */
4902 void parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4903 val* var_n_char /* var n_char: nullable TChar */;
4904 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4905 val* var /* : null */;
4906 short int var1 /* : Bool */;
4907 var_n_char = p0;
4908 var_n_annotations = p1;
4909 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACharExpr__empty_init]))(self) /* empty_init on <self:ACharExpr>*/;
4910 if (var_n_char == NULL) {
4911 fprintf(stderr, "Runtime error: %s", "Cast failed");
4912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9082);
4913 exit(1);
4914 }
4915 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_n_char; /* _n_char on <self:ACharExpr> */
4916 if (var_n_char == NULL) {
4917 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9083);
4919 exit(1);
4920 } else {
4921 ((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>*/;
4922 }
4923 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACharExpr> */
4924 var = NULL;
4925 if (var_n_annotations == NULL) {
4926 var1 = 0; /* is null */
4927 } else {
4928 var1 = 1; /* arg is null and recv is not */
4929 }
4930 if (var1){
4931 ((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)>*/;
4932 } else {
4933 }
4934 RET_LABEL:;
4935 }
4936 /* method parser_prod#ACharExpr#init_acharexpr for (self: Object, nullable TChar, nullable AAnnotations) */
4937 void VIRTUAL_parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4938 parser_prod__ACharExpr__init_acharexpr(self, p0, p1);
4939 RET_LABEL:;
4940 }
4941 /* method parser_prod#ACharExpr#replace_child for (self: ACharExpr, ANode, nullable ANode) */
4942 void parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
4943 val* var_old_child /* var old_child: ANode */;
4944 val* var_new_child /* var new_child: nullable ANode */;
4945 val* var /* : TChar */;
4946 short int var1 /* : Bool */;
4947 val* var2 /* : null */;
4948 short int var3 /* : Bool */;
4949 short int var4 /* : Bool */;
4950 int cltype;
4951 int idtype;
4952 val* var5 /* : nullable AAnnotations */;
4953 short int var6 /* : Bool */;
4954 val* var7 /* : null */;
4955 short int var8 /* : Bool */;
4956 short int var9 /* : Bool */;
4957 int cltype10;
4958 int idtype11;
4959 val* var12 /* : null */;
4960 var_old_child = p0;
4961 var_new_child = p1;
4962 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
4963 if (var == NULL) {
4964 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_char");
4965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9092);
4966 exit(1);
4967 }
4968 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TChar>*/;
4969 if (var1){
4970 var2 = NULL;
4971 if (var_new_child == NULL) {
4972 var3 = 0; /* is null */
4973 } else {
4974 var3 = 1; /* arg is null and recv is not */
4975 }
4976 if (var3){
4977 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4978 /* <var_new_child:nullable ANode(ANode)> isa TChar */
4979 cltype = type_parser_nodes__TChar.color;
4980 idtype = type_parser_nodes__TChar.id;
4981 if(cltype >= var_new_child->type->table_size) {
4982 var4 = 0;
4983 } else {
4984 var4 = var_new_child->type->type_table[cltype] == idtype;
4985 }
4986 if (!var4) {
4987 fprintf(stderr, "Runtime error: %s", "Assert failed");
4988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9095);
4989 exit(1);
4990 }
4991 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_new_child; /* _n_char on <self:ACharExpr> */
4992 } else {
4993 fprintf(stderr, "Runtime error: %s", "Aborted");
4994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9098);
4995 exit(1);
4996 }
4997 goto RET_LABEL;
4998 } else {
4999 }
5000 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5001 if (var5 == NULL) {
5002 var6 = 0; /* <var_old_child:ANode> cannot be null */
5003 } else {
5004 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
5005 }
5006 if (var6){
5007 var7 = NULL;
5008 if (var_new_child == NULL) {
5009 var8 = 0; /* is null */
5010 } else {
5011 var8 = 1; /* arg is null and recv is not */
5012 }
5013 if (var8){
5014 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5015 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5016 cltype10 = type_parser_nodes__AAnnotations.color;
5017 idtype11 = type_parser_nodes__AAnnotations.id;
5018 if(cltype10 >= var_new_child->type->table_size) {
5019 var9 = 0;
5020 } else {
5021 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5022 }
5023 if (!var9) {
5024 fprintf(stderr, "Runtime error: %s", "Assert failed");
5025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9105);
5026 exit(1);
5027 }
5028 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACharExpr> */
5029 } else {
5030 var12 = NULL;
5031 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ACharExpr> */
5032 }
5033 goto RET_LABEL;
5034 } else {
5035 }
5036 RET_LABEL:;
5037 }
5038 /* method parser_prod#ACharExpr#replace_child for (self: Object, ANode, nullable ANode) */
5039 void VIRTUAL_parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
5040 parser_prod__ACharExpr__replace_child(self, p0, p1);
5041 RET_LABEL:;
5042 }
5043 /* method parser_prod#ACharExpr#n_char= for (self: ACharExpr, TChar) */
5044 void parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
5045 val* var_node /* var node: TChar */;
5046 var_node = p0;
5047 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_node; /* _n_char on <self:ACharExpr> */
5048 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TChar>*/;
5049 RET_LABEL:;
5050 }
5051 /* method parser_prod#ACharExpr#n_char= for (self: Object, TChar) */
5052 void VIRTUAL_parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
5053 parser_prod__ACharExpr__n_char_61d(self, p0);
5054 RET_LABEL:;
5055 }
5056 /* method parser_prod#ACharExpr#n_annotations= for (self: ACharExpr, nullable AAnnotations) */
5057 void parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
5058 val* var_node /* var node: nullable AAnnotations */;
5059 val* var /* : null */;
5060 short int var1 /* : Bool */;
5061 var_node = p0;
5062 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACharExpr> */
5063 var = NULL;
5064 if (var_node == NULL) {
5065 var1 = 0; /* is null */
5066 } else {
5067 var1 = 1; /* arg is null and recv is not */
5068 }
5069 if (var1){
5070 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5071 } else {
5072 }
5073 RET_LABEL:;
5074 }
5075 /* method parser_prod#ACharExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5076 void VIRTUAL_parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
5077 parser_prod__ACharExpr__n_annotations_61d(self, p0);
5078 RET_LABEL:;
5079 }
5080 /* method parser_prod#ACharExpr#visit_all for (self: ACharExpr, Visitor) */
5081 void parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5082 val* var_v /* var v: Visitor */;
5083 val* var /* : TChar */;
5084 val* var1 /* : nullable AAnnotations */;
5085 val* var2 /* : null */;
5086 short int var3 /* : Bool */;
5087 val* var4 /* : nullable AAnnotations */;
5088 var_v = p0;
5089 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
5090 if (var == NULL) {
5091 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_char");
5092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9130);
5093 exit(1);
5094 }
5095 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5096 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5097 var2 = NULL;
5098 if (var1 == NULL) {
5099 var3 = 0; /* is null */
5100 } else {
5101 var3 = 1; /* arg is null and recv is not */
5102 }
5103 if (var3){
5104 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5105 if (var4 == NULL) {
5106 fprintf(stderr, "Runtime error: %s", "Cast failed");
5107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9132);
5108 exit(1);
5109 }
5110 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5111 } else {
5112 }
5113 RET_LABEL:;
5114 }
5115 /* method parser_prod#ACharExpr#visit_all for (self: Object, Visitor) */
5116 void VIRTUAL_parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5117 parser_prod__ACharExpr__visit_all(self, p0);
5118 RET_LABEL:;
5119 }
5120 /* method parser_prod#AStringExpr#empty_init for (self: AStringExpr) */
5121 void parser_prod__AStringExpr__empty_init(val* self) {
5122 RET_LABEL:;
5123 }
5124 /* method parser_prod#AStringExpr#empty_init for (self: Object) */
5125 void VIRTUAL_parser_prod__AStringExpr__empty_init(val* self) {
5126 parser_prod__AStringExpr__empty_init(self);
5127 RET_LABEL:;
5128 }
5129 /* method parser_prod#AStringExpr#init_astringexpr for (self: AStringExpr, nullable TString, nullable AAnnotations) */
5130 void parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5131 val* var_n_string /* var n_string: nullable TString */;
5132 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5133 val* var /* : null */;
5134 short int var1 /* : Bool */;
5135 var_n_string = p0;
5136 var_n_annotations = p1;
5137 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStringExpr__empty_init]))(self) /* empty_init on <self:AStringExpr>*/;
5138 if (var_n_string == NULL) {
5139 fprintf(stderr, "Runtime error: %s", "Cast failed");
5140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9145);
5141 exit(1);
5142 }
5143 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStringExpr> */
5144 if (var_n_string == NULL) {
5145 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9146);
5147 exit(1);
5148 } else {
5149 ((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>*/;
5150 }
5151 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStringExpr> */
5152 var = NULL;
5153 if (var_n_annotations == NULL) {
5154 var1 = 0; /* is null */
5155 } else {
5156 var1 = 1; /* arg is null and recv is not */
5157 }
5158 if (var1){
5159 ((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)>*/;
5160 } else {
5161 }
5162 RET_LABEL:;
5163 }
5164 /* method parser_prod#AStringExpr#init_astringexpr for (self: Object, nullable TString, nullable AAnnotations) */
5165 void VIRTUAL_parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5166 parser_prod__AStringExpr__init_astringexpr(self, p0, p1);
5167 RET_LABEL:;
5168 }
5169 /* method parser_prod#AStringExpr#replace_child for (self: AStringExpr, ANode, nullable ANode) */
5170 void parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5171 val* var_old_child /* var old_child: ANode */;
5172 val* var_new_child /* var new_child: nullable ANode */;
5173 val* var /* : Token */;
5174 short int var1 /* : Bool */;
5175 val* var2 /* : null */;
5176 short int var3 /* : Bool */;
5177 short int var4 /* : Bool */;
5178 int cltype;
5179 int idtype;
5180 val* var5 /* : nullable AAnnotations */;
5181 short int var6 /* : Bool */;
5182 val* var7 /* : null */;
5183 short int var8 /* : Bool */;
5184 short int var9 /* : Bool */;
5185 int cltype10;
5186 int idtype11;
5187 val* var12 /* : null */;
5188 var_old_child = p0;
5189 var_new_child = p1;
5190 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5191 if (var == NULL) {
5192 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9155);
5194 exit(1);
5195 }
5196 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5197 if (var1){
5198 var2 = NULL;
5199 if (var_new_child == NULL) {
5200 var3 = 0; /* is null */
5201 } else {
5202 var3 = 1; /* arg is null and recv is not */
5203 }
5204 if (var3){
5205 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5206 /* <var_new_child:nullable ANode(ANode)> isa TString */
5207 cltype = type_parser_nodes__TString.color;
5208 idtype = type_parser_nodes__TString.id;
5209 if(cltype >= var_new_child->type->table_size) {
5210 var4 = 0;
5211 } else {
5212 var4 = var_new_child->type->type_table[cltype] == idtype;
5213 }
5214 if (!var4) {
5215 fprintf(stderr, "Runtime error: %s", "Assert failed");
5216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9158);
5217 exit(1);
5218 }
5219 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStringExpr> */
5220 } else {
5221 fprintf(stderr, "Runtime error: %s", "Aborted");
5222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9161);
5223 exit(1);
5224 }
5225 goto RET_LABEL;
5226 } else {
5227 }
5228 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5229 if (var5 == NULL) {
5230 var6 = 0; /* <var_old_child:ANode> cannot be null */
5231 } else {
5232 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
5233 }
5234 if (var6){
5235 var7 = NULL;
5236 if (var_new_child == NULL) {
5237 var8 = 0; /* is null */
5238 } else {
5239 var8 = 1; /* arg is null and recv is not */
5240 }
5241 if (var8){
5242 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5243 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5244 cltype10 = type_parser_nodes__AAnnotations.color;
5245 idtype11 = type_parser_nodes__AAnnotations.id;
5246 if(cltype10 >= var_new_child->type->table_size) {
5247 var9 = 0;
5248 } else {
5249 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5250 }
5251 if (!var9) {
5252 fprintf(stderr, "Runtime error: %s", "Assert failed");
5253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9168);
5254 exit(1);
5255 }
5256 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStringExpr> */
5257 } else {
5258 var12 = NULL;
5259 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AStringExpr> */
5260 }
5261 goto RET_LABEL;
5262 } else {
5263 }
5264 RET_LABEL:;
5265 }
5266 /* method parser_prod#AStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5267 void VIRTUAL_parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5268 parser_prod__AStringExpr__replace_child(self, p0, p1);
5269 RET_LABEL:;
5270 }
5271 /* method parser_prod#AStringExpr#n_string= for (self: AStringExpr, Token) */
5272 void parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5273 val* var_node /* var node: Token */;
5274 var_node = p0;
5275 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStringExpr> */
5276 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5277 RET_LABEL:;
5278 }
5279 /* method parser_prod#AStringExpr#n_string= for (self: Object, Token) */
5280 void VIRTUAL_parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5281 parser_prod__AStringExpr__n_string_61d(self, p0);
5282 RET_LABEL:;
5283 }
5284 /* method parser_prod#AStringExpr#n_annotations= for (self: AStringExpr, nullable AAnnotations) */
5285 void parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5286 val* var_node /* var node: nullable AAnnotations */;
5287 val* var /* : null */;
5288 short int var1 /* : Bool */;
5289 var_node = p0;
5290 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStringExpr> */
5291 var = NULL;
5292 if (var_node == NULL) {
5293 var1 = 0; /* is null */
5294 } else {
5295 var1 = 1; /* arg is null and recv is not */
5296 }
5297 if (var1){
5298 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5299 } else {
5300 }
5301 RET_LABEL:;
5302 }
5303 /* method parser_prod#AStringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5304 void VIRTUAL_parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5305 parser_prod__AStringExpr__n_annotations_61d(self, p0);
5306 RET_LABEL:;
5307 }
5308 /* method parser_prod#AStringExpr#visit_all for (self: AStringExpr, Visitor) */
5309 void parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5310 val* var_v /* var v: Visitor */;
5311 val* var /* : Token */;
5312 val* var1 /* : nullable AAnnotations */;
5313 val* var2 /* : null */;
5314 short int var3 /* : Bool */;
5315 val* var4 /* : nullable AAnnotations */;
5316 var_v = p0;
5317 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5318 if (var == NULL) {
5319 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9193);
5321 exit(1);
5322 }
5323 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5324 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5325 var2 = NULL;
5326 if (var1 == NULL) {
5327 var3 = 0; /* is null */
5328 } else {
5329 var3 = 1; /* arg is null and recv is not */
5330 }
5331 if (var3){
5332 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5333 if (var4 == NULL) {
5334 fprintf(stderr, "Runtime error: %s", "Cast failed");
5335 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9195);
5336 exit(1);
5337 }
5338 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5339 } else {
5340 }
5341 RET_LABEL:;
5342 }
5343 /* method parser_prod#AStringExpr#visit_all for (self: Object, Visitor) */
5344 void VIRTUAL_parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5345 parser_prod__AStringExpr__visit_all(self, p0);
5346 RET_LABEL:;
5347 }
5348 /* method parser_prod#AStartStringExpr#empty_init for (self: AStartStringExpr) */
5349 void parser_prod__AStartStringExpr__empty_init(val* self) {
5350 RET_LABEL:;
5351 }
5352 /* method parser_prod#AStartStringExpr#empty_init for (self: Object) */
5353 void VIRTUAL_parser_prod__AStartStringExpr__empty_init(val* self) {
5354 parser_prod__AStartStringExpr__empty_init(self);
5355 RET_LABEL:;
5356 }
5357 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: AStartStringExpr, nullable TStartString) */
5358 void parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5359 val* var_n_string /* var n_string: nullable TStartString */;
5360 var_n_string = p0;
5361 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStartStringExpr__empty_init]))(self) /* empty_init on <self:AStartStringExpr>*/;
5362 if (var_n_string == NULL) {
5363 fprintf(stderr, "Runtime error: %s", "Cast failed");
5364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9207);
5365 exit(1);
5366 }
5367 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStartStringExpr> */
5368 if (var_n_string == NULL) {
5369 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9208);
5371 exit(1);
5372 } else {
5373 ((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>*/;
5374 }
5375 RET_LABEL:;
5376 }
5377 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: Object, nullable TStartString) */
5378 void VIRTUAL_parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5379 parser_prod__AStartStringExpr__init_astartstringexpr(self, p0);
5380 RET_LABEL:;
5381 }
5382 /* method parser_prod#AStartStringExpr#replace_child for (self: AStartStringExpr, ANode, nullable ANode) */
5383 void parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5384 val* var_old_child /* var old_child: ANode */;
5385 val* var_new_child /* var new_child: nullable ANode */;
5386 val* var /* : Token */;
5387 short int var1 /* : Bool */;
5388 val* var2 /* : null */;
5389 short int var3 /* : Bool */;
5390 short int var4 /* : Bool */;
5391 int cltype;
5392 int idtype;
5393 var_old_child = p0;
5394 var_new_child = p1;
5395 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5396 if (var == NULL) {
5397 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5398 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9213);
5399 exit(1);
5400 }
5401 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5402 if (var1){
5403 var2 = NULL;
5404 if (var_new_child == NULL) {
5405 var3 = 0; /* is null */
5406 } else {
5407 var3 = 1; /* arg is null and recv is not */
5408 }
5409 if (var3){
5410 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5411 /* <var_new_child:nullable ANode(ANode)> isa TStartString */
5412 cltype = type_parser_nodes__TStartString.color;
5413 idtype = type_parser_nodes__TStartString.id;
5414 if(cltype >= var_new_child->type->table_size) {
5415 var4 = 0;
5416 } else {
5417 var4 = var_new_child->type->type_table[cltype] == idtype;
5418 }
5419 if (!var4) {
5420 fprintf(stderr, "Runtime error: %s", "Assert failed");
5421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9216);
5422 exit(1);
5423 }
5424 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStartStringExpr> */
5425 } else {
5426 fprintf(stderr, "Runtime error: %s", "Aborted");
5427 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9219);
5428 exit(1);
5429 }
5430 goto RET_LABEL;
5431 } else {
5432 }
5433 RET_LABEL:;
5434 }
5435 /* method parser_prod#AStartStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5436 void VIRTUAL_parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5437 parser_prod__AStartStringExpr__replace_child(self, p0, p1);
5438 RET_LABEL:;
5439 }
5440 /* method parser_prod#AStartStringExpr#n_string= for (self: AStartStringExpr, Token) */
5441 void parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5442 val* var_node /* var node: Token */;
5443 var_node = p0;
5444 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStartStringExpr> */
5445 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5446 RET_LABEL:;
5447 }
5448 /* method parser_prod#AStartStringExpr#n_string= for (self: Object, Token) */
5449 void VIRTUAL_parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5450 parser_prod__AStartStringExpr__n_string_61d(self, p0);
5451 RET_LABEL:;
5452 }
5453 /* method parser_prod#AStartStringExpr#visit_all for (self: AStartStringExpr, Visitor) */
5454 void parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5455 val* var_v /* var v: Visitor */;
5456 val* var /* : Token */;
5457 var_v = p0;
5458 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5459 if (var == NULL) {
5460 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9234);
5462 exit(1);
5463 }
5464 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5465 RET_LABEL:;
5466 }
5467 /* method parser_prod#AStartStringExpr#visit_all for (self: Object, Visitor) */
5468 void VIRTUAL_parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5469 parser_prod__AStartStringExpr__visit_all(self, p0);
5470 RET_LABEL:;
5471 }
5472 /* method parser_prod#AMidStringExpr#empty_init for (self: AMidStringExpr) */
5473 void parser_prod__AMidStringExpr__empty_init(val* self) {
5474 RET_LABEL:;
5475 }
5476 /* method parser_prod#AMidStringExpr#empty_init for (self: Object) */
5477 void VIRTUAL_parser_prod__AMidStringExpr__empty_init(val* self) {
5478 parser_prod__AMidStringExpr__empty_init(self);
5479 RET_LABEL:;
5480 }
5481 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: AMidStringExpr, nullable TMidString) */
5482 void parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5483 val* var_n_string /* var n_string: nullable TMidString */;
5484 var_n_string = p0;
5485 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMidStringExpr__empty_init]))(self) /* empty_init on <self:AMidStringExpr>*/;
5486 if (var_n_string == NULL) {
5487 fprintf(stderr, "Runtime error: %s", "Cast failed");
5488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9245);
5489 exit(1);
5490 }
5491 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AMidStringExpr> */
5492 if (var_n_string == NULL) {
5493 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9246);
5495 exit(1);
5496 } else {
5497 ((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>*/;
5498 }
5499 RET_LABEL:;
5500 }
5501 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: Object, nullable TMidString) */
5502 void VIRTUAL_parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5503 parser_prod__AMidStringExpr__init_amidstringexpr(self, p0);
5504 RET_LABEL:;
5505 }
5506 /* method parser_prod#AMidStringExpr#replace_child for (self: AMidStringExpr, ANode, nullable ANode) */
5507 void parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5508 val* var_old_child /* var old_child: ANode */;
5509 val* var_new_child /* var new_child: nullable ANode */;
5510 val* var /* : Token */;
5511 short int var1 /* : Bool */;
5512 val* var2 /* : null */;
5513 short int var3 /* : Bool */;
5514 short int var4 /* : Bool */;
5515 int cltype;
5516 int idtype;
5517 var_old_child = p0;
5518 var_new_child = p1;
5519 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5520 if (var == NULL) {
5521 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9251);
5523 exit(1);
5524 }
5525 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5526 if (var1){
5527 var2 = NULL;
5528 if (var_new_child == NULL) {
5529 var3 = 0; /* is null */
5530 } else {
5531 var3 = 1; /* arg is null and recv is not */
5532 }
5533 if (var3){
5534 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5535 /* <var_new_child:nullable ANode(ANode)> isa TMidString */
5536 cltype = type_parser_nodes__TMidString.color;
5537 idtype = type_parser_nodes__TMidString.id;
5538 if(cltype >= var_new_child->type->table_size) {
5539 var4 = 0;
5540 } else {
5541 var4 = var_new_child->type->type_table[cltype] == idtype;
5542 }
5543 if (!var4) {
5544 fprintf(stderr, "Runtime error: %s", "Assert failed");
5545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9254);
5546 exit(1);
5547 }
5548 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AMidStringExpr> */
5549 } else {
5550 fprintf(stderr, "Runtime error: %s", "Aborted");
5551 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9257);
5552 exit(1);
5553 }
5554 goto RET_LABEL;
5555 } else {
5556 }
5557 RET_LABEL:;
5558 }
5559 /* method parser_prod#AMidStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5560 void VIRTUAL_parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5561 parser_prod__AMidStringExpr__replace_child(self, p0, p1);
5562 RET_LABEL:;
5563 }
5564 /* method parser_prod#AMidStringExpr#n_string= for (self: AMidStringExpr, Token) */
5565 void parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5566 val* var_node /* var node: Token */;
5567 var_node = p0;
5568 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AMidStringExpr> */
5569 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5570 RET_LABEL:;
5571 }
5572 /* method parser_prod#AMidStringExpr#n_string= for (self: Object, Token) */
5573 void VIRTUAL_parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5574 parser_prod__AMidStringExpr__n_string_61d(self, p0);
5575 RET_LABEL:;
5576 }
5577 /* method parser_prod#AMidStringExpr#visit_all for (self: AMidStringExpr, Visitor) */
5578 void parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5579 val* var_v /* var v: Visitor */;
5580 val* var /* : Token */;
5581 var_v = p0;
5582 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5583 if (var == NULL) {
5584 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9272);
5586 exit(1);
5587 }
5588 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5589 RET_LABEL:;
5590 }
5591 /* method parser_prod#AMidStringExpr#visit_all for (self: Object, Visitor) */
5592 void VIRTUAL_parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5593 parser_prod__AMidStringExpr__visit_all(self, p0);
5594 RET_LABEL:;
5595 }
5596 /* method parser_prod#AEndStringExpr#empty_init for (self: AEndStringExpr) */
5597 void parser_prod__AEndStringExpr__empty_init(val* self) {
5598 RET_LABEL:;
5599 }
5600 /* method parser_prod#AEndStringExpr#empty_init for (self: Object) */
5601 void VIRTUAL_parser_prod__AEndStringExpr__empty_init(val* self) {
5602 parser_prod__AEndStringExpr__empty_init(self);
5603 RET_LABEL:;
5604 }
5605 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: AEndStringExpr, nullable TEndString) */
5606 void parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5607 val* var_n_string /* var n_string: nullable TEndString */;
5608 var_n_string = p0;
5609 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEndStringExpr__empty_init]))(self) /* empty_init on <self:AEndStringExpr>*/;
5610 if (var_n_string == NULL) {
5611 fprintf(stderr, "Runtime error: %s", "Cast failed");
5612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9283);
5613 exit(1);
5614 }
5615 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AEndStringExpr> */
5616 if (var_n_string == NULL) {
5617 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9284);
5619 exit(1);
5620 } else {
5621 ((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>*/;
5622 }
5623 RET_LABEL:;
5624 }
5625 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: Object, nullable TEndString) */
5626 void VIRTUAL_parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5627 parser_prod__AEndStringExpr__init_aendstringexpr(self, p0);
5628 RET_LABEL:;
5629 }
5630 /* method parser_prod#AEndStringExpr#replace_child for (self: AEndStringExpr, ANode, nullable ANode) */
5631 void parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5632 val* var_old_child /* var old_child: ANode */;
5633 val* var_new_child /* var new_child: nullable ANode */;
5634 val* var /* : Token */;
5635 short int var1 /* : Bool */;
5636 val* var2 /* : null */;
5637 short int var3 /* : Bool */;
5638 short int var4 /* : Bool */;
5639 int cltype;
5640 int idtype;
5641 var_old_child = p0;
5642 var_new_child = p1;
5643 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5644 if (var == NULL) {
5645 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9289);
5647 exit(1);
5648 }
5649 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5650 if (var1){
5651 var2 = NULL;
5652 if (var_new_child == NULL) {
5653 var3 = 0; /* is null */
5654 } else {
5655 var3 = 1; /* arg is null and recv is not */
5656 }
5657 if (var3){
5658 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5659 /* <var_new_child:nullable ANode(ANode)> isa TEndString */
5660 cltype = type_parser_nodes__TEndString.color;
5661 idtype = type_parser_nodes__TEndString.id;
5662 if(cltype >= var_new_child->type->table_size) {
5663 var4 = 0;
5664 } else {
5665 var4 = var_new_child->type->type_table[cltype] == idtype;
5666 }
5667 if (!var4) {
5668 fprintf(stderr, "Runtime error: %s", "Assert failed");
5669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9292);
5670 exit(1);
5671 }
5672 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AEndStringExpr> */
5673 } else {
5674 fprintf(stderr, "Runtime error: %s", "Aborted");
5675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9295);
5676 exit(1);
5677 }
5678 goto RET_LABEL;
5679 } else {
5680 }
5681 RET_LABEL:;
5682 }
5683 /* method parser_prod#AEndStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5684 void VIRTUAL_parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5685 parser_prod__AEndStringExpr__replace_child(self, p0, p1);
5686 RET_LABEL:;
5687 }
5688 /* method parser_prod#AEndStringExpr#n_string= for (self: AEndStringExpr, Token) */
5689 void parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5690 val* var_node /* var node: Token */;
5691 var_node = p0;
5692 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AEndStringExpr> */
5693 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5694 RET_LABEL:;
5695 }
5696 /* method parser_prod#AEndStringExpr#n_string= for (self: Object, Token) */
5697 void VIRTUAL_parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5698 parser_prod__AEndStringExpr__n_string_61d(self, p0);
5699 RET_LABEL:;
5700 }
5701 /* method parser_prod#AEndStringExpr#visit_all for (self: AEndStringExpr, Visitor) */
5702 void parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5703 val* var_v /* var v: Visitor */;
5704 val* var /* : Token */;
5705 var_v = p0;
5706 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5707 if (var == NULL) {
5708 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
5709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9310);
5710 exit(1);
5711 }
5712 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5713 RET_LABEL:;
5714 }
5715 /* method parser_prod#AEndStringExpr#visit_all for (self: Object, Visitor) */
5716 void VIRTUAL_parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5717 parser_prod__AEndStringExpr__visit_all(self, p0);
5718 RET_LABEL:;
5719 }
5720 /* method parser_prod#ASuperstringExpr#empty_init for (self: ASuperstringExpr) */
5721 void parser_prod__ASuperstringExpr__empty_init(val* self) {
5722 RET_LABEL:;
5723 }
5724 /* method parser_prod#ASuperstringExpr#empty_init for (self: Object) */
5725 void VIRTUAL_parser_prod__ASuperstringExpr__empty_init(val* self) {
5726 parser_prod__ASuperstringExpr__empty_init(self);
5727 RET_LABEL:;
5728 }
5729 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: ASuperstringExpr, Collection[Object], nullable AAnnotations) */
5730 void parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5731 val* var_n_exprs /* var n_exprs: Collection[Object] */;
5732 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5733 val* var /* : Iterator[nullable Object] */;
5734 short int var1 /* : Bool */;
5735 val* var2 /* : nullable Object */;
5736 val* var_n /* var n: Object */;
5737 short int var3 /* : Bool */;
5738 int cltype;
5739 int idtype;
5740 val* var4 /* : ANodes[AExpr] */;
5741 val* var5 /* : null */;
5742 short int var6 /* : Bool */;
5743 var_n_exprs = p0;
5744 var_n_annotations = p1;
5745 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperstringExpr__empty_init]))(self) /* empty_init on <self:ASuperstringExpr>*/;
5746 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
5747 for(;;) {
5748 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
5749 if(!var1) break;
5750 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
5751 var_n = var2;
5752 /* <var_n:Object> isa AExpr */
5753 cltype = type_parser_nodes__AExpr.color;
5754 idtype = type_parser_nodes__AExpr.id;
5755 if(cltype >= var_n->type->table_size) {
5756 var3 = 0;
5757 } else {
5758 var3 = var_n->type->type_table[cltype] == idtype;
5759 }
5760 if (!var3) {
5761 fprintf(stderr, "Runtime error: %s", "Assert failed");
5762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9323);
5763 exit(1);
5764 }
5765 var4 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5766 if (var4 == NULL) {
5767 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9324);
5769 exit(1);
5770 }
5771 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
5772 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
5773 CONTINUE_label: (void)0;
5774 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
5775 }
5776 BREAK_label: (void)0;
5777 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperstringExpr> */
5778 var5 = NULL;
5779 if (var_n_annotations == NULL) {
5780 var6 = 0; /* is null */
5781 } else {
5782 var6 = 1; /* arg is null and recv is not */
5783 }
5784 if (var6){
5785 ((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)>*/;
5786 } else {
5787 }
5788 RET_LABEL:;
5789 }
5790 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: Object, Collection[Object], nullable AAnnotations) */
5791 void VIRTUAL_parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5792 parser_prod__ASuperstringExpr__init_asuperstringexpr(self, p0, p1);
5793 RET_LABEL:;
5794 }
5795 /* method parser_prod#ASuperstringExpr#replace_child for (self: ASuperstringExpr, ANode, nullable ANode) */
5796 void parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5797 val* var_old_child /* var old_child: ANode */;
5798 val* var_new_child /* var new_child: nullable ANode */;
5799 val* var /* : Range[Int] */;
5800 long var1 /* : Int */;
5801 val* var2 /* : ANodes[AExpr] */;
5802 long var3 /* : Int */;
5803 val* var4 /* : Discrete */;
5804 val* var5 /* : Discrete */;
5805 val* var6 /* : Iterator[nullable Object] */;
5806 short int var7 /* : Bool */;
5807 val* var8 /* : nullable Object */;
5808 long var_i /* var i: Int */;
5809 long var9 /* : Int */;
5810 val* var10 /* : ANodes[AExpr] */;
5811 val* var11 /* : nullable Object */;
5812 short int var12 /* : Bool */;
5813 val* var13 /* : null */;
5814 short int var14 /* : Bool */;
5815 short int var15 /* : Bool */;
5816 int cltype;
5817 int idtype;
5818 val* var16 /* : ANodes[AExpr] */;
5819 val* var17 /* : ANodes[AExpr] */;
5820 val* var18 /* : nullable AAnnotations */;
5821 short int var19 /* : Bool */;
5822 val* var20 /* : null */;
5823 short int var21 /* : Bool */;
5824 short int var22 /* : Bool */;
5825 int cltype23;
5826 int idtype24;
5827 val* var25 /* : null */;
5828 var_old_child = p0;
5829 var_new_child = p1;
5830 var = NEW_range__Range(&type_range__Rangekernel__Int);
5831 var1 = 0;
5832 var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5833 if (var2 == NULL) {
5834 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9335);
5836 exit(1);
5837 }
5838 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
5839 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
5840 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
5841 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
5842 CHECK_NEW_range__Range(var);
5843 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
5844 for(;;) {
5845 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
5846 if(!var7) break;
5847 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
5848 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
5849 var_i = var9;
5850 var10 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5851 if (var10 == NULL) {
5852 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9336);
5854 exit(1);
5855 }
5856 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
5857 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
5858 if (var12){
5859 var13 = NULL;
5860 if (var_new_child == NULL) {
5861 var14 = 0; /* is null */
5862 } else {
5863 var14 = 1; /* arg is null and recv is not */
5864 }
5865 if (var14){
5866 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5867 cltype = type_parser_nodes__AExpr.color;
5868 idtype = type_parser_nodes__AExpr.id;
5869 if(cltype >= var_new_child->type->table_size) {
5870 var15 = 0;
5871 } else {
5872 var15 = var_new_child->type->type_table[cltype] == idtype;
5873 }
5874 if (!var15) {
5875 fprintf(stderr, "Runtime error: %s", "Assert failed");
5876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9338);
5877 exit(1);
5878 }
5879 var16 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5880 if (var16 == NULL) {
5881 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9339);
5883 exit(1);
5884 }
5885 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
5886 ((void (*)(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)>*/;
5887 } else {
5888 var17 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5889 if (var17 == NULL) {
5890 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9342);
5892 exit(1);
5893 }
5894 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
5895 }
5896 goto RET_LABEL;
5897 } else {
5898 }
5899 CONTINUE_label: (void)0;
5900 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
5901 }
5902 BREAK_label: (void)0;
5903 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5904 if (var18 == NULL) {
5905 var19 = 0; /* <var_old_child:ANode> cannot be null */
5906 } else {
5907 var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, var_old_child) /* == on <var18:nullable AAnnotations>*/;
5908 }
5909 if (var19){
5910 var20 = NULL;
5911 if (var_new_child == NULL) {
5912 var21 = 0; /* is null */
5913 } else {
5914 var21 = 1; /* arg is null and recv is not */
5915 }
5916 if (var21){
5917 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5918 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5919 cltype23 = type_parser_nodes__AAnnotations.color;
5920 idtype24 = type_parser_nodes__AAnnotations.id;
5921 if(cltype23 >= var_new_child->type->table_size) {
5922 var22 = 0;
5923 } else {
5924 var22 = var_new_child->type->type_table[cltype23] == idtype24;
5925 }
5926 if (!var22) {
5927 fprintf(stderr, "Runtime error: %s", "Assert failed");
5928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9350);
5929 exit(1);
5930 }
5931 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperstringExpr> */
5932 } else {
5933 var25 = NULL;
5934 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var25; /* _n_annotations on <self:ASuperstringExpr> */
5935 }
5936 goto RET_LABEL;
5937 } else {
5938 }
5939 RET_LABEL:;
5940 }
5941 /* method parser_prod#ASuperstringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5942 void VIRTUAL_parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5943 parser_prod__ASuperstringExpr__replace_child(self, p0, p1);
5944 RET_LABEL:;
5945 }
5946 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: ASuperstringExpr, nullable AAnnotations) */
5947 void parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5948 val* var_node /* var node: nullable AAnnotations */;
5949 val* var /* : null */;
5950 short int var1 /* : Bool */;
5951 var_node = p0;
5952 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperstringExpr> */
5953 var = NULL;
5954 if (var_node == NULL) {
5955 var1 = 0; /* is null */
5956 } else {
5957 var1 = 1; /* arg is null and recv is not */
5958 }
5959 if (var1){
5960 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5961 } else {
5962 }
5963 RET_LABEL:;
5964 }
5965 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5966 void VIRTUAL_parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5967 parser_prod__ASuperstringExpr__n_annotations_61d(self, p0);
5968 RET_LABEL:;
5969 }
5970 /* method parser_prod#ASuperstringExpr#visit_all for (self: ASuperstringExpr, Visitor) */
5971 void parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
5972 val* var_v /* var v: Visitor */;
5973 val* var /* : ANodes[AExpr] */;
5974 val* var1 /* : Iterator[nullable Object] */;
5975 short int var2 /* : Bool */;
5976 val* var3 /* : nullable Object */;
5977 val* var_n /* var n: AExpr */;
5978 val* var4 /* : nullable AAnnotations */;
5979 val* var5 /* : null */;
5980 short int var6 /* : Bool */;
5981 val* var7 /* : nullable AAnnotations */;
5982 var_v = p0;
5983 var = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5984 if (var == NULL) {
5985 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
5986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9370);
5987 exit(1);
5988 }
5989 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
5990 for(;;) {
5991 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
5992 if(!var2) break;
5993 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
5994 var_n = var3;
5995 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
5996 CONTINUE_label: (void)0;
5997 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
5998 }
5999 BREAK_label: (void)0;
6000 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
6001 var5 = NULL;
6002 if (var4 == NULL) {
6003 var6 = 0; /* is null */
6004 } else {
6005 var6 = 1; /* arg is null and recv is not */
6006 }
6007 if (var6){
6008 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
6009 if (var7 == NULL) {
6010 fprintf(stderr, "Runtime error: %s", "Cast failed");
6011 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9374);
6012 exit(1);
6013 }
6014 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6015 } else {
6016 }
6017 RET_LABEL:;
6018 }
6019 /* method parser_prod#ASuperstringExpr#visit_all for (self: Object, Visitor) */
6020 void VIRTUAL_parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
6021 parser_prod__ASuperstringExpr__visit_all(self, p0);
6022 RET_LABEL:;
6023 }
6024 /* method parser_prod#AParExpr#empty_init for (self: AParExpr) */
6025 void parser_prod__AParExpr__empty_init(val* self) {
6026 RET_LABEL:;
6027 }
6028 /* method parser_prod#AParExpr#empty_init for (self: Object) */
6029 void VIRTUAL_parser_prod__AParExpr__empty_init(val* self) {
6030 parser_prod__AParExpr__empty_init(self);
6031 RET_LABEL:;
6032 }
6033 /* method parser_prod#AParExpr#init_aparexpr for (self: AParExpr, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
6034 void parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
6035 val* var_n_opar /* var n_opar: nullable TOpar */;
6036 val* var_n_expr /* var n_expr: nullable AExpr */;
6037 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6038 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
6039 val* var /* : null */;
6040 short int var1 /* : Bool */;
6041 var_n_opar = p0;
6042 var_n_expr = p1;
6043 var_n_cpar = p2;
6044 var_n_annotations = p3;
6045 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExpr__empty_init]))(self) /* empty_init on <self:AParExpr>*/;
6046 if (var_n_opar == NULL) {
6047 fprintf(stderr, "Runtime error: %s", "Cast failed");
6048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9389);
6049 exit(1);
6050 }
6051 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AParExpr> */
6052 if (var_n_opar == NULL) {
6053 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9390);
6055 exit(1);
6056 } else {
6057 ((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>*/;
6058 }
6059 if (var_n_expr == NULL) {
6060 fprintf(stderr, "Runtime error: %s", "Cast failed");
6061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9391);
6062 exit(1);
6063 }
6064 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AParExpr> */
6065 if (var_n_expr == NULL) {
6066 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9392);
6068 exit(1);
6069 } else {
6070 ((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>*/;
6071 }
6072 if (var_n_cpar == NULL) {
6073 fprintf(stderr, "Runtime error: %s", "Cast failed");
6074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9393);
6075 exit(1);
6076 }
6077 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExpr> */
6078 if (var_n_cpar == NULL) {
6079 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9394);
6081 exit(1);
6082 } else {
6083 ((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>*/;
6084 }
6085 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AParExpr> */
6086 var = NULL;
6087 if (var_n_annotations == NULL) {
6088 var1 = 0; /* is null */
6089 } else {
6090 var1 = 1; /* arg is null and recv is not */
6091 }
6092 if (var1){
6093 ((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)>*/;
6094 } else {
6095 }
6096 RET_LABEL:;
6097 }
6098 /* method parser_prod#AParExpr#init_aparexpr for (self: Object, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
6099 void VIRTUAL_parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
6100 parser_prod__AParExpr__init_aparexpr(self, p0, p1, p2, p3);
6101 RET_LABEL:;
6102 }
6103 /* method parser_prod#AParExpr#replace_child for (self: AParExpr, ANode, nullable ANode) */
6104 void parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
6105 val* var_old_child /* var old_child: ANode */;
6106 val* var_new_child /* var new_child: nullable ANode */;
6107 val* var /* : TOpar */;
6108 short int var1 /* : Bool */;
6109 val* var2 /* : null */;
6110 short int var3 /* : Bool */;
6111 short int var4 /* : Bool */;
6112 int cltype;
6113 int idtype;
6114 val* var5 /* : AExpr */;
6115 short int var6 /* : Bool */;
6116 val* var7 /* : null */;
6117 short int var8 /* : Bool */;
6118 short int var9 /* : Bool */;
6119 int cltype10;
6120 int idtype11;
6121 val* var12 /* : TCpar */;
6122 short int var13 /* : Bool */;
6123 val* var14 /* : null */;
6124 short int var15 /* : Bool */;
6125 short int var16 /* : Bool */;
6126 int cltype17;
6127 int idtype18;
6128 val* var19 /* : nullable AAnnotations */;
6129 short int var20 /* : Bool */;
6130 val* var21 /* : null */;
6131 short int var22 /* : Bool */;
6132 short int var23 /* : Bool */;
6133 int cltype24;
6134 int idtype25;
6135 val* var26 /* : null */;
6136 var_old_child = p0;
6137 var_new_child = p1;
6138 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6139 if (var == NULL) {
6140 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9403);
6142 exit(1);
6143 }
6144 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
6145 if (var1){
6146 var2 = NULL;
6147 if (var_new_child == NULL) {
6148 var3 = 0; /* is null */
6149 } else {
6150 var3 = 1; /* arg is null and recv is not */
6151 }
6152 if (var3){
6153 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6154 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6155 cltype = type_parser_nodes__TOpar.color;
6156 idtype = type_parser_nodes__TOpar.id;
6157 if(cltype >= var_new_child->type->table_size) {
6158 var4 = 0;
6159 } else {
6160 var4 = var_new_child->type->type_table[cltype] == idtype;
6161 }
6162 if (!var4) {
6163 fprintf(stderr, "Runtime error: %s", "Assert failed");
6164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9406);
6165 exit(1);
6166 }
6167 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_new_child; /* _n_opar on <self:AParExpr> */
6168 } else {
6169 fprintf(stderr, "Runtime error: %s", "Aborted");
6170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9409);
6171 exit(1);
6172 }
6173 goto RET_LABEL;
6174 } else {
6175 }
6176 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6177 if (var5 == NULL) {
6178 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9413);
6180 exit(1);
6181 }
6182 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6183 if (var6){
6184 var7 = NULL;
6185 if (var_new_child == NULL) {
6186 var8 = 0; /* is null */
6187 } else {
6188 var8 = 1; /* arg is null and recv is not */
6189 }
6190 if (var8){
6191 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6192 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6193 cltype10 = type_parser_nodes__AExpr.color;
6194 idtype11 = type_parser_nodes__AExpr.id;
6195 if(cltype10 >= var_new_child->type->table_size) {
6196 var9 = 0;
6197 } else {
6198 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6199 }
6200 if (!var9) {
6201 fprintf(stderr, "Runtime error: %s", "Assert failed");
6202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9416);
6203 exit(1);
6204 }
6205 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AParExpr> */
6206 } else {
6207 fprintf(stderr, "Runtime error: %s", "Aborted");
6208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9419);
6209 exit(1);
6210 }
6211 goto RET_LABEL;
6212 } else {
6213 }
6214 var12 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6215 if (var12 == NULL) {
6216 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9423);
6218 exit(1);
6219 }
6220 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TCpar>*/;
6221 if (var13){
6222 var14 = NULL;
6223 if (var_new_child == NULL) {
6224 var15 = 0; /* is null */
6225 } else {
6226 var15 = 1; /* arg is null and recv is not */
6227 }
6228 if (var15){
6229 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6230 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
6231 cltype17 = type_parser_nodes__TCpar.color;
6232 idtype18 = type_parser_nodes__TCpar.id;
6233 if(cltype17 >= var_new_child->type->table_size) {
6234 var16 = 0;
6235 } else {
6236 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6237 }
6238 if (!var16) {
6239 fprintf(stderr, "Runtime error: %s", "Assert failed");
6240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9426);
6241 exit(1);
6242 }
6243 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExpr> */
6244 } else {
6245 fprintf(stderr, "Runtime error: %s", "Aborted");
6246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9429);
6247 exit(1);
6248 }
6249 goto RET_LABEL;
6250 } else {
6251 }
6252 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6253 if (var19 == NULL) {
6254 var20 = 0; /* <var_old_child:ANode> cannot be null */
6255 } else {
6256 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
6257 }
6258 if (var20){
6259 var21 = NULL;
6260 if (var_new_child == NULL) {
6261 var22 = 0; /* is null */
6262 } else {
6263 var22 = 1; /* arg is null and recv is not */
6264 }
6265 if (var22){
6266 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6267 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
6268 cltype24 = type_parser_nodes__AAnnotations.color;
6269 idtype25 = type_parser_nodes__AAnnotations.id;
6270 if(cltype24 >= var_new_child->type->table_size) {
6271 var23 = 0;
6272 } else {
6273 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6274 }
6275 if (!var23) {
6276 fprintf(stderr, "Runtime error: %s", "Assert failed");
6277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9436);
6278 exit(1);
6279 }
6280 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AParExpr> */
6281 } else {
6282 var26 = NULL;
6283 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AParExpr> */
6284 }
6285 goto RET_LABEL;
6286 } else {
6287 }
6288 RET_LABEL:;
6289 }
6290 /* method parser_prod#AParExpr#replace_child for (self: Object, ANode, nullable ANode) */
6291 void VIRTUAL_parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
6292 parser_prod__AParExpr__replace_child(self, p0, p1);
6293 RET_LABEL:;
6294 }
6295 /* method parser_prod#AParExpr#n_opar= for (self: AParExpr, TOpar) */
6296 void parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6297 val* var_node /* var node: TOpar */;
6298 var_node = p0;
6299 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_node; /* _n_opar on <self:AParExpr> */
6300 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6301 RET_LABEL:;
6302 }
6303 /* method parser_prod#AParExpr#n_opar= for (self: Object, TOpar) */
6304 void VIRTUAL_parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6305 parser_prod__AParExpr__n_opar_61d(self, p0);
6306 RET_LABEL:;
6307 }
6308 /* method parser_prod#AParExpr#n_expr= for (self: AParExpr, AExpr) */
6309 void parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6310 val* var_node /* var node: AExpr */;
6311 var_node = p0;
6312 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AParExpr> */
6313 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6314 RET_LABEL:;
6315 }
6316 /* method parser_prod#AParExpr#n_expr= for (self: Object, AExpr) */
6317 void VIRTUAL_parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6318 parser_prod__AParExpr__n_expr_61d(self, p0);
6319 RET_LABEL:;
6320 }
6321 /* method parser_prod#AParExpr#n_cpar= for (self: AParExpr, TCpar) */
6322 void parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6323 val* var_node /* var node: TCpar */;
6324 var_node = p0;
6325 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_node; /* _n_cpar on <self:AParExpr> */
6326 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6327 RET_LABEL:;
6328 }
6329 /* method parser_prod#AParExpr#n_cpar= for (self: Object, TCpar) */
6330 void VIRTUAL_parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6331 parser_prod__AParExpr__n_cpar_61d(self, p0);
6332 RET_LABEL:;
6333 }
6334 /* method parser_prod#AParExpr#n_annotations= for (self: AParExpr, nullable AAnnotations) */
6335 void parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6336 val* var_node /* var node: nullable AAnnotations */;
6337 val* var /* : null */;
6338 short int var1 /* : Bool */;
6339 var_node = p0;
6340 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AParExpr> */
6341 var = NULL;
6342 if (var_node == NULL) {
6343 var1 = 0; /* is null */
6344 } else {
6345 var1 = 1; /* arg is null and recv is not */
6346 }
6347 if (var1){
6348 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
6349 } else {
6350 }
6351 RET_LABEL:;
6352 }
6353 /* method parser_prod#AParExpr#n_annotations= for (self: Object, nullable AAnnotations) */
6354 void VIRTUAL_parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6355 parser_prod__AParExpr__n_annotations_61d(self, p0);
6356 RET_LABEL:;
6357 }
6358 /* method parser_prod#AParExpr#visit_all for (self: AParExpr, Visitor) */
6359 void parser_prod__AParExpr__visit_all(val* self, val* p0) {
6360 val* var_v /* var v: Visitor */;
6361 val* var /* : TOpar */;
6362 val* var1 /* : AExpr */;
6363 val* var2 /* : TCpar */;
6364 val* var3 /* : nullable AAnnotations */;
6365 val* var4 /* : null */;
6366 short int var5 /* : Bool */;
6367 val* var6 /* : nullable AAnnotations */;
6368 var_v = p0;
6369 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6370 if (var == NULL) {
6371 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9471);
6373 exit(1);
6374 }
6375 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6376 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6377 if (var1 == NULL) {
6378 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9472);
6380 exit(1);
6381 }
6382 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6383 var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6384 if (var2 == NULL) {
6385 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9473);
6387 exit(1);
6388 }
6389 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6390 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6391 var4 = NULL;
6392 if (var3 == NULL) {
6393 var5 = 0; /* is null */
6394 } else {
6395 var5 = 1; /* arg is null and recv is not */
6396 }
6397 if (var5){
6398 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6399 if (var6 == NULL) {
6400 fprintf(stderr, "Runtime error: %s", "Cast failed");
6401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9475);
6402 exit(1);
6403 }
6404 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
6405 } else {
6406 }
6407 RET_LABEL:;
6408 }
6409 /* method parser_prod#AParExpr#visit_all for (self: Object, Visitor) */
6410 void VIRTUAL_parser_prod__AParExpr__visit_all(val* self, val* p0) {
6411 parser_prod__AParExpr__visit_all(self, p0);
6412 RET_LABEL:;
6413 }
6414 /* method parser_prod#AAsCastExpr#empty_init for (self: AAsCastExpr) */
6415 void parser_prod__AAsCastExpr__empty_init(val* self) {
6416 RET_LABEL:;
6417 }
6418 /* method parser_prod#AAsCastExpr#empty_init for (self: Object) */
6419 void VIRTUAL_parser_prod__AAsCastExpr__empty_init(val* self) {
6420 parser_prod__AAsCastExpr__empty_init(self);
6421 RET_LABEL:;
6422 }
6423 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: AAsCastExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6424 void parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6425 val* var_n_expr /* var n_expr: nullable AExpr */;
6426 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6427 val* var_n_opar /* var n_opar: nullable TOpar */;
6428 val* var_n_type /* var n_type: nullable AType */;
6429 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6430 var_n_expr = p0;
6431 var_n_kwas = p1;
6432 var_n_opar = p2;
6433 var_n_type = p3;
6434 var_n_cpar = p4;
6435 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsCastExpr__empty_init]))(self) /* empty_init on <self:AAsCastExpr>*/;
6436 if (var_n_expr == NULL) {
6437 fprintf(stderr, "Runtime error: %s", "Cast failed");
6438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9491);
6439 exit(1);
6440 }
6441 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsCastExpr> */
6442 if (var_n_expr == NULL) {
6443 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9492);
6445 exit(1);
6446 } else {
6447 ((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>*/;
6448 }
6449 if (var_n_kwas == NULL) {
6450 fprintf(stderr, "Runtime error: %s", "Cast failed");
6451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9493);
6452 exit(1);
6453 }
6454 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsCastExpr> */
6455 if (var_n_kwas == NULL) {
6456 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9494);
6458 exit(1);
6459 } else {
6460 ((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>*/;
6461 }
6462 if (var_n_opar == NULL) {
6463 fprintf(stderr, "Runtime error: %s", "Cast failed");
6464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9495);
6465 exit(1);
6466 }
6467 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsCastExpr> */
6468 if (var_n_opar == NULL) {
6469 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9496);
6471 exit(1);
6472 } else {
6473 ((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>*/;
6474 }
6475 if (var_n_type == NULL) {
6476 fprintf(stderr, "Runtime error: %s", "Cast failed");
6477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9497);
6478 exit(1);
6479 }
6480 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_n_type; /* _n_type on <self:AAsCastExpr> */
6481 if (var_n_type == NULL) {
6482 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9498);
6484 exit(1);
6485 } else {
6486 ((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>*/;
6487 }
6488 if (var_n_cpar == NULL) {
6489 fprintf(stderr, "Runtime error: %s", "Cast failed");
6490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9499);
6491 exit(1);
6492 }
6493 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsCastExpr> */
6494 if (var_n_cpar == NULL) {
6495 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9500);
6497 exit(1);
6498 } else {
6499 ((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>*/;
6500 }
6501 RET_LABEL:;
6502 }
6503 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6504 void VIRTUAL_parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6505 parser_prod__AAsCastExpr__init_aascastexpr(self, p0, p1, p2, p3, p4);
6506 RET_LABEL:;
6507 }
6508 /* method parser_prod#AAsCastExpr#replace_child for (self: AAsCastExpr, ANode, nullable ANode) */
6509 void parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6510 val* var_old_child /* var old_child: ANode */;
6511 val* var_new_child /* var new_child: nullable ANode */;
6512 val* var /* : AExpr */;
6513 short int var1 /* : Bool */;
6514 val* var2 /* : null */;
6515 short int var3 /* : Bool */;
6516 short int var4 /* : Bool */;
6517 int cltype;
6518 int idtype;
6519 val* var5 /* : TKwas */;
6520 short int var6 /* : Bool */;
6521 val* var7 /* : null */;
6522 short int var8 /* : Bool */;
6523 short int var9 /* : Bool */;
6524 int cltype10;
6525 int idtype11;
6526 val* var12 /* : TOpar */;
6527 short int var13 /* : Bool */;
6528 val* var14 /* : null */;
6529 short int var15 /* : Bool */;
6530 short int var16 /* : Bool */;
6531 int cltype17;
6532 int idtype18;
6533 val* var19 /* : AType */;
6534 short int var20 /* : Bool */;
6535 val* var21 /* : null */;
6536 short int var22 /* : Bool */;
6537 short int var23 /* : Bool */;
6538 int cltype24;
6539 int idtype25;
6540 val* var26 /* : TCpar */;
6541 short int var27 /* : Bool */;
6542 val* var28 /* : null */;
6543 short int var29 /* : Bool */;
6544 short int var30 /* : Bool */;
6545 int cltype31;
6546 int idtype32;
6547 var_old_child = p0;
6548 var_new_child = p1;
6549 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6550 if (var == NULL) {
6551 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9505);
6553 exit(1);
6554 }
6555 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6556 if (var1){
6557 var2 = NULL;
6558 if (var_new_child == NULL) {
6559 var3 = 0; /* is null */
6560 } else {
6561 var3 = 1; /* arg is null and recv is not */
6562 }
6563 if (var3){
6564 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6565 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6566 cltype = type_parser_nodes__AExpr.color;
6567 idtype = type_parser_nodes__AExpr.id;
6568 if(cltype >= var_new_child->type->table_size) {
6569 var4 = 0;
6570 } else {
6571 var4 = var_new_child->type->type_table[cltype] == idtype;
6572 }
6573 if (!var4) {
6574 fprintf(stderr, "Runtime error: %s", "Assert failed");
6575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9508);
6576 exit(1);
6577 }
6578 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsCastExpr> */
6579 } else {
6580 fprintf(stderr, "Runtime error: %s", "Aborted");
6581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9511);
6582 exit(1);
6583 }
6584 goto RET_LABEL;
6585 } else {
6586 }
6587 var5 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6588 if (var5 == NULL) {
6589 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
6590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9515);
6591 exit(1);
6592 }
6593 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
6594 if (var6){
6595 var7 = NULL;
6596 if (var_new_child == NULL) {
6597 var8 = 0; /* is null */
6598 } else {
6599 var8 = 1; /* arg is null and recv is not */
6600 }
6601 if (var8){
6602 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6603 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
6604 cltype10 = type_parser_nodes__TKwas.color;
6605 idtype11 = type_parser_nodes__TKwas.id;
6606 if(cltype10 >= var_new_child->type->table_size) {
6607 var9 = 0;
6608 } else {
6609 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6610 }
6611 if (!var9) {
6612 fprintf(stderr, "Runtime error: %s", "Assert failed");
6613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9518);
6614 exit(1);
6615 }
6616 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsCastExpr> */
6617 } else {
6618 fprintf(stderr, "Runtime error: %s", "Aborted");
6619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9521);
6620 exit(1);
6621 }
6622 goto RET_LABEL;
6623 } else {
6624 }
6625 var12 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6626 if (var12 == NULL) {
6627 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9525);
6629 exit(1);
6630 }
6631 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
6632 if (var13){
6633 var14 = NULL;
6634 if (var_new_child == NULL) {
6635 var15 = 0; /* is null */
6636 } else {
6637 var15 = 1; /* arg is null and recv is not */
6638 }
6639 if (var15){
6640 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6641 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6642 cltype17 = type_parser_nodes__TOpar.color;
6643 idtype18 = type_parser_nodes__TOpar.id;
6644 if(cltype17 >= var_new_child->type->table_size) {
6645 var16 = 0;
6646 } else {
6647 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6648 }
6649 if (!var16) {
6650 fprintf(stderr, "Runtime error: %s", "Assert failed");
6651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9528);
6652 exit(1);
6653 }
6654 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsCastExpr> */
6655 } else {
6656 fprintf(stderr, "Runtime error: %s", "Aborted");
6657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9531);
6658 exit(1);
6659 }
6660 goto RET_LABEL;
6661 } else {
6662 }
6663 var19 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6664 if (var19 == NULL) {
6665 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
6666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9535);
6667 exit(1);
6668 }
6669 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
6670 if (var20){
6671 var21 = NULL;
6672 if (var_new_child == NULL) {
6673 var22 = 0; /* is null */
6674 } else {
6675 var22 = 1; /* arg is null and recv is not */
6676 }
6677 if (var22){
6678 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6679 /* <var_new_child:nullable ANode(ANode)> isa AType */
6680 cltype24 = type_parser_nodes__AType.color;
6681 idtype25 = type_parser_nodes__AType.id;
6682 if(cltype24 >= var_new_child->type->table_size) {
6683 var23 = 0;
6684 } else {
6685 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6686 }
6687 if (!var23) {
6688 fprintf(stderr, "Runtime error: %s", "Assert failed");
6689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9538);
6690 exit(1);
6691 }
6692 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_new_child; /* _n_type on <self:AAsCastExpr> */
6693 } else {
6694 fprintf(stderr, "Runtime error: %s", "Aborted");
6695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9541);
6696 exit(1);
6697 }
6698 goto RET_LABEL;
6699 } else {
6700 }
6701 var26 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6702 if (var26 == NULL) {
6703 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9545);
6705 exit(1);
6706 }
6707 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TCpar>*/;
6708 if (var27){
6709 var28 = NULL;
6710 if (var_new_child == NULL) {
6711 var29 = 0; /* is null */
6712 } else {
6713 var29 = 1; /* arg is null and recv is not */
6714 }
6715 if (var29){
6716 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6717 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
6718 cltype31 = type_parser_nodes__TCpar.color;
6719 idtype32 = type_parser_nodes__TCpar.id;
6720 if(cltype31 >= var_new_child->type->table_size) {
6721 var30 = 0;
6722 } else {
6723 var30 = var_new_child->type->type_table[cltype31] == idtype32;
6724 }
6725 if (!var30) {
6726 fprintf(stderr, "Runtime error: %s", "Assert failed");
6727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9548);
6728 exit(1);
6729 }
6730 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsCastExpr> */
6731 } else {
6732 fprintf(stderr, "Runtime error: %s", "Aborted");
6733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9551);
6734 exit(1);
6735 }
6736 goto RET_LABEL;
6737 } else {
6738 }
6739 RET_LABEL:;
6740 }
6741 /* method parser_prod#AAsCastExpr#replace_child for (self: Object, ANode, nullable ANode) */
6742 void VIRTUAL_parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6743 parser_prod__AAsCastExpr__replace_child(self, p0, p1);
6744 RET_LABEL:;
6745 }
6746 /* method parser_prod#AAsCastExpr#n_expr= for (self: AAsCastExpr, AExpr) */
6747 void parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6748 val* var_node /* var node: AExpr */;
6749 var_node = p0;
6750 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_node; /* _n_expr on <self:AAsCastExpr> */
6751 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6752 RET_LABEL:;
6753 }
6754 /* method parser_prod#AAsCastExpr#n_expr= for (self: Object, AExpr) */
6755 void VIRTUAL_parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6756 parser_prod__AAsCastExpr__n_expr_61d(self, p0);
6757 RET_LABEL:;
6758 }
6759 /* method parser_prod#AAsCastExpr#n_kwas= for (self: AAsCastExpr, TKwas) */
6760 void parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6761 val* var_node /* var node: TKwas */;
6762 var_node = p0;
6763 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsCastExpr> */
6764 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
6765 RET_LABEL:;
6766 }
6767 /* method parser_prod#AAsCastExpr#n_kwas= for (self: Object, TKwas) */
6768 void VIRTUAL_parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6769 parser_prod__AAsCastExpr__n_kwas_61d(self, p0);
6770 RET_LABEL:;
6771 }
6772 /* method parser_prod#AAsCastExpr#n_opar= for (self: AAsCastExpr, TOpar) */
6773 void parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6774 val* var_node /* var node: TOpar */;
6775 var_node = p0;
6776 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_node; /* _n_opar on <self:AAsCastExpr> */
6777 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6778 RET_LABEL:;
6779 }
6780 /* method parser_prod#AAsCastExpr#n_opar= for (self: Object, TOpar) */
6781 void VIRTUAL_parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6782 parser_prod__AAsCastExpr__n_opar_61d(self, p0);
6783 RET_LABEL:;
6784 }
6785 /* method parser_prod#AAsCastExpr#n_type= for (self: AAsCastExpr, AType) */
6786 void parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6787 val* var_node /* var node: AType */;
6788 var_node = p0;
6789 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_node; /* _n_type on <self:AAsCastExpr> */
6790 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
6791 RET_LABEL:;
6792 }
6793 /* method parser_prod#AAsCastExpr#n_type= for (self: Object, AType) */
6794 void VIRTUAL_parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6795 parser_prod__AAsCastExpr__n_type_61d(self, p0);
6796 RET_LABEL:;
6797 }
6798 /* method parser_prod#AAsCastExpr#n_cpar= for (self: AAsCastExpr, TCpar) */
6799 void parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6800 val* var_node /* var node: TCpar */;
6801 var_node = p0;
6802 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsCastExpr> */
6803 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6804 RET_LABEL:;
6805 }
6806 /* method parser_prod#AAsCastExpr#n_cpar= for (self: Object, TCpar) */
6807 void VIRTUAL_parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6808 parser_prod__AAsCastExpr__n_cpar_61d(self, p0);
6809 RET_LABEL:;
6810 }
6811 /* method parser_prod#AAsCastExpr#visit_all for (self: AAsCastExpr, Visitor) */
6812 void parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6813 val* var_v /* var v: Visitor */;
6814 val* var /* : AExpr */;
6815 val* var1 /* : TKwas */;
6816 val* var2 /* : TOpar */;
6817 val* var3 /* : AType */;
6818 val* var4 /* : TCpar */;
6819 var_v = p0;
6820 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6821 if (var == NULL) {
6822 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9586);
6824 exit(1);
6825 }
6826 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6827 var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6828 if (var1 == NULL) {
6829 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
6830 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9587);
6831 exit(1);
6832 }
6833 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6834 var2 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6835 if (var2 == NULL) {
6836 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
6837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9588);
6838 exit(1);
6839 }
6840 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6841 var3 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6842 if (var3 == NULL) {
6843 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
6844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9589);
6845 exit(1);
6846 }
6847 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6848 var4 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6849 if (var4 == NULL) {
6850 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
6851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9590);
6852 exit(1);
6853 }
6854 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
6855 RET_LABEL:;
6856 }
6857 /* method parser_prod#AAsCastExpr#visit_all for (self: Object, Visitor) */
6858 void VIRTUAL_parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6859 parser_prod__AAsCastExpr__visit_all(self, p0);
6860 RET_LABEL:;
6861 }
6862 /* method parser_prod#AAsNotnullExpr#empty_init for (self: AAsNotnullExpr) */
6863 void parser_prod__AAsNotnullExpr__empty_init(val* self) {
6864 RET_LABEL:;
6865 }
6866 /* method parser_prod#AAsNotnullExpr#empty_init for (self: Object) */
6867 void VIRTUAL_parser_prod__AAsNotnullExpr__empty_init(val* self) {
6868 parser_prod__AAsNotnullExpr__empty_init(self);
6869 RET_LABEL:;
6870 }
6871 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: AAsNotnullExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6872 void parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6873 val* var_n_expr /* var n_expr: nullable AExpr */;
6874 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6875 val* var_n_opar /* var n_opar: nullable TOpar */;
6876 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
6877 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
6878 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6879 var_n_expr = p0;
6880 var_n_kwas = p1;
6881 var_n_opar = p2;
6882 var_n_kwnot = p3;
6883 var_n_kwnull = p4;
6884 var_n_cpar = p5;
6885 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNotnullExpr__empty_init]))(self) /* empty_init on <self:AAsNotnullExpr>*/;
6886 if (var_n_expr == NULL) {
6887 fprintf(stderr, "Runtime error: %s", "Cast failed");
6888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9606);
6889 exit(1);
6890 }
6891 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsNotnullExpr> */
6892 if (var_n_expr == NULL) {
6893 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6894 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9607);
6895 exit(1);
6896 } else {
6897 ((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>*/;
6898 }
6899 if (var_n_kwas == NULL) {
6900 fprintf(stderr, "Runtime error: %s", "Cast failed");
6901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9608);
6902 exit(1);
6903 }
6904 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNotnullExpr> */
6905 if (var_n_kwas == NULL) {
6906 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9609);
6908 exit(1);
6909 } else {
6910 ((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>*/;
6911 }
6912 if (var_n_opar == NULL) {
6913 fprintf(stderr, "Runtime error: %s", "Cast failed");
6914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9610);
6915 exit(1);
6916 }
6917 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsNotnullExpr> */
6918 if (var_n_opar == NULL) {
6919 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9611);
6921 exit(1);
6922 } else {
6923 ((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>*/;
6924 }
6925 if (var_n_kwnot == NULL) {
6926 fprintf(stderr, "Runtime error: %s", "Cast failed");
6927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9612);
6928 exit(1);
6929 }
6930 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:AAsNotnullExpr> */
6931 if (var_n_kwnot == NULL) {
6932 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9613);
6934 exit(1);
6935 } else {
6936 ((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>*/;
6937 }
6938 if (var_n_kwnull == NULL) {
6939 fprintf(stderr, "Runtime error: %s", "Cast failed");
6940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9614);
6941 exit(1);
6942 }
6943 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:AAsNotnullExpr> */
6944 if (var_n_kwnull == NULL) {
6945 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9615);
6947 exit(1);
6948 } else {
6949 ((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>*/;
6950 }
6951 if (var_n_cpar == NULL) {
6952 fprintf(stderr, "Runtime error: %s", "Cast failed");
6953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9616);
6954 exit(1);
6955 }
6956 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsNotnullExpr> */
6957 if (var_n_cpar == NULL) {
6958 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9617);
6960 exit(1);
6961 } else {
6962 ((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>*/;
6963 }
6964 RET_LABEL:;
6965 }
6966 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6967 void VIRTUAL_parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6968 parser_prod__AAsNotnullExpr__init_aasnotnullexpr(self, p0, p1, p2, p3, p4, p5);
6969 RET_LABEL:;
6970 }
6971 /* method parser_prod#AAsNotnullExpr#replace_child for (self: AAsNotnullExpr, ANode, nullable ANode) */
6972 void parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
6973 val* var_old_child /* var old_child: ANode */;
6974 val* var_new_child /* var new_child: nullable ANode */;
6975 val* var /* : AExpr */;
6976 short int var1 /* : Bool */;
6977 val* var2 /* : null */;
6978 short int var3 /* : Bool */;
6979 short int var4 /* : Bool */;
6980 int cltype;
6981 int idtype;
6982 val* var5 /* : TKwas */;
6983 short int var6 /* : Bool */;
6984 val* var7 /* : null */;
6985 short int var8 /* : Bool */;
6986 short int var9 /* : Bool */;
6987 int cltype10;
6988 int idtype11;
6989 val* var12 /* : TOpar */;
6990 short int var13 /* : Bool */;
6991 val* var14 /* : null */;
6992 short int var15 /* : Bool */;
6993 short int var16 /* : Bool */;
6994 int cltype17;
6995 int idtype18;
6996 val* var19 /* : TKwnot */;
6997 short int var20 /* : Bool */;
6998 val* var21 /* : null */;
6999 short int var22 /* : Bool */;
7000 short int var23 /* : Bool */;
7001 int cltype24;
7002 int idtype25;
7003 val* var26 /* : TKwnull */;
7004 short int var27 /* : Bool */;
7005 val* var28 /* : null */;
7006 short int var29 /* : Bool */;
7007 short int var30 /* : Bool */;
7008 int cltype31;
7009 int idtype32;
7010 val* var33 /* : TCpar */;
7011 short int var34 /* : Bool */;
7012 val* var35 /* : null */;
7013 short int var36 /* : Bool */;
7014 short int var37 /* : Bool */;
7015 int cltype38;
7016 int idtype39;
7017 var_old_child = p0;
7018 var_new_child = p1;
7019 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
7020 if (var == NULL) {
7021 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9622);
7023 exit(1);
7024 }
7025 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7026 if (var1){
7027 var2 = NULL;
7028 if (var_new_child == NULL) {
7029 var3 = 0; /* is null */
7030 } else {
7031 var3 = 1; /* arg is null and recv is not */
7032 }
7033 if (var3){
7034 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7035 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7036 cltype = type_parser_nodes__AExpr.color;
7037 idtype = type_parser_nodes__AExpr.id;
7038 if(cltype >= var_new_child->type->table_size) {
7039 var4 = 0;
7040 } else {
7041 var4 = var_new_child->type->type_table[cltype] == idtype;
7042 }
7043 if (!var4) {
7044 fprintf(stderr, "Runtime error: %s", "Assert failed");
7045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9625);
7046 exit(1);
7047 }
7048 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsNotnullExpr> */
7049 } else {
7050 fprintf(stderr, "Runtime error: %s", "Aborted");
7051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9628);
7052 exit(1);
7053 }
7054 goto RET_LABEL;
7055 } else {
7056 }
7057 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
7058 if (var5 == NULL) {
7059 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
7060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9632);
7061 exit(1);
7062 }
7063 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
7064 if (var6){
7065 var7 = NULL;
7066 if (var_new_child == NULL) {
7067 var8 = 0; /* is null */
7068 } else {
7069 var8 = 1; /* arg is null and recv is not */
7070 }
7071 if (var8){
7072 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7073 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
7074 cltype10 = type_parser_nodes__TKwas.color;
7075 idtype11 = type_parser_nodes__TKwas.id;
7076 if(cltype10 >= var_new_child->type->table_size) {
7077 var9 = 0;
7078 } else {
7079 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7080 }
7081 if (!var9) {
7082 fprintf(stderr, "Runtime error: %s", "Assert failed");
7083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9635);
7084 exit(1);
7085 }
7086 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsNotnullExpr> */
7087 } else {
7088 fprintf(stderr, "Runtime error: %s", "Aborted");
7089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9638);
7090 exit(1);
7091 }
7092 goto RET_LABEL;
7093 } else {
7094 }
7095 var12 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
7096 if (var12 == NULL) {
7097 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
7098 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9642);
7099 exit(1);
7100 }
7101 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
7102 if (var13){
7103 var14 = NULL;
7104 if (var_new_child == NULL) {
7105 var15 = 0; /* is null */
7106 } else {
7107 var15 = 1; /* arg is null and recv is not */
7108 }
7109 if (var15){
7110 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7111 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
7112 cltype17 = type_parser_nodes__TOpar.color;
7113 idtype18 = type_parser_nodes__TOpar.id;
7114 if(cltype17 >= var_new_child->type->table_size) {
7115 var16 = 0;
7116 } else {
7117 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7118 }
7119 if (!var16) {
7120 fprintf(stderr, "Runtime error: %s", "Assert failed");
7121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9645);
7122 exit(1);
7123 }
7124 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsNotnullExpr> */
7125 } else {
7126 fprintf(stderr, "Runtime error: %s", "Aborted");
7127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9648);
7128 exit(1);
7129 }
7130 goto RET_LABEL;
7131 } else {
7132 }
7133 var19 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
7134 if (var19 == NULL) {
7135 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
7136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9652);
7137 exit(1);
7138 }
7139 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TKwnot>*/;
7140 if (var20){
7141 var21 = NULL;
7142 if (var_new_child == NULL) {
7143 var22 = 0; /* is null */
7144 } else {
7145 var22 = 1; /* arg is null and recv is not */
7146 }
7147 if (var22){
7148 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7149 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
7150 cltype24 = type_parser_nodes__TKwnot.color;
7151 idtype25 = type_parser_nodes__TKwnot.id;
7152 if(cltype24 >= var_new_child->type->table_size) {
7153 var23 = 0;
7154 } else {
7155 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7156 }
7157 if (!var23) {
7158 fprintf(stderr, "Runtime error: %s", "Assert failed");
7159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9655);
7160 exit(1);
7161 }
7162 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:AAsNotnullExpr> */
7163 } else {
7164 fprintf(stderr, "Runtime error: %s", "Aborted");
7165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9658);
7166 exit(1);
7167 }
7168 goto RET_LABEL;
7169 } else {
7170 }
7171 var26 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
7172 if (var26 == NULL) {
7173 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
7174 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9662);
7175 exit(1);
7176 }
7177 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwnull>*/;
7178 if (var27){
7179 var28 = NULL;
7180 if (var_new_child == NULL) {
7181 var29 = 0; /* is null */
7182 } else {
7183 var29 = 1; /* arg is null and recv is not */
7184 }
7185 if (var29){
7186 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7187 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
7188 cltype31 = type_parser_nodes__TKwnull.color;
7189 idtype32 = type_parser_nodes__TKwnull.id;
7190 if(cltype31 >= var_new_child->type->table_size) {
7191 var30 = 0;
7192 } else {
7193 var30 = var_new_child->type->type_table[cltype31] == idtype32;
7194 }
7195 if (!var30) {
7196 fprintf(stderr, "Runtime error: %s", "Assert failed");
7197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9665);
7198 exit(1);
7199 }
7200 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:AAsNotnullExpr> */
7201 } else {
7202 fprintf(stderr, "Runtime error: %s", "Aborted");
7203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9668);
7204 exit(1);
7205 }
7206 goto RET_LABEL;
7207 } else {
7208 }
7209 var33 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7210 if (var33 == NULL) {
7211 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
7212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9672);
7213 exit(1);
7214 }
7215 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:TCpar>*/;
7216 if (var34){
7217 var35 = NULL;
7218 if (var_new_child == NULL) {
7219 var36 = 0; /* is null */
7220 } else {
7221 var36 = 1; /* arg is null and recv is not */
7222 }
7223 if (var36){
7224 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7225 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
7226 cltype38 = type_parser_nodes__TCpar.color;
7227 idtype39 = type_parser_nodes__TCpar.id;
7228 if(cltype38 >= var_new_child->type->table_size) {
7229 var37 = 0;
7230 } else {
7231 var37 = var_new_child->type->type_table[cltype38] == idtype39;
7232 }
7233 if (!var37) {
7234 fprintf(stderr, "Runtime error: %s", "Assert failed");
7235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9675);
7236 exit(1);
7237 }
7238 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsNotnullExpr> */
7239 } else {
7240 fprintf(stderr, "Runtime error: %s", "Aborted");
7241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9678);
7242 exit(1);
7243 }
7244 goto RET_LABEL;
7245 } else {
7246 }
7247 RET_LABEL:;
7248 }
7249 /* method parser_prod#AAsNotnullExpr#replace_child for (self: Object, ANode, nullable ANode) */
7250 void VIRTUAL_parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
7251 parser_prod__AAsNotnullExpr__replace_child(self, p0, p1);
7252 RET_LABEL:;
7253 }
7254 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: AAsNotnullExpr, AExpr) */
7255 void parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7256 val* var_node /* var node: AExpr */;
7257 var_node = p0;
7258 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_node; /* _n_expr on <self:AAsNotnullExpr> */
7259 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7260 RET_LABEL:;
7261 }
7262 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: Object, AExpr) */
7263 void VIRTUAL_parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7264 parser_prod__AAsNotnullExpr__n_expr_61d(self, p0);
7265 RET_LABEL:;
7266 }
7267 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: AAsNotnullExpr, TKwas) */
7268 void parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7269 val* var_node /* var node: TKwas */;
7270 var_node = p0;
7271 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsNotnullExpr> */
7272 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
7273 RET_LABEL:;
7274 }
7275 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: Object, TKwas) */
7276 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7277 parser_prod__AAsNotnullExpr__n_kwas_61d(self, p0);
7278 RET_LABEL:;
7279 }
7280 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: AAsNotnullExpr, TOpar) */
7281 void parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7282 val* var_node /* var node: TOpar */;
7283 var_node = p0;
7284 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_node; /* _n_opar on <self:AAsNotnullExpr> */
7285 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
7286 RET_LABEL:;
7287 }
7288 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: Object, TOpar) */
7289 void VIRTUAL_parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7290 parser_prod__AAsNotnullExpr__n_opar_61d(self, p0);
7291 RET_LABEL:;
7292 }
7293 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: AAsNotnullExpr, TKwnot) */
7294 void parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7295 val* var_node /* var node: TKwnot */;
7296 var_node = p0;
7297 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:AAsNotnullExpr> */
7298 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
7299 RET_LABEL:;
7300 }
7301 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: Object, TKwnot) */
7302 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7303 parser_prod__AAsNotnullExpr__n_kwnot_61d(self, p0);
7304 RET_LABEL:;
7305 }
7306 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: AAsNotnullExpr, TKwnull) */
7307 void parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7308 val* var_node /* var node: TKwnull */;
7309 var_node = p0;
7310 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:AAsNotnullExpr> */
7311 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
7312 RET_LABEL:;
7313 }
7314 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: Object, TKwnull) */
7315 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7316 parser_prod__AAsNotnullExpr__n_kwnull_61d(self, p0);
7317 RET_LABEL:;
7318 }
7319 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: AAsNotnullExpr, TCpar) */
7320 void parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7321 val* var_node /* var node: TCpar */;
7322 var_node = p0;
7323 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsNotnullExpr> */
7324 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
7325 RET_LABEL:;
7326 }
7327 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: Object, TCpar) */
7328 void VIRTUAL_parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7329 parser_prod__AAsNotnullExpr__n_cpar_61d(self, p0);
7330 RET_LABEL:;
7331 }
7332 /* method parser_prod#AAsNotnullExpr#visit_all for (self: AAsNotnullExpr, Visitor) */
7333 void parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7334 val* var_v /* var v: Visitor */;
7335 val* var /* : AExpr */;
7336 val* var1 /* : TKwas */;
7337 val* var2 /* : TOpar */;
7338 val* var3 /* : TKwnot */;
7339 val* var4 /* : TKwnull */;
7340 val* var5 /* : TCpar */;
7341 var_v = p0;
7342 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
7343 if (var == NULL) {
7344 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9718);
7346 exit(1);
7347 }
7348 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7349 var1 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
7350 if (var1 == NULL) {
7351 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
7352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9719);
7353 exit(1);
7354 }
7355 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7356 var2 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
7357 if (var2 == NULL) {
7358 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
7359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9720);
7360 exit(1);
7361 }
7362 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7363 var3 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
7364 if (var3 == NULL) {
7365 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
7366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9721);
7367 exit(1);
7368 }
7369 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7370 var4 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
7371 if (var4 == NULL) {
7372 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnull");
7373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9722);
7374 exit(1);
7375 }
7376 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
7377 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7378 if (var5 == NULL) {
7379 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
7380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9723);
7381 exit(1);
7382 }
7383 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7384 RET_LABEL:;
7385 }
7386 /* method parser_prod#AAsNotnullExpr#visit_all for (self: Object, Visitor) */
7387 void VIRTUAL_parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7388 parser_prod__AAsNotnullExpr__visit_all(self, p0);
7389 RET_LABEL:;
7390 }
7391 /* method parser_prod#AIssetAttrExpr#empty_init for (self: AIssetAttrExpr) */
7392 void parser_prod__AIssetAttrExpr__empty_init(val* self) {
7393 RET_LABEL:;
7394 }
7395 /* method parser_prod#AIssetAttrExpr#empty_init for (self: Object) */
7396 void VIRTUAL_parser_prod__AIssetAttrExpr__empty_init(val* self) {
7397 parser_prod__AIssetAttrExpr__empty_init(self);
7398 RET_LABEL:;
7399 }
7400 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: AIssetAttrExpr, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7401 void parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7402 val* var_n_kwisset /* var n_kwisset: nullable TKwisset */;
7403 val* var_n_expr /* var n_expr: nullable AExpr */;
7404 val* var_n_id /* var n_id: nullable TAttrid */;
7405 var_n_kwisset = p0;
7406 var_n_expr = p1;
7407 var_n_id = p2;
7408 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIssetAttrExpr__empty_init]))(self) /* empty_init on <self:AIssetAttrExpr>*/;
7409 if (var_n_kwisset == NULL) {
7410 fprintf(stderr, "Runtime error: %s", "Cast failed");
7411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9736);
7412 exit(1);
7413 }
7414 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_n_kwisset; /* _n_kwisset on <self:AIssetAttrExpr> */
7415 if (var_n_kwisset == NULL) {
7416 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9737);
7418 exit(1);
7419 } else {
7420 ((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>*/;
7421 }
7422 if (var_n_expr == NULL) {
7423 fprintf(stderr, "Runtime error: %s", "Cast failed");
7424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9738);
7425 exit(1);
7426 }
7427 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIssetAttrExpr> */
7428 if (var_n_expr == NULL) {
7429 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9739);
7431 exit(1);
7432 } else {
7433 ((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>*/;
7434 }
7435 if (var_n_id == NULL) {
7436 fprintf(stderr, "Runtime error: %s", "Cast failed");
7437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9740);
7438 exit(1);
7439 }
7440 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AIssetAttrExpr> */
7441 if (var_n_id == NULL) {
7442 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9741);
7444 exit(1);
7445 } else {
7446 ((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>*/;
7447 }
7448 RET_LABEL:;
7449 }
7450 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: Object, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7451 void VIRTUAL_parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7452 parser_prod__AIssetAttrExpr__init_aissetattrexpr(self, p0, p1, p2);
7453 RET_LABEL:;
7454 }
7455 /* method parser_prod#AIssetAttrExpr#replace_child for (self: AIssetAttrExpr, ANode, nullable ANode) */
7456 void parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7457 val* var_old_child /* var old_child: ANode */;
7458 val* var_new_child /* var new_child: nullable ANode */;
7459 val* var /* : TKwisset */;
7460 short int var1 /* : Bool */;
7461 val* var2 /* : null */;
7462 short int var3 /* : Bool */;
7463 short int var4 /* : Bool */;
7464 int cltype;
7465 int idtype;
7466 val* var5 /* : AExpr */;
7467 short int var6 /* : Bool */;
7468 val* var7 /* : null */;
7469 short int var8 /* : Bool */;
7470 short int var9 /* : Bool */;
7471 int cltype10;
7472 int idtype11;
7473 val* var12 /* : TAttrid */;
7474 short int var13 /* : Bool */;
7475 val* var14 /* : null */;
7476 short int var15 /* : Bool */;
7477 short int var16 /* : Bool */;
7478 int cltype17;
7479 int idtype18;
7480 var_old_child = p0;
7481 var_new_child = p1;
7482 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7483 if (var == NULL) {
7484 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwisset");
7485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9746);
7486 exit(1);
7487 }
7488 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwisset>*/;
7489 if (var1){
7490 var2 = NULL;
7491 if (var_new_child == NULL) {
7492 var3 = 0; /* is null */
7493 } else {
7494 var3 = 1; /* arg is null and recv is not */
7495 }
7496 if (var3){
7497 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7498 /* <var_new_child:nullable ANode(ANode)> isa TKwisset */
7499 cltype = type_parser_nodes__TKwisset.color;
7500 idtype = type_parser_nodes__TKwisset.id;
7501 if(cltype >= var_new_child->type->table_size) {
7502 var4 = 0;
7503 } else {
7504 var4 = var_new_child->type->type_table[cltype] == idtype;
7505 }
7506 if (!var4) {
7507 fprintf(stderr, "Runtime error: %s", "Assert failed");
7508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9749);
7509 exit(1);
7510 }
7511 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_new_child; /* _n_kwisset on <self:AIssetAttrExpr> */
7512 } else {
7513 fprintf(stderr, "Runtime error: %s", "Aborted");
7514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9752);
7515 exit(1);
7516 }
7517 goto RET_LABEL;
7518 } else {
7519 }
7520 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7521 if (var5 == NULL) {
7522 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9756);
7524 exit(1);
7525 }
7526 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
7527 if (var6){
7528 var7 = NULL;
7529 if (var_new_child == NULL) {
7530 var8 = 0; /* is null */
7531 } else {
7532 var8 = 1; /* arg is null and recv is not */
7533 }
7534 if (var8){
7535 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7536 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7537 cltype10 = type_parser_nodes__AExpr.color;
7538 idtype11 = type_parser_nodes__AExpr.id;
7539 if(cltype10 >= var_new_child->type->table_size) {
7540 var9 = 0;
7541 } else {
7542 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7543 }
7544 if (!var9) {
7545 fprintf(stderr, "Runtime error: %s", "Assert failed");
7546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9759);
7547 exit(1);
7548 }
7549 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIssetAttrExpr> */
7550 } else {
7551 fprintf(stderr, "Runtime error: %s", "Aborted");
7552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9762);
7553 exit(1);
7554 }
7555 goto RET_LABEL;
7556 } else {
7557 }
7558 var12 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7559 if (var12 == NULL) {
7560 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9766);
7562 exit(1);
7563 }
7564 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAttrid>*/;
7565 if (var13){
7566 var14 = NULL;
7567 if (var_new_child == NULL) {
7568 var15 = 0; /* is null */
7569 } else {
7570 var15 = 1; /* arg is null and recv is not */
7571 }
7572 if (var15){
7573 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7574 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7575 cltype17 = type_parser_nodes__TAttrid.color;
7576 idtype18 = type_parser_nodes__TAttrid.id;
7577 if(cltype17 >= var_new_child->type->table_size) {
7578 var16 = 0;
7579 } else {
7580 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7581 }
7582 if (!var16) {
7583 fprintf(stderr, "Runtime error: %s", "Assert failed");
7584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9769);
7585 exit(1);
7586 }
7587 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AIssetAttrExpr> */
7588 } else {
7589 fprintf(stderr, "Runtime error: %s", "Aborted");
7590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9772);
7591 exit(1);
7592 }
7593 goto RET_LABEL;
7594 } else {
7595 }
7596 RET_LABEL:;
7597 }
7598 /* method parser_prod#AIssetAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7599 void VIRTUAL_parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7600 parser_prod__AIssetAttrExpr__replace_child(self, p0, p1);
7601 RET_LABEL:;
7602 }
7603 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: AIssetAttrExpr, TKwisset) */
7604 void parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7605 val* var_node /* var node: TKwisset */;
7606 var_node = p0;
7607 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_node; /* _n_kwisset on <self:AIssetAttrExpr> */
7608 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwisset>*/;
7609 RET_LABEL:;
7610 }
7611 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: Object, TKwisset) */
7612 void VIRTUAL_parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7613 parser_prod__AIssetAttrExpr__n_kwisset_61d(self, p0);
7614 RET_LABEL:;
7615 }
7616 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: AIssetAttrExpr, AExpr) */
7617 void parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7618 val* var_node /* var node: AExpr */;
7619 var_node = p0;
7620 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AIssetAttrExpr> */
7621 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7622 RET_LABEL:;
7623 }
7624 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: Object, AExpr) */
7625 void VIRTUAL_parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7626 parser_prod__AIssetAttrExpr__n_expr_61d(self, p0);
7627 RET_LABEL:;
7628 }
7629 /* method parser_prod#AIssetAttrExpr#n_id= for (self: AIssetAttrExpr, TAttrid) */
7630 void parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7631 val* var_node /* var node: TAttrid */;
7632 var_node = p0;
7633 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AIssetAttrExpr> */
7634 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7635 RET_LABEL:;
7636 }
7637 /* method parser_prod#AIssetAttrExpr#n_id= for (self: Object, TAttrid) */
7638 void VIRTUAL_parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7639 parser_prod__AIssetAttrExpr__n_id_61d(self, p0);
7640 RET_LABEL:;
7641 }
7642 /* method parser_prod#AIssetAttrExpr#visit_all for (self: AIssetAttrExpr, Visitor) */
7643 void parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7644 val* var_v /* var v: Visitor */;
7645 val* var /* : TKwisset */;
7646 val* var1 /* : AExpr */;
7647 val* var2 /* : TAttrid */;
7648 var_v = p0;
7649 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7650 if (var == NULL) {
7651 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwisset");
7652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9797);
7653 exit(1);
7654 }
7655 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7656 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7657 if (var1 == NULL) {
7658 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9798);
7660 exit(1);
7661 }
7662 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7663 var2 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7664 if (var2 == NULL) {
7665 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9799);
7667 exit(1);
7668 }
7669 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7670 RET_LABEL:;
7671 }
7672 /* method parser_prod#AIssetAttrExpr#visit_all for (self: Object, Visitor) */
7673 void VIRTUAL_parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7674 parser_prod__AIssetAttrExpr__visit_all(self, p0);
7675 RET_LABEL:;
7676 }
7677 /* method parser_prod#ADebugTypeExpr#empty_init for (self: ADebugTypeExpr) */
7678 void parser_prod__ADebugTypeExpr__empty_init(val* self) {
7679 RET_LABEL:;
7680 }
7681 /* method parser_prod#ADebugTypeExpr#empty_init for (self: Object) */
7682 void VIRTUAL_parser_prod__ADebugTypeExpr__empty_init(val* self) {
7683 parser_prod__ADebugTypeExpr__empty_init(self);
7684 RET_LABEL:;
7685 }
7686 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: ADebugTypeExpr, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7687 void parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7688 val* var_n_kwdebug /* var n_kwdebug: nullable TKwdebug */;
7689 val* var_n_kwtype /* var n_kwtype: nullable TKwtype */;
7690 val* var_n_expr /* var n_expr: nullable AExpr */;
7691 val* var_n_type /* var n_type: nullable AType */;
7692 var_n_kwdebug = p0;
7693 var_n_kwtype = p1;
7694 var_n_expr = p2;
7695 var_n_type = p3;
7696 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADebugTypeExpr__empty_init]))(self) /* empty_init on <self:ADebugTypeExpr>*/;
7697 if (var_n_kwdebug == NULL) {
7698 fprintf(stderr, "Runtime error: %s", "Cast failed");
7699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9813);
7700 exit(1);
7701 }
7702 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_n_kwdebug; /* _n_kwdebug on <self:ADebugTypeExpr> */
7703 if (var_n_kwdebug == NULL) {
7704 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9814);
7706 exit(1);
7707 } else {
7708 ((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>*/;
7709 }
7710 if (var_n_kwtype == NULL) {
7711 fprintf(stderr, "Runtime error: %s", "Cast failed");
7712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9815);
7713 exit(1);
7714 }
7715 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_n_kwtype; /* _n_kwtype on <self:ADebugTypeExpr> */
7716 if (var_n_kwtype == NULL) {
7717 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9816);
7719 exit(1);
7720 } else {
7721 ((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>*/;
7722 }
7723 if (var_n_expr == NULL) {
7724 fprintf(stderr, "Runtime error: %s", "Cast failed");
7725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9817);
7726 exit(1);
7727 }
7728 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ADebugTypeExpr> */
7729 if (var_n_expr == NULL) {
7730 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9818);
7732 exit(1);
7733 } else {
7734 ((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>*/;
7735 }
7736 if (var_n_type == NULL) {
7737 fprintf(stderr, "Runtime error: %s", "Cast failed");
7738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9819);
7739 exit(1);
7740 }
7741 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_n_type; /* _n_type on <self:ADebugTypeExpr> */
7742 if (var_n_type == NULL) {
7743 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9820);
7745 exit(1);
7746 } else {
7747 ((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>*/;
7748 }
7749 RET_LABEL:;
7750 }
7751 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: Object, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7752 void VIRTUAL_parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7753 parser_prod__ADebugTypeExpr__init_adebugtypeexpr(self, p0, p1, p2, p3);
7754 RET_LABEL:;
7755 }
7756 /* method parser_prod#ADebugTypeExpr#replace_child for (self: ADebugTypeExpr, ANode, nullable ANode) */
7757 void parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7758 val* var_old_child /* var old_child: ANode */;
7759 val* var_new_child /* var new_child: nullable ANode */;
7760 val* var /* : TKwdebug */;
7761 short int var1 /* : Bool */;
7762 val* var2 /* : null */;
7763 short int var3 /* : Bool */;
7764 short int var4 /* : Bool */;
7765 int cltype;
7766 int idtype;
7767 val* var5 /* : TKwtype */;
7768 short int var6 /* : Bool */;
7769 val* var7 /* : null */;
7770 short int var8 /* : Bool */;
7771 short int var9 /* : Bool */;
7772 int cltype10;
7773 int idtype11;
7774 val* var12 /* : AExpr */;
7775 short int var13 /* : Bool */;
7776 val* var14 /* : null */;
7777 short int var15 /* : Bool */;
7778 short int var16 /* : Bool */;
7779 int cltype17;
7780 int idtype18;
7781 val* var19 /* : AType */;
7782 short int var20 /* : Bool */;
7783 val* var21 /* : null */;
7784 short int var22 /* : Bool */;
7785 short int var23 /* : Bool */;
7786 int cltype24;
7787 int idtype25;
7788 var_old_child = p0;
7789 var_new_child = p1;
7790 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
7791 if (var == NULL) {
7792 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdebug");
7793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9825);
7794 exit(1);
7795 }
7796 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwdebug>*/;
7797 if (var1){
7798 var2 = NULL;
7799 if (var_new_child == NULL) {
7800 var3 = 0; /* is null */
7801 } else {
7802 var3 = 1; /* arg is null and recv is not */
7803 }
7804 if (var3){
7805 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7806 /* <var_new_child:nullable ANode(ANode)> isa TKwdebug */
7807 cltype = type_parser_nodes__TKwdebug.color;
7808 idtype = type_parser_nodes__TKwdebug.id;
7809 if(cltype >= var_new_child->type->table_size) {
7810 var4 = 0;
7811 } else {
7812 var4 = var_new_child->type->type_table[cltype] == idtype;
7813 }
7814 if (!var4) {
7815 fprintf(stderr, "Runtime error: %s", "Assert failed");
7816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9828);
7817 exit(1);
7818 }
7819 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_new_child; /* _n_kwdebug on <self:ADebugTypeExpr> */
7820 } else {
7821 fprintf(stderr, "Runtime error: %s", "Aborted");
7822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9831);
7823 exit(1);
7824 }
7825 goto RET_LABEL;
7826 } else {
7827 }
7828 var5 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
7829 if (var5 == NULL) {
7830 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype");
7831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9835);
7832 exit(1);
7833 }
7834 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwtype>*/;
7835 if (var6){
7836 var7 = NULL;
7837 if (var_new_child == NULL) {
7838 var8 = 0; /* is null */
7839 } else {
7840 var8 = 1; /* arg is null and recv is not */
7841 }
7842 if (var8){
7843 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7844 /* <var_new_child:nullable ANode(ANode)> isa TKwtype */
7845 cltype10 = type_parser_nodes__TKwtype.color;
7846 idtype11 = type_parser_nodes__TKwtype.id;
7847 if(cltype10 >= var_new_child->type->table_size) {
7848 var9 = 0;
7849 } else {
7850 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7851 }
7852 if (!var9) {
7853 fprintf(stderr, "Runtime error: %s", "Assert failed");
7854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9838);
7855 exit(1);
7856 }
7857 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_new_child; /* _n_kwtype on <self:ADebugTypeExpr> */
7858 } else {
7859 fprintf(stderr, "Runtime error: %s", "Aborted");
7860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9841);
7861 exit(1);
7862 }
7863 goto RET_LABEL;
7864 } else {
7865 }
7866 var12 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
7867 if (var12 == NULL) {
7868 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9845);
7870 exit(1);
7871 }
7872 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
7873 if (var13){
7874 var14 = NULL;
7875 if (var_new_child == NULL) {
7876 var15 = 0; /* is null */
7877 } else {
7878 var15 = 1; /* arg is null and recv is not */
7879 }
7880 if (var15){
7881 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7882 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7883 cltype17 = type_parser_nodes__AExpr.color;
7884 idtype18 = type_parser_nodes__AExpr.id;
7885 if(cltype17 >= var_new_child->type->table_size) {
7886 var16 = 0;
7887 } else {
7888 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7889 }
7890 if (!var16) {
7891 fprintf(stderr, "Runtime error: %s", "Assert failed");
7892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9848);
7893 exit(1);
7894 }
7895 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ADebugTypeExpr> */
7896 } else {
7897 fprintf(stderr, "Runtime error: %s", "Aborted");
7898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9851);
7899 exit(1);
7900 }
7901 goto RET_LABEL;
7902 } else {
7903 }
7904 var19 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
7905 if (var19 == NULL) {
7906 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9855);
7908 exit(1);
7909 }
7910 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
7911 if (var20){
7912 var21 = NULL;
7913 if (var_new_child == NULL) {
7914 var22 = 0; /* is null */
7915 } else {
7916 var22 = 1; /* arg is null and recv is not */
7917 }
7918 if (var22){
7919 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7920 /* <var_new_child:nullable ANode(ANode)> isa AType */
7921 cltype24 = type_parser_nodes__AType.color;
7922 idtype25 = type_parser_nodes__AType.id;
7923 if(cltype24 >= var_new_child->type->table_size) {
7924 var23 = 0;
7925 } else {
7926 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7927 }
7928 if (!var23) {
7929 fprintf(stderr, "Runtime error: %s", "Assert failed");
7930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9858);
7931 exit(1);
7932 }
7933 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_new_child; /* _n_type on <self:ADebugTypeExpr> */
7934 } else {
7935 fprintf(stderr, "Runtime error: %s", "Aborted");
7936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9861);
7937 exit(1);
7938 }
7939 goto RET_LABEL;
7940 } else {
7941 }
7942 RET_LABEL:;
7943 }
7944 /* method parser_prod#ADebugTypeExpr#replace_child for (self: Object, ANode, nullable ANode) */
7945 void VIRTUAL_parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7946 parser_prod__ADebugTypeExpr__replace_child(self, p0, p1);
7947 RET_LABEL:;
7948 }
7949 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: ADebugTypeExpr, TKwdebug) */
7950 void parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7951 val* var_node /* var node: TKwdebug */;
7952 var_node = p0;
7953 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_node; /* _n_kwdebug on <self:ADebugTypeExpr> */
7954 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdebug>*/;
7955 RET_LABEL:;
7956 }
7957 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: Object, TKwdebug) */
7958 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7959 parser_prod__ADebugTypeExpr__n_kwdebug_61d(self, p0);
7960 RET_LABEL:;
7961 }
7962 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: ADebugTypeExpr, TKwtype) */
7963 void parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7964 val* var_node /* var node: TKwtype */;
7965 var_node = p0;
7966 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_node; /* _n_kwtype on <self:ADebugTypeExpr> */
7967 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtype>*/;
7968 RET_LABEL:;
7969 }
7970 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: Object, TKwtype) */
7971 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7972 parser_prod__ADebugTypeExpr__n_kwtype_61d(self, p0);
7973 RET_LABEL:;
7974 }
7975 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: ADebugTypeExpr, AExpr) */
7976 void parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7977 val* var_node /* var node: AExpr */;
7978 var_node = p0;
7979 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_node; /* _n_expr on <self:ADebugTypeExpr> */
7980 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7981 RET_LABEL:;
7982 }
7983 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: Object, AExpr) */
7984 void VIRTUAL_parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7985 parser_prod__ADebugTypeExpr__n_expr_61d(self, p0);
7986 RET_LABEL:;
7987 }
7988 /* method parser_prod#ADebugTypeExpr#n_type= for (self: ADebugTypeExpr, AType) */
7989 void parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7990 val* var_node /* var node: AType */;
7991 var_node = p0;
7992 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_node; /* _n_type on <self:ADebugTypeExpr> */
7993 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7994 RET_LABEL:;
7995 }
7996 /* method parser_prod#ADebugTypeExpr#n_type= for (self: Object, AType) */
7997 void VIRTUAL_parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7998 parser_prod__ADebugTypeExpr__n_type_61d(self, p0);
7999 RET_LABEL:;
8000 }
8001 /* method parser_prod#ADebugTypeExpr#visit_all for (self: ADebugTypeExpr, Visitor) */
8002 void parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
8003 val* var_v /* var v: Visitor */;
8004 val* var /* : TKwdebug */;
8005 val* var1 /* : TKwtype */;
8006 val* var2 /* : AExpr */;
8007 val* var3 /* : AType */;
8008 var_v = p0;
8009 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
8010 if (var == NULL) {
8011 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdebug");
8012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9891);
8013 exit(1);
8014 }
8015 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8016 var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
8017 if (var1 == NULL) {
8018 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype");
8019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9892);
8020 exit(1);
8021 }
8022 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8023 var2 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
8024 if (var2 == NULL) {
8025 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9893);
8027 exit(1);
8028 }
8029 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8030 var3 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
8031 if (var3 == NULL) {
8032 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
8033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9894);
8034 exit(1);
8035 }
8036 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8037 RET_LABEL:;
8038 }
8039 /* method parser_prod#ADebugTypeExpr#visit_all for (self: Object, Visitor) */
8040 void VIRTUAL_parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
8041 parser_prod__ADebugTypeExpr__visit_all(self, p0);
8042 RET_LABEL:;
8043 }
8044 /* method parser_prod#AListExprs#empty_init for (self: AListExprs) */
8045 void parser_prod__AListExprs__empty_init(val* self) {
8046 RET_LABEL:;
8047 }
8048 /* method parser_prod#AListExprs#empty_init for (self: Object) */
8049 void VIRTUAL_parser_prod__AListExprs__empty_init(val* self) {
8050 parser_prod__AListExprs__empty_init(self);
8051 RET_LABEL:;
8052 }
8053 /* method parser_prod#AListExprs#init_alistexprs for (self: AListExprs, Collection[Object]) */
8054 void parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
8055 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8056 val* var /* : Iterator[nullable Object] */;
8057 short int var1 /* : Bool */;
8058 val* var2 /* : nullable Object */;
8059 val* var_n /* var n: Object */;
8060 short int var3 /* : Bool */;
8061 int cltype;
8062 int idtype;
8063 val* var4 /* : ANodes[AExpr] */;
8064 var_n_exprs = p0;
8065 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AListExprs__empty_init]))(self) /* empty_init on <self:AListExprs>*/;
8066 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8067 for(;;) {
8068 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8069 if(!var1) break;
8070 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8071 var_n = var2;
8072 /* <var_n:Object> isa AExpr */
8073 cltype = type_parser_nodes__AExpr.color;
8074 idtype = type_parser_nodes__AExpr.id;
8075 if(cltype >= var_n->type->table_size) {
8076 var3 = 0;
8077 } else {
8078 var3 = var_n->type->type_table[cltype] == idtype;
8079 }
8080 if (!var3) {
8081 fprintf(stderr, "Runtime error: %s", "Assert failed");
8082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9906);
8083 exit(1);
8084 }
8085 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8086 if (var4 == NULL) {
8087 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9907);
8089 exit(1);
8090 }
8091 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8092 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8093 CONTINUE_label: (void)0;
8094 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8095 }
8096 BREAK_label: (void)0;
8097 RET_LABEL:;
8098 }
8099 /* method parser_prod#AListExprs#init_alistexprs for (self: Object, Collection[Object]) */
8100 void VIRTUAL_parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
8101 parser_prod__AListExprs__init_alistexprs(self, p0);
8102 RET_LABEL:;
8103 }
8104 /* method parser_prod#AListExprs#replace_child for (self: AListExprs, ANode, nullable ANode) */
8105 void parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
8106 val* var_old_child /* var old_child: ANode */;
8107 val* var_new_child /* var new_child: nullable ANode */;
8108 val* var /* : Range[Int] */;
8109 long var1 /* : Int */;
8110 val* var2 /* : ANodes[AExpr] */;
8111 long var3 /* : Int */;
8112 val* var4 /* : Discrete */;
8113 val* var5 /* : Discrete */;
8114 val* var6 /* : Iterator[nullable Object] */;
8115 short int var7 /* : Bool */;
8116 val* var8 /* : nullable Object */;
8117 long var_i /* var i: Int */;
8118 long var9 /* : Int */;
8119 val* var10 /* : ANodes[AExpr] */;
8120 val* var11 /* : nullable Object */;
8121 short int var12 /* : Bool */;
8122 val* var13 /* : null */;
8123 short int var14 /* : Bool */;
8124 short int var15 /* : Bool */;
8125 int cltype;
8126 int idtype;
8127 val* var16 /* : ANodes[AExpr] */;
8128 val* var17 /* : ANodes[AExpr] */;
8129 var_old_child = p0;
8130 var_new_child = p1;
8131 var = NEW_range__Range(&type_range__Rangekernel__Int);
8132 var1 = 0;
8133 var2 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8134 if (var2 == NULL) {
8135 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9914);
8137 exit(1);
8138 }
8139 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
8140 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
8141 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
8142 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
8143 CHECK_NEW_range__Range(var);
8144 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
8145 for(;;) {
8146 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
8147 if(!var7) break;
8148 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
8149 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
8150 var_i = var9;
8151 var10 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8152 if (var10 == NULL) {
8153 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9915);
8155 exit(1);
8156 }
8157 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
8158 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
8159 if (var12){
8160 var13 = NULL;
8161 if (var_new_child == NULL) {
8162 var14 = 0; /* is null */
8163 } else {
8164 var14 = 1; /* arg is null and recv is not */
8165 }
8166 if (var14){
8167 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8168 cltype = type_parser_nodes__AExpr.color;
8169 idtype = type_parser_nodes__AExpr.id;
8170 if(cltype >= var_new_child->type->table_size) {
8171 var15 = 0;
8172 } else {
8173 var15 = var_new_child->type->type_table[cltype] == idtype;
8174 }
8175 if (!var15) {
8176 fprintf(stderr, "Runtime error: %s", "Assert failed");
8177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9917);
8178 exit(1);
8179 }
8180 var16 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8181 if (var16 == NULL) {
8182 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9918);
8184 exit(1);
8185 }
8186 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
8187 ((void (*)(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)>*/;
8188 } else {
8189 var17 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8190 if (var17 == NULL) {
8191 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9921);
8193 exit(1);
8194 }
8195 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
8196 }
8197 goto RET_LABEL;
8198 } else {
8199 }
8200 CONTINUE_label: (void)0;
8201 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
8202 }
8203 BREAK_label: (void)0;
8204 RET_LABEL:;
8205 }
8206 /* method parser_prod#AListExprs#replace_child for (self: Object, ANode, nullable ANode) */
8207 void VIRTUAL_parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
8208 parser_prod__AListExprs__replace_child(self, p0, p1);
8209 RET_LABEL:;
8210 }
8211 /* method parser_prod#AListExprs#visit_all for (self: AListExprs, Visitor) */
8212 void parser_prod__AListExprs__visit_all(val* self, val* p0) {
8213 val* var_v /* var v: Visitor */;
8214 val* var /* : ANodes[AExpr] */;
8215 val* var1 /* : Iterator[nullable Object] */;
8216 short int var2 /* : Bool */;
8217 val* var3 /* : nullable Object */;
8218 val* var_n /* var n: AExpr */;
8219 var_v = p0;
8220 var = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
8221 if (var == NULL) {
8222 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9932);
8224 exit(1);
8225 }
8226 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
8227 for(;;) {
8228 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
8229 if(!var2) break;
8230 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
8231 var_n = var3;
8232 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8233 CONTINUE_label: (void)0;
8234 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
8235 }
8236 BREAK_label: (void)0;
8237 RET_LABEL:;
8238 }
8239 /* method parser_prod#AListExprs#visit_all for (self: Object, Visitor) */
8240 void VIRTUAL_parser_prod__AListExprs__visit_all(val* self, val* p0) {
8241 parser_prod__AListExprs__visit_all(self, p0);
8242 RET_LABEL:;
8243 }
8244 /* method parser_prod#AParExprs#empty_init for (self: AParExprs) */
8245 void parser_prod__AParExprs__empty_init(val* self) {
8246 RET_LABEL:;
8247 }
8248 /* method parser_prod#AParExprs#empty_init for (self: Object) */
8249 void VIRTUAL_parser_prod__AParExprs__empty_init(val* self) {
8250 parser_prod__AParExprs__empty_init(self);
8251 RET_LABEL:;
8252 }
8253 /* method parser_prod#AParExprs#init_aparexprs for (self: AParExprs, nullable TOpar, Collection[Object], nullable TCpar) */
8254 void parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8255 val* var_n_opar /* var n_opar: nullable TOpar */;
8256 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8257 val* var_n_cpar /* var n_cpar: nullable TCpar */;
8258 val* var /* : Iterator[nullable Object] */;
8259 short int var1 /* : Bool */;
8260 val* var2 /* : nullable Object */;
8261 val* var_n /* var n: Object */;
8262 short int var3 /* : Bool */;
8263 int cltype;
8264 int idtype;
8265 val* var4 /* : ANodes[AExpr] */;
8266 var_n_opar = p0;
8267 var_n_exprs = p1;
8268 var_n_cpar = p2;
8269 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExprs__empty_init]))(self) /* empty_init on <self:AParExprs>*/;
8270 if (var_n_opar == NULL) {
8271 fprintf(stderr, "Runtime error: %s", "Cast failed");
8272 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9947);
8273 exit(1);
8274 }
8275 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_n_opar; /* _n_opar on <self:AParExprs> */
8276 if (var_n_opar == NULL) {
8277 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9948);
8279 exit(1);
8280 } else {
8281 ((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>*/;
8282 }
8283 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8284 for(;;) {
8285 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8286 if(!var1) break;
8287 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8288 var_n = var2;
8289 /* <var_n:Object> isa AExpr */
8290 cltype = type_parser_nodes__AExpr.color;
8291 idtype = type_parser_nodes__AExpr.id;
8292 if(cltype >= var_n->type->table_size) {
8293 var3 = 0;
8294 } else {
8295 var3 = var_n->type->type_table[cltype] == idtype;
8296 }
8297 if (!var3) {
8298 fprintf(stderr, "Runtime error: %s", "Assert failed");
8299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9950);
8300 exit(1);
8301 }
8302 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8303 if (var4 == NULL) {
8304 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9951);
8306 exit(1);
8307 }
8308 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8309 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8310 CONTINUE_label: (void)0;
8311 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8312 }
8313 BREAK_label: (void)0;
8314 if (var_n_cpar == NULL) {
8315 fprintf(stderr, "Runtime error: %s", "Cast failed");
8316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9954);
8317 exit(1);
8318 }
8319 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExprs> */
8320 if (var_n_cpar == NULL) {
8321 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9955);
8323 exit(1);
8324 } else {
8325 ((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>*/;
8326 }
8327 RET_LABEL:;
8328 }
8329 /* method parser_prod#AParExprs#init_aparexprs for (self: Object, nullable TOpar, Collection[Object], nullable TCpar) */
8330 void VIRTUAL_parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8331 parser_prod__AParExprs__init_aparexprs(self, p0, p1, p2);
8332 RET_LABEL:;
8333 }
8334 /* method parser_prod#AParExprs#replace_child for (self: AParExprs, ANode, nullable ANode) */
8335 void parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8336 val* var_old_child /* var old_child: ANode */;
8337 val* var_new_child /* var new_child: nullable ANode */;
8338 val* var /* : TOpar */;
8339 short int var1 /* : Bool */;
8340 val* var2 /* : null */;
8341 short int var3 /* : Bool */;
8342 short int var4 /* : Bool */;
8343 int cltype;
8344 int idtype;
8345 val* var5 /* : Range[Int] */;
8346 long var6 /* : Int */;
8347 val* var7 /* : ANodes[AExpr] */;
8348 long var8 /* : Int */;
8349 val* var9 /* : Discrete */;
8350 val* var10 /* : Discrete */;
8351 val* var11 /* : Iterator[nullable Object] */;
8352 short int var12 /* : Bool */;
8353 val* var13 /* : nullable Object */;
8354 long var_i /* var i: Int */;
8355 long var14 /* : Int */;
8356 val* var15 /* : ANodes[AExpr] */;
8357 val* var16 /* : nullable Object */;
8358 short int var17 /* : Bool */;
8359 val* var18 /* : null */;
8360 short int var19 /* : Bool */;
8361 short int var20 /* : Bool */;
8362 int cltype21;
8363 int idtype22;
8364 val* var23 /* : ANodes[AExpr] */;
8365 val* var24 /* : ANodes[AExpr] */;
8366 val* var25 /* : TCpar */;
8367 short int var26 /* : Bool */;
8368 val* var27 /* : null */;
8369 short int var28 /* : Bool */;
8370 short int var29 /* : Bool */;
8371 int cltype30;
8372 int idtype31;
8373 var_old_child = p0;
8374 var_new_child = p1;
8375 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8376 if (var == NULL) {
8377 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
8378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9960);
8379 exit(1);
8380 }
8381 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
8382 if (var1){
8383 var2 = NULL;
8384 if (var_new_child == NULL) {
8385 var3 = 0; /* is null */
8386 } else {
8387 var3 = 1; /* arg is null and recv is not */
8388 }
8389 if (var3){
8390 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8391 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
8392 cltype = type_parser_nodes__TOpar.color;
8393 idtype = type_parser_nodes__TOpar.id;
8394 if(cltype >= var_new_child->type->table_size) {
8395 var4 = 0;
8396 } else {
8397 var4 = var_new_child->type->type_table[cltype] == idtype;
8398 }
8399 if (!var4) {
8400 fprintf(stderr, "Runtime error: %s", "Assert failed");
8401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9963);
8402 exit(1);
8403 }
8404 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_new_child; /* _n_opar on <self:AParExprs> */
8405 } else {
8406 fprintf(stderr, "Runtime error: %s", "Aborted");
8407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9966);
8408 exit(1);
8409 }
8410 goto RET_LABEL;
8411 } else {
8412 }
8413 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8414 var6 = 0;
8415 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8416 if (var7 == NULL) {
8417 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9970);
8419 exit(1);
8420 }
8421 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8422 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8423 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8424 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8425 CHECK_NEW_range__Range(var5);
8426 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8427 for(;;) {
8428 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8429 if(!var12) break;
8430 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8431 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8432 var_i = var14;
8433 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8434 if (var15 == NULL) {
8435 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9971);
8437 exit(1);
8438 }
8439 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8440 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8441 if (var17){
8442 var18 = NULL;
8443 if (var_new_child == NULL) {
8444 var19 = 0; /* is null */
8445 } else {
8446 var19 = 1; /* arg is null and recv is not */
8447 }
8448 if (var19){
8449 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8450 cltype21 = type_parser_nodes__AExpr.color;
8451 idtype22 = type_parser_nodes__AExpr.id;
8452 if(cltype21 >= var_new_child->type->table_size) {
8453 var20 = 0;
8454 } else {
8455 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8456 }
8457 if (!var20) {
8458 fprintf(stderr, "Runtime error: %s", "Assert failed");
8459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9973);
8460 exit(1);
8461 }
8462 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8463 if (var23 == NULL) {
8464 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8465 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9974);
8466 exit(1);
8467 }
8468 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8469 ((void (*)(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)>*/;
8470 } else {
8471 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8472 if (var24 == NULL) {
8473 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9977);
8475 exit(1);
8476 }
8477 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8478 }
8479 goto RET_LABEL;
8480 } else {
8481 }
8482 CONTINUE_label: (void)0;
8483 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8484 }
8485 BREAK_label: (void)0;
8486 var25 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8487 if (var25 == NULL) {
8488 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
8489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9982);
8490 exit(1);
8491 }
8492 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCpar>*/;
8493 if (var26){
8494 var27 = NULL;
8495 if (var_new_child == NULL) {
8496 var28 = 0; /* is null */
8497 } else {
8498 var28 = 1; /* arg is null and recv is not */
8499 }
8500 if (var28){
8501 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8502 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
8503 cltype30 = type_parser_nodes__TCpar.color;
8504 idtype31 = type_parser_nodes__TCpar.id;
8505 if(cltype30 >= var_new_child->type->table_size) {
8506 var29 = 0;
8507 } else {
8508 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8509 }
8510 if (!var29) {
8511 fprintf(stderr, "Runtime error: %s", "Assert failed");
8512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9985);
8513 exit(1);
8514 }
8515 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExprs> */
8516 } else {
8517 fprintf(stderr, "Runtime error: %s", "Aborted");
8518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 9988);
8519 exit(1);
8520 }
8521 goto RET_LABEL;
8522 } else {
8523 }
8524 RET_LABEL:;
8525 }
8526 /* method parser_prod#AParExprs#replace_child for (self: Object, ANode, nullable ANode) */
8527 void VIRTUAL_parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8528 parser_prod__AParExprs__replace_child(self, p0, p1);
8529 RET_LABEL:;
8530 }
8531 /* method parser_prod#AParExprs#n_opar= for (self: AParExprs, TOpar) */
8532 void parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8533 val* var_node /* var node: TOpar */;
8534 var_node = p0;
8535 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_node; /* _n_opar on <self:AParExprs> */
8536 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
8537 RET_LABEL:;
8538 }
8539 /* method parser_prod#AParExprs#n_opar= for (self: Object, TOpar) */
8540 void VIRTUAL_parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8541 parser_prod__AParExprs__n_opar_61d(self, p0);
8542 RET_LABEL:;
8543 }
8544 /* method parser_prod#AParExprs#n_cpar= for (self: AParExprs, TCpar) */
8545 void parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8546 val* var_node /* var node: TCpar */;
8547 var_node = p0;
8548 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_node; /* _n_cpar on <self:AParExprs> */
8549 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
8550 RET_LABEL:;
8551 }
8552 /* method parser_prod#AParExprs#n_cpar= for (self: Object, TCpar) */
8553 void VIRTUAL_parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8554 parser_prod__AParExprs__n_cpar_61d(self, p0);
8555 RET_LABEL:;
8556 }
8557 /* method parser_prod#AParExprs#visit_all for (self: AParExprs, Visitor) */
8558 void parser_prod__AParExprs__visit_all(val* self, val* p0) {
8559 val* var_v /* var v: Visitor */;
8560 val* var /* : TOpar */;
8561 val* var1 /* : ANodes[AExpr] */;
8562 val* var2 /* : Iterator[nullable Object] */;
8563 short int var3 /* : Bool */;
8564 val* var4 /* : nullable Object */;
8565 val* var_n /* var n: AExpr */;
8566 val* var5 /* : TCpar */;
8567 var_v = p0;
8568 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8569 if (var == NULL) {
8570 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_opar");
8571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10008);
8572 exit(1);
8573 }
8574 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8575 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8576 if (var1 == NULL) {
8577 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10009);
8579 exit(1);
8580 }
8581 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8582 for(;;) {
8583 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8584 if(!var3) break;
8585 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8586 var_n = var4;
8587 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8588 CONTINUE_label: (void)0;
8589 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8590 }
8591 BREAK_label: (void)0;
8592 var5 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8593 if (var5 == NULL) {
8594 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cpar");
8595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10012);
8596 exit(1);
8597 }
8598 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8599 RET_LABEL:;
8600 }
8601 /* method parser_prod#AParExprs#visit_all for (self: Object, Visitor) */
8602 void VIRTUAL_parser_prod__AParExprs__visit_all(val* self, val* p0) {
8603 parser_prod__AParExprs__visit_all(self, p0);
8604 RET_LABEL:;
8605 }
8606 /* method parser_prod#ABraExprs#empty_init for (self: ABraExprs) */
8607 void parser_prod__ABraExprs__empty_init(val* self) {
8608 RET_LABEL:;
8609 }
8610 /* method parser_prod#ABraExprs#empty_init for (self: Object) */
8611 void VIRTUAL_parser_prod__ABraExprs__empty_init(val* self) {
8612 parser_prod__ABraExprs__empty_init(self);
8613 RET_LABEL:;
8614 }
8615 /* method parser_prod#ABraExprs#init_abraexprs for (self: ABraExprs, nullable TObra, Collection[Object], nullable TCbra) */
8616 void parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8617 val* var_n_obra /* var n_obra: nullable TObra */;
8618 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8619 val* var_n_cbra /* var n_cbra: nullable TCbra */;
8620 val* var /* : Iterator[nullable Object] */;
8621 short int var1 /* : Bool */;
8622 val* var2 /* : nullable Object */;
8623 val* var_n /* var n: Object */;
8624 short int var3 /* : Bool */;
8625 int cltype;
8626 int idtype;
8627 val* var4 /* : ANodes[AExpr] */;
8628 var_n_obra = p0;
8629 var_n_exprs = p1;
8630 var_n_cbra = p2;
8631 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExprs__empty_init]))(self) /* empty_init on <self:ABraExprs>*/;
8632 if (var_n_obra == NULL) {
8633 fprintf(stderr, "Runtime error: %s", "Cast failed");
8634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10025);
8635 exit(1);
8636 }
8637 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_n_obra; /* _n_obra on <self:ABraExprs> */
8638 if (var_n_obra == NULL) {
8639 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10026);
8641 exit(1);
8642 } else {
8643 ((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>*/;
8644 }
8645 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8646 for(;;) {
8647 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8648 if(!var1) break;
8649 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8650 var_n = var2;
8651 /* <var_n:Object> isa AExpr */
8652 cltype = type_parser_nodes__AExpr.color;
8653 idtype = type_parser_nodes__AExpr.id;
8654 if(cltype >= var_n->type->table_size) {
8655 var3 = 0;
8656 } else {
8657 var3 = var_n->type->type_table[cltype] == idtype;
8658 }
8659 if (!var3) {
8660 fprintf(stderr, "Runtime error: %s", "Assert failed");
8661 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10028);
8662 exit(1);
8663 }
8664 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8665 if (var4 == NULL) {
8666 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10029);
8668 exit(1);
8669 }
8670 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8671 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8672 CONTINUE_label: (void)0;
8673 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8674 }
8675 BREAK_label: (void)0;
8676 if (var_n_cbra == NULL) {
8677 fprintf(stderr, "Runtime error: %s", "Cast failed");
8678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10032);
8679 exit(1);
8680 }
8681 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ABraExprs> */
8682 if (var_n_cbra == NULL) {
8683 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10033);
8685 exit(1);
8686 } else {
8687 ((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>*/;
8688 }
8689 RET_LABEL:;
8690 }
8691 /* method parser_prod#ABraExprs#init_abraexprs for (self: Object, nullable TObra, Collection[Object], nullable TCbra) */
8692 void VIRTUAL_parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8693 parser_prod__ABraExprs__init_abraexprs(self, p0, p1, p2);
8694 RET_LABEL:;
8695 }
8696 /* method parser_prod#ABraExprs#replace_child for (self: ABraExprs, ANode, nullable ANode) */
8697 void parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8698 val* var_old_child /* var old_child: ANode */;
8699 val* var_new_child /* var new_child: nullable ANode */;
8700 val* var /* : TObra */;
8701 short int var1 /* : Bool */;
8702 val* var2 /* : null */;
8703 short int var3 /* : Bool */;
8704 short int var4 /* : Bool */;
8705 int cltype;
8706 int idtype;
8707 val* var5 /* : Range[Int] */;
8708 long var6 /* : Int */;
8709 val* var7 /* : ANodes[AExpr] */;
8710 long var8 /* : Int */;
8711 val* var9 /* : Discrete */;
8712 val* var10 /* : Discrete */;
8713 val* var11 /* : Iterator[nullable Object] */;
8714 short int var12 /* : Bool */;
8715 val* var13 /* : nullable Object */;
8716 long var_i /* var i: Int */;
8717 long var14 /* : Int */;
8718 val* var15 /* : ANodes[AExpr] */;
8719 val* var16 /* : nullable Object */;
8720 short int var17 /* : Bool */;
8721 val* var18 /* : null */;
8722 short int var19 /* : Bool */;
8723 short int var20 /* : Bool */;
8724 int cltype21;
8725 int idtype22;
8726 val* var23 /* : ANodes[AExpr] */;
8727 val* var24 /* : ANodes[AExpr] */;
8728 val* var25 /* : TCbra */;
8729 short int var26 /* : Bool */;
8730 val* var27 /* : null */;
8731 short int var28 /* : Bool */;
8732 short int var29 /* : Bool */;
8733 int cltype30;
8734 int idtype31;
8735 var_old_child = p0;
8736 var_new_child = p1;
8737 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8738 if (var == NULL) {
8739 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
8740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10038);
8741 exit(1);
8742 }
8743 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
8744 if (var1){
8745 var2 = NULL;
8746 if (var_new_child == NULL) {
8747 var3 = 0; /* is null */
8748 } else {
8749 var3 = 1; /* arg is null and recv is not */
8750 }
8751 if (var3){
8752 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8753 /* <var_new_child:nullable ANode(ANode)> isa TObra */
8754 cltype = type_parser_nodes__TObra.color;
8755 idtype = type_parser_nodes__TObra.id;
8756 if(cltype >= var_new_child->type->table_size) {
8757 var4 = 0;
8758 } else {
8759 var4 = var_new_child->type->type_table[cltype] == idtype;
8760 }
8761 if (!var4) {
8762 fprintf(stderr, "Runtime error: %s", "Assert failed");
8763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10041);
8764 exit(1);
8765 }
8766 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_new_child; /* _n_obra on <self:ABraExprs> */
8767 } else {
8768 fprintf(stderr, "Runtime error: %s", "Aborted");
8769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10044);
8770 exit(1);
8771 }
8772 goto RET_LABEL;
8773 } else {
8774 }
8775 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8776 var6 = 0;
8777 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8778 if (var7 == NULL) {
8779 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10048);
8781 exit(1);
8782 }
8783 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8784 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8785 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8786 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8787 CHECK_NEW_range__Range(var5);
8788 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8789 for(;;) {
8790 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8791 if(!var12) break;
8792 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8793 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8794 var_i = var14;
8795 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8796 if (var15 == NULL) {
8797 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10049);
8799 exit(1);
8800 }
8801 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8802 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8803 if (var17){
8804 var18 = NULL;
8805 if (var_new_child == NULL) {
8806 var19 = 0; /* is null */
8807 } else {
8808 var19 = 1; /* arg is null and recv is not */
8809 }
8810 if (var19){
8811 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8812 cltype21 = type_parser_nodes__AExpr.color;
8813 idtype22 = type_parser_nodes__AExpr.id;
8814 if(cltype21 >= var_new_child->type->table_size) {
8815 var20 = 0;
8816 } else {
8817 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8818 }
8819 if (!var20) {
8820 fprintf(stderr, "Runtime error: %s", "Assert failed");
8821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10051);
8822 exit(1);
8823 }
8824 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8825 if (var23 == NULL) {
8826 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10052);
8828 exit(1);
8829 }
8830 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8831 ((void (*)(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)>*/;
8832 } else {
8833 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8834 if (var24 == NULL) {
8835 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8836 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10055);
8837 exit(1);
8838 }
8839 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8840 }
8841 goto RET_LABEL;
8842 } else {
8843 }
8844 CONTINUE_label: (void)0;
8845 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8846 }
8847 BREAK_label: (void)0;
8848 var25 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8849 if (var25 == NULL) {
8850 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
8851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10060);
8852 exit(1);
8853 }
8854 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCbra>*/;
8855 if (var26){
8856 var27 = NULL;
8857 if (var_new_child == NULL) {
8858 var28 = 0; /* is null */
8859 } else {
8860 var28 = 1; /* arg is null and recv is not */
8861 }
8862 if (var28){
8863 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8864 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
8865 cltype30 = type_parser_nodes__TCbra.color;
8866 idtype31 = type_parser_nodes__TCbra.id;
8867 if(cltype30 >= var_new_child->type->table_size) {
8868 var29 = 0;
8869 } else {
8870 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8871 }
8872 if (!var29) {
8873 fprintf(stderr, "Runtime error: %s", "Assert failed");
8874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10063);
8875 exit(1);
8876 }
8877 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_new_child; /* _n_cbra on <self:ABraExprs> */
8878 } else {
8879 fprintf(stderr, "Runtime error: %s", "Aborted");
8880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10066);
8881 exit(1);
8882 }
8883 goto RET_LABEL;
8884 } else {
8885 }
8886 RET_LABEL:;
8887 }
8888 /* method parser_prod#ABraExprs#replace_child for (self: Object, ANode, nullable ANode) */
8889 void VIRTUAL_parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8890 parser_prod__ABraExprs__replace_child(self, p0, p1);
8891 RET_LABEL:;
8892 }
8893 /* method parser_prod#ABraExprs#n_obra= for (self: ABraExprs, TObra) */
8894 void parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8895 val* var_node /* var node: TObra */;
8896 var_node = p0;
8897 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_node; /* _n_obra on <self:ABraExprs> */
8898 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
8899 RET_LABEL:;
8900 }
8901 /* method parser_prod#ABraExprs#n_obra= for (self: Object, TObra) */
8902 void VIRTUAL_parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8903 parser_prod__ABraExprs__n_obra_61d(self, p0);
8904 RET_LABEL:;
8905 }
8906 /* method parser_prod#ABraExprs#n_cbra= for (self: ABraExprs, TCbra) */
8907 void parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8908 val* var_node /* var node: TCbra */;
8909 var_node = p0;
8910 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_node; /* _n_cbra on <self:ABraExprs> */
8911 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
8912 RET_LABEL:;
8913 }
8914 /* method parser_prod#ABraExprs#n_cbra= for (self: Object, TCbra) */
8915 void VIRTUAL_parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8916 parser_prod__ABraExprs__n_cbra_61d(self, p0);
8917 RET_LABEL:;
8918 }
8919 /* method parser_prod#ABraExprs#visit_all for (self: ABraExprs, Visitor) */
8920 void parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8921 val* var_v /* var v: Visitor */;
8922 val* var /* : TObra */;
8923 val* var1 /* : ANodes[AExpr] */;
8924 val* var2 /* : Iterator[nullable Object] */;
8925 short int var3 /* : Bool */;
8926 val* var4 /* : nullable Object */;
8927 val* var_n /* var n: AExpr */;
8928 val* var5 /* : TCbra */;
8929 var_v = p0;
8930 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8931 if (var == NULL) {
8932 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra");
8933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10086);
8934 exit(1);
8935 }
8936 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8937 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8938 if (var1 == NULL) {
8939 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_exprs");
8940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10087);
8941 exit(1);
8942 }
8943 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8944 for(;;) {
8945 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8946 if(!var3) break;
8947 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8948 var_n = var4;
8949 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8950 CONTINUE_label: (void)0;
8951 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8952 }
8953 BREAK_label: (void)0;
8954 var5 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8955 if (var5 == NULL) {
8956 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra");
8957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10090);
8958 exit(1);
8959 }
8960 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8961 RET_LABEL:;
8962 }
8963 /* method parser_prod#ABraExprs#visit_all for (self: Object, Visitor) */
8964 void VIRTUAL_parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8965 parser_prod__ABraExprs__visit_all(self, p0);
8966 RET_LABEL:;
8967 }
8968 /* method parser_prod#APlusAssignOp#empty_init for (self: APlusAssignOp) */
8969 void parser_prod__APlusAssignOp__empty_init(val* self) {
8970 RET_LABEL:;
8971 }
8972 /* method parser_prod#APlusAssignOp#empty_init for (self: Object) */
8973 void VIRTUAL_parser_prod__APlusAssignOp__empty_init(val* self) {
8974 parser_prod__APlusAssignOp__empty_init(self);
8975 RET_LABEL:;
8976 }
8977 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: APlusAssignOp, nullable TPluseq) */
8978 void parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8979 val* var_n_pluseq /* var n_pluseq: nullable TPluseq */;
8980 var_n_pluseq = p0;
8981 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusAssignOp__empty_init]))(self) /* empty_init on <self:APlusAssignOp>*/;
8982 if (var_n_pluseq == NULL) {
8983 fprintf(stderr, "Runtime error: %s", "Cast failed");
8984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10101);
8985 exit(1);
8986 }
8987 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_n_pluseq; /* _n_pluseq on <self:APlusAssignOp> */
8988 if (var_n_pluseq == NULL) {
8989 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8990 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10102);
8991 exit(1);
8992 } else {
8993 ((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>*/;
8994 }
8995 RET_LABEL:;
8996 }
8997 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: Object, nullable TPluseq) */
8998 void VIRTUAL_parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8999 parser_prod__APlusAssignOp__init_aplusassignop(self, p0);
9000 RET_LABEL:;
9001 }
9002 /* method parser_prod#APlusAssignOp#replace_child for (self: APlusAssignOp, ANode, nullable ANode) */
9003 void parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
9004 val* var_old_child /* var old_child: ANode */;
9005 val* var_new_child /* var new_child: nullable ANode */;
9006 val* var /* : TPluseq */;
9007 short int var1 /* : Bool */;
9008 val* var2 /* : null */;
9009 short int var3 /* : Bool */;
9010 short int var4 /* : Bool */;
9011 int cltype;
9012 int idtype;
9013 var_old_child = p0;
9014 var_new_child = p1;
9015 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
9016 if (var == NULL) {
9017 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_pluseq");
9018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10107);
9019 exit(1);
9020 }
9021 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TPluseq>*/;
9022 if (var1){
9023 var2 = NULL;
9024 if (var_new_child == NULL) {
9025 var3 = 0; /* is null */
9026 } else {
9027 var3 = 1; /* arg is null and recv is not */
9028 }
9029 if (var3){
9030 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9031 /* <var_new_child:nullable ANode(ANode)> isa TPluseq */
9032 cltype = type_parser_nodes__TPluseq.color;
9033 idtype = type_parser_nodes__TPluseq.id;
9034 if(cltype >= var_new_child->type->table_size) {
9035 var4 = 0;
9036 } else {
9037 var4 = var_new_child->type->type_table[cltype] == idtype;
9038 }
9039 if (!var4) {
9040 fprintf(stderr, "Runtime error: %s", "Assert failed");
9041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10110);
9042 exit(1);
9043 }
9044 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_new_child; /* _n_pluseq on <self:APlusAssignOp> */
9045 } else {
9046 fprintf(stderr, "Runtime error: %s", "Aborted");
9047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10113);
9048 exit(1);
9049 }
9050 goto RET_LABEL;
9051 } else {
9052 }
9053 RET_LABEL:;
9054 }
9055 /* method parser_prod#APlusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
9056 void VIRTUAL_parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
9057 parser_prod__APlusAssignOp__replace_child(self, p0, p1);
9058 RET_LABEL:;
9059 }
9060 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: APlusAssignOp, TPluseq) */
9061 void parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
9062 val* var_node /* var node: TPluseq */;
9063 var_node = p0;
9064 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_node; /* _n_pluseq on <self:APlusAssignOp> */
9065 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TPluseq>*/;
9066 RET_LABEL:;
9067 }
9068 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: Object, TPluseq) */
9069 void VIRTUAL_parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
9070 parser_prod__APlusAssignOp__n_pluseq_61d(self, p0);
9071 RET_LABEL:;
9072 }
9073 /* method parser_prod#APlusAssignOp#visit_all for (self: APlusAssignOp, Visitor) */
9074 void parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
9075 val* var_v /* var v: Visitor */;
9076 val* var /* : TPluseq */;
9077 var_v = p0;
9078 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
9079 if (var == NULL) {
9080 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_pluseq");
9081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10128);
9082 exit(1);
9083 }
9084 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9085 RET_LABEL:;
9086 }
9087 /* method parser_prod#APlusAssignOp#visit_all for (self: Object, Visitor) */
9088 void VIRTUAL_parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
9089 parser_prod__APlusAssignOp__visit_all(self, p0);
9090 RET_LABEL:;
9091 }
9092 /* method parser_prod#AMinusAssignOp#empty_init for (self: AMinusAssignOp) */
9093 void parser_prod__AMinusAssignOp__empty_init(val* self) {
9094 RET_LABEL:;
9095 }
9096 /* method parser_prod#AMinusAssignOp#empty_init for (self: Object) */
9097 void VIRTUAL_parser_prod__AMinusAssignOp__empty_init(val* self) {
9098 parser_prod__AMinusAssignOp__empty_init(self);
9099 RET_LABEL:;
9100 }
9101 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: AMinusAssignOp, nullable TMinuseq) */
9102 void parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
9103 val* var_n_minuseq /* var n_minuseq: nullable TMinuseq */;
9104 var_n_minuseq = p0;
9105 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusAssignOp__empty_init]))(self) /* empty_init on <self:AMinusAssignOp>*/;
9106 if (var_n_minuseq == NULL) {
9107 fprintf(stderr, "Runtime error: %s", "Cast failed");
9108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10139);
9109 exit(1);
9110 }
9111 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_n_minuseq; /* _n_minuseq on <self:AMinusAssignOp> */
9112 if (var_n_minuseq == NULL) {
9113 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10140);
9115 exit(1);
9116 } else {
9117 ((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>*/;
9118 }
9119 RET_LABEL:;
9120 }
9121 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: Object, nullable TMinuseq) */
9122 void VIRTUAL_parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
9123 parser_prod__AMinusAssignOp__init_aminusassignop(self, p0);
9124 RET_LABEL:;
9125 }
9126 /* method parser_prod#AMinusAssignOp#replace_child for (self: AMinusAssignOp, ANode, nullable ANode) */
9127 void parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
9128 val* var_old_child /* var old_child: ANode */;
9129 val* var_new_child /* var new_child: nullable ANode */;
9130 val* var /* : TMinuseq */;
9131 short int var1 /* : Bool */;
9132 val* var2 /* : null */;
9133 short int var3 /* : Bool */;
9134 short int var4 /* : Bool */;
9135 int cltype;
9136 int idtype;
9137 var_old_child = p0;
9138 var_new_child = p1;
9139 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
9140 if (var == NULL) {
9141 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minuseq");
9142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10145);
9143 exit(1);
9144 }
9145 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinuseq>*/;
9146 if (var1){
9147 var2 = NULL;
9148 if (var_new_child == NULL) {
9149 var3 = 0; /* is null */
9150 } else {
9151 var3 = 1; /* arg is null and recv is not */
9152 }
9153 if (var3){
9154 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9155 /* <var_new_child:nullable ANode(ANode)> isa TMinuseq */
9156 cltype = type_parser_nodes__TMinuseq.color;
9157 idtype = type_parser_nodes__TMinuseq.id;
9158 if(cltype >= var_new_child->type->table_size) {
9159 var4 = 0;
9160 } else {
9161 var4 = var_new_child->type->type_table[cltype] == idtype;
9162 }
9163 if (!var4) {
9164 fprintf(stderr, "Runtime error: %s", "Assert failed");
9165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10148);
9166 exit(1);
9167 }
9168 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_new_child; /* _n_minuseq on <self:AMinusAssignOp> */
9169 } else {
9170 fprintf(stderr, "Runtime error: %s", "Aborted");
9171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10151);
9172 exit(1);
9173 }
9174 goto RET_LABEL;
9175 } else {
9176 }
9177 RET_LABEL:;
9178 }
9179 /* method parser_prod#AMinusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
9180 void VIRTUAL_parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
9181 parser_prod__AMinusAssignOp__replace_child(self, p0, p1);
9182 RET_LABEL:;
9183 }
9184 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: AMinusAssignOp, TMinuseq) */
9185 void parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
9186 val* var_node /* var node: TMinuseq */;
9187 var_node = p0;
9188 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_node; /* _n_minuseq on <self:AMinusAssignOp> */
9189 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinuseq>*/;
9190 RET_LABEL:;
9191 }
9192 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: Object, TMinuseq) */
9193 void VIRTUAL_parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
9194 parser_prod__AMinusAssignOp__n_minuseq_61d(self, p0);
9195 RET_LABEL:;
9196 }
9197 /* method parser_prod#AMinusAssignOp#visit_all for (self: AMinusAssignOp, Visitor) */
9198 void parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
9199 val* var_v /* var v: Visitor */;
9200 val* var /* : TMinuseq */;
9201 var_v = p0;
9202 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
9203 if (var == NULL) {
9204 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minuseq");
9205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10166);
9206 exit(1);
9207 }
9208 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9209 RET_LABEL:;
9210 }
9211 /* method parser_prod#AMinusAssignOp#visit_all for (self: Object, Visitor) */
9212 void VIRTUAL_parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
9213 parser_prod__AMinusAssignOp__visit_all(self, p0);
9214 RET_LABEL:;
9215 }
9216 /* method parser_prod#AModuleName#empty_init for (self: AModuleName) */
9217 void parser_prod__AModuleName__empty_init(val* self) {
9218 RET_LABEL:;
9219 }
9220 /* method parser_prod#AModuleName#empty_init for (self: Object) */
9221 void VIRTUAL_parser_prod__AModuleName__empty_init(val* self) {
9222 parser_prod__AModuleName__empty_init(self);
9223 RET_LABEL:;
9224 }
9225 /* method parser_prod#AModuleName#init_amodulename for (self: AModuleName, nullable TQuad, Collection[Object], nullable TId) */
9226 void parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9227 val* var_n_quad /* var n_quad: nullable TQuad */;
9228 val* var_n_path /* var n_path: Collection[Object] */;
9229 val* var_n_id /* var n_id: nullable TId */;
9230 val* var /* : null */;
9231 short int var1 /* : Bool */;
9232 val* var2 /* : Iterator[nullable Object] */;
9233 short int var3 /* : Bool */;
9234 val* var4 /* : nullable Object */;
9235 val* var_n /* var n: Object */;
9236 short int var5 /* : Bool */;
9237 int cltype;
9238 int idtype;
9239 val* var6 /* : ANodes[TId] */;
9240 var_n_quad = p0;
9241 var_n_path = p1;
9242 var_n_id = p2;
9243 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuleName__empty_init]))(self) /* empty_init on <self:AModuleName>*/;
9244 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_n_quad; /* _n_quad on <self:AModuleName> */
9245 var = NULL;
9246 if (var_n_quad == NULL) {
9247 var1 = 0; /* is null */
9248 } else {
9249 var1 = 1; /* arg is null and recv is not */
9250 }
9251 if (var1){
9252 ((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)>*/;
9253 } else {
9254 }
9255 var2 = ((val* (*)(val*))(var_n_path->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_path) /* iterator on <var_n_path:Collection[Object]>*/;
9256 for(;;) {
9257 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
9258 if(!var3) break;
9259 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
9260 var_n = var4;
9261 /* <var_n:Object> isa TId */
9262 cltype = type_parser_nodes__TId.color;
9263 idtype = type_parser_nodes__TId.id;
9264 if(cltype >= var_n->type->table_size) {
9265 var5 = 0;
9266 } else {
9267 var5 = var_n->type->type_table[cltype] == idtype;
9268 }
9269 if (!var5) {
9270 fprintf(stderr, "Runtime error: %s", "Assert failed");
9271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10184);
9272 exit(1);
9273 }
9274 var6 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9275 if (var6 == NULL) {
9276 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10185);
9278 exit(1);
9279 }
9280 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[TId]>*/;
9281 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
9282 CONTINUE_label: (void)0;
9283 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
9284 }
9285 BREAK_label: (void)0;
9286 if (var_n_id == NULL) {
9287 fprintf(stderr, "Runtime error: %s", "Cast failed");
9288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10188);
9289 exit(1);
9290 }
9291 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_n_id; /* _n_id on <self:AModuleName> */
9292 if (var_n_id == NULL) {
9293 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10189);
9295 exit(1);
9296 } else {
9297 ((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>*/;
9298 }
9299 RET_LABEL:;
9300 }
9301 /* method parser_prod#AModuleName#init_amodulename for (self: Object, nullable TQuad, Collection[Object], nullable TId) */
9302 void VIRTUAL_parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9303 parser_prod__AModuleName__init_amodulename(self, p0, p1, p2);
9304 RET_LABEL:;
9305 }
9306 /* method parser_prod#AModuleName#replace_child for (self: AModuleName, ANode, nullable ANode) */
9307 void parser_prod__AModuleName__replace_child(val* self, val* p0, val* p1) {
9308 val* var_old_child /* var old_child: ANode */;
9309 val* var_new_child /* var new_child: nullable ANode */;
9310 val* var /* : nullable TQuad */;
9311 short int var1 /* : Bool */;
9312 val* var2 /* : null */;
9313 short int var3 /* : Bool */;
9314 short int var4 /* : Bool */;
9315 int cltype;
9316 int idtype;
9317 val* var5 /* : null */;
9318 val* var6 /* : Range[Int] */;
9319 long var7 /* : Int */;
9320 val* var8 /* : ANodes[TId] */;
9321 long var9 /* : Int */;
9322 val* var10 /* : Discrete */;
9323 val* var11 /* : Discrete */;
9324 val* var12 /* : Iterator[nullable Object] */;
9325 short int var13 /* : Bool */;
9326 val* var14 /* : nullable Object */;
9327 long var_i /* var i: Int */;
9328 long var15 /* : Int */;
9329 val* var16 /* : ANodes[TId] */;
9330 val* var17 /* : nullable Object */;
9331 short int var18 /* : Bool */;
9332 val* var19 /* : null */;
9333 short int var20 /* : Bool */;
9334 short int var21 /* : Bool */;
9335 int cltype22;
9336 int idtype23;
9337 val* var24 /* : ANodes[TId] */;
9338 val* var25 /* : ANodes[TId] */;
9339 val* var26 /* : TId */;
9340 short int var27 /* : Bool */;
9341 val* var28 /* : null */;
9342 short int var29 /* : Bool */;
9343 short int var30 /* : Bool */;
9344 int cltype31;
9345 int idtype32;
9346 var_old_child = p0;
9347 var_new_child = p1;
9348 var = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9349 if (var == NULL) {
9350 var1 = 0; /* <var_old_child:ANode> cannot be null */
9351 } else {
9352 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TQuad>*/;
9353 }
9354 if (var1){
9355 var2 = NULL;
9356 if (var_new_child == NULL) {
9357 var3 = 0; /* is null */
9358 } else {
9359 var3 = 1; /* arg is null and recv is not */
9360 }
9361 if (var3){
9362 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9363 /* <var_new_child:nullable ANode(ANode)> isa TQuad */
9364 cltype = type_parser_nodes__TQuad.color;
9365 idtype = type_parser_nodes__TQuad.id;
9366 if(cltype >= var_new_child->type->table_size) {
9367 var4 = 0;
9368 } else {
9369 var4 = var_new_child->type->type_table[cltype] == idtype;
9370 }
9371 if (!var4) {
9372 fprintf(stderr, "Runtime error: %s", "Assert failed");
9373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10197);
9374 exit(1);
9375 }
9376 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_new_child; /* _n_quad on <self:AModuleName> */
9377 } else {
9378 var5 = NULL;
9379 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var5; /* _n_quad on <self:AModuleName> */
9380 }
9381 goto RET_LABEL;
9382 } else {
9383 }
9384 var6 = NEW_range__Range(&type_range__Rangekernel__Int);
9385 var7 = 0;
9386 var8 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9387 if (var8 == NULL) {
9388 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10204);
9390 exit(1);
9391 }
9392 var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__length]))(var8) /* length on <var8:ANodes[TId]>*/;
9393 var10 = BOX_kernel__Int(var7); /* autobox from Int to Discrete */
9394 var11 = BOX_kernel__Int(var9); /* autobox from Int to Discrete */
9395 ((void (*)(val*, val*, val*))(var6->class->vft[COLOR_range__Range__without_last]))(var6, var10, var11) /* without_last on <var6:Range[Int]>*/;
9396 CHECK_NEW_range__Range(var6);
9397 var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on <var6:Range[Int]>*/;
9398 for(;;) {
9399 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on <var12:Iterator[nullable Object]>*/;
9400 if(!var13) break;
9401 var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on <var12:Iterator[nullable Object]>*/;
9402 var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */;
9403 var_i = var15;
9404 var16 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9405 if (var16 == NULL) {
9406 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10205);
9408 exit(1);
9409 }
9410 var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on <var16:ANodes[TId]>*/;
9411 var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on <var17:nullable Object(TId)>*/;
9412 if (var18){
9413 var19 = NULL;
9414 if (var_new_child == NULL) {
9415 var20 = 0; /* is null */
9416 } else {
9417 var20 = 1; /* arg is null and recv is not */
9418 }
9419 if (var20){
9420 /* <var_new_child:nullable ANode(ANode)> isa TId */
9421 cltype22 = type_parser_nodes__TId.color;
9422 idtype23 = type_parser_nodes__TId.id;
9423 if(cltype22 >= var_new_child->type->table_size) {
9424 var21 = 0;
9425 } else {
9426 var21 = var_new_child->type->type_table[cltype22] == idtype23;
9427 }
9428 if (!var21) {
9429 fprintf(stderr, "Runtime error: %s", "Assert failed");
9430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10207);
9431 exit(1);
9432 }
9433 var24 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9434 if (var24 == NULL) {
9435 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10208);
9437 exit(1);
9438 }
9439 ((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, var_i, var_new_child) /* []= on <var24:ANodes[TId]>*/;
9440 ((void (*)(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)>*/;
9441 } else {
9442 var25 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9443 if (var25 == NULL) {
9444 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10211);
9446 exit(1);
9447 }
9448 ((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on <var25:ANodes[TId]>*/;
9449 }
9450 goto RET_LABEL;
9451 } else {
9452 }
9453 CONTINUE_label: (void)0;
9454 ((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on <var12:Iterator[nullable Object]>*/;
9455 }
9456 BREAK_label: (void)0;
9457 var26 = self->attrs[COLOR_parser_nodes__AModuleName___n_id].val; /* _n_id on <self:AModuleName> */
9458 if (var26 == NULL) {
9459 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10216);
9461 exit(1);
9462 }
9463 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TId>*/;
9464 if (var27){
9465 var28 = NULL;
9466 if (var_new_child == NULL) {
9467 var29 = 0; /* is null */
9468 } else {
9469 var29 = 1; /* arg is null and recv is not */
9470 }
9471 if (var29){
9472 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9473 /* <var_new_child:nullable ANode(ANode)> isa TId */
9474 cltype31 = type_parser_nodes__TId.color;
9475 idtype32 = type_parser_nodes__TId.id;
9476 if(cltype31 >= var_new_child->type->table_size) {
9477 var30 = 0;
9478 } else {
9479 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9480 }
9481 if (!var30) {
9482 fprintf(stderr, "Runtime error: %s", "Assert failed");
9483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10219);
9484 exit(1);
9485 }
9486 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_new_child; /* _n_id on <self:AModuleName> */
9487 } else {
9488 fprintf(stderr, "Runtime error: %s", "Aborted");
9489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10222);
9490 exit(1);
9491 }
9492 goto RET_LABEL;
9493 } else {
9494 }
9495 RET_LABEL:;
9496 }
9497 /* method parser_prod#AModuleName#replace_child for (self: Object, ANode, nullable ANode) */
9498 void VIRTUAL_parser_prod__AModuleName__replace_child(val* self, val* p0, val* p1) {
9499 parser_prod__AModuleName__replace_child(self, p0, p1);
9500 RET_LABEL:;
9501 }
9502 /* method parser_prod#AModuleName#n_quad= for (self: AModuleName, nullable TQuad) */
9503 void parser_prod__AModuleName__n_quad_61d(val* self, val* p0) {
9504 val* var_node /* var node: nullable TQuad */;
9505 val* var /* : null */;
9506 short int var1 /* : Bool */;
9507 var_node = p0;
9508 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_node; /* _n_quad on <self:AModuleName> */
9509 var = NULL;
9510 if (var_node == NULL) {
9511 var1 = 0; /* is null */
9512 } else {
9513 var1 = 1; /* arg is null and recv is not */
9514 }
9515 if (var1){
9516 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TQuad(TQuad)>*/;
9517 } else {
9518 }
9519 RET_LABEL:;
9520 }
9521 /* method parser_prod#AModuleName#n_quad= for (self: Object, nullable TQuad) */
9522 void VIRTUAL_parser_prod__AModuleName__n_quad_61d(val* self, val* p0) {
9523 parser_prod__AModuleName__n_quad_61d(self, p0);
9524 RET_LABEL:;
9525 }
9526 /* method parser_prod#AModuleName#n_id= for (self: AModuleName, TId) */
9527 void parser_prod__AModuleName__n_id_61d(val* self, val* p0) {
9528 val* var_node /* var node: TId */;
9529 var_node = p0;
9530 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_node; /* _n_id on <self:AModuleName> */
9531 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9532 RET_LABEL:;
9533 }
9534 /* method parser_prod#AModuleName#n_id= for (self: Object, TId) */
9535 void VIRTUAL_parser_prod__AModuleName__n_id_61d(val* self, val* p0) {
9536 parser_prod__AModuleName__n_id_61d(self, p0);
9537 RET_LABEL:;
9538 }
9539 /* method parser_prod#AModuleName#visit_all for (self: AModuleName, Visitor) */
9540 void parser_prod__AModuleName__visit_all(val* self, val* p0) {
9541 val* var_v /* var v: Visitor */;
9542 val* var /* : nullable TQuad */;
9543 val* var1 /* : null */;
9544 short int var2 /* : Bool */;
9545 val* var3 /* : nullable TQuad */;
9546 val* var4 /* : ANodes[TId] */;
9547 val* var5 /* : Iterator[nullable Object] */;
9548 short int var6 /* : Bool */;
9549 val* var7 /* : nullable Object */;
9550 val* var_n /* var n: TId */;
9551 val* var8 /* : TId */;
9552 var_v = p0;
9553 var = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9554 var1 = NULL;
9555 if (var == NULL) {
9556 var2 = 0; /* is null */
9557 } else {
9558 var2 = 1; /* arg is null and recv is not */
9559 }
9560 if (var2){
9561 var3 = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
9562 if (var3 == NULL) {
9563 fprintf(stderr, "Runtime error: %s", "Cast failed");
9564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10245);
9565 exit(1);
9566 }
9567 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9568 } else {
9569 }
9570 var4 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9571 if (var4 == NULL) {
9572 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_path");
9573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10247);
9574 exit(1);
9575 }
9576 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on <var4:ANodes[TId]>*/;
9577 for(;;) {
9578 var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on <var5:Iterator[nullable Object]>*/;
9579 if(!var6) break;
9580 var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on <var5:Iterator[nullable Object]>*/;
9581 var_n = var7;
9582 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
9583 CONTINUE_label: (void)0;
9584 ((void (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on <var5:Iterator[nullable Object]>*/;
9585 }
9586 BREAK_label: (void)0;
9587 var8 = self->attrs[COLOR_parser_nodes__AModuleName___n_id].val; /* _n_id on <self:AModuleName> */
9588 if (var8 == NULL) {
9589 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10250);
9591 exit(1);
9592 }
9593 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
9594 RET_LABEL:;
9595 }
9596 /* method parser_prod#AModuleName#visit_all for (self: Object, Visitor) */
9597 void VIRTUAL_parser_prod__AModuleName__visit_all(val* self, val* p0) {
9598 parser_prod__AModuleName__visit_all(self, p0);
9599 RET_LABEL:;
9600 }
9601 /* method parser_prod#AExternCalls#empty_init for (self: AExternCalls) */
9602 void parser_prod__AExternCalls__empty_init(val* self) {
9603 RET_LABEL:;
9604 }
9605 /* method parser_prod#AExternCalls#empty_init for (self: Object) */
9606 void VIRTUAL_parser_prod__AExternCalls__empty_init(val* self) {
9607 parser_prod__AExternCalls__empty_init(self);
9608 RET_LABEL:;
9609 }
9610 /* method parser_prod#AExternCalls#init_aexterncalls for (self: AExternCalls, nullable TKwimport, Collection[Object]) */
9611 void parser_prod__AExternCalls__init_aexterncalls(val* self, val* p0, val* p1) {
9612 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
9613 val* var_n_extern_calls /* var n_extern_calls: Collection[Object] */;
9614 val* var /* : Iterator[nullable Object] */;
9615 short int var1 /* : Bool */;
9616 val* var2 /* : nullable Object */;
9617 val* var_n /* var n: Object */;
9618 short int var3 /* : Bool */;
9619 int cltype;
9620 int idtype;
9621 val* var4 /* : ANodes[AExternCall] */;
9622 var_n_kwimport = p0;
9623 var_n_extern_calls = p1;
9624 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternCalls__empty_init]))(self) /* empty_init on <self:AExternCalls>*/;
9625 if (var_n_kwimport == NULL) {
9626 fprintf(stderr, "Runtime error: %s", "Cast failed");
9627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10262);
9628 exit(1);
9629 }
9630 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:AExternCalls> */
9631 if (var_n_kwimport == NULL) {
9632 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10263);
9634 exit(1);
9635 } else {
9636 ((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>*/;
9637 }
9638 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]>*/;
9639 for(;;) {
9640 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
9641 if(!var1) break;
9642 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
9643 var_n = var2;
9644 /* <var_n:Object> isa AExternCall */
9645 cltype = type_parser_nodes__AExternCall.color;
9646 idtype = type_parser_nodes__AExternCall.id;
9647 if(cltype >= var_n->type->table_size) {
9648 var3 = 0;
9649 } else {
9650 var3 = var_n->type->type_table[cltype] == idtype;
9651 }
9652 if (!var3) {
9653 fprintf(stderr, "Runtime error: %s", "Assert failed");
9654 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10265);
9655 exit(1);
9656 }
9657 var4 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9658 if (var4 == NULL) {
9659 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10266);
9661 exit(1);
9662 }
9663 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExternCall]>*/;
9664 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExternCall)>*/;
9665 CONTINUE_label: (void)0;
9666 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
9667 }
9668 BREAK_label: (void)0;
9669 RET_LABEL:;
9670 }
9671 /* method parser_prod#AExternCalls#init_aexterncalls for (self: Object, nullable TKwimport, Collection[Object]) */
9672 void VIRTUAL_parser_prod__AExternCalls__init_aexterncalls(val* self, val* p0, val* p1) {
9673 parser_prod__AExternCalls__init_aexterncalls(self, p0, p1);
9674 RET_LABEL:;
9675 }
9676 /* method parser_prod#AExternCalls#replace_child for (self: AExternCalls, ANode, nullable ANode) */
9677 void parser_prod__AExternCalls__replace_child(val* self, val* p0, val* p1) {
9678 val* var_old_child /* var old_child: ANode */;
9679 val* var_new_child /* var new_child: nullable ANode */;
9680 val* var /* : TKwimport */;
9681 short int var1 /* : Bool */;
9682 val* var2 /* : null */;
9683 short int var3 /* : Bool */;
9684 short int var4 /* : Bool */;
9685 int cltype;
9686 int idtype;
9687 val* var5 /* : Range[Int] */;
9688 long var6 /* : Int */;
9689 val* var7 /* : ANodes[AExternCall] */;
9690 long var8 /* : Int */;
9691 val* var9 /* : Discrete */;
9692 val* var10 /* : Discrete */;
9693 val* var11 /* : Iterator[nullable Object] */;
9694 short int var12 /* : Bool */;
9695 val* var13 /* : nullable Object */;
9696 long var_i /* var i: Int */;
9697 long var14 /* : Int */;
9698 val* var15 /* : ANodes[AExternCall] */;
9699 val* var16 /* : nullable Object */;
9700 short int var17 /* : Bool */;
9701 val* var18 /* : null */;
9702 short int var19 /* : Bool */;
9703 short int var20 /* : Bool */;
9704 int cltype21;
9705 int idtype22;
9706 val* var23 /* : ANodes[AExternCall] */;
9707 val* var24 /* : ANodes[AExternCall] */;
9708 var_old_child = p0;
9709 var_new_child = p1;
9710 var = self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val; /* _n_kwimport on <self:AExternCalls> */
9711 if (var == NULL) {
9712 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
9713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10273);
9714 exit(1);
9715 }
9716 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwimport>*/;
9717 if (var1){
9718 var2 = NULL;
9719 if (var_new_child == NULL) {
9720 var3 = 0; /* is null */
9721 } else {
9722 var3 = 1; /* arg is null and recv is not */
9723 }
9724 if (var3){
9725 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9726 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
9727 cltype = type_parser_nodes__TKwimport.color;
9728 idtype = type_parser_nodes__TKwimport.id;
9729 if(cltype >= var_new_child->type->table_size) {
9730 var4 = 0;
9731 } else {
9732 var4 = var_new_child->type->type_table[cltype] == idtype;
9733 }
9734 if (!var4) {
9735 fprintf(stderr, "Runtime error: %s", "Assert failed");
9736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10276);
9737 exit(1);
9738 }
9739 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_new_child; /* _n_kwimport on <self:AExternCalls> */
9740 } else {
9741 fprintf(stderr, "Runtime error: %s", "Aborted");
9742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10279);
9743 exit(1);
9744 }
9745 goto RET_LABEL;
9746 } else {
9747 }
9748 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
9749 var6 = 0;
9750 var7 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9751 if (var7 == NULL) {
9752 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10283);
9754 exit(1);
9755 }
9756 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExternCall]>*/;
9757 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
9758 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
9759 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
9760 CHECK_NEW_range__Range(var5);
9761 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
9762 for(;;) {
9763 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
9764 if(!var12) break;
9765 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
9766 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
9767 var_i = var14;
9768 var15 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9769 if (var15 == NULL) {
9770 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10284);
9772 exit(1);
9773 }
9774 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExternCall]>*/;
9775 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExternCall)>*/;
9776 if (var17){
9777 var18 = NULL;
9778 if (var_new_child == NULL) {
9779 var19 = 0; /* is null */
9780 } else {
9781 var19 = 1; /* arg is null and recv is not */
9782 }
9783 if (var19){
9784 /* <var_new_child:nullable ANode(ANode)> isa AExternCall */
9785 cltype21 = type_parser_nodes__AExternCall.color;
9786 idtype22 = type_parser_nodes__AExternCall.id;
9787 if(cltype21 >= var_new_child->type->table_size) {
9788 var20 = 0;
9789 } else {
9790 var20 = var_new_child->type->type_table[cltype21] == idtype22;
9791 }
9792 if (!var20) {
9793 fprintf(stderr, "Runtime error: %s", "Assert failed");
9794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10286);
9795 exit(1);
9796 }
9797 var23 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9798 if (var23 == NULL) {
9799 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10287);
9801 exit(1);
9802 }
9803 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExternCall]>*/;
9804 ((void (*)(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)>*/;
9805 } else {
9806 var24 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9807 if (var24 == NULL) {
9808 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10290);
9810 exit(1);
9811 }
9812 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExternCall]>*/;
9813 }
9814 goto RET_LABEL;
9815 } else {
9816 }
9817 CONTINUE_label: (void)0;
9818 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
9819 }
9820 BREAK_label: (void)0;
9821 RET_LABEL:;
9822 }
9823 /* method parser_prod#AExternCalls#replace_child for (self: Object, ANode, nullable ANode) */
9824 void VIRTUAL_parser_prod__AExternCalls__replace_child(val* self, val* p0, val* p1) {
9825 parser_prod__AExternCalls__replace_child(self, p0, p1);
9826 RET_LABEL:;
9827 }
9828 /* method parser_prod#AExternCalls#n_kwimport= for (self: AExternCalls, TKwimport) */
9829 void parser_prod__AExternCalls__n_kwimport_61d(val* self, val* p0) {
9830 val* var_node /* var node: TKwimport */;
9831 var_node = p0;
9832 self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val = var_node; /* _n_kwimport on <self:AExternCalls> */
9833 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
9834 RET_LABEL:;
9835 }
9836 /* method parser_prod#AExternCalls#n_kwimport= for (self: Object, TKwimport) */
9837 void VIRTUAL_parser_prod__AExternCalls__n_kwimport_61d(val* self, val* p0) {
9838 parser_prod__AExternCalls__n_kwimport_61d(self, p0);
9839 RET_LABEL:;
9840 }
9841 /* method parser_prod#AExternCalls#visit_all for (self: AExternCalls, Visitor) */
9842 void parser_prod__AExternCalls__visit_all(val* self, val* p0) {
9843 val* var_v /* var v: Visitor */;
9844 val* var /* : TKwimport */;
9845 val* var1 /* : ANodes[AExternCall] */;
9846 val* var2 /* : Iterator[nullable Object] */;
9847 short int var3 /* : Bool */;
9848 val* var4 /* : nullable Object */;
9849 val* var_n /* var n: AExternCall */;
9850 var_v = p0;
9851 var = self->attrs[COLOR_parser_nodes__AExternCalls___n_kwimport].val; /* _n_kwimport on <self:AExternCalls> */
9852 if (var == NULL) {
9853 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
9854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10306);
9855 exit(1);
9856 }
9857 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9858 var1 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
9859 if (var1 == NULL) {
9860 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_calls");
9861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10307);
9862 exit(1);
9863 }
9864 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExternCall]>*/;
9865 for(;;) {
9866 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
9867 if(!var3) break;
9868 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
9869 var_n = var4;
9870 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
9871 CONTINUE_label: (void)0;
9872 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
9873 }
9874 BREAK_label: (void)0;
9875 RET_LABEL:;
9876 }
9877 /* method parser_prod#AExternCalls#visit_all for (self: Object, Visitor) */
9878 void VIRTUAL_parser_prod__AExternCalls__visit_all(val* self, val* p0) {
9879 parser_prod__AExternCalls__visit_all(self, p0);
9880 RET_LABEL:;
9881 }
9882 /* method parser_prod#AExternCall#empty_init for (self: AExternCall) */
9883 void parser_prod__AExternCall__empty_init(val* self) {
9884 RET_LABEL:;
9885 }
9886 /* method parser_prod#AExternCall#empty_init for (self: Object) */
9887 void VIRTUAL_parser_prod__AExternCall__empty_init(val* self) {
9888 parser_prod__AExternCall__empty_init(self);
9889 RET_LABEL:;
9890 }
9891 /* method parser_prod#AExternCall#init_aexterncall for (self: AExternCall) */
9892 void parser_prod__AExternCall__init_aexterncall(val* self) {
9893 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternCall__empty_init]))(self) /* empty_init on <self:AExternCall>*/;
9894 RET_LABEL:;
9895 }
9896 /* method parser_prod#AExternCall#init_aexterncall for (self: Object) */
9897 void VIRTUAL_parser_prod__AExternCall__init_aexterncall(val* self) {
9898 parser_prod__AExternCall__init_aexterncall(self);
9899 RET_LABEL:;
9900 }
9901 /* method parser_prod#AExternCall#replace_child for (self: AExternCall, ANode, nullable ANode) */
9902 void parser_prod__AExternCall__replace_child(val* self, val* p0, val* p1) {
9903 val* var_old_child /* var old_child: ANode */;
9904 val* var_new_child /* var new_child: nullable ANode */;
9905 var_old_child = p0;
9906 var_new_child = p1;
9907 RET_LABEL:;
9908 }
9909 /* method parser_prod#AExternCall#replace_child for (self: Object, ANode, nullable ANode) */
9910 void VIRTUAL_parser_prod__AExternCall__replace_child(val* self, val* p0, val* p1) {
9911 parser_prod__AExternCall__replace_child(self, p0, p1);
9912 RET_LABEL:;
9913 }
9914 /* method parser_prod#AExternCall#visit_all for (self: AExternCall, Visitor) */
9915 void parser_prod__AExternCall__visit_all(val* self, val* p0) {
9916 val* var_v /* var v: Visitor */;
9917 var_v = p0;
9918 RET_LABEL:;
9919 }
9920 /* method parser_prod#AExternCall#visit_all for (self: Object, Visitor) */
9921 void VIRTUAL_parser_prod__AExternCall__visit_all(val* self, val* p0) {
9922 parser_prod__AExternCall__visit_all(self, p0);
9923 RET_LABEL:;
9924 }
9925 /* method parser_prod#ASuperExternCall#empty_init for (self: ASuperExternCall) */
9926 void parser_prod__ASuperExternCall__empty_init(val* self) {
9927 RET_LABEL:;
9928 }
9929 /* method parser_prod#ASuperExternCall#empty_init for (self: Object) */
9930 void VIRTUAL_parser_prod__ASuperExternCall__empty_init(val* self) {
9931 parser_prod__ASuperExternCall__empty_init(self);
9932 RET_LABEL:;
9933 }
9934 /* method parser_prod#ASuperExternCall#init_asuperexterncall for (self: ASuperExternCall, nullable TKwsuper) */
9935 void parser_prod__ASuperExternCall__init_asuperexterncall(val* self, val* p0) {
9936 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
9937 var_n_kwsuper = p0;
9938 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperExternCall__empty_init]))(self) /* empty_init on <self:ASuperExternCall>*/;
9939 if (var_n_kwsuper == NULL) {
9940 fprintf(stderr, "Runtime error: %s", "Cast failed");
9941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10338);
9942 exit(1);
9943 }
9944 self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExternCall> */
9945 if (var_n_kwsuper == NULL) {
9946 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10339);
9948 exit(1);
9949 } else {
9950 ((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>*/;
9951 }
9952 RET_LABEL:;
9953 }
9954 /* method parser_prod#ASuperExternCall#init_asuperexterncall for (self: Object, nullable TKwsuper) */
9955 void VIRTUAL_parser_prod__ASuperExternCall__init_asuperexterncall(val* self, val* p0) {
9956 parser_prod__ASuperExternCall__init_asuperexterncall(self, p0);
9957 RET_LABEL:;
9958 }