cleanup some remaining nitc
[nit.git] / c_src / parser_prod.sep.4.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */
3 void parser_prod__AInitExpr__visit_all(val* self, val* p0) {
4 val* var_v /* var v: Visitor */;
5 val* var /* : AExpr */;
6 val* var1 /* : TKwinit */;
7 val* var2 /* : AExprs */;
8 var_v = p0;
9 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
10 if (var == NULL) {
11 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8075);
12 exit(1);
13 }
14 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
15 var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
16 if (var1 == NULL) {
17 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinit", "src/parser/parser_prod.nit", 8076);
18 exit(1);
19 }
20 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
21 var2 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
22 if (var2 == NULL) {
23 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8077);
24 exit(1);
25 }
26 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
27 RET_LABEL:;
28 }
29 /* method parser_prod#AInitExpr#visit_all for (self: Object, Visitor) */
30 void VIRTUAL_parser_prod__AInitExpr__visit_all(val* self, val* p0) {
31 parser_prod__AInitExpr__visit_all(self, p0);
32 RET_LABEL:;
33 }
34 /* method parser_prod#ABraExpr#empty_init for (self: ABraExpr) */
35 void parser_prod__ABraExpr__empty_init(val* self) {
36 RET_LABEL:;
37 }
38 /* method parser_prod#ABraExpr#empty_init for (self: Object) */
39 void VIRTUAL_parser_prod__ABraExpr__empty_init(val* self) {
40 parser_prod__ABraExpr__empty_init(self);
41 RET_LABEL:;
42 }
43 /* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs, Collection[Object]) */
44 void parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1, val* p2) {
45 val* var_n_expr /* var n_expr: nullable AExpr */;
46 val* var_n_args /* var n_args: nullable AExprs */;
47 val* var_n_closure_defs /* var n_closure_defs: Collection[Object] */;
48 val* var /* : Iterator[nullable Object] */;
49 short int var1 /* : Bool */;
50 val* var2 /* : nullable Object */;
51 val* var_n /* var n: Object */;
52 short int var3 /* : Bool */;
53 int cltype;
54 int idtype;
55 val* var4 /* : ANodes[AClosureDef] */;
56 var_n_expr = p0;
57 var_n_args = p1;
58 var_n_closure_defs = p2;
59 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExpr__empty_init]))(self) /* empty_init on <self:ABraExpr>*/;
60 if (var_n_expr == NULL) {
61 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8090);
62 exit(1);
63 }
64 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraExpr> */
65 if (var_n_expr == NULL) {
66 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8091);
67 exit(1);
68 } else {
69 ((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>*/;
70 }
71 if (var_n_args == NULL) {
72 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8092);
73 exit(1);
74 }
75 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraExpr> */
76 if (var_n_args == NULL) {
77 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8093);
78 exit(1);
79 } else {
80 ((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>*/;
81 }
82 var = ((val* (*)(val*))(var_n_closure_defs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_closure_defs) /* iterator on <var_n_closure_defs:Collection[Object]>*/;
83 for(;;) {
84 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
85 if(!var1) break;
86 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
87 var_n = var2;
88 /* <var_n:Object> isa AClosureDef */
89 cltype = type_parser_nodes__AClosureDef.color;
90 idtype = type_parser_nodes__AClosureDef.id;
91 if(cltype >= var_n->type->table_size) {
92 var3 = 0;
93 } else {
94 var3 = var_n->type->type_table[cltype] == idtype;
95 }
96 if (!var3) {
97 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8095);
98 exit(1);
99 }
100 var4 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
101 if (var4 == NULL) {
102 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8096);
103 exit(1);
104 }
105 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AClosureDef]>*/;
106 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AClosureDef)>*/;
107 CONTINUE_label: (void)0;
108 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
109 }
110 BREAK_label: (void)0;
111 RET_LABEL:;
112 }
113 /* method parser_prod#ABraExpr#init_abraexpr for (self: Object, nullable AExpr, nullable AExprs, Collection[Object]) */
114 void VIRTUAL_parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1, val* p2) {
115 parser_prod__ABraExpr__init_abraexpr(self, p0, p1, p2);
116 RET_LABEL:;
117 }
118 /* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */
119 void parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
120 val* var_old_child /* var old_child: ANode */;
121 val* var_new_child /* var new_child: nullable ANode */;
122 val* var /* : AExpr */;
123 short int var1 /* : Bool */;
124 val* var2 /* : null */;
125 short int var3 /* : Bool */;
126 short int var4 /* : Bool */;
127 int cltype;
128 int idtype;
129 val* var5 /* : AExprs */;
130 short int var6 /* : Bool */;
131 val* var7 /* : null */;
132 short int var8 /* : Bool */;
133 short int var9 /* : Bool */;
134 int cltype10;
135 int idtype11;
136 val* var12 /* : Range[Int] */;
137 long var13 /* : Int */;
138 val* var14 /* : ANodes[AClosureDef] */;
139 long var15 /* : Int */;
140 val* var16 /* : Discrete */;
141 val* var17 /* : Discrete */;
142 val* var18 /* : Iterator[nullable Object] */;
143 short int var19 /* : Bool */;
144 val* var20 /* : nullable Object */;
145 long var_i /* var i: Int */;
146 long var21 /* : Int */;
147 val* var22 /* : ANodes[AClosureDef] */;
148 val* var23 /* : nullable Object */;
149 short int var24 /* : Bool */;
150 val* var25 /* : null */;
151 short int var26 /* : Bool */;
152 short int var27 /* : Bool */;
153 int cltype28;
154 int idtype29;
155 val* var30 /* : ANodes[AClosureDef] */;
156 val* var31 /* : ANodes[AClosureDef] */;
157 var_old_child = p0;
158 var_new_child = p1;
159 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
160 if (var == NULL) {
161 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8103);
162 exit(1);
163 }
164 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
165 if (var1){
166 var2 = NULL;
167 if (var_new_child == NULL) {
168 var3 = 0; /* is null */
169 } else {
170 var3 = 1; /* arg is null and recv is not */
171 }
172 if (var3){
173 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
174 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
175 cltype = type_parser_nodes__AExpr.color;
176 idtype = type_parser_nodes__AExpr.id;
177 if(cltype >= var_new_child->type->table_size) {
178 var4 = 0;
179 } else {
180 var4 = var_new_child->type->type_table[cltype] == idtype;
181 }
182 if (!var4) {
183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8106);
184 exit(1);
185 }
186 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraExpr> */
187 } else {
188 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8109);
189 exit(1);
190 }
191 goto RET_LABEL;
192 } else {
193 }
194 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
195 if (var5 == NULL) {
196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8113);
197 exit(1);
198 }
199 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
200 if (var6){
201 var7 = NULL;
202 if (var_new_child == NULL) {
203 var8 = 0; /* is null */
204 } else {
205 var8 = 1; /* arg is null and recv is not */
206 }
207 if (var8){
208 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
209 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
210 cltype10 = type_parser_nodes__AExprs.color;
211 idtype11 = type_parser_nodes__AExprs.id;
212 if(cltype10 >= var_new_child->type->table_size) {
213 var9 = 0;
214 } else {
215 var9 = var_new_child->type->type_table[cltype10] == idtype11;
216 }
217 if (!var9) {
218 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8116);
219 exit(1);
220 }
221 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraExpr> */
222 } else {
223 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8119);
224 exit(1);
225 }
226 goto RET_LABEL;
227 } else {
228 }
229 var12 = NEW_range__Range(&type_range__Rangekernel__Int);
230 var13 = 0;
231 var14 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
232 if (var14 == NULL) {
233 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8123);
234 exit(1);
235 }
236 var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on <var14:ANodes[AClosureDef]>*/;
237 var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */
238 var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */
239 ((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on <var12:Range[Int]>*/;
240 CHECK_NEW_range__Range(var12);
241 var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on <var12:Range[Int]>*/;
242 for(;;) {
243 var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on <var18:Iterator[nullable Object]>*/;
244 if(!var19) break;
245 var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on <var18:Iterator[nullable Object]>*/;
246 var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */;
247 var_i = var21;
248 var22 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
249 if (var22 == NULL) {
250 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8124);
251 exit(1);
252 }
253 var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on <var22:ANodes[AClosureDef]>*/;
254 var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on <var23:nullable Object(AClosureDef)>*/;
255 if (var24){
256 var25 = NULL;
257 if (var_new_child == NULL) {
258 var26 = 0; /* is null */
259 } else {
260 var26 = 1; /* arg is null and recv is not */
261 }
262 if (var26){
263 /* <var_new_child:nullable ANode(ANode)> isa AClosureDef */
264 cltype28 = type_parser_nodes__AClosureDef.color;
265 idtype29 = type_parser_nodes__AClosureDef.id;
266 if(cltype28 >= var_new_child->type->table_size) {
267 var27 = 0;
268 } else {
269 var27 = var_new_child->type->type_table[cltype28] == idtype29;
270 }
271 if (!var27) {
272 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8126);
273 exit(1);
274 }
275 var30 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
276 if (var30 == NULL) {
277 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8127);
278 exit(1);
279 }
280 ((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on <var30:ANodes[AClosureDef]>*/;
281 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AClosureDef)>*/;
282 } else {
283 var31 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
284 if (var31 == NULL) {
285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8130);
286 exit(1);
287 }
288 ((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on <var31:ANodes[AClosureDef]>*/;
289 }
290 goto RET_LABEL;
291 } else {
292 }
293 CONTINUE_label: (void)0;
294 ((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on <var18:Iterator[nullable Object]>*/;
295 }
296 BREAK_label: (void)0;
297 RET_LABEL:;
298 }
299 /* method parser_prod#ABraExpr#replace_child for (self: Object, ANode, nullable ANode) */
300 void VIRTUAL_parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) {
301 parser_prod__ABraExpr__replace_child(self, p0, p1);
302 RET_LABEL:;
303 }
304 /* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */
305 void parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
306 val* var_node /* var node: AExpr */;
307 var_node = p0;
308 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraExpr> */
309 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
310 RET_LABEL:;
311 }
312 /* method parser_prod#ABraExpr#n_expr= for (self: Object, AExpr) */
313 void VIRTUAL_parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) {
314 parser_prod__ABraExpr__n_expr_61d(self, p0);
315 RET_LABEL:;
316 }
317 /* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */
318 void parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
319 val* var_node /* var node: AExprs */;
320 var_node = p0;
321 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraExpr> */
322 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
323 RET_LABEL:;
324 }
325 /* method parser_prod#ABraExpr#n_args= for (self: Object, AExprs) */
326 void VIRTUAL_parser_prod__ABraExpr__n_args_61d(val* self, val* p0) {
327 parser_prod__ABraExpr__n_args_61d(self, p0);
328 RET_LABEL:;
329 }
330 /* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */
331 void parser_prod__ABraExpr__visit_all(val* self, val* p0) {
332 val* var_v /* var v: Visitor */;
333 val* var /* : AExpr */;
334 val* var1 /* : AExprs */;
335 val* var2 /* : ANodes[AClosureDef] */;
336 val* var3 /* : Iterator[nullable Object] */;
337 short int var4 /* : Bool */;
338 val* var5 /* : nullable Object */;
339 val* var_n /* var n: AClosureDef */;
340 var_v = p0;
341 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
342 if (var == NULL) {
343 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8151);
344 exit(1);
345 }
346 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
347 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
348 if (var1 == NULL) {
349 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8152);
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__ASendExpr___n_closure_defs].val; /* _n_closure_defs on <self:ABraExpr> */
354 if (var2 == NULL) {
355 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8153);
356 exit(1);
357 }
358 var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on <var2:ANodes[AClosureDef]>*/;
359 for(;;) {
360 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
361 if(!var4) break;
362 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
363 var_n = var5;
364 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
365 CONTINUE_label: (void)0;
366 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
367 }
368 BREAK_label: (void)0;
369 RET_LABEL:;
370 }
371 /* method parser_prod#ABraExpr#visit_all for (self: Object, Visitor) */
372 void VIRTUAL_parser_prod__ABraExpr__visit_all(val* self, val* p0) {
373 parser_prod__ABraExpr__visit_all(self, p0);
374 RET_LABEL:;
375 }
376 /* method parser_prod#ABraAssignExpr#empty_init for (self: ABraAssignExpr) */
377 void parser_prod__ABraAssignExpr__empty_init(val* self) {
378 RET_LABEL:;
379 }
380 /* method parser_prod#ABraAssignExpr#empty_init for (self: Object) */
381 void VIRTUAL_parser_prod__ABraAssignExpr__empty_init(val* self) {
382 parser_prod__ABraAssignExpr__empty_init(self);
383 RET_LABEL:;
384 }
385 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
386 void parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
387 val* var_n_expr /* var n_expr: nullable AExpr */;
388 val* var_n_args /* var n_args: nullable AExprs */;
389 val* var_n_assign /* var n_assign: nullable TAssign */;
390 val* var_n_value /* var n_value: nullable AExpr */;
391 var_n_expr = p0;
392 var_n_args = p1;
393 var_n_assign = p2;
394 var_n_value = p3;
395 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraAssignExpr__empty_init]))(self) /* empty_init on <self:ABraAssignExpr>*/;
396 if (var_n_expr == NULL) {
397 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8169);
398 exit(1);
399 }
400 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraAssignExpr> */
401 if (var_n_expr == NULL) {
402 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8170);
403 exit(1);
404 } else {
405 ((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>*/;
406 }
407 if (var_n_args == NULL) {
408 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8171);
409 exit(1);
410 }
411 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraAssignExpr> */
412 if (var_n_args == NULL) {
413 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8172);
414 exit(1);
415 } else {
416 ((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>*/;
417 }
418 if (var_n_assign == NULL) {
419 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8173);
420 exit(1);
421 }
422 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ABraAssignExpr> */
423 if (var_n_assign == NULL) {
424 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8174);
425 exit(1);
426 } else {
427 ((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>*/;
428 }
429 if (var_n_value == NULL) {
430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8175);
431 exit(1);
432 }
433 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraAssignExpr> */
434 if (var_n_value == NULL) {
435 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8176);
436 exit(1);
437 } else {
438 ((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>*/;
439 }
440 RET_LABEL:;
441 }
442 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
443 void VIRTUAL_parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
444 parser_prod__ABraAssignExpr__init_abraassignexpr(self, p0, p1, p2, p3);
445 RET_LABEL:;
446 }
447 /* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */
448 void parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
449 val* var_old_child /* var old_child: ANode */;
450 val* var_new_child /* var new_child: nullable ANode */;
451 val* var /* : AExpr */;
452 short int var1 /* : Bool */;
453 val* var2 /* : null */;
454 short int var3 /* : Bool */;
455 short int var4 /* : Bool */;
456 int cltype;
457 int idtype;
458 val* var5 /* : AExprs */;
459 short int var6 /* : Bool */;
460 val* var7 /* : null */;
461 short int var8 /* : Bool */;
462 short int var9 /* : Bool */;
463 int cltype10;
464 int idtype11;
465 val* var12 /* : TAssign */;
466 short int var13 /* : Bool */;
467 val* var14 /* : null */;
468 short int var15 /* : Bool */;
469 short int var16 /* : Bool */;
470 int cltype17;
471 int idtype18;
472 val* var19 /* : AExpr */;
473 short int var20 /* : Bool */;
474 val* var21 /* : null */;
475 short int var22 /* : Bool */;
476 short int var23 /* : Bool */;
477 int cltype24;
478 int idtype25;
479 var_old_child = p0;
480 var_new_child = p1;
481 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
482 if (var == NULL) {
483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8181);
484 exit(1);
485 }
486 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
487 if (var1){
488 var2 = NULL;
489 if (var_new_child == NULL) {
490 var3 = 0; /* is null */
491 } else {
492 var3 = 1; /* arg is null and recv is not */
493 }
494 if (var3){
495 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
496 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
497 cltype = type_parser_nodes__AExpr.color;
498 idtype = type_parser_nodes__AExpr.id;
499 if(cltype >= var_new_child->type->table_size) {
500 var4 = 0;
501 } else {
502 var4 = var_new_child->type->type_table[cltype] == idtype;
503 }
504 if (!var4) {
505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8184);
506 exit(1);
507 }
508 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraAssignExpr> */
509 } else {
510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8187);
511 exit(1);
512 }
513 goto RET_LABEL;
514 } else {
515 }
516 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
517 if (var5 == NULL) {
518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8191);
519 exit(1);
520 }
521 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
522 if (var6){
523 var7 = NULL;
524 if (var_new_child == NULL) {
525 var8 = 0; /* is null */
526 } else {
527 var8 = 1; /* arg is null and recv is not */
528 }
529 if (var8){
530 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
531 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
532 cltype10 = type_parser_nodes__AExprs.color;
533 idtype11 = type_parser_nodes__AExprs.id;
534 if(cltype10 >= var_new_child->type->table_size) {
535 var9 = 0;
536 } else {
537 var9 = var_new_child->type->type_table[cltype10] == idtype11;
538 }
539 if (!var9) {
540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8194);
541 exit(1);
542 }
543 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraAssignExpr> */
544 } else {
545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8197);
546 exit(1);
547 }
548 goto RET_LABEL;
549 } else {
550 }
551 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
552 if (var12 == NULL) {
553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8201);
554 exit(1);
555 }
556 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
557 if (var13){
558 var14 = NULL;
559 if (var_new_child == NULL) {
560 var15 = 0; /* is null */
561 } else {
562 var15 = 1; /* arg is null and recv is not */
563 }
564 if (var15){
565 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
566 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
567 cltype17 = type_parser_nodes__TAssign.color;
568 idtype18 = type_parser_nodes__TAssign.id;
569 if(cltype17 >= var_new_child->type->table_size) {
570 var16 = 0;
571 } else {
572 var16 = var_new_child->type->type_table[cltype17] == idtype18;
573 }
574 if (!var16) {
575 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8204);
576 exit(1);
577 }
578 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ABraAssignExpr> */
579 } else {
580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8207);
581 exit(1);
582 }
583 goto RET_LABEL;
584 } else {
585 }
586 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
587 if (var19 == NULL) {
588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8211);
589 exit(1);
590 }
591 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
592 if (var20){
593 var21 = NULL;
594 if (var_new_child == NULL) {
595 var22 = 0; /* is null */
596 } else {
597 var22 = 1; /* arg is null and recv is not */
598 }
599 if (var22){
600 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
601 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
602 cltype24 = type_parser_nodes__AExpr.color;
603 idtype25 = type_parser_nodes__AExpr.id;
604 if(cltype24 >= var_new_child->type->table_size) {
605 var23 = 0;
606 } else {
607 var23 = var_new_child->type->type_table[cltype24] == idtype25;
608 }
609 if (!var23) {
610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8214);
611 exit(1);
612 }
613 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraAssignExpr> */
614 } else {
615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8217);
616 exit(1);
617 }
618 goto RET_LABEL;
619 } else {
620 }
621 RET_LABEL:;
622 }
623 /* method parser_prod#ABraAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
624 void VIRTUAL_parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) {
625 parser_prod__ABraAssignExpr__replace_child(self, p0, p1);
626 RET_LABEL:;
627 }
628 /* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */
629 void parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
630 val* var_node /* var node: AExpr */;
631 var_node = p0;
632 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraAssignExpr> */
633 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
634 RET_LABEL:;
635 }
636 /* method parser_prod#ABraAssignExpr#n_expr= for (self: Object, AExpr) */
637 void VIRTUAL_parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) {
638 parser_prod__ABraAssignExpr__n_expr_61d(self, p0);
639 RET_LABEL:;
640 }
641 /* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */
642 void parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
643 val* var_node /* var node: AExprs */;
644 var_node = p0;
645 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraAssignExpr> */
646 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
647 RET_LABEL:;
648 }
649 /* method parser_prod#ABraAssignExpr#n_args= for (self: Object, AExprs) */
650 void VIRTUAL_parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) {
651 parser_prod__ABraAssignExpr__n_args_61d(self, p0);
652 RET_LABEL:;
653 }
654 /* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */
655 void parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
656 val* var_node /* var node: TAssign */;
657 var_node = p0;
658 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ABraAssignExpr> */
659 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
660 RET_LABEL:;
661 }
662 /* method parser_prod#ABraAssignExpr#n_assign= for (self: Object, TAssign) */
663 void VIRTUAL_parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) {
664 parser_prod__ABraAssignExpr__n_assign_61d(self, p0);
665 RET_LABEL:;
666 }
667 /* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */
668 void parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
669 val* var_node /* var node: AExpr */;
670 var_node = p0;
671 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraAssignExpr> */
672 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
673 RET_LABEL:;
674 }
675 /* method parser_prod#ABraAssignExpr#n_value= for (self: Object, AExpr) */
676 void VIRTUAL_parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) {
677 parser_prod__ABraAssignExpr__n_value_61d(self, p0);
678 RET_LABEL:;
679 }
680 /* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */
681 void parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
682 val* var_v /* var v: Visitor */;
683 val* var /* : AExpr */;
684 val* var1 /* : AExprs */;
685 val* var2 /* : TAssign */;
686 val* var3 /* : AExpr */;
687 var_v = p0;
688 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
689 if (var == NULL) {
690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8247);
691 exit(1);
692 }
693 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
694 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
695 if (var1 == NULL) {
696 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8248);
697 exit(1);
698 }
699 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
700 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
701 if (var2 == NULL) {
702 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8249);
703 exit(1);
704 }
705 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
706 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
707 if (var3 == NULL) {
708 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8250);
709 exit(1);
710 }
711 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
712 RET_LABEL:;
713 }
714 /* method parser_prod#ABraAssignExpr#visit_all for (self: Object, Visitor) */
715 void VIRTUAL_parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) {
716 parser_prod__ABraAssignExpr__visit_all(self, p0);
717 RET_LABEL:;
718 }
719 /* method parser_prod#ABraReassignExpr#empty_init for (self: ABraReassignExpr) */
720 void parser_prod__ABraReassignExpr__empty_init(val* self) {
721 RET_LABEL:;
722 }
723 /* method parser_prod#ABraReassignExpr#empty_init for (self: Object) */
724 void VIRTUAL_parser_prod__ABraReassignExpr__empty_init(val* self) {
725 parser_prod__ABraReassignExpr__empty_init(self);
726 RET_LABEL:;
727 }
728 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
729 void parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
730 val* var_n_expr /* var n_expr: nullable AExpr */;
731 val* var_n_args /* var n_args: nullable AExprs */;
732 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
733 val* var_n_value /* var n_value: nullable AExpr */;
734 var_n_expr = p0;
735 var_n_args = p1;
736 var_n_assign_op = p2;
737 var_n_value = p3;
738 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraReassignExpr__empty_init]))(self) /* empty_init on <self:ABraReassignExpr>*/;
739 if (var_n_expr == NULL) {
740 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8264);
741 exit(1);
742 }
743 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraReassignExpr> */
744 if (var_n_expr == NULL) {
745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8265);
746 exit(1);
747 } else {
748 ((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>*/;
749 }
750 if (var_n_args == NULL) {
751 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8266);
752 exit(1);
753 }
754 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraReassignExpr> */
755 if (var_n_args == NULL) {
756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8267);
757 exit(1);
758 } else {
759 ((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>*/;
760 }
761 if (var_n_assign_op == NULL) {
762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8268);
763 exit(1);
764 }
765 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ABraReassignExpr> */
766 if (var_n_assign_op == NULL) {
767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8269);
768 exit(1);
769 } else {
770 ((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>*/;
771 }
772 if (var_n_value == NULL) {
773 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8270);
774 exit(1);
775 }
776 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraReassignExpr> */
777 if (var_n_value == NULL) {
778 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8271);
779 exit(1);
780 } else {
781 ((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>*/;
782 }
783 RET_LABEL:;
784 }
785 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
786 void VIRTUAL_parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
787 parser_prod__ABraReassignExpr__init_abrareassignexpr(self, p0, p1, p2, p3);
788 RET_LABEL:;
789 }
790 /* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */
791 void parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
792 val* var_old_child /* var old_child: ANode */;
793 val* var_new_child /* var new_child: nullable ANode */;
794 val* var /* : AExpr */;
795 short int var1 /* : Bool */;
796 val* var2 /* : null */;
797 short int var3 /* : Bool */;
798 short int var4 /* : Bool */;
799 int cltype;
800 int idtype;
801 val* var5 /* : AExprs */;
802 short int var6 /* : Bool */;
803 val* var7 /* : null */;
804 short int var8 /* : Bool */;
805 short int var9 /* : Bool */;
806 int cltype10;
807 int idtype11;
808 val* var12 /* : AAssignOp */;
809 short int var13 /* : Bool */;
810 val* var14 /* : null */;
811 short int var15 /* : Bool */;
812 short int var16 /* : Bool */;
813 int cltype17;
814 int idtype18;
815 val* var19 /* : AExpr */;
816 short int var20 /* : Bool */;
817 val* var21 /* : null */;
818 short int var22 /* : Bool */;
819 short int var23 /* : Bool */;
820 int cltype24;
821 int idtype25;
822 var_old_child = p0;
823 var_new_child = p1;
824 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
825 if (var == NULL) {
826 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8276);
827 exit(1);
828 }
829 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
830 if (var1){
831 var2 = NULL;
832 if (var_new_child == NULL) {
833 var3 = 0; /* is null */
834 } else {
835 var3 = 1; /* arg is null and recv is not */
836 }
837 if (var3){
838 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
839 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
840 cltype = type_parser_nodes__AExpr.color;
841 idtype = type_parser_nodes__AExpr.id;
842 if(cltype >= var_new_child->type->table_size) {
843 var4 = 0;
844 } else {
845 var4 = var_new_child->type->type_table[cltype] == idtype;
846 }
847 if (!var4) {
848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8279);
849 exit(1);
850 }
851 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABraReassignExpr> */
852 } else {
853 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8282);
854 exit(1);
855 }
856 goto RET_LABEL;
857 } else {
858 }
859 var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
860 if (var5 == NULL) {
861 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8286);
862 exit(1);
863 }
864 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
865 if (var6){
866 var7 = NULL;
867 if (var_new_child == NULL) {
868 var8 = 0; /* is null */
869 } else {
870 var8 = 1; /* arg is null and recv is not */
871 }
872 if (var8){
873 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
874 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
875 cltype10 = type_parser_nodes__AExprs.color;
876 idtype11 = type_parser_nodes__AExprs.id;
877 if(cltype10 >= var_new_child->type->table_size) {
878 var9 = 0;
879 } else {
880 var9 = var_new_child->type->type_table[cltype10] == idtype11;
881 }
882 if (!var9) {
883 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8289);
884 exit(1);
885 }
886 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on <self:ABraReassignExpr> */
887 } else {
888 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8292);
889 exit(1);
890 }
891 goto RET_LABEL;
892 } else {
893 }
894 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
895 if (var12 == NULL) {
896 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8296);
897 exit(1);
898 }
899 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
900 if (var13){
901 var14 = NULL;
902 if (var_new_child == NULL) {
903 var15 = 0; /* is null */
904 } else {
905 var15 = 1; /* arg is null and recv is not */
906 }
907 if (var15){
908 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
909 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
910 cltype17 = type_parser_nodes__AAssignOp.color;
911 idtype18 = type_parser_nodes__AAssignOp.id;
912 if(cltype17 >= var_new_child->type->table_size) {
913 var16 = 0;
914 } else {
915 var16 = var_new_child->type->type_table[cltype17] == idtype18;
916 }
917 if (!var16) {
918 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8299);
919 exit(1);
920 }
921 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ABraReassignExpr> */
922 } else {
923 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8302);
924 exit(1);
925 }
926 goto RET_LABEL;
927 } else {
928 }
929 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
930 if (var19 == NULL) {
931 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8306);
932 exit(1);
933 }
934 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
935 if (var20){
936 var21 = NULL;
937 if (var_new_child == NULL) {
938 var22 = 0; /* is null */
939 } else {
940 var22 = 1; /* arg is null and recv is not */
941 }
942 if (var22){
943 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
944 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
945 cltype24 = type_parser_nodes__AExpr.color;
946 idtype25 = type_parser_nodes__AExpr.id;
947 if(cltype24 >= var_new_child->type->table_size) {
948 var23 = 0;
949 } else {
950 var23 = var_new_child->type->type_table[cltype24] == idtype25;
951 }
952 if (!var23) {
953 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8309);
954 exit(1);
955 }
956 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ABraReassignExpr> */
957 } else {
958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8312);
959 exit(1);
960 }
961 goto RET_LABEL;
962 } else {
963 }
964 RET_LABEL:;
965 }
966 /* method parser_prod#ABraReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
967 void VIRTUAL_parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) {
968 parser_prod__ABraReassignExpr__replace_child(self, p0, p1);
969 RET_LABEL:;
970 }
971 /* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */
972 void parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
973 val* var_node /* var node: AExpr */;
974 var_node = p0;
975 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraReassignExpr> */
976 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
977 RET_LABEL:;
978 }
979 /* method parser_prod#ABraReassignExpr#n_expr= for (self: Object, AExpr) */
980 void VIRTUAL_parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) {
981 parser_prod__ABraReassignExpr__n_expr_61d(self, p0);
982 RET_LABEL:;
983 }
984 /* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */
985 void parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
986 val* var_node /* var node: AExprs */;
987 var_node = p0;
988 self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraReassignExpr> */
989 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
990 RET_LABEL:;
991 }
992 /* method parser_prod#ABraReassignExpr#n_args= for (self: Object, AExprs) */
993 void VIRTUAL_parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) {
994 parser_prod__ABraReassignExpr__n_args_61d(self, p0);
995 RET_LABEL:;
996 }
997 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */
998 void parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
999 val* var_node /* var node: AAssignOp */;
1000 var_node = p0;
1001 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ABraReassignExpr> */
1002 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
1003 RET_LABEL:;
1004 }
1005 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
1006 void VIRTUAL_parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) {
1007 parser_prod__ABraReassignExpr__n_assign_op_61d(self, p0);
1008 RET_LABEL:;
1009 }
1010 /* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */
1011 void parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1012 val* var_node /* var node: AExpr */;
1013 var_node = p0;
1014 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraReassignExpr> */
1015 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1016 RET_LABEL:;
1017 }
1018 /* method parser_prod#ABraReassignExpr#n_value= for (self: Object, AExpr) */
1019 void VIRTUAL_parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) {
1020 parser_prod__ABraReassignExpr__n_value_61d(self, p0);
1021 RET_LABEL:;
1022 }
1023 /* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */
1024 void parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1025 val* var_v /* var v: Visitor */;
1026 val* var /* : AExpr */;
1027 val* var1 /* : AExprs */;
1028 val* var2 /* : AAssignOp */;
1029 val* var3 /* : AExpr */;
1030 var_v = p0;
1031 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
1032 if (var == NULL) {
1033 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8342);
1034 exit(1);
1035 }
1036 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1037 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
1038 if (var1 == NULL) {
1039 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8343);
1040 exit(1);
1041 }
1042 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1043 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
1044 if (var2 == NULL) {
1045 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8344);
1046 exit(1);
1047 }
1048 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1049 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
1050 if (var3 == NULL) {
1051 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8345);
1052 exit(1);
1053 }
1054 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
1055 RET_LABEL:;
1056 }
1057 /* method parser_prod#ABraReassignExpr#visit_all for (self: Object, Visitor) */
1058 void VIRTUAL_parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) {
1059 parser_prod__ABraReassignExpr__visit_all(self, p0);
1060 RET_LABEL:;
1061 }
1062 /* method parser_prod#AClosureCallExpr#empty_init for (self: AClosureCallExpr) */
1063 void parser_prod__AClosureCallExpr__empty_init(val* self) {
1064 RET_LABEL:;
1065 }
1066 /* method parser_prod#AClosureCallExpr#empty_init for (self: Object) */
1067 void VIRTUAL_parser_prod__AClosureCallExpr__empty_init(val* self) {
1068 parser_prod__AClosureCallExpr__empty_init(self);
1069 RET_LABEL:;
1070 }
1071 /* method parser_prod#AClosureCallExpr#init_aclosurecallexpr for (self: AClosureCallExpr, nullable TId, nullable AExprs, Collection[Object]) */
1072 void parser_prod__AClosureCallExpr__init_aclosurecallexpr(val* self, val* p0, val* p1, val* p2) {
1073 val* var_n_id /* var n_id: nullable TId */;
1074 val* var_n_args /* var n_args: nullable AExprs */;
1075 val* var_n_closure_defs /* var n_closure_defs: Collection[Object] */;
1076 val* var /* : Iterator[nullable Object] */;
1077 short int var1 /* : Bool */;
1078 val* var2 /* : nullable Object */;
1079 val* var_n /* var n: Object */;
1080 short int var3 /* : Bool */;
1081 int cltype;
1082 int idtype;
1083 val* var4 /* : ANodes[AClosureDef] */;
1084 var_n_id = p0;
1085 var_n_args = p1;
1086 var_n_closure_defs = p2;
1087 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AClosureCallExpr__empty_init]))(self) /* empty_init on <self:AClosureCallExpr>*/;
1088 if (var_n_id == NULL) {
1089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8358);
1090 exit(1);
1091 }
1092 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_n_id; /* _n_id on <self:AClosureCallExpr> */
1093 if (var_n_id == NULL) {
1094 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8359);
1095 exit(1);
1096 } else {
1097 ((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>*/;
1098 }
1099 if (var_n_args == NULL) {
1100 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8360);
1101 exit(1);
1102 }
1103 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_n_args; /* _n_args on <self:AClosureCallExpr> */
1104 if (var_n_args == NULL) {
1105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8361);
1106 exit(1);
1107 } else {
1108 ((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>*/;
1109 }
1110 var = ((val* (*)(val*))(var_n_closure_defs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_closure_defs) /* iterator on <var_n_closure_defs:Collection[Object]>*/;
1111 for(;;) {
1112 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
1113 if(!var1) break;
1114 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
1115 var_n = var2;
1116 /* <var_n:Object> isa AClosureDef */
1117 cltype = type_parser_nodes__AClosureDef.color;
1118 idtype = type_parser_nodes__AClosureDef.id;
1119 if(cltype >= var_n->type->table_size) {
1120 var3 = 0;
1121 } else {
1122 var3 = var_n->type->type_table[cltype] == idtype;
1123 }
1124 if (!var3) {
1125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8363);
1126 exit(1);
1127 }
1128 var4 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1129 if (var4 == NULL) {
1130 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8364);
1131 exit(1);
1132 }
1133 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AClosureDef]>*/;
1134 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AClosureDef)>*/;
1135 CONTINUE_label: (void)0;
1136 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
1137 }
1138 BREAK_label: (void)0;
1139 RET_LABEL:;
1140 }
1141 /* method parser_prod#AClosureCallExpr#init_aclosurecallexpr for (self: Object, nullable TId, nullable AExprs, Collection[Object]) */
1142 void VIRTUAL_parser_prod__AClosureCallExpr__init_aclosurecallexpr(val* self, val* p0, val* p1, val* p2) {
1143 parser_prod__AClosureCallExpr__init_aclosurecallexpr(self, p0, p1, p2);
1144 RET_LABEL:;
1145 }
1146 /* method parser_prod#AClosureCallExpr#replace_child for (self: AClosureCallExpr, ANode, nullable ANode) */
1147 void parser_prod__AClosureCallExpr__replace_child(val* self, val* p0, val* p1) {
1148 val* var_old_child /* var old_child: ANode */;
1149 val* var_new_child /* var new_child: nullable ANode */;
1150 val* var /* : TId */;
1151 short int var1 /* : Bool */;
1152 val* var2 /* : null */;
1153 short int var3 /* : Bool */;
1154 short int var4 /* : Bool */;
1155 int cltype;
1156 int idtype;
1157 val* var5 /* : AExprs */;
1158 short int var6 /* : Bool */;
1159 val* var7 /* : null */;
1160 short int var8 /* : Bool */;
1161 short int var9 /* : Bool */;
1162 int cltype10;
1163 int idtype11;
1164 val* var12 /* : Range[Int] */;
1165 long var13 /* : Int */;
1166 val* var14 /* : ANodes[AClosureDef] */;
1167 long var15 /* : Int */;
1168 val* var16 /* : Discrete */;
1169 val* var17 /* : Discrete */;
1170 val* var18 /* : Iterator[nullable Object] */;
1171 short int var19 /* : Bool */;
1172 val* var20 /* : nullable Object */;
1173 long var_i /* var i: Int */;
1174 long var21 /* : Int */;
1175 val* var22 /* : ANodes[AClosureDef] */;
1176 val* var23 /* : nullable Object */;
1177 short int var24 /* : Bool */;
1178 val* var25 /* : null */;
1179 short int var26 /* : Bool */;
1180 short int var27 /* : Bool */;
1181 int cltype28;
1182 int idtype29;
1183 val* var30 /* : ANodes[AClosureDef] */;
1184 val* var31 /* : ANodes[AClosureDef] */;
1185 var_old_child = p0;
1186 var_new_child = p1;
1187 var = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val; /* _n_id on <self:AClosureCallExpr> */
1188 if (var == NULL) {
1189 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8371);
1190 exit(1);
1191 }
1192 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1193 if (var1){
1194 var2 = NULL;
1195 if (var_new_child == NULL) {
1196 var3 = 0; /* is null */
1197 } else {
1198 var3 = 1; /* arg is null and recv is not */
1199 }
1200 if (var3){
1201 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1202 /* <var_new_child:nullable ANode(ANode)> isa TId */
1203 cltype = type_parser_nodes__TId.color;
1204 idtype = type_parser_nodes__TId.id;
1205 if(cltype >= var_new_child->type->table_size) {
1206 var4 = 0;
1207 } else {
1208 var4 = var_new_child->type->type_table[cltype] == idtype;
1209 }
1210 if (!var4) {
1211 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8374);
1212 exit(1);
1213 }
1214 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_new_child; /* _n_id on <self:AClosureCallExpr> */
1215 } else {
1216 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8377);
1217 exit(1);
1218 }
1219 goto RET_LABEL;
1220 } else {
1221 }
1222 var5 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val; /* _n_args on <self:AClosureCallExpr> */
1223 if (var5 == NULL) {
1224 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8381);
1225 exit(1);
1226 }
1227 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExprs>*/;
1228 if (var6){
1229 var7 = NULL;
1230 if (var_new_child == NULL) {
1231 var8 = 0; /* is null */
1232 } else {
1233 var8 = 1; /* arg is null and recv is not */
1234 }
1235 if (var8){
1236 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1237 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
1238 cltype10 = type_parser_nodes__AExprs.color;
1239 idtype11 = type_parser_nodes__AExprs.id;
1240 if(cltype10 >= var_new_child->type->table_size) {
1241 var9 = 0;
1242 } else {
1243 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1244 }
1245 if (!var9) {
1246 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8384);
1247 exit(1);
1248 }
1249 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_new_child; /* _n_args on <self:AClosureCallExpr> */
1250 } else {
1251 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8387);
1252 exit(1);
1253 }
1254 goto RET_LABEL;
1255 } else {
1256 }
1257 var12 = NEW_range__Range(&type_range__Rangekernel__Int);
1258 var13 = 0;
1259 var14 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1260 if (var14 == NULL) {
1261 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8391);
1262 exit(1);
1263 }
1264 var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on <var14:ANodes[AClosureDef]>*/;
1265 var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */
1266 var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */
1267 ((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on <var12:Range[Int]>*/;
1268 CHECK_NEW_range__Range(var12);
1269 var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on <var12:Range[Int]>*/;
1270 for(;;) {
1271 var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on <var18:Iterator[nullable Object]>*/;
1272 if(!var19) break;
1273 var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on <var18:Iterator[nullable Object]>*/;
1274 var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */;
1275 var_i = var21;
1276 var22 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1277 if (var22 == NULL) {
1278 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8392);
1279 exit(1);
1280 }
1281 var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on <var22:ANodes[AClosureDef]>*/;
1282 var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on <var23:nullable Object(AClosureDef)>*/;
1283 if (var24){
1284 var25 = NULL;
1285 if (var_new_child == NULL) {
1286 var26 = 0; /* is null */
1287 } else {
1288 var26 = 1; /* arg is null and recv is not */
1289 }
1290 if (var26){
1291 /* <var_new_child:nullable ANode(ANode)> isa AClosureDef */
1292 cltype28 = type_parser_nodes__AClosureDef.color;
1293 idtype29 = type_parser_nodes__AClosureDef.id;
1294 if(cltype28 >= var_new_child->type->table_size) {
1295 var27 = 0;
1296 } else {
1297 var27 = var_new_child->type->type_table[cltype28] == idtype29;
1298 }
1299 if (!var27) {
1300 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8394);
1301 exit(1);
1302 }
1303 var30 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1304 if (var30 == NULL) {
1305 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8395);
1306 exit(1);
1307 }
1308 ((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on <var30:ANodes[AClosureDef]>*/;
1309 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AClosureDef)>*/;
1310 } else {
1311 var31 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1312 if (var31 == NULL) {
1313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8398);
1314 exit(1);
1315 }
1316 ((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on <var31:ANodes[AClosureDef]>*/;
1317 }
1318 goto RET_LABEL;
1319 } else {
1320 }
1321 CONTINUE_label: (void)0;
1322 ((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on <var18:Iterator[nullable Object]>*/;
1323 }
1324 BREAK_label: (void)0;
1325 RET_LABEL:;
1326 }
1327 /* method parser_prod#AClosureCallExpr#replace_child for (self: Object, ANode, nullable ANode) */
1328 void VIRTUAL_parser_prod__AClosureCallExpr__replace_child(val* self, val* p0, val* p1) {
1329 parser_prod__AClosureCallExpr__replace_child(self, p0, p1);
1330 RET_LABEL:;
1331 }
1332 /* method parser_prod#AClosureCallExpr#n_id= for (self: AClosureCallExpr, TId) */
1333 void parser_prod__AClosureCallExpr__n_id_61d(val* self, val* p0) {
1334 val* var_node /* var node: TId */;
1335 var_node = p0;
1336 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_node; /* _n_id on <self:AClosureCallExpr> */
1337 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1338 RET_LABEL:;
1339 }
1340 /* method parser_prod#AClosureCallExpr#n_id= for (self: Object, TId) */
1341 void VIRTUAL_parser_prod__AClosureCallExpr__n_id_61d(val* self, val* p0) {
1342 parser_prod__AClosureCallExpr__n_id_61d(self, p0);
1343 RET_LABEL:;
1344 }
1345 /* method parser_prod#AClosureCallExpr#n_args= for (self: AClosureCallExpr, AExprs) */
1346 void parser_prod__AClosureCallExpr__n_args_61d(val* self, val* p0) {
1347 val* var_node /* var node: AExprs */;
1348 var_node = p0;
1349 self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_node; /* _n_args on <self:AClosureCallExpr> */
1350 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
1351 RET_LABEL:;
1352 }
1353 /* method parser_prod#AClosureCallExpr#n_args= for (self: Object, AExprs) */
1354 void VIRTUAL_parser_prod__AClosureCallExpr__n_args_61d(val* self, val* p0) {
1355 parser_prod__AClosureCallExpr__n_args_61d(self, p0);
1356 RET_LABEL:;
1357 }
1358 /* method parser_prod#AClosureCallExpr#visit_all for (self: AClosureCallExpr, Visitor) */
1359 void parser_prod__AClosureCallExpr__visit_all(val* self, val* p0) {
1360 val* var_v /* var v: Visitor */;
1361 val* var /* : TId */;
1362 val* var1 /* : AExprs */;
1363 val* var2 /* : ANodes[AClosureDef] */;
1364 val* var3 /* : Iterator[nullable Object] */;
1365 short int var4 /* : Bool */;
1366 val* var5 /* : nullable Object */;
1367 val* var_n /* var n: AClosureDef */;
1368 var_v = p0;
1369 var = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val; /* _n_id on <self:AClosureCallExpr> */
1370 if (var == NULL) {
1371 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8419);
1372 exit(1);
1373 }
1374 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1375 var1 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val; /* _n_args on <self:AClosureCallExpr> */
1376 if (var1 == NULL) {
1377 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8420);
1378 exit(1);
1379 }
1380 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1381 var2 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on <self:AClosureCallExpr> */
1382 if (var2 == NULL) {
1383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8421);
1384 exit(1);
1385 }
1386 var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on <var2:ANodes[AClosureDef]>*/;
1387 for(;;) {
1388 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
1389 if(!var4) break;
1390 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
1391 var_n = var5;
1392 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
1393 CONTINUE_label: (void)0;
1394 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
1395 }
1396 BREAK_label: (void)0;
1397 RET_LABEL:;
1398 }
1399 /* method parser_prod#AClosureCallExpr#visit_all for (self: Object, Visitor) */
1400 void VIRTUAL_parser_prod__AClosureCallExpr__visit_all(val* self, val* p0) {
1401 parser_prod__AClosureCallExpr__visit_all(self, p0);
1402 RET_LABEL:;
1403 }
1404 /* method parser_prod#AVarExpr#empty_init for (self: AVarExpr) */
1405 void parser_prod__AVarExpr__empty_init(val* self) {
1406 RET_LABEL:;
1407 }
1408 /* method parser_prod#AVarExpr#empty_init for (self: Object) */
1409 void VIRTUAL_parser_prod__AVarExpr__empty_init(val* self) {
1410 parser_prod__AVarExpr__empty_init(self);
1411 RET_LABEL:;
1412 }
1413 /* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */
1414 void parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1415 val* var_n_id /* var n_id: nullable TId */;
1416 var_n_id = p0;
1417 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarExpr__empty_init]))(self) /* empty_init on <self:AVarExpr>*/;
1418 if (var_n_id == NULL) {
1419 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8434);
1420 exit(1);
1421 }
1422 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarExpr> */
1423 if (var_n_id == NULL) {
1424 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8435);
1425 exit(1);
1426 } else {
1427 ((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>*/;
1428 }
1429 RET_LABEL:;
1430 }
1431 /* method parser_prod#AVarExpr#init_avarexpr for (self: Object, nullable TId) */
1432 void VIRTUAL_parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) {
1433 parser_prod__AVarExpr__init_avarexpr(self, p0);
1434 RET_LABEL:;
1435 }
1436 /* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */
1437 void parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1438 val* var_old_child /* var old_child: ANode */;
1439 val* var_new_child /* var new_child: nullable ANode */;
1440 val* var /* : TId */;
1441 short int var1 /* : Bool */;
1442 val* var2 /* : null */;
1443 short int var3 /* : Bool */;
1444 short int var4 /* : Bool */;
1445 int cltype;
1446 int idtype;
1447 var_old_child = p0;
1448 var_new_child = p1;
1449 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1450 if (var == NULL) {
1451 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8440);
1452 exit(1);
1453 }
1454 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1455 if (var1){
1456 var2 = NULL;
1457 if (var_new_child == NULL) {
1458 var3 = 0; /* is null */
1459 } else {
1460 var3 = 1; /* arg is null and recv is not */
1461 }
1462 if (var3){
1463 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1464 /* <var_new_child:nullable ANode(ANode)> isa TId */
1465 cltype = type_parser_nodes__TId.color;
1466 idtype = type_parser_nodes__TId.id;
1467 if(cltype >= var_new_child->type->table_size) {
1468 var4 = 0;
1469 } else {
1470 var4 = var_new_child->type->type_table[cltype] == idtype;
1471 }
1472 if (!var4) {
1473 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8443);
1474 exit(1);
1475 }
1476 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarExpr> */
1477 } else {
1478 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8446);
1479 exit(1);
1480 }
1481 goto RET_LABEL;
1482 } else {
1483 }
1484 RET_LABEL:;
1485 }
1486 /* method parser_prod#AVarExpr#replace_child for (self: Object, ANode, nullable ANode) */
1487 void VIRTUAL_parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) {
1488 parser_prod__AVarExpr__replace_child(self, p0, p1);
1489 RET_LABEL:;
1490 }
1491 /* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */
1492 void parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1493 val* var_node /* var node: TId */;
1494 var_node = p0;
1495 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarExpr> */
1496 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1497 RET_LABEL:;
1498 }
1499 /* method parser_prod#AVarExpr#n_id= for (self: Object, TId) */
1500 void VIRTUAL_parser_prod__AVarExpr__n_id_61d(val* self, val* p0) {
1501 parser_prod__AVarExpr__n_id_61d(self, p0);
1502 RET_LABEL:;
1503 }
1504 /* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */
1505 void parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1506 val* var_v /* var v: Visitor */;
1507 val* var /* : TId */;
1508 var_v = p0;
1509 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
1510 if (var == NULL) {
1511 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8461);
1512 exit(1);
1513 }
1514 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1515 RET_LABEL:;
1516 }
1517 /* method parser_prod#AVarExpr#visit_all for (self: Object, Visitor) */
1518 void VIRTUAL_parser_prod__AVarExpr__visit_all(val* self, val* p0) {
1519 parser_prod__AVarExpr__visit_all(self, p0);
1520 RET_LABEL:;
1521 }
1522 /* method parser_prod#AVarAssignExpr#empty_init for (self: AVarAssignExpr) */
1523 void parser_prod__AVarAssignExpr__empty_init(val* self) {
1524 RET_LABEL:;
1525 }
1526 /* method parser_prod#AVarAssignExpr#empty_init for (self: Object) */
1527 void VIRTUAL_parser_prod__AVarAssignExpr__empty_init(val* self) {
1528 parser_prod__AVarAssignExpr__empty_init(self);
1529 RET_LABEL:;
1530 }
1531 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */
1532 void parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1533 val* var_n_id /* var n_id: nullable TId */;
1534 val* var_n_assign /* var n_assign: nullable TAssign */;
1535 val* var_n_value /* var n_value: nullable AExpr */;
1536 var_n_id = p0;
1537 var_n_assign = p1;
1538 var_n_value = p2;
1539 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarAssignExpr__empty_init]))(self) /* empty_init on <self:AVarAssignExpr>*/;
1540 if (var_n_id == NULL) {
1541 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8474);
1542 exit(1);
1543 }
1544 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarAssignExpr> */
1545 if (var_n_id == NULL) {
1546 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8475);
1547 exit(1);
1548 } else {
1549 ((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>*/;
1550 }
1551 if (var_n_assign == NULL) {
1552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8476);
1553 exit(1);
1554 }
1555 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AVarAssignExpr> */
1556 if (var_n_assign == NULL) {
1557 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8477);
1558 exit(1);
1559 } else {
1560 ((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>*/;
1561 }
1562 if (var_n_value == NULL) {
1563 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8478);
1564 exit(1);
1565 }
1566 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarAssignExpr> */
1567 if (var_n_value == NULL) {
1568 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8479);
1569 exit(1);
1570 } else {
1571 ((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>*/;
1572 }
1573 RET_LABEL:;
1574 }
1575 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: Object, nullable TId, nullable TAssign, nullable AExpr) */
1576 void VIRTUAL_parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
1577 parser_prod__AVarAssignExpr__init_avarassignexpr(self, p0, p1, p2);
1578 RET_LABEL:;
1579 }
1580 /* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */
1581 void parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1582 val* var_old_child /* var old_child: ANode */;
1583 val* var_new_child /* var new_child: nullable ANode */;
1584 val* var /* : TId */;
1585 short int var1 /* : Bool */;
1586 val* var2 /* : null */;
1587 short int var3 /* : Bool */;
1588 short int var4 /* : Bool */;
1589 int cltype;
1590 int idtype;
1591 val* var5 /* : TAssign */;
1592 short int var6 /* : Bool */;
1593 val* var7 /* : null */;
1594 short int var8 /* : Bool */;
1595 short int var9 /* : Bool */;
1596 int cltype10;
1597 int idtype11;
1598 val* var12 /* : AExpr */;
1599 short int var13 /* : Bool */;
1600 val* var14 /* : null */;
1601 short int var15 /* : Bool */;
1602 short int var16 /* : Bool */;
1603 int cltype17;
1604 int idtype18;
1605 var_old_child = p0;
1606 var_new_child = p1;
1607 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1608 if (var == NULL) {
1609 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8484);
1610 exit(1);
1611 }
1612 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1613 if (var1){
1614 var2 = NULL;
1615 if (var_new_child == NULL) {
1616 var3 = 0; /* is null */
1617 } else {
1618 var3 = 1; /* arg is null and recv is not */
1619 }
1620 if (var3){
1621 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1622 /* <var_new_child:nullable ANode(ANode)> isa TId */
1623 cltype = type_parser_nodes__TId.color;
1624 idtype = type_parser_nodes__TId.id;
1625 if(cltype >= var_new_child->type->table_size) {
1626 var4 = 0;
1627 } else {
1628 var4 = var_new_child->type->type_table[cltype] == idtype;
1629 }
1630 if (!var4) {
1631 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8487);
1632 exit(1);
1633 }
1634 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarAssignExpr> */
1635 } else {
1636 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8490);
1637 exit(1);
1638 }
1639 goto RET_LABEL;
1640 } else {
1641 }
1642 var5 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1643 if (var5 == NULL) {
1644 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8494);
1645 exit(1);
1646 }
1647 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAssign>*/;
1648 if (var6){
1649 var7 = NULL;
1650 if (var_new_child == NULL) {
1651 var8 = 0; /* is null */
1652 } else {
1653 var8 = 1; /* arg is null and recv is not */
1654 }
1655 if (var8){
1656 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1657 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
1658 cltype10 = type_parser_nodes__TAssign.color;
1659 idtype11 = type_parser_nodes__TAssign.id;
1660 if(cltype10 >= var_new_child->type->table_size) {
1661 var9 = 0;
1662 } else {
1663 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1664 }
1665 if (!var9) {
1666 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8497);
1667 exit(1);
1668 }
1669 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AVarAssignExpr> */
1670 } else {
1671 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8500);
1672 exit(1);
1673 }
1674 goto RET_LABEL;
1675 } else {
1676 }
1677 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1678 if (var12 == NULL) {
1679 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8504);
1680 exit(1);
1681 }
1682 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1683 if (var13){
1684 var14 = NULL;
1685 if (var_new_child == NULL) {
1686 var15 = 0; /* is null */
1687 } else {
1688 var15 = 1; /* arg is null and recv is not */
1689 }
1690 if (var15){
1691 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1692 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1693 cltype17 = type_parser_nodes__AExpr.color;
1694 idtype18 = type_parser_nodes__AExpr.id;
1695 if(cltype17 >= var_new_child->type->table_size) {
1696 var16 = 0;
1697 } else {
1698 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1699 }
1700 if (!var16) {
1701 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8507);
1702 exit(1);
1703 }
1704 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarAssignExpr> */
1705 } else {
1706 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8510);
1707 exit(1);
1708 }
1709 goto RET_LABEL;
1710 } else {
1711 }
1712 RET_LABEL:;
1713 }
1714 /* method parser_prod#AVarAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1715 void VIRTUAL_parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) {
1716 parser_prod__AVarAssignExpr__replace_child(self, p0, p1);
1717 RET_LABEL:;
1718 }
1719 /* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */
1720 void parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1721 val* var_node /* var node: TId */;
1722 var_node = p0;
1723 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarAssignExpr> */
1724 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1725 RET_LABEL:;
1726 }
1727 /* method parser_prod#AVarAssignExpr#n_id= for (self: Object, TId) */
1728 void VIRTUAL_parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) {
1729 parser_prod__AVarAssignExpr__n_id_61d(self, p0);
1730 RET_LABEL:;
1731 }
1732 /* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */
1733 void parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1734 val* var_node /* var node: TAssign */;
1735 var_node = p0;
1736 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AVarAssignExpr> */
1737 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
1738 RET_LABEL:;
1739 }
1740 /* method parser_prod#AVarAssignExpr#n_assign= for (self: Object, TAssign) */
1741 void VIRTUAL_parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) {
1742 parser_prod__AVarAssignExpr__n_assign_61d(self, p0);
1743 RET_LABEL:;
1744 }
1745 /* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */
1746 void parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1747 val* var_node /* var node: AExpr */;
1748 var_node = p0;
1749 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarAssignExpr> */
1750 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1751 RET_LABEL:;
1752 }
1753 /* method parser_prod#AVarAssignExpr#n_value= for (self: Object, AExpr) */
1754 void VIRTUAL_parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) {
1755 parser_prod__AVarAssignExpr__n_value_61d(self, p0);
1756 RET_LABEL:;
1757 }
1758 /* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */
1759 void parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1760 val* var_v /* var v: Visitor */;
1761 val* var /* : TId */;
1762 val* var1 /* : TAssign */;
1763 val* var2 /* : AExpr */;
1764 var_v = p0;
1765 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
1766 if (var == NULL) {
1767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8535);
1768 exit(1);
1769 }
1770 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1771 var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
1772 if (var1 == NULL) {
1773 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8536);
1774 exit(1);
1775 }
1776 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1777 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
1778 if (var2 == NULL) {
1779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8537);
1780 exit(1);
1781 }
1782 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1783 RET_LABEL:;
1784 }
1785 /* method parser_prod#AVarAssignExpr#visit_all for (self: Object, Visitor) */
1786 void VIRTUAL_parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) {
1787 parser_prod__AVarAssignExpr__visit_all(self, p0);
1788 RET_LABEL:;
1789 }
1790 /* method parser_prod#AVarReassignExpr#empty_init for (self: AVarReassignExpr) */
1791 void parser_prod__AVarReassignExpr__empty_init(val* self) {
1792 RET_LABEL:;
1793 }
1794 /* method parser_prod#AVarReassignExpr#empty_init for (self: Object) */
1795 void VIRTUAL_parser_prod__AVarReassignExpr__empty_init(val* self) {
1796 parser_prod__AVarReassignExpr__empty_init(self);
1797 RET_LABEL:;
1798 }
1799 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */
1800 void parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1801 val* var_n_id /* var n_id: nullable TId */;
1802 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
1803 val* var_n_value /* var n_value: nullable AExpr */;
1804 var_n_id = p0;
1805 var_n_assign_op = p1;
1806 var_n_value = p2;
1807 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarReassignExpr__empty_init]))(self) /* empty_init on <self:AVarReassignExpr>*/;
1808 if (var_n_id == NULL) {
1809 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8550);
1810 exit(1);
1811 }
1812 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarReassignExpr> */
1813 if (var_n_id == NULL) {
1814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8551);
1815 exit(1);
1816 } else {
1817 ((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>*/;
1818 }
1819 if (var_n_assign_op == NULL) {
1820 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8552);
1821 exit(1);
1822 }
1823 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AVarReassignExpr> */
1824 if (var_n_assign_op == NULL) {
1825 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8553);
1826 exit(1);
1827 } else {
1828 ((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>*/;
1829 }
1830 if (var_n_value == NULL) {
1831 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8554);
1832 exit(1);
1833 }
1834 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarReassignExpr> */
1835 if (var_n_value == NULL) {
1836 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8555);
1837 exit(1);
1838 } else {
1839 ((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>*/;
1840 }
1841 RET_LABEL:;
1842 }
1843 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: Object, nullable TId, nullable AAssignOp, nullable AExpr) */
1844 void VIRTUAL_parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
1845 parser_prod__AVarReassignExpr__init_avarreassignexpr(self, p0, p1, p2);
1846 RET_LABEL:;
1847 }
1848 /* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */
1849 void parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1850 val* var_old_child /* var old_child: ANode */;
1851 val* var_new_child /* var new_child: nullable ANode */;
1852 val* var /* : TId */;
1853 short int var1 /* : Bool */;
1854 val* var2 /* : null */;
1855 short int var3 /* : Bool */;
1856 short int var4 /* : Bool */;
1857 int cltype;
1858 int idtype;
1859 val* var5 /* : AAssignOp */;
1860 short int var6 /* : Bool */;
1861 val* var7 /* : null */;
1862 short int var8 /* : Bool */;
1863 short int var9 /* : Bool */;
1864 int cltype10;
1865 int idtype11;
1866 val* var12 /* : AExpr */;
1867 short int var13 /* : Bool */;
1868 val* var14 /* : null */;
1869 short int var15 /* : Bool */;
1870 short int var16 /* : Bool */;
1871 int cltype17;
1872 int idtype18;
1873 var_old_child = p0;
1874 var_new_child = p1;
1875 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
1876 if (var == NULL) {
1877 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8560);
1878 exit(1);
1879 }
1880 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
1881 if (var1){
1882 var2 = NULL;
1883 if (var_new_child == NULL) {
1884 var3 = 0; /* is null */
1885 } else {
1886 var3 = 1; /* arg is null and recv is not */
1887 }
1888 if (var3){
1889 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1890 /* <var_new_child:nullable ANode(ANode)> isa TId */
1891 cltype = type_parser_nodes__TId.color;
1892 idtype = type_parser_nodes__TId.id;
1893 if(cltype >= var_new_child->type->table_size) {
1894 var4 = 0;
1895 } else {
1896 var4 = var_new_child->type->type_table[cltype] == idtype;
1897 }
1898 if (!var4) {
1899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8563);
1900 exit(1);
1901 }
1902 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on <self:AVarReassignExpr> */
1903 } else {
1904 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8566);
1905 exit(1);
1906 }
1907 goto RET_LABEL;
1908 } else {
1909 }
1910 var5 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
1911 if (var5 == NULL) {
1912 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8570);
1913 exit(1);
1914 }
1915 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AAssignOp>*/;
1916 if (var6){
1917 var7 = NULL;
1918 if (var_new_child == NULL) {
1919 var8 = 0; /* is null */
1920 } else {
1921 var8 = 1; /* arg is null and recv is not */
1922 }
1923 if (var8){
1924 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1925 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
1926 cltype10 = type_parser_nodes__AAssignOp.color;
1927 idtype11 = type_parser_nodes__AAssignOp.id;
1928 if(cltype10 >= var_new_child->type->table_size) {
1929 var9 = 0;
1930 } else {
1931 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1932 }
1933 if (!var9) {
1934 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8573);
1935 exit(1);
1936 }
1937 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AVarReassignExpr> */
1938 } else {
1939 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8576);
1940 exit(1);
1941 }
1942 goto RET_LABEL;
1943 } else {
1944 }
1945 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
1946 if (var12 == NULL) {
1947 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8580);
1948 exit(1);
1949 }
1950 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
1951 if (var13){
1952 var14 = NULL;
1953 if (var_new_child == NULL) {
1954 var15 = 0; /* is null */
1955 } else {
1956 var15 = 1; /* arg is null and recv is not */
1957 }
1958 if (var15){
1959 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1960 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1961 cltype17 = type_parser_nodes__AExpr.color;
1962 idtype18 = type_parser_nodes__AExpr.id;
1963 if(cltype17 >= var_new_child->type->table_size) {
1964 var16 = 0;
1965 } else {
1966 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1967 }
1968 if (!var16) {
1969 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8583);
1970 exit(1);
1971 }
1972 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AVarReassignExpr> */
1973 } else {
1974 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8586);
1975 exit(1);
1976 }
1977 goto RET_LABEL;
1978 } else {
1979 }
1980 RET_LABEL:;
1981 }
1982 /* method parser_prod#AVarReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
1983 void VIRTUAL_parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) {
1984 parser_prod__AVarReassignExpr__replace_child(self, p0, p1);
1985 RET_LABEL:;
1986 }
1987 /* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */
1988 void parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1989 val* var_node /* var node: TId */;
1990 var_node = p0;
1991 self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarReassignExpr> */
1992 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
1993 RET_LABEL:;
1994 }
1995 /* method parser_prod#AVarReassignExpr#n_id= for (self: Object, TId) */
1996 void VIRTUAL_parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) {
1997 parser_prod__AVarReassignExpr__n_id_61d(self, p0);
1998 RET_LABEL:;
1999 }
2000 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */
2001 void parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
2002 val* var_node /* var node: AAssignOp */;
2003 var_node = p0;
2004 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AVarReassignExpr> */
2005 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
2006 RET_LABEL:;
2007 }
2008 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
2009 void VIRTUAL_parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) {
2010 parser_prod__AVarReassignExpr__n_assign_op_61d(self, p0);
2011 RET_LABEL:;
2012 }
2013 /* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */
2014 void parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
2015 val* var_node /* var node: AExpr */;
2016 var_node = p0;
2017 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarReassignExpr> */
2018 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2019 RET_LABEL:;
2020 }
2021 /* method parser_prod#AVarReassignExpr#n_value= for (self: Object, AExpr) */
2022 void VIRTUAL_parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) {
2023 parser_prod__AVarReassignExpr__n_value_61d(self, p0);
2024 RET_LABEL:;
2025 }
2026 /* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */
2027 void parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
2028 val* var_v /* var v: Visitor */;
2029 val* var /* : TId */;
2030 val* var1 /* : AAssignOp */;
2031 val* var2 /* : AExpr */;
2032 var_v = p0;
2033 var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
2034 if (var == NULL) {
2035 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8611);
2036 exit(1);
2037 }
2038 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2039 var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
2040 if (var1 == NULL) {
2041 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8612);
2042 exit(1);
2043 }
2044 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2045 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
2046 if (var2 == NULL) {
2047 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8613);
2048 exit(1);
2049 }
2050 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
2051 RET_LABEL:;
2052 }
2053 /* method parser_prod#AVarReassignExpr#visit_all for (self: Object, Visitor) */
2054 void VIRTUAL_parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) {
2055 parser_prod__AVarReassignExpr__visit_all(self, p0);
2056 RET_LABEL:;
2057 }
2058 /* method parser_prod#ARangeExpr#empty_init for (self: ARangeExpr) */
2059 void parser_prod__ARangeExpr__empty_init(val* self) {
2060 RET_LABEL:;
2061 }
2062 /* method parser_prod#ARangeExpr#empty_init for (self: Object) */
2063 void VIRTUAL_parser_prod__ARangeExpr__empty_init(val* self) {
2064 parser_prod__ARangeExpr__empty_init(self);
2065 RET_LABEL:;
2066 }
2067 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: ARangeExpr, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2068 void parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2069 val* var_n_expr /* var n_expr: nullable AExpr */;
2070 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2071 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2072 val* var /* : null */;
2073 short int var1 /* : Bool */;
2074 var_n_expr = p0;
2075 var_n_expr2 = p1;
2076 var_n_annotations = p2;
2077 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ARangeExpr__empty_init]))(self) /* empty_init on <self:ARangeExpr>*/;
2078 if (var_n_expr == NULL) {
2079 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8626);
2080 exit(1);
2081 }
2082 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ARangeExpr> */
2083 if (var_n_expr == NULL) {
2084 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8627);
2085 exit(1);
2086 } else {
2087 ((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>*/;
2088 }
2089 if (var_n_expr2 == NULL) {
2090 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8628);
2091 exit(1);
2092 }
2093 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ARangeExpr> */
2094 if (var_n_expr2 == NULL) {
2095 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8629);
2096 exit(1);
2097 } else {
2098 ((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>*/;
2099 }
2100 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ARangeExpr> */
2101 var = NULL;
2102 if (var_n_annotations == NULL) {
2103 var1 = 0; /* is null */
2104 } else {
2105 var1 = 1; /* arg is null and recv is not */
2106 }
2107 if (var1){
2108 ((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)>*/;
2109 } else {
2110 }
2111 RET_LABEL:;
2112 }
2113 /* method parser_prod#ARangeExpr#init_arangeexpr for (self: Object, nullable AExpr, nullable AExpr, nullable AAnnotations) */
2114 void VIRTUAL_parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) {
2115 parser_prod__ARangeExpr__init_arangeexpr(self, p0, p1, p2);
2116 RET_LABEL:;
2117 }
2118 /* method parser_prod#ARangeExpr#replace_child for (self: ARangeExpr, ANode, nullable ANode) */
2119 void parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2120 val* var_old_child /* var old_child: ANode */;
2121 val* var_new_child /* var new_child: nullable ANode */;
2122 val* var /* : AExpr */;
2123 short int var1 /* : Bool */;
2124 val* var2 /* : null */;
2125 short int var3 /* : Bool */;
2126 short int var4 /* : Bool */;
2127 int cltype;
2128 int idtype;
2129 val* var5 /* : AExpr */;
2130 short int var6 /* : Bool */;
2131 val* var7 /* : null */;
2132 short int var8 /* : Bool */;
2133 short int var9 /* : Bool */;
2134 int cltype10;
2135 int idtype11;
2136 val* var12 /* : nullable AAnnotations */;
2137 short int var13 /* : Bool */;
2138 val* var14 /* : null */;
2139 short int var15 /* : Bool */;
2140 short int var16 /* : Bool */;
2141 int cltype17;
2142 int idtype18;
2143 val* var19 /* : null */;
2144 var_old_child = p0;
2145 var_new_child = p1;
2146 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2147 if (var == NULL) {
2148 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8638);
2149 exit(1);
2150 }
2151 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2152 if (var1){
2153 var2 = NULL;
2154 if (var_new_child == NULL) {
2155 var3 = 0; /* is null */
2156 } else {
2157 var3 = 1; /* arg is null and recv is not */
2158 }
2159 if (var3){
2160 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2161 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2162 cltype = type_parser_nodes__AExpr.color;
2163 idtype = type_parser_nodes__AExpr.id;
2164 if(cltype >= var_new_child->type->table_size) {
2165 var4 = 0;
2166 } else {
2167 var4 = var_new_child->type->type_table[cltype] == idtype;
2168 }
2169 if (!var4) {
2170 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8641);
2171 exit(1);
2172 }
2173 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ARangeExpr> */
2174 } else {
2175 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8644);
2176 exit(1);
2177 }
2178 goto RET_LABEL;
2179 } else {
2180 }
2181 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2182 if (var5 == NULL) {
2183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8648);
2184 exit(1);
2185 }
2186 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2187 if (var6){
2188 var7 = NULL;
2189 if (var_new_child == NULL) {
2190 var8 = 0; /* is null */
2191 } else {
2192 var8 = 1; /* arg is null and recv is not */
2193 }
2194 if (var8){
2195 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2196 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2197 cltype10 = type_parser_nodes__AExpr.color;
2198 idtype11 = type_parser_nodes__AExpr.id;
2199 if(cltype10 >= var_new_child->type->table_size) {
2200 var9 = 0;
2201 } else {
2202 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2203 }
2204 if (!var9) {
2205 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8651);
2206 exit(1);
2207 }
2208 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ARangeExpr> */
2209 } else {
2210 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8654);
2211 exit(1);
2212 }
2213 goto RET_LABEL;
2214 } else {
2215 }
2216 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2217 if (var12 == NULL) {
2218 var13 = 0; /* <var_old_child:ANode> cannot be null */
2219 } else {
2220 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
2221 }
2222 if (var13){
2223 var14 = NULL;
2224 if (var_new_child == NULL) {
2225 var15 = 0; /* is null */
2226 } else {
2227 var15 = 1; /* arg is null and recv is not */
2228 }
2229 if (var15){
2230 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2231 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2232 cltype17 = type_parser_nodes__AAnnotations.color;
2233 idtype18 = type_parser_nodes__AAnnotations.id;
2234 if(cltype17 >= var_new_child->type->table_size) {
2235 var16 = 0;
2236 } else {
2237 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2238 }
2239 if (!var16) {
2240 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8661);
2241 exit(1);
2242 }
2243 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ARangeExpr> */
2244 } else {
2245 var19 = NULL;
2246 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ARangeExpr> */
2247 }
2248 goto RET_LABEL;
2249 } else {
2250 }
2251 RET_LABEL:;
2252 }
2253 /* method parser_prod#ARangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2254 void VIRTUAL_parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) {
2255 parser_prod__ARangeExpr__replace_child(self, p0, p1);
2256 RET_LABEL:;
2257 }
2258 /* method parser_prod#ARangeExpr#n_expr= for (self: ARangeExpr, AExpr) */
2259 void parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2260 val* var_node /* var node: AExpr */;
2261 var_node = p0;
2262 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ARangeExpr> */
2263 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2264 RET_LABEL:;
2265 }
2266 /* method parser_prod#ARangeExpr#n_expr= for (self: Object, AExpr) */
2267 void VIRTUAL_parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) {
2268 parser_prod__ARangeExpr__n_expr_61d(self, p0);
2269 RET_LABEL:;
2270 }
2271 /* method parser_prod#ARangeExpr#n_expr2= for (self: ARangeExpr, AExpr) */
2272 void parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2273 val* var_node /* var node: AExpr */;
2274 var_node = p0;
2275 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ARangeExpr> */
2276 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2277 RET_LABEL:;
2278 }
2279 /* method parser_prod#ARangeExpr#n_expr2= for (self: Object, AExpr) */
2280 void VIRTUAL_parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) {
2281 parser_prod__ARangeExpr__n_expr2_61d(self, p0);
2282 RET_LABEL:;
2283 }
2284 /* method parser_prod#ARangeExpr#n_annotations= for (self: ARangeExpr, nullable AAnnotations) */
2285 void parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2286 val* var_node /* var node: nullable AAnnotations */;
2287 val* var /* : null */;
2288 short int var1 /* : Bool */;
2289 var_node = p0;
2290 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ARangeExpr> */
2291 var = NULL;
2292 if (var_node == NULL) {
2293 var1 = 0; /* is null */
2294 } else {
2295 var1 = 1; /* arg is null and recv is not */
2296 }
2297 if (var1){
2298 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2299 } else {
2300 }
2301 RET_LABEL:;
2302 }
2303 /* method parser_prod#ARangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2304 void VIRTUAL_parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) {
2305 parser_prod__ARangeExpr__n_annotations_61d(self, p0);
2306 RET_LABEL:;
2307 }
2308 /* method parser_prod#ARangeExpr#visit_all for (self: ARangeExpr, Visitor) */
2309 void parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2310 val* var_v /* var v: Visitor */;
2311 val* var /* : AExpr */;
2312 val* var1 /* : AExpr */;
2313 val* var2 /* : nullable AAnnotations */;
2314 val* var3 /* : null */;
2315 short int var4 /* : Bool */;
2316 val* var5 /* : nullable AAnnotations */;
2317 var_v = p0;
2318 var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
2319 if (var == NULL) {
2320 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8691);
2321 exit(1);
2322 }
2323 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2324 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
2325 if (var1 == NULL) {
2326 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8692);
2327 exit(1);
2328 }
2329 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2330 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2331 var3 = NULL;
2332 if (var2 == NULL) {
2333 var4 = 0; /* is null */
2334 } else {
2335 var4 = 1; /* arg is null and recv is not */
2336 }
2337 if (var4){
2338 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ARangeExpr> */
2339 if (var5 == NULL) {
2340 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8694);
2341 exit(1);
2342 }
2343 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2344 } else {
2345 }
2346 RET_LABEL:;
2347 }
2348 /* method parser_prod#ARangeExpr#visit_all for (self: Object, Visitor) */
2349 void VIRTUAL_parser_prod__ARangeExpr__visit_all(val* self, val* p0) {
2350 parser_prod__ARangeExpr__visit_all(self, p0);
2351 RET_LABEL:;
2352 }
2353 /* method parser_prod#ACrangeExpr#empty_init for (self: ACrangeExpr) */
2354 void parser_prod__ACrangeExpr__empty_init(val* self) {
2355 RET_LABEL:;
2356 }
2357 /* method parser_prod#ACrangeExpr#empty_init for (self: Object) */
2358 void VIRTUAL_parser_prod__ACrangeExpr__empty_init(val* self) {
2359 parser_prod__ACrangeExpr__empty_init(self);
2360 RET_LABEL:;
2361 }
2362 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2363 void parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2364 val* var_n_obra /* var n_obra: nullable TObra */;
2365 val* var_n_expr /* var n_expr: nullable AExpr */;
2366 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2367 val* var_n_cbra /* var n_cbra: nullable TCbra */;
2368 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2369 val* var /* : null */;
2370 short int var1 /* : Bool */;
2371 var_n_obra = p0;
2372 var_n_expr = p1;
2373 var_n_expr2 = p2;
2374 var_n_cbra = p3;
2375 var_n_annotations = p4;
2376 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACrangeExpr__empty_init]))(self) /* empty_init on <self:ACrangeExpr>*/;
2377 if (var_n_obra == NULL) {
2378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8710);
2379 exit(1);
2380 }
2381 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:ACrangeExpr> */
2382 if (var_n_obra == NULL) {
2383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8711);
2384 exit(1);
2385 } else {
2386 ((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>*/;
2387 }
2388 if (var_n_expr == NULL) {
2389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8712);
2390 exit(1);
2391 }
2392 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACrangeExpr> */
2393 if (var_n_expr == NULL) {
2394 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8713);
2395 exit(1);
2396 } else {
2397 ((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>*/;
2398 }
2399 if (var_n_expr2 == NULL) {
2400 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8714);
2401 exit(1);
2402 }
2403 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ACrangeExpr> */
2404 if (var_n_expr2 == NULL) {
2405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8715);
2406 exit(1);
2407 } else {
2408 ((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>*/;
2409 }
2410 if (var_n_cbra == NULL) {
2411 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8716);
2412 exit(1);
2413 }
2414 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ACrangeExpr> */
2415 if (var_n_cbra == NULL) {
2416 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8717);
2417 exit(1);
2418 } else {
2419 ((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>*/;
2420 }
2421 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACrangeExpr> */
2422 var = NULL;
2423 if (var_n_annotations == NULL) {
2424 var1 = 0; /* is null */
2425 } else {
2426 var1 = 1; /* arg is null and recv is not */
2427 }
2428 if (var1){
2429 ((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)>*/;
2430 } else {
2431 }
2432 RET_LABEL:;
2433 }
2434 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
2435 void VIRTUAL_parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2436 parser_prod__ACrangeExpr__init_acrangeexpr(self, p0, p1, p2, p3, p4);
2437 RET_LABEL:;
2438 }
2439 /* method parser_prod#ACrangeExpr#replace_child for (self: ACrangeExpr, ANode, nullable ANode) */
2440 void parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2441 val* var_old_child /* var old_child: ANode */;
2442 val* var_new_child /* var new_child: nullable ANode */;
2443 val* var /* : TObra */;
2444 short int var1 /* : Bool */;
2445 val* var2 /* : null */;
2446 short int var3 /* : Bool */;
2447 short int var4 /* : Bool */;
2448 int cltype;
2449 int idtype;
2450 val* var5 /* : AExpr */;
2451 short int var6 /* : Bool */;
2452 val* var7 /* : null */;
2453 short int var8 /* : Bool */;
2454 short int var9 /* : Bool */;
2455 int cltype10;
2456 int idtype11;
2457 val* var12 /* : AExpr */;
2458 short int var13 /* : Bool */;
2459 val* var14 /* : null */;
2460 short int var15 /* : Bool */;
2461 short int var16 /* : Bool */;
2462 int cltype17;
2463 int idtype18;
2464 val* var19 /* : TCbra */;
2465 short int var20 /* : Bool */;
2466 val* var21 /* : null */;
2467 short int var22 /* : Bool */;
2468 short int var23 /* : Bool */;
2469 int cltype24;
2470 int idtype25;
2471 val* var26 /* : nullable AAnnotations */;
2472 short int var27 /* : Bool */;
2473 val* var28 /* : null */;
2474 short int var29 /* : Bool */;
2475 short int var30 /* : Bool */;
2476 int cltype31;
2477 int idtype32;
2478 val* var33 /* : null */;
2479 var_old_child = p0;
2480 var_new_child = p1;
2481 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2482 if (var == NULL) {
2483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8726);
2484 exit(1);
2485 }
2486 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2487 if (var1){
2488 var2 = NULL;
2489 if (var_new_child == NULL) {
2490 var3 = 0; /* is null */
2491 } else {
2492 var3 = 1; /* arg is null and recv is not */
2493 }
2494 if (var3){
2495 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2496 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2497 cltype = type_parser_nodes__TObra.color;
2498 idtype = type_parser_nodes__TObra.id;
2499 if(cltype >= var_new_child->type->table_size) {
2500 var4 = 0;
2501 } else {
2502 var4 = var_new_child->type->type_table[cltype] == idtype;
2503 }
2504 if (!var4) {
2505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8729);
2506 exit(1);
2507 }
2508 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:ACrangeExpr> */
2509 } else {
2510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8732);
2511 exit(1);
2512 }
2513 goto RET_LABEL;
2514 } else {
2515 }
2516 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2517 if (var5 == NULL) {
2518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8736);
2519 exit(1);
2520 }
2521 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2522 if (var6){
2523 var7 = NULL;
2524 if (var_new_child == NULL) {
2525 var8 = 0; /* is null */
2526 } else {
2527 var8 = 1; /* arg is null and recv is not */
2528 }
2529 if (var8){
2530 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2531 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2532 cltype10 = type_parser_nodes__AExpr.color;
2533 idtype11 = type_parser_nodes__AExpr.id;
2534 if(cltype10 >= var_new_child->type->table_size) {
2535 var9 = 0;
2536 } else {
2537 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2538 }
2539 if (!var9) {
2540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8739);
2541 exit(1);
2542 }
2543 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACrangeExpr> */
2544 } else {
2545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8742);
2546 exit(1);
2547 }
2548 goto RET_LABEL;
2549 } else {
2550 }
2551 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2552 if (var12 == NULL) {
2553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8746);
2554 exit(1);
2555 }
2556 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
2557 if (var13){
2558 var14 = NULL;
2559 if (var_new_child == NULL) {
2560 var15 = 0; /* is null */
2561 } else {
2562 var15 = 1; /* arg is null and recv is not */
2563 }
2564 if (var15){
2565 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2566 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2567 cltype17 = type_parser_nodes__AExpr.color;
2568 idtype18 = type_parser_nodes__AExpr.id;
2569 if(cltype17 >= var_new_child->type->table_size) {
2570 var16 = 0;
2571 } else {
2572 var16 = var_new_child->type->type_table[cltype17] == idtype18;
2573 }
2574 if (!var16) {
2575 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8749);
2576 exit(1);
2577 }
2578 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ACrangeExpr> */
2579 } else {
2580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8752);
2581 exit(1);
2582 }
2583 goto RET_LABEL;
2584 } else {
2585 }
2586 var19 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2587 if (var19 == NULL) {
2588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8756);
2589 exit(1);
2590 }
2591 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TCbra>*/;
2592 if (var20){
2593 var21 = NULL;
2594 if (var_new_child == NULL) {
2595 var22 = 0; /* is null */
2596 } else {
2597 var22 = 1; /* arg is null and recv is not */
2598 }
2599 if (var22){
2600 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2601 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
2602 cltype24 = type_parser_nodes__TCbra.color;
2603 idtype25 = type_parser_nodes__TCbra.id;
2604 if(cltype24 >= var_new_child->type->table_size) {
2605 var23 = 0;
2606 } else {
2607 var23 = var_new_child->type->type_table[cltype24] == idtype25;
2608 }
2609 if (!var23) {
2610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8759);
2611 exit(1);
2612 }
2613 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:ACrangeExpr> */
2614 } else {
2615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8762);
2616 exit(1);
2617 }
2618 goto RET_LABEL;
2619 } else {
2620 }
2621 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2622 if (var26 == NULL) {
2623 var27 = 0; /* <var_old_child:ANode> cannot be null */
2624 } else {
2625 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
2626 }
2627 if (var27){
2628 var28 = NULL;
2629 if (var_new_child == NULL) {
2630 var29 = 0; /* is null */
2631 } else {
2632 var29 = 1; /* arg is null and recv is not */
2633 }
2634 if (var29){
2635 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2636 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2637 cltype31 = type_parser_nodes__AAnnotations.color;
2638 idtype32 = type_parser_nodes__AAnnotations.id;
2639 if(cltype31 >= var_new_child->type->table_size) {
2640 var30 = 0;
2641 } else {
2642 var30 = var_new_child->type->type_table[cltype31] == idtype32;
2643 }
2644 if (!var30) {
2645 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8769);
2646 exit(1);
2647 }
2648 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACrangeExpr> */
2649 } else {
2650 var33 = NULL;
2651 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:ACrangeExpr> */
2652 }
2653 goto RET_LABEL;
2654 } else {
2655 }
2656 RET_LABEL:;
2657 }
2658 /* method parser_prod#ACrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
2659 void VIRTUAL_parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) {
2660 parser_prod__ACrangeExpr__replace_child(self, p0, p1);
2661 RET_LABEL:;
2662 }
2663 /* method parser_prod#ACrangeExpr#n_obra= for (self: ACrangeExpr, TObra) */
2664 void parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2665 val* var_node /* var node: TObra */;
2666 var_node = p0;
2667 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_node; /* _n_obra on <self:ACrangeExpr> */
2668 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
2669 RET_LABEL:;
2670 }
2671 /* method parser_prod#ACrangeExpr#n_obra= for (self: Object, TObra) */
2672 void VIRTUAL_parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) {
2673 parser_prod__ACrangeExpr__n_obra_61d(self, p0);
2674 RET_LABEL:;
2675 }
2676 /* method parser_prod#ACrangeExpr#n_expr= for (self: ACrangeExpr, AExpr) */
2677 void parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2678 val* var_node /* var node: AExpr */;
2679 var_node = p0;
2680 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:ACrangeExpr> */
2681 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2682 RET_LABEL:;
2683 }
2684 /* method parser_prod#ACrangeExpr#n_expr= for (self: Object, AExpr) */
2685 void VIRTUAL_parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) {
2686 parser_prod__ACrangeExpr__n_expr_61d(self, p0);
2687 RET_LABEL:;
2688 }
2689 /* method parser_prod#ACrangeExpr#n_expr2= for (self: ACrangeExpr, AExpr) */
2690 void parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2691 val* var_node /* var node: AExpr */;
2692 var_node = p0;
2693 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ACrangeExpr> */
2694 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2695 RET_LABEL:;
2696 }
2697 /* method parser_prod#ACrangeExpr#n_expr2= for (self: Object, AExpr) */
2698 void VIRTUAL_parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) {
2699 parser_prod__ACrangeExpr__n_expr2_61d(self, p0);
2700 RET_LABEL:;
2701 }
2702 /* method parser_prod#ACrangeExpr#n_cbra= for (self: ACrangeExpr, TCbra) */
2703 void parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2704 val* var_node /* var node: TCbra */;
2705 var_node = p0;
2706 self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:ACrangeExpr> */
2707 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
2708 RET_LABEL:;
2709 }
2710 /* method parser_prod#ACrangeExpr#n_cbra= for (self: Object, TCbra) */
2711 void VIRTUAL_parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) {
2712 parser_prod__ACrangeExpr__n_cbra_61d(self, p0);
2713 RET_LABEL:;
2714 }
2715 /* method parser_prod#ACrangeExpr#n_annotations= for (self: ACrangeExpr, nullable AAnnotations) */
2716 void parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2717 val* var_node /* var node: nullable AAnnotations */;
2718 val* var /* : null */;
2719 short int var1 /* : Bool */;
2720 var_node = p0;
2721 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACrangeExpr> */
2722 var = NULL;
2723 if (var_node == NULL) {
2724 var1 = 0; /* is null */
2725 } else {
2726 var1 = 1; /* arg is null and recv is not */
2727 }
2728 if (var1){
2729 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
2730 } else {
2731 }
2732 RET_LABEL:;
2733 }
2734 /* method parser_prod#ACrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2735 void VIRTUAL_parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) {
2736 parser_prod__ACrangeExpr__n_annotations_61d(self, p0);
2737 RET_LABEL:;
2738 }
2739 /* method parser_prod#ACrangeExpr#visit_all for (self: ACrangeExpr, Visitor) */
2740 void parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2741 val* var_v /* var v: Visitor */;
2742 val* var /* : TObra */;
2743 val* var1 /* : AExpr */;
2744 val* var2 /* : AExpr */;
2745 val* var3 /* : TCbra */;
2746 val* var4 /* : nullable AAnnotations */;
2747 val* var5 /* : null */;
2748 short int var6 /* : Bool */;
2749 val* var7 /* : nullable AAnnotations */;
2750 var_v = p0;
2751 var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on <self:ACrangeExpr> */
2752 if (var == NULL) {
2753 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8809);
2754 exit(1);
2755 }
2756 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2757 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
2758 if (var1 == NULL) {
2759 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8810);
2760 exit(1);
2761 }
2762 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2763 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
2764 if (var2 == NULL) {
2765 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8811);
2766 exit(1);
2767 }
2768 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
2769 var3 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on <self:ACrangeExpr> */
2770 if (var3 == NULL) {
2771 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8812);
2772 exit(1);
2773 }
2774 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
2775 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2776 var5 = NULL;
2777 if (var4 == NULL) {
2778 var6 = 0; /* is null */
2779 } else {
2780 var6 = 1; /* arg is null and recv is not */
2781 }
2782 if (var6){
2783 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACrangeExpr> */
2784 if (var7 == NULL) {
2785 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8814);
2786 exit(1);
2787 }
2788 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
2789 } else {
2790 }
2791 RET_LABEL:;
2792 }
2793 /* method parser_prod#ACrangeExpr#visit_all for (self: Object, Visitor) */
2794 void VIRTUAL_parser_prod__ACrangeExpr__visit_all(val* self, val* p0) {
2795 parser_prod__ACrangeExpr__visit_all(self, p0);
2796 RET_LABEL:;
2797 }
2798 /* method parser_prod#AOrangeExpr#empty_init for (self: AOrangeExpr) */
2799 void parser_prod__AOrangeExpr__empty_init(val* self) {
2800 RET_LABEL:;
2801 }
2802 /* method parser_prod#AOrangeExpr#empty_init for (self: Object) */
2803 void VIRTUAL_parser_prod__AOrangeExpr__empty_init(val* self) {
2804 parser_prod__AOrangeExpr__empty_init(self);
2805 RET_LABEL:;
2806 }
2807 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: AOrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2808 void parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2809 val* var_n_obra /* var n_obra: nullable TObra */;
2810 val* var_n_expr /* var n_expr: nullable AExpr */;
2811 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2812 val* var_n_cbra /* var n_cbra: nullable TObra */;
2813 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2814 val* var /* : null */;
2815 short int var1 /* : Bool */;
2816 var_n_obra = p0;
2817 var_n_expr = p1;
2818 var_n_expr2 = p2;
2819 var_n_cbra = p3;
2820 var_n_annotations = p4;
2821 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrangeExpr__empty_init]))(self) /* empty_init on <self:AOrangeExpr>*/;
2822 if (var_n_obra == NULL) {
2823 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8830);
2824 exit(1);
2825 }
2826 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:AOrangeExpr> */
2827 if (var_n_obra == NULL) {
2828 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8831);
2829 exit(1);
2830 } else {
2831 ((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>*/;
2832 }
2833 if (var_n_expr == NULL) {
2834 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8832);
2835 exit(1);
2836 }
2837 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrangeExpr> */
2838 if (var_n_expr == NULL) {
2839 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8833);
2840 exit(1);
2841 } else {
2842 ((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>*/;
2843 }
2844 if (var_n_expr2 == NULL) {
2845 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8834);
2846 exit(1);
2847 }
2848 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrangeExpr> */
2849 if (var_n_expr2 == NULL) {
2850 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8835);
2851 exit(1);
2852 } else {
2853 ((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>*/;
2854 }
2855 if (var_n_cbra == NULL) {
2856 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8836);
2857 exit(1);
2858 }
2859 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:AOrangeExpr> */
2860 if (var_n_cbra == NULL) {
2861 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8837);
2862 exit(1);
2863 } else {
2864 ((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>*/;
2865 }
2866 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AOrangeExpr> */
2867 var = NULL;
2868 if (var_n_annotations == NULL) {
2869 var1 = 0; /* is null */
2870 } else {
2871 var1 = 1; /* arg is null and recv is not */
2872 }
2873 if (var1){
2874 ((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)>*/;
2875 } else {
2876 }
2877 RET_LABEL:;
2878 }
2879 /* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */
2880 void VIRTUAL_parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
2881 parser_prod__AOrangeExpr__init_aorangeexpr(self, p0, p1, p2, p3, p4);
2882 RET_LABEL:;
2883 }
2884 /* method parser_prod#AOrangeExpr#replace_child for (self: AOrangeExpr, ANode, nullable ANode) */
2885 void parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
2886 val* var_old_child /* var old_child: ANode */;
2887 val* var_new_child /* var new_child: nullable ANode */;
2888 val* var /* : TObra */;
2889 short int var1 /* : Bool */;
2890 val* var2 /* : null */;
2891 short int var3 /* : Bool */;
2892 short int var4 /* : Bool */;
2893 int cltype;
2894 int idtype;
2895 val* var5 /* : AExpr */;
2896 short int var6 /* : Bool */;
2897 val* var7 /* : null */;
2898 short int var8 /* : Bool */;
2899 short int var9 /* : Bool */;
2900 int cltype10;
2901 int idtype11;
2902 val* var12 /* : AExpr */;
2903 short int var13 /* : Bool */;
2904 val* var14 /* : null */;
2905 short int var15 /* : Bool */;
2906 short int var16 /* : Bool */;
2907 int cltype17;
2908 int idtype18;
2909 val* var19 /* : TObra */;
2910 short int var20 /* : Bool */;
2911 val* var21 /* : null */;
2912 short int var22 /* : Bool */;
2913 short int var23 /* : Bool */;
2914 int cltype24;
2915 int idtype25;
2916 val* var26 /* : nullable AAnnotations */;
2917 short int var27 /* : Bool */;
2918 val* var28 /* : null */;
2919 short int var29 /* : Bool */;
2920 short int var30 /* : Bool */;
2921 int cltype31;
2922 int idtype32;
2923 val* var33 /* : null */;
2924 var_old_child = p0;
2925 var_new_child = p1;
2926 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
2927 if (var == NULL) {
2928 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8846);
2929 exit(1);
2930 }
2931 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
2932 if (var1){
2933 var2 = NULL;
2934 if (var_new_child == NULL) {
2935 var3 = 0; /* is null */
2936 } else {
2937 var3 = 1; /* arg is null and recv is not */
2938 }
2939 if (var3){
2940 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2941 /* <var_new_child:nullable ANode(ANode)> isa TObra */
2942 cltype = type_parser_nodes__TObra.color;
2943 idtype = type_parser_nodes__TObra.id;
2944 if(cltype >= var_new_child->type->table_size) {
2945 var4 = 0;
2946 } else {
2947 var4 = var_new_child->type->type_table[cltype] == idtype;
2948 }
2949 if (!var4) {
2950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8849);
2951 exit(1);
2952 }
2953 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_new_child; /* _n_obra on <self:AOrangeExpr> */
2954 } else {
2955 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8852);
2956 exit(1);
2957 }
2958 goto RET_LABEL;
2959 } else {
2960 }
2961 var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
2962 if (var5 == NULL) {
2963 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8856);
2964 exit(1);
2965 }
2966 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2967 if (var6){
2968 var7 = NULL;
2969 if (var_new_child == NULL) {
2970 var8 = 0; /* is null */
2971 } else {
2972 var8 = 1; /* arg is null and recv is not */
2973 }
2974 if (var8){
2975 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2976 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2977 cltype10 = type_parser_nodes__AExpr.color;
2978 idtype11 = type_parser_nodes__AExpr.id;
2979 if(cltype10 >= var_new_child->type->table_size) {
2980 var9 = 0;
2981 } else {
2982 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2983 }
2984 if (!var9) {
2985 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8859);
2986 exit(1);
2987 }
2988 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrangeExpr> */
2989 } else {
2990 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8862);
2991 exit(1);
2992 }
2993 goto RET_LABEL;
2994 } else {
2995 }
2996 var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
2997 if (var12 == NULL) {
2998 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8866);
2999 exit(1);
3000 }
3001 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
3002 if (var13){
3003 var14 = NULL;
3004 if (var_new_child == NULL) {
3005 var15 = 0; /* is null */
3006 } else {
3007 var15 = 1; /* arg is null and recv is not */
3008 }
3009 if (var15){
3010 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3011 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3012 cltype17 = type_parser_nodes__AExpr.color;
3013 idtype18 = type_parser_nodes__AExpr.id;
3014 if(cltype17 >= var_new_child->type->table_size) {
3015 var16 = 0;
3016 } else {
3017 var16 = var_new_child->type->type_table[cltype17] == idtype18;
3018 }
3019 if (!var16) {
3020 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8869);
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 (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8872);
3026 exit(1);
3027 }
3028 goto RET_LABEL;
3029 } else {
3030 }
3031 var19 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3032 if (var19 == NULL) {
3033 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8876);
3034 exit(1);
3035 }
3036 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TObra>*/;
3037 if (var20){
3038 var21 = NULL;
3039 if (var_new_child == NULL) {
3040 var22 = 0; /* is null */
3041 } else {
3042 var22 = 1; /* arg is null and recv is not */
3043 }
3044 if (var22){
3045 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3046 /* <var_new_child:nullable ANode(ANode)> isa TObra */
3047 cltype24 = type_parser_nodes__TObra.color;
3048 idtype25 = type_parser_nodes__TObra.id;
3049 if(cltype24 >= var_new_child->type->table_size) {
3050 var23 = 0;
3051 } else {
3052 var23 = var_new_child->type->type_table[cltype24] == idtype25;
3053 }
3054 if (!var23) {
3055 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8879);
3056 exit(1);
3057 }
3058 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on <self:AOrangeExpr> */
3059 } else {
3060 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8882);
3061 exit(1);
3062 }
3063 goto RET_LABEL;
3064 } else {
3065 }
3066 var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3067 if (var26 == NULL) {
3068 var27 = 0; /* <var_old_child:ANode> cannot be null */
3069 } else {
3070 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:nullable AAnnotations>*/;
3071 }
3072 if (var27){
3073 var28 = NULL;
3074 if (var_new_child == NULL) {
3075 var29 = 0; /* is null */
3076 } else {
3077 var29 = 1; /* arg is null and recv is not */
3078 }
3079 if (var29){
3080 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3081 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3082 cltype31 = type_parser_nodes__AAnnotations.color;
3083 idtype32 = type_parser_nodes__AAnnotations.id;
3084 if(cltype31 >= var_new_child->type->table_size) {
3085 var30 = 0;
3086 } else {
3087 var30 = var_new_child->type->type_table[cltype31] == idtype32;
3088 }
3089 if (!var30) {
3090 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8889);
3091 exit(1);
3092 }
3093 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AOrangeExpr> */
3094 } else {
3095 var33 = NULL;
3096 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on <self:AOrangeExpr> */
3097 }
3098 goto RET_LABEL;
3099 } else {
3100 }
3101 RET_LABEL:;
3102 }
3103 /* method parser_prod#AOrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */
3104 void VIRTUAL_parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) {
3105 parser_prod__AOrangeExpr__replace_child(self, p0, p1);
3106 RET_LABEL:;
3107 }
3108 /* method parser_prod#AOrangeExpr#n_obra= for (self: AOrangeExpr, TObra) */
3109 void parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3110 val* var_node /* var node: TObra */;
3111 var_node = p0;
3112 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_node; /* _n_obra on <self:AOrangeExpr> */
3113 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3114 RET_LABEL:;
3115 }
3116 /* method parser_prod#AOrangeExpr#n_obra= for (self: Object, TObra) */
3117 void VIRTUAL_parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) {
3118 parser_prod__AOrangeExpr__n_obra_61d(self, p0);
3119 RET_LABEL:;
3120 }
3121 /* method parser_prod#AOrangeExpr#n_expr= for (self: AOrangeExpr, AExpr) */
3122 void parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3123 val* var_node /* var node: AExpr */;
3124 var_node = p0;
3125 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on <self:AOrangeExpr> */
3126 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3127 RET_LABEL:;
3128 }
3129 /* method parser_prod#AOrangeExpr#n_expr= for (self: Object, AExpr) */
3130 void VIRTUAL_parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) {
3131 parser_prod__AOrangeExpr__n_expr_61d(self, p0);
3132 RET_LABEL:;
3133 }
3134 /* method parser_prod#AOrangeExpr#n_expr2= for (self: AOrangeExpr, AExpr) */
3135 void parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3136 val* var_node /* var node: AExpr */;
3137 var_node = p0;
3138 self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrangeExpr> */
3139 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3140 RET_LABEL:;
3141 }
3142 /* method parser_prod#AOrangeExpr#n_expr2= for (self: Object, AExpr) */
3143 void VIRTUAL_parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) {
3144 parser_prod__AOrangeExpr__n_expr2_61d(self, p0);
3145 RET_LABEL:;
3146 }
3147 /* method parser_prod#AOrangeExpr#n_cbra= for (self: AOrangeExpr, TObra) */
3148 void parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3149 val* var_node /* var node: TObra */;
3150 var_node = p0;
3151 self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_node; /* _n_cbra on <self:AOrangeExpr> */
3152 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
3153 RET_LABEL:;
3154 }
3155 /* method parser_prod#AOrangeExpr#n_cbra= for (self: Object, TObra) */
3156 void VIRTUAL_parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) {
3157 parser_prod__AOrangeExpr__n_cbra_61d(self, p0);
3158 RET_LABEL:;
3159 }
3160 /* method parser_prod#AOrangeExpr#n_annotations= for (self: AOrangeExpr, nullable AAnnotations) */
3161 void parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3162 val* var_node /* var node: nullable AAnnotations */;
3163 val* var /* : null */;
3164 short int var1 /* : Bool */;
3165 var_node = p0;
3166 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AOrangeExpr> */
3167 var = NULL;
3168 if (var_node == NULL) {
3169 var1 = 0; /* is null */
3170 } else {
3171 var1 = 1; /* arg is null and recv is not */
3172 }
3173 if (var1){
3174 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3175 } else {
3176 }
3177 RET_LABEL:;
3178 }
3179 /* method parser_prod#AOrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3180 void VIRTUAL_parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) {
3181 parser_prod__AOrangeExpr__n_annotations_61d(self, p0);
3182 RET_LABEL:;
3183 }
3184 /* method parser_prod#AOrangeExpr#visit_all for (self: AOrangeExpr, Visitor) */
3185 void parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3186 val* var_v /* var v: Visitor */;
3187 val* var /* : TObra */;
3188 val* var1 /* : AExpr */;
3189 val* var2 /* : AExpr */;
3190 val* var3 /* : TObra */;
3191 val* var4 /* : nullable AAnnotations */;
3192 val* var5 /* : null */;
3193 short int var6 /* : Bool */;
3194 val* var7 /* : nullable AAnnotations */;
3195 var_v = p0;
3196 var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on <self:AOrangeExpr> */
3197 if (var == NULL) {
3198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8929);
3199 exit(1);
3200 }
3201 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3202 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
3203 if (var1 == NULL) {
3204 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8930);
3205 exit(1);
3206 }
3207 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3208 var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
3209 if (var2 == NULL) {
3210 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8931);
3211 exit(1);
3212 }
3213 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
3214 var3 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on <self:AOrangeExpr> */
3215 if (var3 == NULL) {
3216 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8932);
3217 exit(1);
3218 }
3219 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3220 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3221 var5 = NULL;
3222 if (var4 == NULL) {
3223 var6 = 0; /* is null */
3224 } else {
3225 var6 = 1; /* arg is null and recv is not */
3226 }
3227 if (var6){
3228 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AOrangeExpr> */
3229 if (var7 == NULL) {
3230 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8934);
3231 exit(1);
3232 }
3233 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3234 } else {
3235 }
3236 RET_LABEL:;
3237 }
3238 /* method parser_prod#AOrangeExpr#visit_all for (self: Object, Visitor) */
3239 void VIRTUAL_parser_prod__AOrangeExpr__visit_all(val* self, val* p0) {
3240 parser_prod__AOrangeExpr__visit_all(self, p0);
3241 RET_LABEL:;
3242 }
3243 /* method parser_prod#AArrayExpr#empty_init for (self: AArrayExpr) */
3244 void parser_prod__AArrayExpr__empty_init(val* self) {
3245 RET_LABEL:;
3246 }
3247 /* method parser_prod#AArrayExpr#empty_init for (self: Object) */
3248 void VIRTUAL_parser_prod__AArrayExpr__empty_init(val* self) {
3249 parser_prod__AArrayExpr__empty_init(self);
3250 RET_LABEL:;
3251 }
3252 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: AArrayExpr, nullable AExprs, nullable AAnnotations) */
3253 void parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3254 val* var_n_exprs /* var n_exprs: nullable AExprs */;
3255 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3256 val* var /* : null */;
3257 short int var1 /* : Bool */;
3258 var_n_exprs = p0;
3259 var_n_annotations = p1;
3260 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AArrayExpr__empty_init]))(self) /* empty_init on <self:AArrayExpr>*/;
3261 if (var_n_exprs == NULL) {
3262 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8947);
3263 exit(1);
3264 }
3265 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_n_exprs; /* _n_exprs on <self:AArrayExpr> */
3266 if (var_n_exprs == NULL) {
3267 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8948);
3268 exit(1);
3269 } else {
3270 ((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>*/;
3271 }
3272 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AArrayExpr> */
3273 var = NULL;
3274 if (var_n_annotations == NULL) {
3275 var1 = 0; /* is null */
3276 } else {
3277 var1 = 1; /* arg is null and recv is not */
3278 }
3279 if (var1){
3280 ((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)>*/;
3281 } else {
3282 }
3283 RET_LABEL:;
3284 }
3285 /* method parser_prod#AArrayExpr#init_aarrayexpr for (self: Object, nullable AExprs, nullable AAnnotations) */
3286 void VIRTUAL_parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) {
3287 parser_prod__AArrayExpr__init_aarrayexpr(self, p0, p1);
3288 RET_LABEL:;
3289 }
3290 /* method parser_prod#AArrayExpr#replace_child for (self: AArrayExpr, ANode, nullable ANode) */
3291 void parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3292 val* var_old_child /* var old_child: ANode */;
3293 val* var_new_child /* var new_child: nullable ANode */;
3294 val* var /* : AExprs */;
3295 short int var1 /* : Bool */;
3296 val* var2 /* : null */;
3297 short int var3 /* : Bool */;
3298 short int var4 /* : Bool */;
3299 int cltype;
3300 int idtype;
3301 val* var5 /* : nullable AAnnotations */;
3302 short int var6 /* : Bool */;
3303 val* var7 /* : null */;
3304 short int var8 /* : Bool */;
3305 short int var9 /* : Bool */;
3306 int cltype10;
3307 int idtype11;
3308 val* var12 /* : null */;
3309 var_old_child = p0;
3310 var_new_child = p1;
3311 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3312 if (var == NULL) {
3313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 8957);
3314 exit(1);
3315 }
3316 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExprs>*/;
3317 if (var1){
3318 var2 = NULL;
3319 if (var_new_child == NULL) {
3320 var3 = 0; /* is null */
3321 } else {
3322 var3 = 1; /* arg is null and recv is not */
3323 }
3324 if (var3){
3325 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3326 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
3327 cltype = type_parser_nodes__AExprs.color;
3328 idtype = type_parser_nodes__AExprs.id;
3329 if(cltype >= var_new_child->type->table_size) {
3330 var4 = 0;
3331 } else {
3332 var4 = var_new_child->type->type_table[cltype] == idtype;
3333 }
3334 if (!var4) {
3335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8960);
3336 exit(1);
3337 }
3338 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_new_child; /* _n_exprs on <self:AArrayExpr> */
3339 } else {
3340 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8963);
3341 exit(1);
3342 }
3343 goto RET_LABEL;
3344 } else {
3345 }
3346 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3347 if (var5 == NULL) {
3348 var6 = 0; /* <var_old_child:ANode> cannot be null */
3349 } else {
3350 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3351 }
3352 if (var6){
3353 var7 = NULL;
3354 if (var_new_child == NULL) {
3355 var8 = 0; /* is null */
3356 } else {
3357 var8 = 1; /* arg is null and recv is not */
3358 }
3359 if (var8){
3360 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3361 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3362 cltype10 = type_parser_nodes__AAnnotations.color;
3363 idtype11 = type_parser_nodes__AAnnotations.id;
3364 if(cltype10 >= var_new_child->type->table_size) {
3365 var9 = 0;
3366 } else {
3367 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3368 }
3369 if (!var9) {
3370 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8970);
3371 exit(1);
3372 }
3373 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AArrayExpr> */
3374 } else {
3375 var12 = NULL;
3376 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AArrayExpr> */
3377 }
3378 goto RET_LABEL;
3379 } else {
3380 }
3381 RET_LABEL:;
3382 }
3383 /* method parser_prod#AArrayExpr#replace_child for (self: Object, ANode, nullable ANode) */
3384 void VIRTUAL_parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) {
3385 parser_prod__AArrayExpr__replace_child(self, p0, p1);
3386 RET_LABEL:;
3387 }
3388 /* method parser_prod#AArrayExpr#n_exprs= for (self: AArrayExpr, AExprs) */
3389 void parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3390 val* var_node /* var node: AExprs */;
3391 var_node = p0;
3392 self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_node; /* _n_exprs on <self:AArrayExpr> */
3393 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
3394 RET_LABEL:;
3395 }
3396 /* method parser_prod#AArrayExpr#n_exprs= for (self: Object, AExprs) */
3397 void VIRTUAL_parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) {
3398 parser_prod__AArrayExpr__n_exprs_61d(self, p0);
3399 RET_LABEL:;
3400 }
3401 /* method parser_prod#AArrayExpr#n_annotations= for (self: AArrayExpr, nullable AAnnotations) */
3402 void parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3403 val* var_node /* var node: nullable AAnnotations */;
3404 val* var /* : null */;
3405 short int var1 /* : Bool */;
3406 var_node = p0;
3407 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AArrayExpr> */
3408 var = NULL;
3409 if (var_node == NULL) {
3410 var1 = 0; /* is null */
3411 } else {
3412 var1 = 1; /* arg is null and recv is not */
3413 }
3414 if (var1){
3415 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3416 } else {
3417 }
3418 RET_LABEL:;
3419 }
3420 /* method parser_prod#AArrayExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3421 void VIRTUAL_parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) {
3422 parser_prod__AArrayExpr__n_annotations_61d(self, p0);
3423 RET_LABEL:;
3424 }
3425 /* method parser_prod#AArrayExpr#visit_all for (self: AArrayExpr, Visitor) */
3426 void parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3427 val* var_v /* var v: Visitor */;
3428 val* var /* : AExprs */;
3429 val* var1 /* : nullable AAnnotations */;
3430 val* var2 /* : null */;
3431 short int var3 /* : Bool */;
3432 val* var4 /* : nullable AAnnotations */;
3433 var_v = p0;
3434 var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
3435 if (var == NULL) {
3436 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 8995);
3437 exit(1);
3438 }
3439 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3440 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3441 var2 = NULL;
3442 if (var1 == NULL) {
3443 var3 = 0; /* is null */
3444 } else {
3445 var3 = 1; /* arg is null and recv is not */
3446 }
3447 if (var3){
3448 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AArrayExpr> */
3449 if (var4 == NULL) {
3450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8997);
3451 exit(1);
3452 }
3453 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3454 } else {
3455 }
3456 RET_LABEL:;
3457 }
3458 /* method parser_prod#AArrayExpr#visit_all for (self: Object, Visitor) */
3459 void VIRTUAL_parser_prod__AArrayExpr__visit_all(val* self, val* p0) {
3460 parser_prod__AArrayExpr__visit_all(self, p0);
3461 RET_LABEL:;
3462 }
3463 /* method parser_prod#ASelfExpr#empty_init for (self: ASelfExpr) */
3464 void parser_prod__ASelfExpr__empty_init(val* self) {
3465 RET_LABEL:;
3466 }
3467 /* method parser_prod#ASelfExpr#empty_init for (self: Object) */
3468 void VIRTUAL_parser_prod__ASelfExpr__empty_init(val* self) {
3469 parser_prod__ASelfExpr__empty_init(self);
3470 RET_LABEL:;
3471 }
3472 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: ASelfExpr, nullable TKwself, nullable AAnnotations) */
3473 void parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3474 val* var_n_kwself /* var n_kwself: nullable TKwself */;
3475 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3476 val* var /* : null */;
3477 short int var1 /* : Bool */;
3478 var_n_kwself = p0;
3479 var_n_annotations = p1;
3480 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASelfExpr__empty_init]))(self) /* empty_init on <self:ASelfExpr>*/;
3481 if (var_n_kwself == NULL) {
3482 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9010);
3483 exit(1);
3484 }
3485 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_n_kwself; /* _n_kwself on <self:ASelfExpr> */
3486 if (var_n_kwself == NULL) {
3487 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9011);
3488 exit(1);
3489 } else {
3490 ((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>*/;
3491 }
3492 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASelfExpr> */
3493 var = NULL;
3494 if (var_n_annotations == NULL) {
3495 var1 = 0; /* is null */
3496 } else {
3497 var1 = 1; /* arg is null and recv is not */
3498 }
3499 if (var1){
3500 ((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)>*/;
3501 } else {
3502 }
3503 RET_LABEL:;
3504 }
3505 /* method parser_prod#ASelfExpr#init_aselfexpr for (self: Object, nullable TKwself, nullable AAnnotations) */
3506 void VIRTUAL_parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) {
3507 parser_prod__ASelfExpr__init_aselfexpr(self, p0, p1);
3508 RET_LABEL:;
3509 }
3510 /* method parser_prod#ASelfExpr#replace_child for (self: ASelfExpr, ANode, nullable ANode) */
3511 void parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3512 val* var_old_child /* var old_child: ANode */;
3513 val* var_new_child /* var new_child: nullable ANode */;
3514 val* var /* : nullable TKwself */;
3515 short int var1 /* : Bool */;
3516 val* var2 /* : null */;
3517 short int var3 /* : Bool */;
3518 short int var4 /* : Bool */;
3519 int cltype;
3520 int idtype;
3521 val* var5 /* : nullable AAnnotations */;
3522 short int var6 /* : Bool */;
3523 val* var7 /* : null */;
3524 short int var8 /* : Bool */;
3525 short int var9 /* : Bool */;
3526 int cltype10;
3527 int idtype11;
3528 val* var12 /* : null */;
3529 var_old_child = p0;
3530 var_new_child = p1;
3531 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3532 if (var == NULL) {
3533 var1 = 0; /* <var_old_child:ANode> cannot be null */
3534 } else {
3535 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TKwself>*/;
3536 }
3537 if (var1){
3538 var2 = NULL;
3539 if (var_new_child == NULL) {
3540 var3 = 0; /* is null */
3541 } else {
3542 var3 = 1; /* arg is null and recv is not */
3543 }
3544 if (var3){
3545 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3546 /* <var_new_child:nullable ANode(ANode)> isa TKwself */
3547 cltype = type_parser_nodes__TKwself.color;
3548 idtype = type_parser_nodes__TKwself.id;
3549 if(cltype >= var_new_child->type->table_size) {
3550 var4 = 0;
3551 } else {
3552 var4 = var_new_child->type->type_table[cltype] == idtype;
3553 }
3554 if (!var4) {
3555 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9023);
3556 exit(1);
3557 }
3558 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_new_child; /* _n_kwself on <self:ASelfExpr> */
3559 } else {
3560 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9026);
3561 exit(1);
3562 }
3563 goto RET_LABEL;
3564 } else {
3565 }
3566 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3567 if (var5 == NULL) {
3568 var6 = 0; /* <var_old_child:ANode> cannot be null */
3569 } else {
3570 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3571 }
3572 if (var6){
3573 var7 = NULL;
3574 if (var_new_child == NULL) {
3575 var8 = 0; /* is null */
3576 } else {
3577 var8 = 1; /* arg is null and recv is not */
3578 }
3579 if (var8){
3580 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3581 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3582 cltype10 = type_parser_nodes__AAnnotations.color;
3583 idtype11 = type_parser_nodes__AAnnotations.id;
3584 if(cltype10 >= var_new_child->type->table_size) {
3585 var9 = 0;
3586 } else {
3587 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3588 }
3589 if (!var9) {
3590 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9033);
3591 exit(1);
3592 }
3593 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASelfExpr> */
3594 } else {
3595 var12 = NULL;
3596 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ASelfExpr> */
3597 }
3598 goto RET_LABEL;
3599 } else {
3600 }
3601 RET_LABEL:;
3602 }
3603 /* method parser_prod#ASelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3604 void VIRTUAL_parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) {
3605 parser_prod__ASelfExpr__replace_child(self, p0, p1);
3606 RET_LABEL:;
3607 }
3608 /* method parser_prod#ASelfExpr#n_kwself= for (self: ASelfExpr, nullable TKwself) */
3609 void parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3610 val* var_node /* var node: nullable TKwself */;
3611 var_node = p0;
3612 self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_node; /* _n_kwself on <self:ASelfExpr> */
3613 if (var_node == NULL) {
3614 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9045);
3615 exit(1);
3616 } else {
3617 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwself>*/;
3618 }
3619 RET_LABEL:;
3620 }
3621 /* method parser_prod#ASelfExpr#n_kwself= for (self: Object, nullable TKwself) */
3622 void VIRTUAL_parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) {
3623 parser_prod__ASelfExpr__n_kwself_61d(self, p0);
3624 RET_LABEL:;
3625 }
3626 /* method parser_prod#ASelfExpr#n_annotations= for (self: ASelfExpr, nullable AAnnotations) */
3627 void parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3628 val* var_node /* var node: nullable AAnnotations */;
3629 val* var /* : null */;
3630 short int var1 /* : Bool */;
3631 var_node = p0;
3632 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASelfExpr> */
3633 var = NULL;
3634 if (var_node == NULL) {
3635 var1 = 0; /* is null */
3636 } else {
3637 var1 = 1; /* arg is null and recv is not */
3638 }
3639 if (var1){
3640 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3641 } else {
3642 }
3643 RET_LABEL:;
3644 }
3645 /* method parser_prod#ASelfExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3646 void VIRTUAL_parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) {
3647 parser_prod__ASelfExpr__n_annotations_61d(self, p0);
3648 RET_LABEL:;
3649 }
3650 /* method parser_prod#ASelfExpr#visit_all for (self: ASelfExpr, Visitor) */
3651 void parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3652 val* var_v /* var v: Visitor */;
3653 val* var /* : nullable TKwself */;
3654 val* var1 /* : nullable AAnnotations */;
3655 val* var2 /* : null */;
3656 short int var3 /* : Bool */;
3657 val* var4 /* : nullable AAnnotations */;
3658 var_v = p0;
3659 var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on <self:ASelfExpr> */
3660 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3661 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3662 var2 = NULL;
3663 if (var1 == NULL) {
3664 var3 = 0; /* is null */
3665 } else {
3666 var3 = 1; /* arg is null and recv is not */
3667 }
3668 if (var3){
3669 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASelfExpr> */
3670 if (var4 == NULL) {
3671 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9060);
3672 exit(1);
3673 }
3674 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3675 } else {
3676 }
3677 RET_LABEL:;
3678 }
3679 /* method parser_prod#ASelfExpr#visit_all for (self: Object, Visitor) */
3680 void VIRTUAL_parser_prod__ASelfExpr__visit_all(val* self, val* p0) {
3681 parser_prod__ASelfExpr__visit_all(self, p0);
3682 RET_LABEL:;
3683 }
3684 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: AImplicitSelfExpr) */
3685 void parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3686 RET_LABEL:;
3687 }
3688 /* method parser_prod#AImplicitSelfExpr#empty_init for (self: Object) */
3689 void VIRTUAL_parser_prod__AImplicitSelfExpr__empty_init(val* self) {
3690 parser_prod__AImplicitSelfExpr__empty_init(self);
3691 RET_LABEL:;
3692 }
3693 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: AImplicitSelfExpr) */
3694 void parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3695 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImplicitSelfExpr__empty_init]))(self) /* empty_init on <self:AImplicitSelfExpr>*/;
3696 RET_LABEL:;
3697 }
3698 /* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: Object) */
3699 void VIRTUAL_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) {
3700 parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(self);
3701 RET_LABEL:;
3702 }
3703 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: AImplicitSelfExpr, ANode, nullable ANode) */
3704 void parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3705 val* var_old_child /* var old_child: ANode */;
3706 val* var_new_child /* var new_child: nullable ANode */;
3707 var_old_child = p0;
3708 var_new_child = p1;
3709 RET_LABEL:;
3710 }
3711 /* method parser_prod#AImplicitSelfExpr#replace_child for (self: Object, ANode, nullable ANode) */
3712 void VIRTUAL_parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) {
3713 parser_prod__AImplicitSelfExpr__replace_child(self, p0, p1);
3714 RET_LABEL:;
3715 }
3716 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: AImplicitSelfExpr, Visitor) */
3717 void parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3718 val* var_v /* var v: Visitor */;
3719 var_v = p0;
3720 RET_LABEL:;
3721 }
3722 /* method parser_prod#AImplicitSelfExpr#visit_all for (self: Object, Visitor) */
3723 void VIRTUAL_parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) {
3724 parser_prod__AImplicitSelfExpr__visit_all(self, p0);
3725 RET_LABEL:;
3726 }
3727 /* method parser_prod#ATrueExpr#empty_init for (self: ATrueExpr) */
3728 void parser_prod__ATrueExpr__empty_init(val* self) {
3729 RET_LABEL:;
3730 }
3731 /* method parser_prod#ATrueExpr#empty_init for (self: Object) */
3732 void VIRTUAL_parser_prod__ATrueExpr__empty_init(val* self) {
3733 parser_prod__ATrueExpr__empty_init(self);
3734 RET_LABEL:;
3735 }
3736 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: ATrueExpr, nullable TKwtrue, nullable AAnnotations) */
3737 void parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3738 val* var_n_kwtrue /* var n_kwtrue: nullable TKwtrue */;
3739 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3740 val* var /* : null */;
3741 short int var1 /* : Bool */;
3742 var_n_kwtrue = p0;
3743 var_n_annotations = p1;
3744 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATrueExpr__empty_init]))(self) /* empty_init on <self:ATrueExpr>*/;
3745 if (var_n_kwtrue == NULL) {
3746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9091);
3747 exit(1);
3748 }
3749 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_n_kwtrue; /* _n_kwtrue on <self:ATrueExpr> */
3750 if (var_n_kwtrue == NULL) {
3751 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9092);
3752 exit(1);
3753 } else {
3754 ((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>*/;
3755 }
3756 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ATrueExpr> */
3757 var = NULL;
3758 if (var_n_annotations == NULL) {
3759 var1 = 0; /* is null */
3760 } else {
3761 var1 = 1; /* arg is null and recv is not */
3762 }
3763 if (var1){
3764 ((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)>*/;
3765 } else {
3766 }
3767 RET_LABEL:;
3768 }
3769 /* method parser_prod#ATrueExpr#init_atrueexpr for (self: Object, nullable TKwtrue, nullable AAnnotations) */
3770 void VIRTUAL_parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) {
3771 parser_prod__ATrueExpr__init_atrueexpr(self, p0, p1);
3772 RET_LABEL:;
3773 }
3774 /* method parser_prod#ATrueExpr#replace_child for (self: ATrueExpr, ANode, nullable ANode) */
3775 void parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3776 val* var_old_child /* var old_child: ANode */;
3777 val* var_new_child /* var new_child: nullable ANode */;
3778 val* var /* : TKwtrue */;
3779 short int var1 /* : Bool */;
3780 val* var2 /* : null */;
3781 short int var3 /* : Bool */;
3782 short int var4 /* : Bool */;
3783 int cltype;
3784 int idtype;
3785 val* var5 /* : nullable AAnnotations */;
3786 short int var6 /* : Bool */;
3787 val* var7 /* : null */;
3788 short int var8 /* : Bool */;
3789 short int var9 /* : Bool */;
3790 int cltype10;
3791 int idtype11;
3792 val* var12 /* : null */;
3793 var_old_child = p0;
3794 var_new_child = p1;
3795 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3796 if (var == NULL) {
3797 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtrue", "src/parser/parser_prod.nit", 9101);
3798 exit(1);
3799 }
3800 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwtrue>*/;
3801 if (var1){
3802 var2 = NULL;
3803 if (var_new_child == NULL) {
3804 var3 = 0; /* is null */
3805 } else {
3806 var3 = 1; /* arg is null and recv is not */
3807 }
3808 if (var3){
3809 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3810 /* <var_new_child:nullable ANode(ANode)> isa TKwtrue */
3811 cltype = type_parser_nodes__TKwtrue.color;
3812 idtype = type_parser_nodes__TKwtrue.id;
3813 if(cltype >= var_new_child->type->table_size) {
3814 var4 = 0;
3815 } else {
3816 var4 = var_new_child->type->type_table[cltype] == idtype;
3817 }
3818 if (!var4) {
3819 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9104);
3820 exit(1);
3821 }
3822 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_new_child; /* _n_kwtrue on <self:ATrueExpr> */
3823 } else {
3824 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9107);
3825 exit(1);
3826 }
3827 goto RET_LABEL;
3828 } else {
3829 }
3830 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3831 if (var5 == NULL) {
3832 var6 = 0; /* <var_old_child:ANode> cannot be null */
3833 } else {
3834 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
3835 }
3836 if (var6){
3837 var7 = NULL;
3838 if (var_new_child == NULL) {
3839 var8 = 0; /* is null */
3840 } else {
3841 var8 = 1; /* arg is null and recv is not */
3842 }
3843 if (var8){
3844 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3845 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3846 cltype10 = type_parser_nodes__AAnnotations.color;
3847 idtype11 = type_parser_nodes__AAnnotations.id;
3848 if(cltype10 >= var_new_child->type->table_size) {
3849 var9 = 0;
3850 } else {
3851 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3852 }
3853 if (!var9) {
3854 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9114);
3855 exit(1);
3856 }
3857 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ATrueExpr> */
3858 } else {
3859 var12 = NULL;
3860 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ATrueExpr> */
3861 }
3862 goto RET_LABEL;
3863 } else {
3864 }
3865 RET_LABEL:;
3866 }
3867 /* method parser_prod#ATrueExpr#replace_child for (self: Object, ANode, nullable ANode) */
3868 void VIRTUAL_parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) {
3869 parser_prod__ATrueExpr__replace_child(self, p0, p1);
3870 RET_LABEL:;
3871 }
3872 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: ATrueExpr, TKwtrue) */
3873 void parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3874 val* var_node /* var node: TKwtrue */;
3875 var_node = p0;
3876 self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_node; /* _n_kwtrue on <self:ATrueExpr> */
3877 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtrue>*/;
3878 RET_LABEL:;
3879 }
3880 /* method parser_prod#ATrueExpr#n_kwtrue= for (self: Object, TKwtrue) */
3881 void VIRTUAL_parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) {
3882 parser_prod__ATrueExpr__n_kwtrue_61d(self, p0);
3883 RET_LABEL:;
3884 }
3885 /* method parser_prod#ATrueExpr#n_annotations= for (self: ATrueExpr, nullable AAnnotations) */
3886 void parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3887 val* var_node /* var node: nullable AAnnotations */;
3888 val* var /* : null */;
3889 short int var1 /* : Bool */;
3890 var_node = p0;
3891 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ATrueExpr> */
3892 var = NULL;
3893 if (var_node == NULL) {
3894 var1 = 0; /* is null */
3895 } else {
3896 var1 = 1; /* arg is null and recv is not */
3897 }
3898 if (var1){
3899 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3900 } else {
3901 }
3902 RET_LABEL:;
3903 }
3904 /* method parser_prod#ATrueExpr#n_annotations= for (self: Object, nullable AAnnotations) */
3905 void VIRTUAL_parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) {
3906 parser_prod__ATrueExpr__n_annotations_61d(self, p0);
3907 RET_LABEL:;
3908 }
3909 /* method parser_prod#ATrueExpr#visit_all for (self: ATrueExpr, Visitor) */
3910 void parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3911 val* var_v /* var v: Visitor */;
3912 val* var /* : TKwtrue */;
3913 val* var1 /* : nullable AAnnotations */;
3914 val* var2 /* : null */;
3915 short int var3 /* : Bool */;
3916 val* var4 /* : nullable AAnnotations */;
3917 var_v = p0;
3918 var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on <self:ATrueExpr> */
3919 if (var == NULL) {
3920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtrue", "src/parser/parser_prod.nit", 9139);
3921 exit(1);
3922 }
3923 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3924 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3925 var2 = NULL;
3926 if (var1 == NULL) {
3927 var3 = 0; /* is null */
3928 } else {
3929 var3 = 1; /* arg is null and recv is not */
3930 }
3931 if (var3){
3932 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ATrueExpr> */
3933 if (var4 == NULL) {
3934 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9141);
3935 exit(1);
3936 }
3937 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3938 } else {
3939 }
3940 RET_LABEL:;
3941 }
3942 /* method parser_prod#ATrueExpr#visit_all for (self: Object, Visitor) */
3943 void VIRTUAL_parser_prod__ATrueExpr__visit_all(val* self, val* p0) {
3944 parser_prod__ATrueExpr__visit_all(self, p0);
3945 RET_LABEL:;
3946 }
3947 /* method parser_prod#AFalseExpr#empty_init for (self: AFalseExpr) */
3948 void parser_prod__AFalseExpr__empty_init(val* self) {
3949 RET_LABEL:;
3950 }
3951 /* method parser_prod#AFalseExpr#empty_init for (self: Object) */
3952 void VIRTUAL_parser_prod__AFalseExpr__empty_init(val* self) {
3953 parser_prod__AFalseExpr__empty_init(self);
3954 RET_LABEL:;
3955 }
3956 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: AFalseExpr, nullable TKwfalse, nullable AAnnotations) */
3957 void parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
3958 val* var_n_kwfalse /* var n_kwfalse: nullable TKwfalse */;
3959 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3960 val* var /* : null */;
3961 short int var1 /* : Bool */;
3962 var_n_kwfalse = p0;
3963 var_n_annotations = p1;
3964 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFalseExpr__empty_init]))(self) /* empty_init on <self:AFalseExpr>*/;
3965 if (var_n_kwfalse == NULL) {
3966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9154);
3967 exit(1);
3968 }
3969 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_n_kwfalse; /* _n_kwfalse on <self:AFalseExpr> */
3970 if (var_n_kwfalse == NULL) {
3971 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9155);
3972 exit(1);
3973 } else {
3974 ((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>*/;
3975 }
3976 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFalseExpr> */
3977 var = NULL;
3978 if (var_n_annotations == NULL) {
3979 var1 = 0; /* is null */
3980 } else {
3981 var1 = 1; /* arg is null and recv is not */
3982 }
3983 if (var1){
3984 ((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)>*/;
3985 } else {
3986 }
3987 RET_LABEL:;
3988 }
3989 /* method parser_prod#AFalseExpr#init_afalseexpr for (self: Object, nullable TKwfalse, nullable AAnnotations) */
3990 void VIRTUAL_parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) {
3991 parser_prod__AFalseExpr__init_afalseexpr(self, p0, p1);
3992 RET_LABEL:;
3993 }
3994 /* method parser_prod#AFalseExpr#replace_child for (self: AFalseExpr, ANode, nullable ANode) */
3995 void parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
3996 val* var_old_child /* var old_child: ANode */;
3997 val* var_new_child /* var new_child: nullable ANode */;
3998 val* var /* : TKwfalse */;
3999 short int var1 /* : Bool */;
4000 val* var2 /* : null */;
4001 short int var3 /* : Bool */;
4002 short int var4 /* : Bool */;
4003 int cltype;
4004 int idtype;
4005 val* var5 /* : nullable AAnnotations */;
4006 short int var6 /* : Bool */;
4007 val* var7 /* : null */;
4008 short int var8 /* : Bool */;
4009 short int var9 /* : Bool */;
4010 int cltype10;
4011 int idtype11;
4012 val* var12 /* : null */;
4013 var_old_child = p0;
4014 var_new_child = p1;
4015 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4016 if (var == NULL) {
4017 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfalse", "src/parser/parser_prod.nit", 9164);
4018 exit(1);
4019 }
4020 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfalse>*/;
4021 if (var1){
4022 var2 = NULL;
4023 if (var_new_child == NULL) {
4024 var3 = 0; /* is null */
4025 } else {
4026 var3 = 1; /* arg is null and recv is not */
4027 }
4028 if (var3){
4029 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4030 /* <var_new_child:nullable ANode(ANode)> isa TKwfalse */
4031 cltype = type_parser_nodes__TKwfalse.color;
4032 idtype = type_parser_nodes__TKwfalse.id;
4033 if(cltype >= var_new_child->type->table_size) {
4034 var4 = 0;
4035 } else {
4036 var4 = var_new_child->type->type_table[cltype] == idtype;
4037 }
4038 if (!var4) {
4039 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9167);
4040 exit(1);
4041 }
4042 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_new_child; /* _n_kwfalse on <self:AFalseExpr> */
4043 } else {
4044 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9170);
4045 exit(1);
4046 }
4047 goto RET_LABEL;
4048 } else {
4049 }
4050 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4051 if (var5 == NULL) {
4052 var6 = 0; /* <var_old_child:ANode> cannot be null */
4053 } else {
4054 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4055 }
4056 if (var6){
4057 var7 = NULL;
4058 if (var_new_child == NULL) {
4059 var8 = 0; /* is null */
4060 } else {
4061 var8 = 1; /* arg is null and recv is not */
4062 }
4063 if (var8){
4064 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4065 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4066 cltype10 = type_parser_nodes__AAnnotations.color;
4067 idtype11 = type_parser_nodes__AAnnotations.id;
4068 if(cltype10 >= var_new_child->type->table_size) {
4069 var9 = 0;
4070 } else {
4071 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4072 }
4073 if (!var9) {
4074 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9177);
4075 exit(1);
4076 }
4077 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFalseExpr> */
4078 } else {
4079 var12 = NULL;
4080 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFalseExpr> */
4081 }
4082 goto RET_LABEL;
4083 } else {
4084 }
4085 RET_LABEL:;
4086 }
4087 /* method parser_prod#AFalseExpr#replace_child for (self: Object, ANode, nullable ANode) */
4088 void VIRTUAL_parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) {
4089 parser_prod__AFalseExpr__replace_child(self, p0, p1);
4090 RET_LABEL:;
4091 }
4092 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: AFalseExpr, TKwfalse) */
4093 void parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4094 val* var_node /* var node: TKwfalse */;
4095 var_node = p0;
4096 self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_node; /* _n_kwfalse on <self:AFalseExpr> */
4097 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfalse>*/;
4098 RET_LABEL:;
4099 }
4100 /* method parser_prod#AFalseExpr#n_kwfalse= for (self: Object, TKwfalse) */
4101 void VIRTUAL_parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) {
4102 parser_prod__AFalseExpr__n_kwfalse_61d(self, p0);
4103 RET_LABEL:;
4104 }
4105 /* method parser_prod#AFalseExpr#n_annotations= for (self: AFalseExpr, nullable AAnnotations) */
4106 void parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4107 val* var_node /* var node: nullable AAnnotations */;
4108 val* var /* : null */;
4109 short int var1 /* : Bool */;
4110 var_node = p0;
4111 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFalseExpr> */
4112 var = NULL;
4113 if (var_node == NULL) {
4114 var1 = 0; /* is null */
4115 } else {
4116 var1 = 1; /* arg is null and recv is not */
4117 }
4118 if (var1){
4119 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4120 } else {
4121 }
4122 RET_LABEL:;
4123 }
4124 /* method parser_prod#AFalseExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4125 void VIRTUAL_parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) {
4126 parser_prod__AFalseExpr__n_annotations_61d(self, p0);
4127 RET_LABEL:;
4128 }
4129 /* method parser_prod#AFalseExpr#visit_all for (self: AFalseExpr, Visitor) */
4130 void parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4131 val* var_v /* var v: Visitor */;
4132 val* var /* : TKwfalse */;
4133 val* var1 /* : nullable AAnnotations */;
4134 val* var2 /* : null */;
4135 short int var3 /* : Bool */;
4136 val* var4 /* : nullable AAnnotations */;
4137 var_v = p0;
4138 var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on <self:AFalseExpr> */
4139 if (var == NULL) {
4140 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfalse", "src/parser/parser_prod.nit", 9202);
4141 exit(1);
4142 }
4143 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4144 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4145 var2 = NULL;
4146 if (var1 == NULL) {
4147 var3 = 0; /* is null */
4148 } else {
4149 var3 = 1; /* arg is null and recv is not */
4150 }
4151 if (var3){
4152 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFalseExpr> */
4153 if (var4 == NULL) {
4154 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9204);
4155 exit(1);
4156 }
4157 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4158 } else {
4159 }
4160 RET_LABEL:;
4161 }
4162 /* method parser_prod#AFalseExpr#visit_all for (self: Object, Visitor) */
4163 void VIRTUAL_parser_prod__AFalseExpr__visit_all(val* self, val* p0) {
4164 parser_prod__AFalseExpr__visit_all(self, p0);
4165 RET_LABEL:;
4166 }
4167 /* method parser_prod#ANullExpr#empty_init for (self: ANullExpr) */
4168 void parser_prod__ANullExpr__empty_init(val* self) {
4169 RET_LABEL:;
4170 }
4171 /* method parser_prod#ANullExpr#empty_init for (self: Object) */
4172 void VIRTUAL_parser_prod__ANullExpr__empty_init(val* self) {
4173 parser_prod__ANullExpr__empty_init(self);
4174 RET_LABEL:;
4175 }
4176 /* method parser_prod#ANullExpr#init_anullexpr for (self: ANullExpr, nullable TKwnull, nullable AAnnotations) */
4177 void parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4178 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
4179 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4180 val* var /* : null */;
4181 short int var1 /* : Bool */;
4182 var_n_kwnull = p0;
4183 var_n_annotations = p1;
4184 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANullExpr__empty_init]))(self) /* empty_init on <self:ANullExpr>*/;
4185 if (var_n_kwnull == NULL) {
4186 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9217);
4187 exit(1);
4188 }
4189 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:ANullExpr> */
4190 if (var_n_kwnull == NULL) {
4191 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9218);
4192 exit(1);
4193 } else {
4194 ((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>*/;
4195 }
4196 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ANullExpr> */
4197 var = NULL;
4198 if (var_n_annotations == NULL) {
4199 var1 = 0; /* is null */
4200 } else {
4201 var1 = 1; /* arg is null and recv is not */
4202 }
4203 if (var1){
4204 ((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)>*/;
4205 } else {
4206 }
4207 RET_LABEL:;
4208 }
4209 /* method parser_prod#ANullExpr#init_anullexpr for (self: Object, nullable TKwnull, nullable AAnnotations) */
4210 void VIRTUAL_parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) {
4211 parser_prod__ANullExpr__init_anullexpr(self, p0, p1);
4212 RET_LABEL:;
4213 }
4214 /* method parser_prod#ANullExpr#replace_child for (self: ANullExpr, ANode, nullable ANode) */
4215 void parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4216 val* var_old_child /* var old_child: ANode */;
4217 val* var_new_child /* var new_child: nullable ANode */;
4218 val* var /* : TKwnull */;
4219 short int var1 /* : Bool */;
4220 val* var2 /* : null */;
4221 short int var3 /* : Bool */;
4222 short int var4 /* : Bool */;
4223 int cltype;
4224 int idtype;
4225 val* var5 /* : nullable AAnnotations */;
4226 short int var6 /* : Bool */;
4227 val* var7 /* : null */;
4228 short int var8 /* : Bool */;
4229 short int var9 /* : Bool */;
4230 int cltype10;
4231 int idtype11;
4232 val* var12 /* : null */;
4233 var_old_child = p0;
4234 var_new_child = p1;
4235 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4236 if (var == NULL) {
4237 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9227);
4238 exit(1);
4239 }
4240 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnull>*/;
4241 if (var1){
4242 var2 = NULL;
4243 if (var_new_child == NULL) {
4244 var3 = 0; /* is null */
4245 } else {
4246 var3 = 1; /* arg is null and recv is not */
4247 }
4248 if (var3){
4249 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4250 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
4251 cltype = type_parser_nodes__TKwnull.color;
4252 idtype = type_parser_nodes__TKwnull.id;
4253 if(cltype >= var_new_child->type->table_size) {
4254 var4 = 0;
4255 } else {
4256 var4 = var_new_child->type->type_table[cltype] == idtype;
4257 }
4258 if (!var4) {
4259 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9230);
4260 exit(1);
4261 }
4262 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:ANullExpr> */
4263 } else {
4264 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9233);
4265 exit(1);
4266 }
4267 goto RET_LABEL;
4268 } else {
4269 }
4270 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4271 if (var5 == NULL) {
4272 var6 = 0; /* <var_old_child:ANode> cannot be null */
4273 } else {
4274 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4275 }
4276 if (var6){
4277 var7 = NULL;
4278 if (var_new_child == NULL) {
4279 var8 = 0; /* is null */
4280 } else {
4281 var8 = 1; /* arg is null and recv is not */
4282 }
4283 if (var8){
4284 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4285 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4286 cltype10 = type_parser_nodes__AAnnotations.color;
4287 idtype11 = type_parser_nodes__AAnnotations.id;
4288 if(cltype10 >= var_new_child->type->table_size) {
4289 var9 = 0;
4290 } else {
4291 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4292 }
4293 if (!var9) {
4294 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9240);
4295 exit(1);
4296 }
4297 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ANullExpr> */
4298 } else {
4299 var12 = NULL;
4300 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ANullExpr> */
4301 }
4302 goto RET_LABEL;
4303 } else {
4304 }
4305 RET_LABEL:;
4306 }
4307 /* method parser_prod#ANullExpr#replace_child for (self: Object, ANode, nullable ANode) */
4308 void VIRTUAL_parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) {
4309 parser_prod__ANullExpr__replace_child(self, p0, p1);
4310 RET_LABEL:;
4311 }
4312 /* method parser_prod#ANullExpr#n_kwnull= for (self: ANullExpr, TKwnull) */
4313 void parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4314 val* var_node /* var node: TKwnull */;
4315 var_node = p0;
4316 self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:ANullExpr> */
4317 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
4318 RET_LABEL:;
4319 }
4320 /* method parser_prod#ANullExpr#n_kwnull= for (self: Object, TKwnull) */
4321 void VIRTUAL_parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) {
4322 parser_prod__ANullExpr__n_kwnull_61d(self, p0);
4323 RET_LABEL:;
4324 }
4325 /* method parser_prod#ANullExpr#n_annotations= for (self: ANullExpr, nullable AAnnotations) */
4326 void parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4327 val* var_node /* var node: nullable AAnnotations */;
4328 val* var /* : null */;
4329 short int var1 /* : Bool */;
4330 var_node = p0;
4331 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ANullExpr> */
4332 var = NULL;
4333 if (var_node == NULL) {
4334 var1 = 0; /* is null */
4335 } else {
4336 var1 = 1; /* arg is null and recv is not */
4337 }
4338 if (var1){
4339 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4340 } else {
4341 }
4342 RET_LABEL:;
4343 }
4344 /* method parser_prod#ANullExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4345 void VIRTUAL_parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) {
4346 parser_prod__ANullExpr__n_annotations_61d(self, p0);
4347 RET_LABEL:;
4348 }
4349 /* method parser_prod#ANullExpr#visit_all for (self: ANullExpr, Visitor) */
4350 void parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4351 val* var_v /* var v: Visitor */;
4352 val* var /* : TKwnull */;
4353 val* var1 /* : nullable AAnnotations */;
4354 val* var2 /* : null */;
4355 short int var3 /* : Bool */;
4356 val* var4 /* : nullable AAnnotations */;
4357 var_v = p0;
4358 var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on <self:ANullExpr> */
4359 if (var == NULL) {
4360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9265);
4361 exit(1);
4362 }
4363 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4364 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4365 var2 = NULL;
4366 if (var1 == NULL) {
4367 var3 = 0; /* is null */
4368 } else {
4369 var3 = 1; /* arg is null and recv is not */
4370 }
4371 if (var3){
4372 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ANullExpr> */
4373 if (var4 == NULL) {
4374 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9267);
4375 exit(1);
4376 }
4377 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4378 } else {
4379 }
4380 RET_LABEL:;
4381 }
4382 /* method parser_prod#ANullExpr#visit_all for (self: Object, Visitor) */
4383 void VIRTUAL_parser_prod__ANullExpr__visit_all(val* self, val* p0) {
4384 parser_prod__ANullExpr__visit_all(self, p0);
4385 RET_LABEL:;
4386 }
4387 /* method parser_prod#AIntExpr#empty_init for (self: AIntExpr) */
4388 void parser_prod__AIntExpr__empty_init(val* self) {
4389 RET_LABEL:;
4390 }
4391 /* method parser_prod#AIntExpr#empty_init for (self: Object) */
4392 void VIRTUAL_parser_prod__AIntExpr__empty_init(val* self) {
4393 parser_prod__AIntExpr__empty_init(self);
4394 RET_LABEL:;
4395 }
4396 /* method parser_prod#AIntExpr#init_aintexpr for (self: AIntExpr, nullable TNumber, nullable AAnnotations) */
4397 void parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4398 val* var_n_number /* var n_number: nullable TNumber */;
4399 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4400 val* var /* : null */;
4401 short int var1 /* : Bool */;
4402 var_n_number = p0;
4403 var_n_annotations = p1;
4404 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntExpr__empty_init]))(self) /* empty_init on <self:AIntExpr>*/;
4405 if (var_n_number == NULL) {
4406 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9280);
4407 exit(1);
4408 }
4409 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_n_number; /* _n_number on <self:AIntExpr> */
4410 if (var_n_number == NULL) {
4411 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9281);
4412 exit(1);
4413 } else {
4414 ((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>*/;
4415 }
4416 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AIntExpr> */
4417 var = NULL;
4418 if (var_n_annotations == NULL) {
4419 var1 = 0; /* is null */
4420 } else {
4421 var1 = 1; /* arg is null and recv is not */
4422 }
4423 if (var1){
4424 ((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)>*/;
4425 } else {
4426 }
4427 RET_LABEL:;
4428 }
4429 /* method parser_prod#AIntExpr#init_aintexpr for (self: Object, nullable TNumber, nullable AAnnotations) */
4430 void VIRTUAL_parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) {
4431 parser_prod__AIntExpr__init_aintexpr(self, p0, p1);
4432 RET_LABEL:;
4433 }
4434 /* method parser_prod#AIntExpr#replace_child for (self: AIntExpr, ANode, nullable ANode) */
4435 void parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4436 val* var_old_child /* var old_child: ANode */;
4437 val* var_new_child /* var new_child: nullable ANode */;
4438 val* var /* : TNumber */;
4439 short int var1 /* : Bool */;
4440 val* var2 /* : null */;
4441 short int var3 /* : Bool */;
4442 short int var4 /* : Bool */;
4443 int cltype;
4444 int idtype;
4445 val* var5 /* : nullable AAnnotations */;
4446 short int var6 /* : Bool */;
4447 val* var7 /* : null */;
4448 short int var8 /* : Bool */;
4449 short int var9 /* : Bool */;
4450 int cltype10;
4451 int idtype11;
4452 val* var12 /* : null */;
4453 var_old_child = p0;
4454 var_new_child = p1;
4455 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4456 if (var == NULL) {
4457 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_number", "src/parser/parser_prod.nit", 9290);
4458 exit(1);
4459 }
4460 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TNumber>*/;
4461 if (var1){
4462 var2 = NULL;
4463 if (var_new_child == NULL) {
4464 var3 = 0; /* is null */
4465 } else {
4466 var3 = 1; /* arg is null and recv is not */
4467 }
4468 if (var3){
4469 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4470 /* <var_new_child:nullable ANode(ANode)> isa TNumber */
4471 cltype = type_parser_nodes__TNumber.color;
4472 idtype = type_parser_nodes__TNumber.id;
4473 if(cltype >= var_new_child->type->table_size) {
4474 var4 = 0;
4475 } else {
4476 var4 = var_new_child->type->type_table[cltype] == idtype;
4477 }
4478 if (!var4) {
4479 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9293);
4480 exit(1);
4481 }
4482 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_new_child; /* _n_number on <self:AIntExpr> */
4483 } else {
4484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9296);
4485 exit(1);
4486 }
4487 goto RET_LABEL;
4488 } else {
4489 }
4490 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4491 if (var5 == NULL) {
4492 var6 = 0; /* <var_old_child:ANode> cannot be null */
4493 } else {
4494 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4495 }
4496 if (var6){
4497 var7 = NULL;
4498 if (var_new_child == NULL) {
4499 var8 = 0; /* is null */
4500 } else {
4501 var8 = 1; /* arg is null and recv is not */
4502 }
4503 if (var8){
4504 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4505 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4506 cltype10 = type_parser_nodes__AAnnotations.color;
4507 idtype11 = type_parser_nodes__AAnnotations.id;
4508 if(cltype10 >= var_new_child->type->table_size) {
4509 var9 = 0;
4510 } else {
4511 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4512 }
4513 if (!var9) {
4514 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9303);
4515 exit(1);
4516 }
4517 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AIntExpr> */
4518 } else {
4519 var12 = NULL;
4520 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AIntExpr> */
4521 }
4522 goto RET_LABEL;
4523 } else {
4524 }
4525 RET_LABEL:;
4526 }
4527 /* method parser_prod#AIntExpr#replace_child for (self: Object, ANode, nullable ANode) */
4528 void VIRTUAL_parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) {
4529 parser_prod__AIntExpr__replace_child(self, p0, p1);
4530 RET_LABEL:;
4531 }
4532 /* method parser_prod#AIntExpr#n_number= for (self: AIntExpr, TNumber) */
4533 void parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4534 val* var_node /* var node: TNumber */;
4535 var_node = p0;
4536 self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_node; /* _n_number on <self:AIntExpr> */
4537 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TNumber>*/;
4538 RET_LABEL:;
4539 }
4540 /* method parser_prod#AIntExpr#n_number= for (self: Object, TNumber) */
4541 void VIRTUAL_parser_prod__AIntExpr__n_number_61d(val* self, val* p0) {
4542 parser_prod__AIntExpr__n_number_61d(self, p0);
4543 RET_LABEL:;
4544 }
4545 /* method parser_prod#AIntExpr#n_annotations= for (self: AIntExpr, nullable AAnnotations) */
4546 void parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4547 val* var_node /* var node: nullable AAnnotations */;
4548 val* var /* : null */;
4549 short int var1 /* : Bool */;
4550 var_node = p0;
4551 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AIntExpr> */
4552 var = NULL;
4553 if (var_node == NULL) {
4554 var1 = 0; /* is null */
4555 } else {
4556 var1 = 1; /* arg is null and recv is not */
4557 }
4558 if (var1){
4559 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4560 } else {
4561 }
4562 RET_LABEL:;
4563 }
4564 /* method parser_prod#AIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4565 void VIRTUAL_parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) {
4566 parser_prod__AIntExpr__n_annotations_61d(self, p0);
4567 RET_LABEL:;
4568 }
4569 /* method parser_prod#AIntExpr#visit_all for (self: AIntExpr, Visitor) */
4570 void parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4571 val* var_v /* var v: Visitor */;
4572 val* var /* : TNumber */;
4573 val* var1 /* : nullable AAnnotations */;
4574 val* var2 /* : null */;
4575 short int var3 /* : Bool */;
4576 val* var4 /* : nullable AAnnotations */;
4577 var_v = p0;
4578 var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on <self:AIntExpr> */
4579 if (var == NULL) {
4580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_number", "src/parser/parser_prod.nit", 9328);
4581 exit(1);
4582 }
4583 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4584 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4585 var2 = NULL;
4586 if (var1 == NULL) {
4587 var3 = 0; /* is null */
4588 } else {
4589 var3 = 1; /* arg is null and recv is not */
4590 }
4591 if (var3){
4592 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AIntExpr> */
4593 if (var4 == NULL) {
4594 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9330);
4595 exit(1);
4596 }
4597 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4598 } else {
4599 }
4600 RET_LABEL:;
4601 }
4602 /* method parser_prod#AIntExpr#visit_all for (self: Object, Visitor) */
4603 void VIRTUAL_parser_prod__AIntExpr__visit_all(val* self, val* p0) {
4604 parser_prod__AIntExpr__visit_all(self, p0);
4605 RET_LABEL:;
4606 }
4607 /* method parser_prod#AFloatExpr#empty_init for (self: AFloatExpr) */
4608 void parser_prod__AFloatExpr__empty_init(val* self) {
4609 RET_LABEL:;
4610 }
4611 /* method parser_prod#AFloatExpr#empty_init for (self: Object) */
4612 void VIRTUAL_parser_prod__AFloatExpr__empty_init(val* self) {
4613 parser_prod__AFloatExpr__empty_init(self);
4614 RET_LABEL:;
4615 }
4616 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: AFloatExpr, nullable TFloat, nullable AAnnotations) */
4617 void parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4618 val* var_n_float /* var n_float: nullable TFloat */;
4619 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4620 val* var /* : null */;
4621 short int var1 /* : Bool */;
4622 var_n_float = p0;
4623 var_n_annotations = p1;
4624 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFloatExpr__empty_init]))(self) /* empty_init on <self:AFloatExpr>*/;
4625 if (var_n_float == NULL) {
4626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9343);
4627 exit(1);
4628 }
4629 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_n_float; /* _n_float on <self:AFloatExpr> */
4630 if (var_n_float == NULL) {
4631 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9344);
4632 exit(1);
4633 } else {
4634 ((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>*/;
4635 }
4636 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFloatExpr> */
4637 var = NULL;
4638 if (var_n_annotations == NULL) {
4639 var1 = 0; /* is null */
4640 } else {
4641 var1 = 1; /* arg is null and recv is not */
4642 }
4643 if (var1){
4644 ((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)>*/;
4645 } else {
4646 }
4647 RET_LABEL:;
4648 }
4649 /* method parser_prod#AFloatExpr#init_afloatexpr for (self: Object, nullable TFloat, nullable AAnnotations) */
4650 void VIRTUAL_parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) {
4651 parser_prod__AFloatExpr__init_afloatexpr(self, p0, p1);
4652 RET_LABEL:;
4653 }
4654 /* method parser_prod#AFloatExpr#replace_child for (self: AFloatExpr, ANode, nullable ANode) */
4655 void parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4656 val* var_old_child /* var old_child: ANode */;
4657 val* var_new_child /* var new_child: nullable ANode */;
4658 val* var /* : TFloat */;
4659 short int var1 /* : Bool */;
4660 val* var2 /* : null */;
4661 short int var3 /* : Bool */;
4662 short int var4 /* : Bool */;
4663 int cltype;
4664 int idtype;
4665 val* var5 /* : nullable AAnnotations */;
4666 short int var6 /* : Bool */;
4667 val* var7 /* : null */;
4668 short int var8 /* : Bool */;
4669 short int var9 /* : Bool */;
4670 int cltype10;
4671 int idtype11;
4672 val* var12 /* : null */;
4673 var_old_child = p0;
4674 var_new_child = p1;
4675 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4676 if (var == NULL) {
4677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_float", "src/parser/parser_prod.nit", 9353);
4678 exit(1);
4679 }
4680 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TFloat>*/;
4681 if (var1){
4682 var2 = NULL;
4683 if (var_new_child == NULL) {
4684 var3 = 0; /* is null */
4685 } else {
4686 var3 = 1; /* arg is null and recv is not */
4687 }
4688 if (var3){
4689 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4690 /* <var_new_child:nullable ANode(ANode)> isa TFloat */
4691 cltype = type_parser_nodes__TFloat.color;
4692 idtype = type_parser_nodes__TFloat.id;
4693 if(cltype >= var_new_child->type->table_size) {
4694 var4 = 0;
4695 } else {
4696 var4 = var_new_child->type->type_table[cltype] == idtype;
4697 }
4698 if (!var4) {
4699 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9356);
4700 exit(1);
4701 }
4702 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_new_child; /* _n_float on <self:AFloatExpr> */
4703 } else {
4704 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9359);
4705 exit(1);
4706 }
4707 goto RET_LABEL;
4708 } else {
4709 }
4710 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4711 if (var5 == NULL) {
4712 var6 = 0; /* <var_old_child:ANode> cannot be null */
4713 } else {
4714 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4715 }
4716 if (var6){
4717 var7 = NULL;
4718 if (var_new_child == NULL) {
4719 var8 = 0; /* is null */
4720 } else {
4721 var8 = 1; /* arg is null and recv is not */
4722 }
4723 if (var8){
4724 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4725 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4726 cltype10 = type_parser_nodes__AAnnotations.color;
4727 idtype11 = type_parser_nodes__AAnnotations.id;
4728 if(cltype10 >= var_new_child->type->table_size) {
4729 var9 = 0;
4730 } else {
4731 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4732 }
4733 if (!var9) {
4734 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9366);
4735 exit(1);
4736 }
4737 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFloatExpr> */
4738 } else {
4739 var12 = NULL;
4740 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AFloatExpr> */
4741 }
4742 goto RET_LABEL;
4743 } else {
4744 }
4745 RET_LABEL:;
4746 }
4747 /* method parser_prod#AFloatExpr#replace_child for (self: Object, ANode, nullable ANode) */
4748 void VIRTUAL_parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) {
4749 parser_prod__AFloatExpr__replace_child(self, p0, p1);
4750 RET_LABEL:;
4751 }
4752 /* method parser_prod#AFloatExpr#n_float= for (self: AFloatExpr, TFloat) */
4753 void parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4754 val* var_node /* var node: TFloat */;
4755 var_node = p0;
4756 self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_node; /* _n_float on <self:AFloatExpr> */
4757 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TFloat>*/;
4758 RET_LABEL:;
4759 }
4760 /* method parser_prod#AFloatExpr#n_float= for (self: Object, TFloat) */
4761 void VIRTUAL_parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) {
4762 parser_prod__AFloatExpr__n_float_61d(self, p0);
4763 RET_LABEL:;
4764 }
4765 /* method parser_prod#AFloatExpr#n_annotations= for (self: AFloatExpr, nullable AAnnotations) */
4766 void parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4767 val* var_node /* var node: nullable AAnnotations */;
4768 val* var /* : null */;
4769 short int var1 /* : Bool */;
4770 var_node = p0;
4771 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFloatExpr> */
4772 var = NULL;
4773 if (var_node == NULL) {
4774 var1 = 0; /* is null */
4775 } else {
4776 var1 = 1; /* arg is null and recv is not */
4777 }
4778 if (var1){
4779 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4780 } else {
4781 }
4782 RET_LABEL:;
4783 }
4784 /* method parser_prod#AFloatExpr#n_annotations= for (self: Object, nullable AAnnotations) */
4785 void VIRTUAL_parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) {
4786 parser_prod__AFloatExpr__n_annotations_61d(self, p0);
4787 RET_LABEL:;
4788 }
4789 /* method parser_prod#AFloatExpr#visit_all for (self: AFloatExpr, Visitor) */
4790 void parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4791 val* var_v /* var v: Visitor */;
4792 val* var /* : TFloat */;
4793 val* var1 /* : nullable AAnnotations */;
4794 val* var2 /* : null */;
4795 short int var3 /* : Bool */;
4796 val* var4 /* : nullable AAnnotations */;
4797 var_v = p0;
4798 var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
4799 if (var == NULL) {
4800 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_float", "src/parser/parser_prod.nit", 9391);
4801 exit(1);
4802 }
4803 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4804 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4805 var2 = NULL;
4806 if (var1 == NULL) {
4807 var3 = 0; /* is null */
4808 } else {
4809 var3 = 1; /* arg is null and recv is not */
4810 }
4811 if (var3){
4812 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFloatExpr> */
4813 if (var4 == NULL) {
4814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9393);
4815 exit(1);
4816 }
4817 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4818 } else {
4819 }
4820 RET_LABEL:;
4821 }
4822 /* method parser_prod#AFloatExpr#visit_all for (self: Object, Visitor) */
4823 void VIRTUAL_parser_prod__AFloatExpr__visit_all(val* self, val* p0) {
4824 parser_prod__AFloatExpr__visit_all(self, p0);
4825 RET_LABEL:;
4826 }
4827 /* method parser_prod#ACharExpr#empty_init for (self: ACharExpr) */
4828 void parser_prod__ACharExpr__empty_init(val* self) {
4829 RET_LABEL:;
4830 }
4831 /* method parser_prod#ACharExpr#empty_init for (self: Object) */
4832 void VIRTUAL_parser_prod__ACharExpr__empty_init(val* self) {
4833 parser_prod__ACharExpr__empty_init(self);
4834 RET_LABEL:;
4835 }
4836 /* method parser_prod#ACharExpr#init_acharexpr for (self: ACharExpr, nullable TChar, nullable AAnnotations) */
4837 void parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4838 val* var_n_char /* var n_char: nullable TChar */;
4839 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4840 val* var /* : null */;
4841 short int var1 /* : Bool */;
4842 var_n_char = p0;
4843 var_n_annotations = p1;
4844 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACharExpr__empty_init]))(self) /* empty_init on <self:ACharExpr>*/;
4845 if (var_n_char == NULL) {
4846 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9406);
4847 exit(1);
4848 }
4849 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_n_char; /* _n_char on <self:ACharExpr> */
4850 if (var_n_char == NULL) {
4851 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9407);
4852 exit(1);
4853 } else {
4854 ((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>*/;
4855 }
4856 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACharExpr> */
4857 var = NULL;
4858 if (var_n_annotations == NULL) {
4859 var1 = 0; /* is null */
4860 } else {
4861 var1 = 1; /* arg is null and recv is not */
4862 }
4863 if (var1){
4864 ((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)>*/;
4865 } else {
4866 }
4867 RET_LABEL:;
4868 }
4869 /* method parser_prod#ACharExpr#init_acharexpr for (self: Object, nullable TChar, nullable AAnnotations) */
4870 void VIRTUAL_parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) {
4871 parser_prod__ACharExpr__init_acharexpr(self, p0, p1);
4872 RET_LABEL:;
4873 }
4874 /* method parser_prod#ACharExpr#replace_child for (self: ACharExpr, ANode, nullable ANode) */
4875 void parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
4876 val* var_old_child /* var old_child: ANode */;
4877 val* var_new_child /* var new_child: nullable ANode */;
4878 val* var /* : TChar */;
4879 short int var1 /* : Bool */;
4880 val* var2 /* : null */;
4881 short int var3 /* : Bool */;
4882 short int var4 /* : Bool */;
4883 int cltype;
4884 int idtype;
4885 val* var5 /* : nullable AAnnotations */;
4886 short int var6 /* : Bool */;
4887 val* var7 /* : null */;
4888 short int var8 /* : Bool */;
4889 short int var9 /* : Bool */;
4890 int cltype10;
4891 int idtype11;
4892 val* var12 /* : null */;
4893 var_old_child = p0;
4894 var_new_child = p1;
4895 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
4896 if (var == NULL) {
4897 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_char", "src/parser/parser_prod.nit", 9416);
4898 exit(1);
4899 }
4900 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TChar>*/;
4901 if (var1){
4902 var2 = NULL;
4903 if (var_new_child == NULL) {
4904 var3 = 0; /* is null */
4905 } else {
4906 var3 = 1; /* arg is null and recv is not */
4907 }
4908 if (var3){
4909 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4910 /* <var_new_child:nullable ANode(ANode)> isa TChar */
4911 cltype = type_parser_nodes__TChar.color;
4912 idtype = type_parser_nodes__TChar.id;
4913 if(cltype >= var_new_child->type->table_size) {
4914 var4 = 0;
4915 } else {
4916 var4 = var_new_child->type->type_table[cltype] == idtype;
4917 }
4918 if (!var4) {
4919 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9419);
4920 exit(1);
4921 }
4922 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_new_child; /* _n_char on <self:ACharExpr> */
4923 } else {
4924 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9422);
4925 exit(1);
4926 }
4927 goto RET_LABEL;
4928 } else {
4929 }
4930 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
4931 if (var5 == NULL) {
4932 var6 = 0; /* <var_old_child:ANode> cannot be null */
4933 } else {
4934 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
4935 }
4936 if (var6){
4937 var7 = NULL;
4938 if (var_new_child == NULL) {
4939 var8 = 0; /* is null */
4940 } else {
4941 var8 = 1; /* arg is null and recv is not */
4942 }
4943 if (var8){
4944 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4945 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4946 cltype10 = type_parser_nodes__AAnnotations.color;
4947 idtype11 = type_parser_nodes__AAnnotations.id;
4948 if(cltype10 >= var_new_child->type->table_size) {
4949 var9 = 0;
4950 } else {
4951 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4952 }
4953 if (!var9) {
4954 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9429);
4955 exit(1);
4956 }
4957 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ACharExpr> */
4958 } else {
4959 var12 = NULL;
4960 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:ACharExpr> */
4961 }
4962 goto RET_LABEL;
4963 } else {
4964 }
4965 RET_LABEL:;
4966 }
4967 /* method parser_prod#ACharExpr#replace_child for (self: Object, ANode, nullable ANode) */
4968 void VIRTUAL_parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) {
4969 parser_prod__ACharExpr__replace_child(self, p0, p1);
4970 RET_LABEL:;
4971 }
4972 /* method parser_prod#ACharExpr#n_char= for (self: ACharExpr, TChar) */
4973 void parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
4974 val* var_node /* var node: TChar */;
4975 var_node = p0;
4976 self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_node; /* _n_char on <self:ACharExpr> */
4977 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TChar>*/;
4978 RET_LABEL:;
4979 }
4980 /* method parser_prod#ACharExpr#n_char= for (self: Object, TChar) */
4981 void VIRTUAL_parser_prod__ACharExpr__n_char_61d(val* self, val* p0) {
4982 parser_prod__ACharExpr__n_char_61d(self, p0);
4983 RET_LABEL:;
4984 }
4985 /* method parser_prod#ACharExpr#n_annotations= for (self: ACharExpr, nullable AAnnotations) */
4986 void parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
4987 val* var_node /* var node: nullable AAnnotations */;
4988 val* var /* : null */;
4989 short int var1 /* : Bool */;
4990 var_node = p0;
4991 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ACharExpr> */
4992 var = NULL;
4993 if (var_node == NULL) {
4994 var1 = 0; /* is null */
4995 } else {
4996 var1 = 1; /* arg is null and recv is not */
4997 }
4998 if (var1){
4999 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5000 } else {
5001 }
5002 RET_LABEL:;
5003 }
5004 /* method parser_prod#ACharExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5005 void VIRTUAL_parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) {
5006 parser_prod__ACharExpr__n_annotations_61d(self, p0);
5007 RET_LABEL:;
5008 }
5009 /* method parser_prod#ACharExpr#visit_all for (self: ACharExpr, Visitor) */
5010 void parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5011 val* var_v /* var v: Visitor */;
5012 val* var /* : TChar */;
5013 val* var1 /* : nullable AAnnotations */;
5014 val* var2 /* : null */;
5015 short int var3 /* : Bool */;
5016 val* var4 /* : nullable AAnnotations */;
5017 var_v = p0;
5018 var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
5019 if (var == NULL) {
5020 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_char", "src/parser/parser_prod.nit", 9454);
5021 exit(1);
5022 }
5023 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5024 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5025 var2 = NULL;
5026 if (var1 == NULL) {
5027 var3 = 0; /* is null */
5028 } else {
5029 var3 = 1; /* arg is null and recv is not */
5030 }
5031 if (var3){
5032 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ACharExpr> */
5033 if (var4 == NULL) {
5034 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9456);
5035 exit(1);
5036 }
5037 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5038 } else {
5039 }
5040 RET_LABEL:;
5041 }
5042 /* method parser_prod#ACharExpr#visit_all for (self: Object, Visitor) */
5043 void VIRTUAL_parser_prod__ACharExpr__visit_all(val* self, val* p0) {
5044 parser_prod__ACharExpr__visit_all(self, p0);
5045 RET_LABEL:;
5046 }
5047 /* method parser_prod#AStringExpr#empty_init for (self: AStringExpr) */
5048 void parser_prod__AStringExpr__empty_init(val* self) {
5049 RET_LABEL:;
5050 }
5051 /* method parser_prod#AStringExpr#empty_init for (self: Object) */
5052 void VIRTUAL_parser_prod__AStringExpr__empty_init(val* self) {
5053 parser_prod__AStringExpr__empty_init(self);
5054 RET_LABEL:;
5055 }
5056 /* method parser_prod#AStringExpr#init_astringexpr for (self: AStringExpr, nullable TString, nullable AAnnotations) */
5057 void parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5058 val* var_n_string /* var n_string: nullable TString */;
5059 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5060 val* var /* : null */;
5061 short int var1 /* : Bool */;
5062 var_n_string = p0;
5063 var_n_annotations = p1;
5064 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStringExpr__empty_init]))(self) /* empty_init on <self:AStringExpr>*/;
5065 if (var_n_string == NULL) {
5066 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9469);
5067 exit(1);
5068 }
5069 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStringExpr> */
5070 if (var_n_string == NULL) {
5071 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9470);
5072 exit(1);
5073 } else {
5074 ((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>*/;
5075 }
5076 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStringExpr> */
5077 var = NULL;
5078 if (var_n_annotations == NULL) {
5079 var1 = 0; /* is null */
5080 } else {
5081 var1 = 1; /* arg is null and recv is not */
5082 }
5083 if (var1){
5084 ((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)>*/;
5085 } else {
5086 }
5087 RET_LABEL:;
5088 }
5089 /* method parser_prod#AStringExpr#init_astringexpr for (self: Object, nullable TString, nullable AAnnotations) */
5090 void VIRTUAL_parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) {
5091 parser_prod__AStringExpr__init_astringexpr(self, p0, p1);
5092 RET_LABEL:;
5093 }
5094 /* method parser_prod#AStringExpr#replace_child for (self: AStringExpr, ANode, nullable ANode) */
5095 void parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5096 val* var_old_child /* var old_child: ANode */;
5097 val* var_new_child /* var new_child: nullable ANode */;
5098 val* var /* : Token */;
5099 short int var1 /* : Bool */;
5100 val* var2 /* : null */;
5101 short int var3 /* : Bool */;
5102 short int var4 /* : Bool */;
5103 int cltype;
5104 int idtype;
5105 val* var5 /* : nullable AAnnotations */;
5106 short int var6 /* : Bool */;
5107 val* var7 /* : null */;
5108 short int var8 /* : Bool */;
5109 short int var9 /* : Bool */;
5110 int cltype10;
5111 int idtype11;
5112 val* var12 /* : null */;
5113 var_old_child = p0;
5114 var_new_child = p1;
5115 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5116 if (var == NULL) {
5117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9479);
5118 exit(1);
5119 }
5120 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5121 if (var1){
5122 var2 = NULL;
5123 if (var_new_child == NULL) {
5124 var3 = 0; /* is null */
5125 } else {
5126 var3 = 1; /* arg is null and recv is not */
5127 }
5128 if (var3){
5129 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5130 /* <var_new_child:nullable ANode(ANode)> isa TString */
5131 cltype = type_parser_nodes__TString.color;
5132 idtype = type_parser_nodes__TString.id;
5133 if(cltype >= var_new_child->type->table_size) {
5134 var4 = 0;
5135 } else {
5136 var4 = var_new_child->type->type_table[cltype] == idtype;
5137 }
5138 if (!var4) {
5139 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9482);
5140 exit(1);
5141 }
5142 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStringExpr> */
5143 } else {
5144 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9485);
5145 exit(1);
5146 }
5147 goto RET_LABEL;
5148 } else {
5149 }
5150 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5151 if (var5 == NULL) {
5152 var6 = 0; /* <var_old_child:ANode> cannot be null */
5153 } else {
5154 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AAnnotations>*/;
5155 }
5156 if (var6){
5157 var7 = NULL;
5158 if (var_new_child == NULL) {
5159 var8 = 0; /* is null */
5160 } else {
5161 var8 = 1; /* arg is null and recv is not */
5162 }
5163 if (var8){
5164 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5165 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5166 cltype10 = type_parser_nodes__AAnnotations.color;
5167 idtype11 = type_parser_nodes__AAnnotations.id;
5168 if(cltype10 >= var_new_child->type->table_size) {
5169 var9 = 0;
5170 } else {
5171 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5172 }
5173 if (!var9) {
5174 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9492);
5175 exit(1);
5176 }
5177 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStringExpr> */
5178 } else {
5179 var12 = NULL;
5180 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on <self:AStringExpr> */
5181 }
5182 goto RET_LABEL;
5183 } else {
5184 }
5185 RET_LABEL:;
5186 }
5187 /* method parser_prod#AStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5188 void VIRTUAL_parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) {
5189 parser_prod__AStringExpr__replace_child(self, p0, p1);
5190 RET_LABEL:;
5191 }
5192 /* method parser_prod#AStringExpr#n_string= for (self: AStringExpr, Token) */
5193 void parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5194 val* var_node /* var node: Token */;
5195 var_node = p0;
5196 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStringExpr> */
5197 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5198 RET_LABEL:;
5199 }
5200 /* method parser_prod#AStringExpr#n_string= for (self: Object, Token) */
5201 void VIRTUAL_parser_prod__AStringExpr__n_string_61d(val* self, val* p0) {
5202 parser_prod__AStringExpr__n_string_61d(self, p0);
5203 RET_LABEL:;
5204 }
5205 /* method parser_prod#AStringExpr#n_annotations= for (self: AStringExpr, nullable AAnnotations) */
5206 void parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5207 val* var_node /* var node: nullable AAnnotations */;
5208 val* var /* : null */;
5209 short int var1 /* : Bool */;
5210 var_node = p0;
5211 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStringExpr> */
5212 var = NULL;
5213 if (var_node == NULL) {
5214 var1 = 0; /* is null */
5215 } else {
5216 var1 = 1; /* arg is null and recv is not */
5217 }
5218 if (var1){
5219 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5220 } else {
5221 }
5222 RET_LABEL:;
5223 }
5224 /* method parser_prod#AStringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5225 void VIRTUAL_parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) {
5226 parser_prod__AStringExpr__n_annotations_61d(self, p0);
5227 RET_LABEL:;
5228 }
5229 /* method parser_prod#AStringExpr#visit_all for (self: AStringExpr, Visitor) */
5230 void parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5231 val* var_v /* var v: Visitor */;
5232 val* var /* : Token */;
5233 val* var1 /* : nullable AAnnotations */;
5234 val* var2 /* : null */;
5235 short int var3 /* : Bool */;
5236 val* var4 /* : nullable AAnnotations */;
5237 var_v = p0;
5238 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringExpr> */
5239 if (var == NULL) {
5240 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9517);
5241 exit(1);
5242 }
5243 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5244 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5245 var2 = NULL;
5246 if (var1 == NULL) {
5247 var3 = 0; /* is null */
5248 } else {
5249 var3 = 1; /* arg is null and recv is not */
5250 }
5251 if (var3){
5252 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStringExpr> */
5253 if (var4 == NULL) {
5254 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9519);
5255 exit(1);
5256 }
5257 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
5258 } else {
5259 }
5260 RET_LABEL:;
5261 }
5262 /* method parser_prod#AStringExpr#visit_all for (self: Object, Visitor) */
5263 void VIRTUAL_parser_prod__AStringExpr__visit_all(val* self, val* p0) {
5264 parser_prod__AStringExpr__visit_all(self, p0);
5265 RET_LABEL:;
5266 }
5267 /* method parser_prod#AStartStringExpr#empty_init for (self: AStartStringExpr) */
5268 void parser_prod__AStartStringExpr__empty_init(val* self) {
5269 RET_LABEL:;
5270 }
5271 /* method parser_prod#AStartStringExpr#empty_init for (self: Object) */
5272 void VIRTUAL_parser_prod__AStartStringExpr__empty_init(val* self) {
5273 parser_prod__AStartStringExpr__empty_init(self);
5274 RET_LABEL:;
5275 }
5276 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: AStartStringExpr, nullable TStartString) */
5277 void parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5278 val* var_n_string /* var n_string: nullable TStartString */;
5279 var_n_string = p0;
5280 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStartStringExpr__empty_init]))(self) /* empty_init on <self:AStartStringExpr>*/;
5281 if (var_n_string == NULL) {
5282 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9531);
5283 exit(1);
5284 }
5285 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AStartStringExpr> */
5286 if (var_n_string == NULL) {
5287 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9532);
5288 exit(1);
5289 } else {
5290 ((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>*/;
5291 }
5292 RET_LABEL:;
5293 }
5294 /* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: Object, nullable TStartString) */
5295 void VIRTUAL_parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) {
5296 parser_prod__AStartStringExpr__init_astartstringexpr(self, p0);
5297 RET_LABEL:;
5298 }
5299 /* method parser_prod#AStartStringExpr#replace_child for (self: AStartStringExpr, ANode, nullable ANode) */
5300 void parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5301 val* var_old_child /* var old_child: ANode */;
5302 val* var_new_child /* var new_child: nullable ANode */;
5303 val* var /* : Token */;
5304 short int var1 /* : Bool */;
5305 val* var2 /* : null */;
5306 short int var3 /* : Bool */;
5307 short int var4 /* : Bool */;
5308 int cltype;
5309 int idtype;
5310 var_old_child = p0;
5311 var_new_child = p1;
5312 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5313 if (var == NULL) {
5314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9537);
5315 exit(1);
5316 }
5317 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5318 if (var1){
5319 var2 = NULL;
5320 if (var_new_child == NULL) {
5321 var3 = 0; /* is null */
5322 } else {
5323 var3 = 1; /* arg is null and recv is not */
5324 }
5325 if (var3){
5326 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5327 /* <var_new_child:nullable ANode(ANode)> isa TStartString */
5328 cltype = type_parser_nodes__TStartString.color;
5329 idtype = type_parser_nodes__TStartString.id;
5330 if(cltype >= var_new_child->type->table_size) {
5331 var4 = 0;
5332 } else {
5333 var4 = var_new_child->type->type_table[cltype] == idtype;
5334 }
5335 if (!var4) {
5336 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9540);
5337 exit(1);
5338 }
5339 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AStartStringExpr> */
5340 } else {
5341 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9543);
5342 exit(1);
5343 }
5344 goto RET_LABEL;
5345 } else {
5346 }
5347 RET_LABEL:;
5348 }
5349 /* method parser_prod#AStartStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5350 void VIRTUAL_parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) {
5351 parser_prod__AStartStringExpr__replace_child(self, p0, p1);
5352 RET_LABEL:;
5353 }
5354 /* method parser_prod#AStartStringExpr#n_string= for (self: AStartStringExpr, Token) */
5355 void parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5356 val* var_node /* var node: Token */;
5357 var_node = p0;
5358 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AStartStringExpr> */
5359 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5360 RET_LABEL:;
5361 }
5362 /* method parser_prod#AStartStringExpr#n_string= for (self: Object, Token) */
5363 void VIRTUAL_parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) {
5364 parser_prod__AStartStringExpr__n_string_61d(self, p0);
5365 RET_LABEL:;
5366 }
5367 /* method parser_prod#AStartStringExpr#visit_all for (self: AStartStringExpr, Visitor) */
5368 void parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5369 val* var_v /* var v: Visitor */;
5370 val* var /* : Token */;
5371 var_v = p0;
5372 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
5373 if (var == NULL) {
5374 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9558);
5375 exit(1);
5376 }
5377 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5378 RET_LABEL:;
5379 }
5380 /* method parser_prod#AStartStringExpr#visit_all for (self: Object, Visitor) */
5381 void VIRTUAL_parser_prod__AStartStringExpr__visit_all(val* self, val* p0) {
5382 parser_prod__AStartStringExpr__visit_all(self, p0);
5383 RET_LABEL:;
5384 }
5385 /* method parser_prod#AMidStringExpr#empty_init for (self: AMidStringExpr) */
5386 void parser_prod__AMidStringExpr__empty_init(val* self) {
5387 RET_LABEL:;
5388 }
5389 /* method parser_prod#AMidStringExpr#empty_init for (self: Object) */
5390 void VIRTUAL_parser_prod__AMidStringExpr__empty_init(val* self) {
5391 parser_prod__AMidStringExpr__empty_init(self);
5392 RET_LABEL:;
5393 }
5394 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: AMidStringExpr, nullable TMidString) */
5395 void parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5396 val* var_n_string /* var n_string: nullable TMidString */;
5397 var_n_string = p0;
5398 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMidStringExpr__empty_init]))(self) /* empty_init on <self:AMidStringExpr>*/;
5399 if (var_n_string == NULL) {
5400 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9569);
5401 exit(1);
5402 }
5403 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AMidStringExpr> */
5404 if (var_n_string == NULL) {
5405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9570);
5406 exit(1);
5407 } else {
5408 ((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>*/;
5409 }
5410 RET_LABEL:;
5411 }
5412 /* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: Object, nullable TMidString) */
5413 void VIRTUAL_parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) {
5414 parser_prod__AMidStringExpr__init_amidstringexpr(self, p0);
5415 RET_LABEL:;
5416 }
5417 /* method parser_prod#AMidStringExpr#replace_child for (self: AMidStringExpr, ANode, nullable ANode) */
5418 void parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5419 val* var_old_child /* var old_child: ANode */;
5420 val* var_new_child /* var new_child: nullable ANode */;
5421 val* var /* : Token */;
5422 short int var1 /* : Bool */;
5423 val* var2 /* : null */;
5424 short int var3 /* : Bool */;
5425 short int var4 /* : Bool */;
5426 int cltype;
5427 int idtype;
5428 var_old_child = p0;
5429 var_new_child = p1;
5430 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5431 if (var == NULL) {
5432 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9575);
5433 exit(1);
5434 }
5435 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5436 if (var1){
5437 var2 = NULL;
5438 if (var_new_child == NULL) {
5439 var3 = 0; /* is null */
5440 } else {
5441 var3 = 1; /* arg is null and recv is not */
5442 }
5443 if (var3){
5444 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5445 /* <var_new_child:nullable ANode(ANode)> isa TMidString */
5446 cltype = type_parser_nodes__TMidString.color;
5447 idtype = type_parser_nodes__TMidString.id;
5448 if(cltype >= var_new_child->type->table_size) {
5449 var4 = 0;
5450 } else {
5451 var4 = var_new_child->type->type_table[cltype] == idtype;
5452 }
5453 if (!var4) {
5454 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9578);
5455 exit(1);
5456 }
5457 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AMidStringExpr> */
5458 } else {
5459 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9581);
5460 exit(1);
5461 }
5462 goto RET_LABEL;
5463 } else {
5464 }
5465 RET_LABEL:;
5466 }
5467 /* method parser_prod#AMidStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5468 void VIRTUAL_parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) {
5469 parser_prod__AMidStringExpr__replace_child(self, p0, p1);
5470 RET_LABEL:;
5471 }
5472 /* method parser_prod#AMidStringExpr#n_string= for (self: AMidStringExpr, Token) */
5473 void parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5474 val* var_node /* var node: Token */;
5475 var_node = p0;
5476 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AMidStringExpr> */
5477 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5478 RET_LABEL:;
5479 }
5480 /* method parser_prod#AMidStringExpr#n_string= for (self: Object, Token) */
5481 void VIRTUAL_parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) {
5482 parser_prod__AMidStringExpr__n_string_61d(self, p0);
5483 RET_LABEL:;
5484 }
5485 /* method parser_prod#AMidStringExpr#visit_all for (self: AMidStringExpr, Visitor) */
5486 void parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5487 val* var_v /* var v: Visitor */;
5488 val* var /* : Token */;
5489 var_v = p0;
5490 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AMidStringExpr> */
5491 if (var == NULL) {
5492 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9596);
5493 exit(1);
5494 }
5495 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5496 RET_LABEL:;
5497 }
5498 /* method parser_prod#AMidStringExpr#visit_all for (self: Object, Visitor) */
5499 void VIRTUAL_parser_prod__AMidStringExpr__visit_all(val* self, val* p0) {
5500 parser_prod__AMidStringExpr__visit_all(self, p0);
5501 RET_LABEL:;
5502 }
5503 /* method parser_prod#AEndStringExpr#empty_init for (self: AEndStringExpr) */
5504 void parser_prod__AEndStringExpr__empty_init(val* self) {
5505 RET_LABEL:;
5506 }
5507 /* method parser_prod#AEndStringExpr#empty_init for (self: Object) */
5508 void VIRTUAL_parser_prod__AEndStringExpr__empty_init(val* self) {
5509 parser_prod__AEndStringExpr__empty_init(self);
5510 RET_LABEL:;
5511 }
5512 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: AEndStringExpr, nullable TEndString) */
5513 void parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5514 val* var_n_string /* var n_string: nullable TEndString */;
5515 var_n_string = p0;
5516 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEndStringExpr__empty_init]))(self) /* empty_init on <self:AEndStringExpr>*/;
5517 if (var_n_string == NULL) {
5518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9607);
5519 exit(1);
5520 }
5521 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on <self:AEndStringExpr> */
5522 if (var_n_string == NULL) {
5523 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9608);
5524 exit(1);
5525 } else {
5526 ((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>*/;
5527 }
5528 RET_LABEL:;
5529 }
5530 /* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: Object, nullable TEndString) */
5531 void VIRTUAL_parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) {
5532 parser_prod__AEndStringExpr__init_aendstringexpr(self, p0);
5533 RET_LABEL:;
5534 }
5535 /* method parser_prod#AEndStringExpr#replace_child for (self: AEndStringExpr, ANode, nullable ANode) */
5536 void parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5537 val* var_old_child /* var old_child: ANode */;
5538 val* var_new_child /* var new_child: nullable ANode */;
5539 val* var /* : Token */;
5540 short int var1 /* : Bool */;
5541 val* var2 /* : null */;
5542 short int var3 /* : Bool */;
5543 short int var4 /* : Bool */;
5544 int cltype;
5545 int idtype;
5546 var_old_child = p0;
5547 var_new_child = p1;
5548 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5549 if (var == NULL) {
5550 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9613);
5551 exit(1);
5552 }
5553 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
5554 if (var1){
5555 var2 = NULL;
5556 if (var_new_child == NULL) {
5557 var3 = 0; /* is null */
5558 } else {
5559 var3 = 1; /* arg is null and recv is not */
5560 }
5561 if (var3){
5562 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5563 /* <var_new_child:nullable ANode(ANode)> isa TEndString */
5564 cltype = type_parser_nodes__TEndString.color;
5565 idtype = type_parser_nodes__TEndString.id;
5566 if(cltype >= var_new_child->type->table_size) {
5567 var4 = 0;
5568 } else {
5569 var4 = var_new_child->type->type_table[cltype] == idtype;
5570 }
5571 if (!var4) {
5572 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9616);
5573 exit(1);
5574 }
5575 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on <self:AEndStringExpr> */
5576 } else {
5577 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9619);
5578 exit(1);
5579 }
5580 goto RET_LABEL;
5581 } else {
5582 }
5583 RET_LABEL:;
5584 }
5585 /* method parser_prod#AEndStringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5586 void VIRTUAL_parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) {
5587 parser_prod__AEndStringExpr__replace_child(self, p0, p1);
5588 RET_LABEL:;
5589 }
5590 /* method parser_prod#AEndStringExpr#n_string= for (self: AEndStringExpr, Token) */
5591 void parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5592 val* var_node /* var node: Token */;
5593 var_node = p0;
5594 self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on <self:AEndStringExpr> */
5595 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
5596 RET_LABEL:;
5597 }
5598 /* method parser_prod#AEndStringExpr#n_string= for (self: Object, Token) */
5599 void VIRTUAL_parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) {
5600 parser_prod__AEndStringExpr__n_string_61d(self, p0);
5601 RET_LABEL:;
5602 }
5603 /* method parser_prod#AEndStringExpr#visit_all for (self: AEndStringExpr, Visitor) */
5604 void parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5605 val* var_v /* var v: Visitor */;
5606 val* var /* : Token */;
5607 var_v = p0;
5608 var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AEndStringExpr> */
5609 if (var == NULL) {
5610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9634);
5611 exit(1);
5612 }
5613 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5614 RET_LABEL:;
5615 }
5616 /* method parser_prod#AEndStringExpr#visit_all for (self: Object, Visitor) */
5617 void VIRTUAL_parser_prod__AEndStringExpr__visit_all(val* self, val* p0) {
5618 parser_prod__AEndStringExpr__visit_all(self, p0);
5619 RET_LABEL:;
5620 }
5621 /* method parser_prod#ASuperstringExpr#empty_init for (self: ASuperstringExpr) */
5622 void parser_prod__ASuperstringExpr__empty_init(val* self) {
5623 RET_LABEL:;
5624 }
5625 /* method parser_prod#ASuperstringExpr#empty_init for (self: Object) */
5626 void VIRTUAL_parser_prod__ASuperstringExpr__empty_init(val* self) {
5627 parser_prod__ASuperstringExpr__empty_init(self);
5628 RET_LABEL:;
5629 }
5630 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: ASuperstringExpr, Collection[Object], nullable AAnnotations) */
5631 void parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5632 val* var_n_exprs /* var n_exprs: Collection[Object] */;
5633 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5634 val* var /* : Iterator[nullable Object] */;
5635 short int var1 /* : Bool */;
5636 val* var2 /* : nullable Object */;
5637 val* var_n /* var n: Object */;
5638 short int var3 /* : Bool */;
5639 int cltype;
5640 int idtype;
5641 val* var4 /* : ANodes[AExpr] */;
5642 val* var5 /* : null */;
5643 short int var6 /* : Bool */;
5644 var_n_exprs = p0;
5645 var_n_annotations = p1;
5646 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperstringExpr__empty_init]))(self) /* empty_init on <self:ASuperstringExpr>*/;
5647 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
5648 for(;;) {
5649 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
5650 if(!var1) break;
5651 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
5652 var_n = var2;
5653 /* <var_n:Object> isa AExpr */
5654 cltype = type_parser_nodes__AExpr.color;
5655 idtype = type_parser_nodes__AExpr.id;
5656 if(cltype >= var_n->type->table_size) {
5657 var3 = 0;
5658 } else {
5659 var3 = var_n->type->type_table[cltype] == idtype;
5660 }
5661 if (!var3) {
5662 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9647);
5663 exit(1);
5664 }
5665 var4 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5666 if (var4 == NULL) {
5667 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9648);
5668 exit(1);
5669 }
5670 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
5671 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
5672 CONTINUE_label: (void)0;
5673 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
5674 }
5675 BREAK_label: (void)0;
5676 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperstringExpr> */
5677 var5 = NULL;
5678 if (var_n_annotations == NULL) {
5679 var6 = 0; /* is null */
5680 } else {
5681 var6 = 1; /* arg is null and recv is not */
5682 }
5683 if (var6){
5684 ((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)>*/;
5685 } else {
5686 }
5687 RET_LABEL:;
5688 }
5689 /* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: Object, Collection[Object], nullable AAnnotations) */
5690 void VIRTUAL_parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) {
5691 parser_prod__ASuperstringExpr__init_asuperstringexpr(self, p0, p1);
5692 RET_LABEL:;
5693 }
5694 /* method parser_prod#ASuperstringExpr#replace_child for (self: ASuperstringExpr, ANode, nullable ANode) */
5695 void parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5696 val* var_old_child /* var old_child: ANode */;
5697 val* var_new_child /* var new_child: nullable ANode */;
5698 val* var /* : Range[Int] */;
5699 long var1 /* : Int */;
5700 val* var2 /* : ANodes[AExpr] */;
5701 long var3 /* : Int */;
5702 val* var4 /* : Discrete */;
5703 val* var5 /* : Discrete */;
5704 val* var6 /* : Iterator[nullable Object] */;
5705 short int var7 /* : Bool */;
5706 val* var8 /* : nullable Object */;
5707 long var_i /* var i: Int */;
5708 long var9 /* : Int */;
5709 val* var10 /* : ANodes[AExpr] */;
5710 val* var11 /* : nullable Object */;
5711 short int var12 /* : Bool */;
5712 val* var13 /* : null */;
5713 short int var14 /* : Bool */;
5714 short int var15 /* : Bool */;
5715 int cltype;
5716 int idtype;
5717 val* var16 /* : ANodes[AExpr] */;
5718 val* var17 /* : ANodes[AExpr] */;
5719 val* var18 /* : nullable AAnnotations */;
5720 short int var19 /* : Bool */;
5721 val* var20 /* : null */;
5722 short int var21 /* : Bool */;
5723 short int var22 /* : Bool */;
5724 int cltype23;
5725 int idtype24;
5726 val* var25 /* : null */;
5727 var_old_child = p0;
5728 var_new_child = p1;
5729 var = NEW_range__Range(&type_range__Rangekernel__Int);
5730 var1 = 0;
5731 var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5732 if (var2 == NULL) {
5733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9659);
5734 exit(1);
5735 }
5736 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
5737 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
5738 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
5739 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
5740 CHECK_NEW_range__Range(var);
5741 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
5742 for(;;) {
5743 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
5744 if(!var7) break;
5745 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
5746 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
5747 var_i = var9;
5748 var10 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5749 if (var10 == NULL) {
5750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9660);
5751 exit(1);
5752 }
5753 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
5754 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
5755 if (var12){
5756 var13 = NULL;
5757 if (var_new_child == NULL) {
5758 var14 = 0; /* is null */
5759 } else {
5760 var14 = 1; /* arg is null and recv is not */
5761 }
5762 if (var14){
5763 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5764 cltype = type_parser_nodes__AExpr.color;
5765 idtype = type_parser_nodes__AExpr.id;
5766 if(cltype >= var_new_child->type->table_size) {
5767 var15 = 0;
5768 } else {
5769 var15 = var_new_child->type->type_table[cltype] == idtype;
5770 }
5771 if (!var15) {
5772 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9662);
5773 exit(1);
5774 }
5775 var16 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5776 if (var16 == NULL) {
5777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9663);
5778 exit(1);
5779 }
5780 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
5781 ((void (*)(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)>*/;
5782 } else {
5783 var17 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5784 if (var17 == NULL) {
5785 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9666);
5786 exit(1);
5787 }
5788 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
5789 }
5790 goto RET_LABEL;
5791 } else {
5792 }
5793 CONTINUE_label: (void)0;
5794 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
5795 }
5796 BREAK_label: (void)0;
5797 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5798 if (var18 == NULL) {
5799 var19 = 0; /* <var_old_child:ANode> cannot be null */
5800 } else {
5801 var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, var_old_child) /* == on <var18:nullable AAnnotations>*/;
5802 }
5803 if (var19){
5804 var20 = NULL;
5805 if (var_new_child == NULL) {
5806 var21 = 0; /* is null */
5807 } else {
5808 var21 = 1; /* arg is null and recv is not */
5809 }
5810 if (var21){
5811 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5812 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5813 cltype23 = type_parser_nodes__AAnnotations.color;
5814 idtype24 = type_parser_nodes__AAnnotations.id;
5815 if(cltype23 >= var_new_child->type->table_size) {
5816 var22 = 0;
5817 } else {
5818 var22 = var_new_child->type->type_table[cltype23] == idtype24;
5819 }
5820 if (!var22) {
5821 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9674);
5822 exit(1);
5823 }
5824 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperstringExpr> */
5825 } else {
5826 var25 = NULL;
5827 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var25; /* _n_annotations on <self:ASuperstringExpr> */
5828 }
5829 goto RET_LABEL;
5830 } else {
5831 }
5832 RET_LABEL:;
5833 }
5834 /* method parser_prod#ASuperstringExpr#replace_child for (self: Object, ANode, nullable ANode) */
5835 void VIRTUAL_parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) {
5836 parser_prod__ASuperstringExpr__replace_child(self, p0, p1);
5837 RET_LABEL:;
5838 }
5839 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: ASuperstringExpr, nullable AAnnotations) */
5840 void parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5841 val* var_node /* var node: nullable AAnnotations */;
5842 val* var /* : null */;
5843 short int var1 /* : Bool */;
5844 var_node = p0;
5845 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperstringExpr> */
5846 var = NULL;
5847 if (var_node == NULL) {
5848 var1 = 0; /* is null */
5849 } else {
5850 var1 = 1; /* arg is null and recv is not */
5851 }
5852 if (var1){
5853 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5854 } else {
5855 }
5856 RET_LABEL:;
5857 }
5858 /* method parser_prod#ASuperstringExpr#n_annotations= for (self: Object, nullable AAnnotations) */
5859 void VIRTUAL_parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) {
5860 parser_prod__ASuperstringExpr__n_annotations_61d(self, p0);
5861 RET_LABEL:;
5862 }
5863 /* method parser_prod#ASuperstringExpr#visit_all for (self: ASuperstringExpr, Visitor) */
5864 void parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
5865 val* var_v /* var v: Visitor */;
5866 val* var /* : ANodes[AExpr] */;
5867 val* var1 /* : Iterator[nullable Object] */;
5868 short int var2 /* : Bool */;
5869 val* var3 /* : nullable Object */;
5870 val* var_n /* var n: AExpr */;
5871 val* var4 /* : nullable AAnnotations */;
5872 val* var5 /* : null */;
5873 short int var6 /* : Bool */;
5874 val* var7 /* : nullable AAnnotations */;
5875 var_v = p0;
5876 var = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5877 if (var == NULL) {
5878 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9694);
5879 exit(1);
5880 }
5881 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
5882 for(;;) {
5883 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
5884 if(!var2) break;
5885 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
5886 var_n = var3;
5887 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
5888 CONTINUE_label: (void)0;
5889 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
5890 }
5891 BREAK_label: (void)0;
5892 var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5893 var5 = NULL;
5894 if (var4 == NULL) {
5895 var6 = 0; /* is null */
5896 } else {
5897 var6 = 1; /* arg is null and recv is not */
5898 }
5899 if (var6){
5900 var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperstringExpr> */
5901 if (var7 == NULL) {
5902 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9698);
5903 exit(1);
5904 }
5905 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
5906 } else {
5907 }
5908 RET_LABEL:;
5909 }
5910 /* method parser_prod#ASuperstringExpr#visit_all for (self: Object, Visitor) */
5911 void VIRTUAL_parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) {
5912 parser_prod__ASuperstringExpr__visit_all(self, p0);
5913 RET_LABEL:;
5914 }
5915 /* method parser_prod#AParExpr#empty_init for (self: AParExpr) */
5916 void parser_prod__AParExpr__empty_init(val* self) {
5917 RET_LABEL:;
5918 }
5919 /* method parser_prod#AParExpr#empty_init for (self: Object) */
5920 void VIRTUAL_parser_prod__AParExpr__empty_init(val* self) {
5921 parser_prod__AParExpr__empty_init(self);
5922 RET_LABEL:;
5923 }
5924 /* method parser_prod#AParExpr#init_aparexpr for (self: AParExpr, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
5925 void parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
5926 val* var_n_opar /* var n_opar: nullable TOpar */;
5927 val* var_n_expr /* var n_expr: nullable AExpr */;
5928 val* var_n_cpar /* var n_cpar: nullable TCpar */;
5929 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5930 val* var /* : null */;
5931 short int var1 /* : Bool */;
5932 var_n_opar = p0;
5933 var_n_expr = p1;
5934 var_n_cpar = p2;
5935 var_n_annotations = p3;
5936 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExpr__empty_init]))(self) /* empty_init on <self:AParExpr>*/;
5937 if (var_n_opar == NULL) {
5938 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9713);
5939 exit(1);
5940 }
5941 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AParExpr> */
5942 if (var_n_opar == NULL) {
5943 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9714);
5944 exit(1);
5945 } else {
5946 ((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>*/;
5947 }
5948 if (var_n_expr == NULL) {
5949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9715);
5950 exit(1);
5951 }
5952 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AParExpr> */
5953 if (var_n_expr == NULL) {
5954 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9716);
5955 exit(1);
5956 } else {
5957 ((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>*/;
5958 }
5959 if (var_n_cpar == NULL) {
5960 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9717);
5961 exit(1);
5962 }
5963 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExpr> */
5964 if (var_n_cpar == NULL) {
5965 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9718);
5966 exit(1);
5967 } else {
5968 ((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>*/;
5969 }
5970 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AParExpr> */
5971 var = NULL;
5972 if (var_n_annotations == NULL) {
5973 var1 = 0; /* is null */
5974 } else {
5975 var1 = 1; /* arg is null and recv is not */
5976 }
5977 if (var1){
5978 ((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)>*/;
5979 } else {
5980 }
5981 RET_LABEL:;
5982 }
5983 /* method parser_prod#AParExpr#init_aparexpr for (self: Object, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */
5984 void VIRTUAL_parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
5985 parser_prod__AParExpr__init_aparexpr(self, p0, p1, p2, p3);
5986 RET_LABEL:;
5987 }
5988 /* method parser_prod#AParExpr#replace_child for (self: AParExpr, ANode, nullable ANode) */
5989 void parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
5990 val* var_old_child /* var old_child: ANode */;
5991 val* var_new_child /* var new_child: nullable ANode */;
5992 val* var /* : TOpar */;
5993 short int var1 /* : Bool */;
5994 val* var2 /* : null */;
5995 short int var3 /* : Bool */;
5996 short int var4 /* : Bool */;
5997 int cltype;
5998 int idtype;
5999 val* var5 /* : AExpr */;
6000 short int var6 /* : Bool */;
6001 val* var7 /* : null */;
6002 short int var8 /* : Bool */;
6003 short int var9 /* : Bool */;
6004 int cltype10;
6005 int idtype11;
6006 val* var12 /* : TCpar */;
6007 short int var13 /* : Bool */;
6008 val* var14 /* : null */;
6009 short int var15 /* : Bool */;
6010 short int var16 /* : Bool */;
6011 int cltype17;
6012 int idtype18;
6013 val* var19 /* : nullable AAnnotations */;
6014 short int var20 /* : Bool */;
6015 val* var21 /* : null */;
6016 short int var22 /* : Bool */;
6017 short int var23 /* : Bool */;
6018 int cltype24;
6019 int idtype25;
6020 val* var26 /* : null */;
6021 var_old_child = p0;
6022 var_new_child = p1;
6023 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6024 if (var == NULL) {
6025 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9727);
6026 exit(1);
6027 }
6028 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
6029 if (var1){
6030 var2 = NULL;
6031 if (var_new_child == NULL) {
6032 var3 = 0; /* is null */
6033 } else {
6034 var3 = 1; /* arg is null and recv is not */
6035 }
6036 if (var3){
6037 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6038 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6039 cltype = type_parser_nodes__TOpar.color;
6040 idtype = type_parser_nodes__TOpar.id;
6041 if(cltype >= var_new_child->type->table_size) {
6042 var4 = 0;
6043 } else {
6044 var4 = var_new_child->type->type_table[cltype] == idtype;
6045 }
6046 if (!var4) {
6047 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9730);
6048 exit(1);
6049 }
6050 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_new_child; /* _n_opar on <self:AParExpr> */
6051 } else {
6052 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9733);
6053 exit(1);
6054 }
6055 goto RET_LABEL;
6056 } else {
6057 }
6058 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6059 if (var5 == NULL) {
6060 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9737);
6061 exit(1);
6062 }
6063 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6064 if (var6){
6065 var7 = NULL;
6066 if (var_new_child == NULL) {
6067 var8 = 0; /* is null */
6068 } else {
6069 var8 = 1; /* arg is null and recv is not */
6070 }
6071 if (var8){
6072 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6073 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6074 cltype10 = type_parser_nodes__AExpr.color;
6075 idtype11 = type_parser_nodes__AExpr.id;
6076 if(cltype10 >= var_new_child->type->table_size) {
6077 var9 = 0;
6078 } else {
6079 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6080 }
6081 if (!var9) {
6082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9740);
6083 exit(1);
6084 }
6085 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AParExpr> */
6086 } else {
6087 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9743);
6088 exit(1);
6089 }
6090 goto RET_LABEL;
6091 } else {
6092 }
6093 var12 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6094 if (var12 == NULL) {
6095 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9747);
6096 exit(1);
6097 }
6098 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TCpar>*/;
6099 if (var13){
6100 var14 = NULL;
6101 if (var_new_child == NULL) {
6102 var15 = 0; /* is null */
6103 } else {
6104 var15 = 1; /* arg is null and recv is not */
6105 }
6106 if (var15){
6107 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6108 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
6109 cltype17 = type_parser_nodes__TCpar.color;
6110 idtype18 = type_parser_nodes__TCpar.id;
6111 if(cltype17 >= var_new_child->type->table_size) {
6112 var16 = 0;
6113 } else {
6114 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6115 }
6116 if (!var16) {
6117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9750);
6118 exit(1);
6119 }
6120 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExpr> */
6121 } else {
6122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9753);
6123 exit(1);
6124 }
6125 goto RET_LABEL;
6126 } else {
6127 }
6128 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6129 if (var19 == NULL) {
6130 var20 = 0; /* <var_old_child:ANode> cannot be null */
6131 } else {
6132 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
6133 }
6134 if (var20){
6135 var21 = NULL;
6136 if (var_new_child == NULL) {
6137 var22 = 0; /* is null */
6138 } else {
6139 var22 = 1; /* arg is null and recv is not */
6140 }
6141 if (var22){
6142 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6143 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
6144 cltype24 = type_parser_nodes__AAnnotations.color;
6145 idtype25 = type_parser_nodes__AAnnotations.id;
6146 if(cltype24 >= var_new_child->type->table_size) {
6147 var23 = 0;
6148 } else {
6149 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6150 }
6151 if (!var23) {
6152 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9760);
6153 exit(1);
6154 }
6155 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AParExpr> */
6156 } else {
6157 var26 = NULL;
6158 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AParExpr> */
6159 }
6160 goto RET_LABEL;
6161 } else {
6162 }
6163 RET_LABEL:;
6164 }
6165 /* method parser_prod#AParExpr#replace_child for (self: Object, ANode, nullable ANode) */
6166 void VIRTUAL_parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) {
6167 parser_prod__AParExpr__replace_child(self, p0, p1);
6168 RET_LABEL:;
6169 }
6170 /* method parser_prod#AParExpr#n_opar= for (self: AParExpr, TOpar) */
6171 void parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6172 val* var_node /* var node: TOpar */;
6173 var_node = p0;
6174 self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_node; /* _n_opar on <self:AParExpr> */
6175 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6176 RET_LABEL:;
6177 }
6178 /* method parser_prod#AParExpr#n_opar= for (self: Object, TOpar) */
6179 void VIRTUAL_parser_prod__AParExpr__n_opar_61d(val* self, val* p0) {
6180 parser_prod__AParExpr__n_opar_61d(self, p0);
6181 RET_LABEL:;
6182 }
6183 /* method parser_prod#AParExpr#n_expr= for (self: AParExpr, AExpr) */
6184 void parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6185 val* var_node /* var node: AExpr */;
6186 var_node = p0;
6187 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AParExpr> */
6188 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6189 RET_LABEL:;
6190 }
6191 /* method parser_prod#AParExpr#n_expr= for (self: Object, AExpr) */
6192 void VIRTUAL_parser_prod__AParExpr__n_expr_61d(val* self, val* p0) {
6193 parser_prod__AParExpr__n_expr_61d(self, p0);
6194 RET_LABEL:;
6195 }
6196 /* method parser_prod#AParExpr#n_cpar= for (self: AParExpr, TCpar) */
6197 void parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6198 val* var_node /* var node: TCpar */;
6199 var_node = p0;
6200 self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_node; /* _n_cpar on <self:AParExpr> */
6201 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6202 RET_LABEL:;
6203 }
6204 /* method parser_prod#AParExpr#n_cpar= for (self: Object, TCpar) */
6205 void VIRTUAL_parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) {
6206 parser_prod__AParExpr__n_cpar_61d(self, p0);
6207 RET_LABEL:;
6208 }
6209 /* method parser_prod#AParExpr#n_annotations= for (self: AParExpr, nullable AAnnotations) */
6210 void parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6211 val* var_node /* var node: nullable AAnnotations */;
6212 val* var /* : null */;
6213 short int var1 /* : Bool */;
6214 var_node = p0;
6215 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AParExpr> */
6216 var = NULL;
6217 if (var_node == NULL) {
6218 var1 = 0; /* is null */
6219 } else {
6220 var1 = 1; /* arg is null and recv is not */
6221 }
6222 if (var1){
6223 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
6224 } else {
6225 }
6226 RET_LABEL:;
6227 }
6228 /* method parser_prod#AParExpr#n_annotations= for (self: Object, nullable AAnnotations) */
6229 void VIRTUAL_parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) {
6230 parser_prod__AParExpr__n_annotations_61d(self, p0);
6231 RET_LABEL:;
6232 }
6233 /* method parser_prod#AParExpr#visit_all for (self: AParExpr, Visitor) */
6234 void parser_prod__AParExpr__visit_all(val* self, val* p0) {
6235 val* var_v /* var v: Visitor */;
6236 val* var /* : TOpar */;
6237 val* var1 /* : AExpr */;
6238 val* var2 /* : TCpar */;
6239 val* var3 /* : nullable AAnnotations */;
6240 val* var4 /* : null */;
6241 short int var5 /* : Bool */;
6242 val* var6 /* : nullable AAnnotations */;
6243 var_v = p0;
6244 var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on <self:AParExpr> */
6245 if (var == NULL) {
6246 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9795);
6247 exit(1);
6248 }
6249 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6250 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
6251 if (var1 == NULL) {
6252 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9796);
6253 exit(1);
6254 }
6255 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6256 var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on <self:AParExpr> */
6257 if (var2 == NULL) {
6258 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9797);
6259 exit(1);
6260 }
6261 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6262 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6263 var4 = NULL;
6264 if (var3 == NULL) {
6265 var5 = 0; /* is null */
6266 } else {
6267 var5 = 1; /* arg is null and recv is not */
6268 }
6269 if (var5){
6270 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParExpr> */
6271 if (var6 == NULL) {
6272 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9799);
6273 exit(1);
6274 }
6275 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
6276 } else {
6277 }
6278 RET_LABEL:;
6279 }
6280 /* method parser_prod#AParExpr#visit_all for (self: Object, Visitor) */
6281 void VIRTUAL_parser_prod__AParExpr__visit_all(val* self, val* p0) {
6282 parser_prod__AParExpr__visit_all(self, p0);
6283 RET_LABEL:;
6284 }
6285 /* method parser_prod#AAsCastExpr#empty_init for (self: AAsCastExpr) */
6286 void parser_prod__AAsCastExpr__empty_init(val* self) {
6287 RET_LABEL:;
6288 }
6289 /* method parser_prod#AAsCastExpr#empty_init for (self: Object) */
6290 void VIRTUAL_parser_prod__AAsCastExpr__empty_init(val* self) {
6291 parser_prod__AAsCastExpr__empty_init(self);
6292 RET_LABEL:;
6293 }
6294 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: AAsCastExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6295 void parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6296 val* var_n_expr /* var n_expr: nullable AExpr */;
6297 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6298 val* var_n_opar /* var n_opar: nullable TOpar */;
6299 val* var_n_type /* var n_type: nullable AType */;
6300 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6301 var_n_expr = p0;
6302 var_n_kwas = p1;
6303 var_n_opar = p2;
6304 var_n_type = p3;
6305 var_n_cpar = p4;
6306 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsCastExpr__empty_init]))(self) /* empty_init on <self:AAsCastExpr>*/;
6307 if (var_n_expr == NULL) {
6308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9815);
6309 exit(1);
6310 }
6311 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsCastExpr> */
6312 if (var_n_expr == NULL) {
6313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9816);
6314 exit(1);
6315 } else {
6316 ((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>*/;
6317 }
6318 if (var_n_kwas == NULL) {
6319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9817);
6320 exit(1);
6321 }
6322 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsCastExpr> */
6323 if (var_n_kwas == NULL) {
6324 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9818);
6325 exit(1);
6326 } else {
6327 ((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>*/;
6328 }
6329 if (var_n_opar == NULL) {
6330 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9819);
6331 exit(1);
6332 }
6333 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsCastExpr> */
6334 if (var_n_opar == NULL) {
6335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9820);
6336 exit(1);
6337 } else {
6338 ((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>*/;
6339 }
6340 if (var_n_type == NULL) {
6341 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9821);
6342 exit(1);
6343 }
6344 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_n_type; /* _n_type on <self:AAsCastExpr> */
6345 if (var_n_type == NULL) {
6346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9822);
6347 exit(1);
6348 } else {
6349 ((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>*/;
6350 }
6351 if (var_n_cpar == NULL) {
6352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9823);
6353 exit(1);
6354 }
6355 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsCastExpr> */
6356 if (var_n_cpar == NULL) {
6357 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9824);
6358 exit(1);
6359 } else {
6360 ((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>*/;
6361 }
6362 RET_LABEL:;
6363 }
6364 /* method parser_prod#AAsCastExpr#init_aascastexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */
6365 void VIRTUAL_parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6366 parser_prod__AAsCastExpr__init_aascastexpr(self, p0, p1, p2, p3, p4);
6367 RET_LABEL:;
6368 }
6369 /* method parser_prod#AAsCastExpr#replace_child for (self: AAsCastExpr, ANode, nullable ANode) */
6370 void parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6371 val* var_old_child /* var old_child: ANode */;
6372 val* var_new_child /* var new_child: nullable ANode */;
6373 val* var /* : AExpr */;
6374 short int var1 /* : Bool */;
6375 val* var2 /* : null */;
6376 short int var3 /* : Bool */;
6377 short int var4 /* : Bool */;
6378 int cltype;
6379 int idtype;
6380 val* var5 /* : TKwas */;
6381 short int var6 /* : Bool */;
6382 val* var7 /* : null */;
6383 short int var8 /* : Bool */;
6384 short int var9 /* : Bool */;
6385 int cltype10;
6386 int idtype11;
6387 val* var12 /* : TOpar */;
6388 short int var13 /* : Bool */;
6389 val* var14 /* : null */;
6390 short int var15 /* : Bool */;
6391 short int var16 /* : Bool */;
6392 int cltype17;
6393 int idtype18;
6394 val* var19 /* : AType */;
6395 short int var20 /* : Bool */;
6396 val* var21 /* : null */;
6397 short int var22 /* : Bool */;
6398 short int var23 /* : Bool */;
6399 int cltype24;
6400 int idtype25;
6401 val* var26 /* : TCpar */;
6402 short int var27 /* : Bool */;
6403 val* var28 /* : null */;
6404 short int var29 /* : Bool */;
6405 short int var30 /* : Bool */;
6406 int cltype31;
6407 int idtype32;
6408 var_old_child = p0;
6409 var_new_child = p1;
6410 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6411 if (var == NULL) {
6412 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9829);
6413 exit(1);
6414 }
6415 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6416 if (var1){
6417 var2 = NULL;
6418 if (var_new_child == NULL) {
6419 var3 = 0; /* is null */
6420 } else {
6421 var3 = 1; /* arg is null and recv is not */
6422 }
6423 if (var3){
6424 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6425 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6426 cltype = type_parser_nodes__AExpr.color;
6427 idtype = type_parser_nodes__AExpr.id;
6428 if(cltype >= var_new_child->type->table_size) {
6429 var4 = 0;
6430 } else {
6431 var4 = var_new_child->type->type_table[cltype] == idtype;
6432 }
6433 if (!var4) {
6434 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9832);
6435 exit(1);
6436 }
6437 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsCastExpr> */
6438 } else {
6439 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9835);
6440 exit(1);
6441 }
6442 goto RET_LABEL;
6443 } else {
6444 }
6445 var5 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6446 if (var5 == NULL) {
6447 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9839);
6448 exit(1);
6449 }
6450 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
6451 if (var6){
6452 var7 = NULL;
6453 if (var_new_child == NULL) {
6454 var8 = 0; /* is null */
6455 } else {
6456 var8 = 1; /* arg is null and recv is not */
6457 }
6458 if (var8){
6459 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6460 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
6461 cltype10 = type_parser_nodes__TKwas.color;
6462 idtype11 = type_parser_nodes__TKwas.id;
6463 if(cltype10 >= var_new_child->type->table_size) {
6464 var9 = 0;
6465 } else {
6466 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6467 }
6468 if (!var9) {
6469 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9842);
6470 exit(1);
6471 }
6472 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsCastExpr> */
6473 } else {
6474 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9845);
6475 exit(1);
6476 }
6477 goto RET_LABEL;
6478 } else {
6479 }
6480 var12 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6481 if (var12 == NULL) {
6482 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9849);
6483 exit(1);
6484 }
6485 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
6486 if (var13){
6487 var14 = NULL;
6488 if (var_new_child == NULL) {
6489 var15 = 0; /* is null */
6490 } else {
6491 var15 = 1; /* arg is null and recv is not */
6492 }
6493 if (var15){
6494 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6495 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6496 cltype17 = type_parser_nodes__TOpar.color;
6497 idtype18 = type_parser_nodes__TOpar.id;
6498 if(cltype17 >= var_new_child->type->table_size) {
6499 var16 = 0;
6500 } else {
6501 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6502 }
6503 if (!var16) {
6504 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9852);
6505 exit(1);
6506 }
6507 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsCastExpr> */
6508 } else {
6509 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9855);
6510 exit(1);
6511 }
6512 goto RET_LABEL;
6513 } else {
6514 }
6515 var19 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6516 if (var19 == NULL) {
6517 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 9859);
6518 exit(1);
6519 }
6520 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
6521 if (var20){
6522 var21 = NULL;
6523 if (var_new_child == NULL) {
6524 var22 = 0; /* is null */
6525 } else {
6526 var22 = 1; /* arg is null and recv is not */
6527 }
6528 if (var22){
6529 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6530 /* <var_new_child:nullable ANode(ANode)> isa AType */
6531 cltype24 = type_parser_nodes__AType.color;
6532 idtype25 = type_parser_nodes__AType.id;
6533 if(cltype24 >= var_new_child->type->table_size) {
6534 var23 = 0;
6535 } else {
6536 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6537 }
6538 if (!var23) {
6539 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9862);
6540 exit(1);
6541 }
6542 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_new_child; /* _n_type on <self:AAsCastExpr> */
6543 } else {
6544 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9865);
6545 exit(1);
6546 }
6547 goto RET_LABEL;
6548 } else {
6549 }
6550 var26 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6551 if (var26 == NULL) {
6552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9869);
6553 exit(1);
6554 }
6555 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TCpar>*/;
6556 if (var27){
6557 var28 = NULL;
6558 if (var_new_child == NULL) {
6559 var29 = 0; /* is null */
6560 } else {
6561 var29 = 1; /* arg is null and recv is not */
6562 }
6563 if (var29){
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 TCpar */
6566 cltype31 = type_parser_nodes__TCpar.color;
6567 idtype32 = type_parser_nodes__TCpar.id;
6568 if(cltype31 >= var_new_child->type->table_size) {
6569 var30 = 0;
6570 } else {
6571 var30 = var_new_child->type->type_table[cltype31] == idtype32;
6572 }
6573 if (!var30) {
6574 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9872);
6575 exit(1);
6576 }
6577 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsCastExpr> */
6578 } else {
6579 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9875);
6580 exit(1);
6581 }
6582 goto RET_LABEL;
6583 } else {
6584 }
6585 RET_LABEL:;
6586 }
6587 /* method parser_prod#AAsCastExpr#replace_child for (self: Object, ANode, nullable ANode) */
6588 void VIRTUAL_parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) {
6589 parser_prod__AAsCastExpr__replace_child(self, p0, p1);
6590 RET_LABEL:;
6591 }
6592 /* method parser_prod#AAsCastExpr#n_expr= for (self: AAsCastExpr, AExpr) */
6593 void parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6594 val* var_node /* var node: AExpr */;
6595 var_node = p0;
6596 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_node; /* _n_expr on <self:AAsCastExpr> */
6597 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6598 RET_LABEL:;
6599 }
6600 /* method parser_prod#AAsCastExpr#n_expr= for (self: Object, AExpr) */
6601 void VIRTUAL_parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) {
6602 parser_prod__AAsCastExpr__n_expr_61d(self, p0);
6603 RET_LABEL:;
6604 }
6605 /* method parser_prod#AAsCastExpr#n_kwas= for (self: AAsCastExpr, TKwas) */
6606 void parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6607 val* var_node /* var node: TKwas */;
6608 var_node = p0;
6609 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsCastExpr> */
6610 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
6611 RET_LABEL:;
6612 }
6613 /* method parser_prod#AAsCastExpr#n_kwas= for (self: Object, TKwas) */
6614 void VIRTUAL_parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) {
6615 parser_prod__AAsCastExpr__n_kwas_61d(self, p0);
6616 RET_LABEL:;
6617 }
6618 /* method parser_prod#AAsCastExpr#n_opar= for (self: AAsCastExpr, TOpar) */
6619 void parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6620 val* var_node /* var node: TOpar */;
6621 var_node = p0;
6622 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_node; /* _n_opar on <self:AAsCastExpr> */
6623 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
6624 RET_LABEL:;
6625 }
6626 /* method parser_prod#AAsCastExpr#n_opar= for (self: Object, TOpar) */
6627 void VIRTUAL_parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) {
6628 parser_prod__AAsCastExpr__n_opar_61d(self, p0);
6629 RET_LABEL:;
6630 }
6631 /* method parser_prod#AAsCastExpr#n_type= for (self: AAsCastExpr, AType) */
6632 void parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6633 val* var_node /* var node: AType */;
6634 var_node = p0;
6635 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_node; /* _n_type on <self:AAsCastExpr> */
6636 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
6637 RET_LABEL:;
6638 }
6639 /* method parser_prod#AAsCastExpr#n_type= for (self: Object, AType) */
6640 void VIRTUAL_parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) {
6641 parser_prod__AAsCastExpr__n_type_61d(self, p0);
6642 RET_LABEL:;
6643 }
6644 /* method parser_prod#AAsCastExpr#n_cpar= for (self: AAsCastExpr, TCpar) */
6645 void parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6646 val* var_node /* var node: TCpar */;
6647 var_node = p0;
6648 self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsCastExpr> */
6649 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
6650 RET_LABEL:;
6651 }
6652 /* method parser_prod#AAsCastExpr#n_cpar= for (self: Object, TCpar) */
6653 void VIRTUAL_parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) {
6654 parser_prod__AAsCastExpr__n_cpar_61d(self, p0);
6655 RET_LABEL:;
6656 }
6657 /* method parser_prod#AAsCastExpr#visit_all for (self: AAsCastExpr, Visitor) */
6658 void parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6659 val* var_v /* var v: Visitor */;
6660 val* var /* : AExpr */;
6661 val* var1 /* : TKwas */;
6662 val* var2 /* : TOpar */;
6663 val* var3 /* : AType */;
6664 val* var4 /* : TCpar */;
6665 var_v = p0;
6666 var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
6667 if (var == NULL) {
6668 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9910);
6669 exit(1);
6670 }
6671 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6672 var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on <self:AAsCastExpr> */
6673 if (var1 == NULL) {
6674 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9911);
6675 exit(1);
6676 }
6677 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6678 var2 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on <self:AAsCastExpr> */
6679 if (var2 == NULL) {
6680 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9912);
6681 exit(1);
6682 }
6683 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
6684 var3 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
6685 if (var3 == NULL) {
6686 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 9913);
6687 exit(1);
6688 }
6689 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6690 var4 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on <self:AAsCastExpr> */
6691 if (var4 == NULL) {
6692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9914);
6693 exit(1);
6694 }
6695 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
6696 RET_LABEL:;
6697 }
6698 /* method parser_prod#AAsCastExpr#visit_all for (self: Object, Visitor) */
6699 void VIRTUAL_parser_prod__AAsCastExpr__visit_all(val* self, val* p0) {
6700 parser_prod__AAsCastExpr__visit_all(self, p0);
6701 RET_LABEL:;
6702 }
6703 /* method parser_prod#AAsNotnullExpr#empty_init for (self: AAsNotnullExpr) */
6704 void parser_prod__AAsNotnullExpr__empty_init(val* self) {
6705 RET_LABEL:;
6706 }
6707 /* method parser_prod#AAsNotnullExpr#empty_init for (self: Object) */
6708 void VIRTUAL_parser_prod__AAsNotnullExpr__empty_init(val* self) {
6709 parser_prod__AAsNotnullExpr__empty_init(self);
6710 RET_LABEL:;
6711 }
6712 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: AAsNotnullExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6713 void parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6714 val* var_n_expr /* var n_expr: nullable AExpr */;
6715 val* var_n_kwas /* var n_kwas: nullable TKwas */;
6716 val* var_n_opar /* var n_opar: nullable TOpar */;
6717 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
6718 val* var_n_kwnull /* var n_kwnull: nullable TKwnull */;
6719 val* var_n_cpar /* var n_cpar: nullable TCpar */;
6720 var_n_expr = p0;
6721 var_n_kwas = p1;
6722 var_n_opar = p2;
6723 var_n_kwnot = p3;
6724 var_n_kwnull = p4;
6725 var_n_cpar = p5;
6726 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNotnullExpr__empty_init]))(self) /* empty_init on <self:AAsNotnullExpr>*/;
6727 if (var_n_expr == NULL) {
6728 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9930);
6729 exit(1);
6730 }
6731 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAsNotnullExpr> */
6732 if (var_n_expr == NULL) {
6733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9931);
6734 exit(1);
6735 } else {
6736 ((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>*/;
6737 }
6738 if (var_n_kwas == NULL) {
6739 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9932);
6740 exit(1);
6741 }
6742 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNotnullExpr> */
6743 if (var_n_kwas == NULL) {
6744 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9933);
6745 exit(1);
6746 } else {
6747 ((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>*/;
6748 }
6749 if (var_n_opar == NULL) {
6750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9934);
6751 exit(1);
6752 }
6753 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_n_opar; /* _n_opar on <self:AAsNotnullExpr> */
6754 if (var_n_opar == NULL) {
6755 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9935);
6756 exit(1);
6757 } else {
6758 ((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>*/;
6759 }
6760 if (var_n_kwnot == NULL) {
6761 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9936);
6762 exit(1);
6763 }
6764 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:AAsNotnullExpr> */
6765 if (var_n_kwnot == NULL) {
6766 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9937);
6767 exit(1);
6768 } else {
6769 ((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>*/;
6770 }
6771 if (var_n_kwnull == NULL) {
6772 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9938);
6773 exit(1);
6774 }
6775 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on <self:AAsNotnullExpr> */
6776 if (var_n_kwnull == NULL) {
6777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9939);
6778 exit(1);
6779 } else {
6780 ((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>*/;
6781 }
6782 if (var_n_cpar == NULL) {
6783 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9940);
6784 exit(1);
6785 }
6786 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAsNotnullExpr> */
6787 if (var_n_cpar == NULL) {
6788 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9941);
6789 exit(1);
6790 } else {
6791 ((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>*/;
6792 }
6793 RET_LABEL:;
6794 }
6795 /* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */
6796 void VIRTUAL_parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
6797 parser_prod__AAsNotnullExpr__init_aasnotnullexpr(self, p0, p1, p2, p3, p4, p5);
6798 RET_LABEL:;
6799 }
6800 /* method parser_prod#AAsNotnullExpr#replace_child for (self: AAsNotnullExpr, ANode, nullable ANode) */
6801 void parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
6802 val* var_old_child /* var old_child: ANode */;
6803 val* var_new_child /* var new_child: nullable ANode */;
6804 val* var /* : AExpr */;
6805 short int var1 /* : Bool */;
6806 val* var2 /* : null */;
6807 short int var3 /* : Bool */;
6808 short int var4 /* : Bool */;
6809 int cltype;
6810 int idtype;
6811 val* var5 /* : TKwas */;
6812 short int var6 /* : Bool */;
6813 val* var7 /* : null */;
6814 short int var8 /* : Bool */;
6815 short int var9 /* : Bool */;
6816 int cltype10;
6817 int idtype11;
6818 val* var12 /* : TOpar */;
6819 short int var13 /* : Bool */;
6820 val* var14 /* : null */;
6821 short int var15 /* : Bool */;
6822 short int var16 /* : Bool */;
6823 int cltype17;
6824 int idtype18;
6825 val* var19 /* : TKwnot */;
6826 short int var20 /* : Bool */;
6827 val* var21 /* : null */;
6828 short int var22 /* : Bool */;
6829 short int var23 /* : Bool */;
6830 int cltype24;
6831 int idtype25;
6832 val* var26 /* : TKwnull */;
6833 short int var27 /* : Bool */;
6834 val* var28 /* : null */;
6835 short int var29 /* : Bool */;
6836 short int var30 /* : Bool */;
6837 int cltype31;
6838 int idtype32;
6839 val* var33 /* : TCpar */;
6840 short int var34 /* : Bool */;
6841 val* var35 /* : null */;
6842 short int var36 /* : Bool */;
6843 short int var37 /* : Bool */;
6844 int cltype38;
6845 int idtype39;
6846 var_old_child = p0;
6847 var_new_child = p1;
6848 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
6849 if (var == NULL) {
6850 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9946);
6851 exit(1);
6852 }
6853 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6854 if (var1){
6855 var2 = NULL;
6856 if (var_new_child == NULL) {
6857 var3 = 0; /* is null */
6858 } else {
6859 var3 = 1; /* arg is null and recv is not */
6860 }
6861 if (var3){
6862 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6863 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6864 cltype = type_parser_nodes__AExpr.color;
6865 idtype = type_parser_nodes__AExpr.id;
6866 if(cltype >= var_new_child->type->table_size) {
6867 var4 = 0;
6868 } else {
6869 var4 = var_new_child->type->type_table[cltype] == idtype;
6870 }
6871 if (!var4) {
6872 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9949);
6873 exit(1);
6874 }
6875 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAsNotnullExpr> */
6876 } else {
6877 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9952);
6878 exit(1);
6879 }
6880 goto RET_LABEL;
6881 } else {
6882 }
6883 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
6884 if (var5 == NULL) {
6885 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9956);
6886 exit(1);
6887 }
6888 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
6889 if (var6){
6890 var7 = NULL;
6891 if (var_new_child == NULL) {
6892 var8 = 0; /* is null */
6893 } else {
6894 var8 = 1; /* arg is null and recv is not */
6895 }
6896 if (var8){
6897 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6898 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
6899 cltype10 = type_parser_nodes__TKwas.color;
6900 idtype11 = type_parser_nodes__TKwas.id;
6901 if(cltype10 >= var_new_child->type->table_size) {
6902 var9 = 0;
6903 } else {
6904 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6905 }
6906 if (!var9) {
6907 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9959);
6908 exit(1);
6909 }
6910 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsNotnullExpr> */
6911 } else {
6912 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9962);
6913 exit(1);
6914 }
6915 goto RET_LABEL;
6916 } else {
6917 }
6918 var12 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
6919 if (var12 == NULL) {
6920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9966);
6921 exit(1);
6922 }
6923 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TOpar>*/;
6924 if (var13){
6925 var14 = NULL;
6926 if (var_new_child == NULL) {
6927 var15 = 0; /* is null */
6928 } else {
6929 var15 = 1; /* arg is null and recv is not */
6930 }
6931 if (var15){
6932 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6933 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
6934 cltype17 = type_parser_nodes__TOpar.color;
6935 idtype18 = type_parser_nodes__TOpar.id;
6936 if(cltype17 >= var_new_child->type->table_size) {
6937 var16 = 0;
6938 } else {
6939 var16 = var_new_child->type->type_table[cltype17] == idtype18;
6940 }
6941 if (!var16) {
6942 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9969);
6943 exit(1);
6944 }
6945 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_new_child; /* _n_opar on <self:AAsNotnullExpr> */
6946 } else {
6947 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9972);
6948 exit(1);
6949 }
6950 goto RET_LABEL;
6951 } else {
6952 }
6953 var19 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
6954 if (var19 == NULL) {
6955 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 9976);
6956 exit(1);
6957 }
6958 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TKwnot>*/;
6959 if (var20){
6960 var21 = NULL;
6961 if (var_new_child == NULL) {
6962 var22 = 0; /* is null */
6963 } else {
6964 var22 = 1; /* arg is null and recv is not */
6965 }
6966 if (var22){
6967 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6968 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
6969 cltype24 = type_parser_nodes__TKwnot.color;
6970 idtype25 = type_parser_nodes__TKwnot.id;
6971 if(cltype24 >= var_new_child->type->table_size) {
6972 var23 = 0;
6973 } else {
6974 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6975 }
6976 if (!var23) {
6977 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9979);
6978 exit(1);
6979 }
6980 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:AAsNotnullExpr> */
6981 } else {
6982 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9982);
6983 exit(1);
6984 }
6985 goto RET_LABEL;
6986 } else {
6987 }
6988 var26 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
6989 if (var26 == NULL) {
6990 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9986);
6991 exit(1);
6992 }
6993 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwnull>*/;
6994 if (var27){
6995 var28 = NULL;
6996 if (var_new_child == NULL) {
6997 var29 = 0; /* is null */
6998 } else {
6999 var29 = 1; /* arg is null and recv is not */
7000 }
7001 if (var29){
7002 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7003 /* <var_new_child:nullable ANode(ANode)> isa TKwnull */
7004 cltype31 = type_parser_nodes__TKwnull.color;
7005 idtype32 = type_parser_nodes__TKwnull.id;
7006 if(cltype31 >= var_new_child->type->table_size) {
7007 var30 = 0;
7008 } else {
7009 var30 = var_new_child->type->type_table[cltype31] == idtype32;
7010 }
7011 if (!var30) {
7012 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9989);
7013 exit(1);
7014 }
7015 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on <self:AAsNotnullExpr> */
7016 } else {
7017 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9992);
7018 exit(1);
7019 }
7020 goto RET_LABEL;
7021 } else {
7022 }
7023 var33 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7024 if (var33 == NULL) {
7025 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9996);
7026 exit(1);
7027 }
7028 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:TCpar>*/;
7029 if (var34){
7030 var35 = NULL;
7031 if (var_new_child == NULL) {
7032 var36 = 0; /* is null */
7033 } else {
7034 var36 = 1; /* arg is null and recv is not */
7035 }
7036 if (var36){
7037 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7038 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
7039 cltype38 = type_parser_nodes__TCpar.color;
7040 idtype39 = type_parser_nodes__TCpar.id;
7041 if(cltype38 >= var_new_child->type->table_size) {
7042 var37 = 0;
7043 } else {
7044 var37 = var_new_child->type->type_table[cltype38] == idtype39;
7045 }
7046 if (!var37) {
7047 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9999);
7048 exit(1);
7049 }
7050 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_new_child; /* _n_cpar on <self:AAsNotnullExpr> */
7051 } else {
7052 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10002);
7053 exit(1);
7054 }
7055 goto RET_LABEL;
7056 } else {
7057 }
7058 RET_LABEL:;
7059 }
7060 /* method parser_prod#AAsNotnullExpr#replace_child for (self: Object, ANode, nullable ANode) */
7061 void VIRTUAL_parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) {
7062 parser_prod__AAsNotnullExpr__replace_child(self, p0, p1);
7063 RET_LABEL:;
7064 }
7065 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: AAsNotnullExpr, AExpr) */
7066 void parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7067 val* var_node /* var node: AExpr */;
7068 var_node = p0;
7069 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_node; /* _n_expr on <self:AAsNotnullExpr> */
7070 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7071 RET_LABEL:;
7072 }
7073 /* method parser_prod#AAsNotnullExpr#n_expr= for (self: Object, AExpr) */
7074 void VIRTUAL_parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) {
7075 parser_prod__AAsNotnullExpr__n_expr_61d(self, p0);
7076 RET_LABEL:;
7077 }
7078 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: AAsNotnullExpr, TKwas) */
7079 void parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7080 val* var_node /* var node: TKwas */;
7081 var_node = p0;
7082 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_node; /* _n_kwas on <self:AAsNotnullExpr> */
7083 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
7084 RET_LABEL:;
7085 }
7086 /* method parser_prod#AAsNotnullExpr#n_kwas= for (self: Object, TKwas) */
7087 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) {
7088 parser_prod__AAsNotnullExpr__n_kwas_61d(self, p0);
7089 RET_LABEL:;
7090 }
7091 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: AAsNotnullExpr, TOpar) */
7092 void parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7093 val* var_node /* var node: TOpar */;
7094 var_node = p0;
7095 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_node; /* _n_opar on <self:AAsNotnullExpr> */
7096 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
7097 RET_LABEL:;
7098 }
7099 /* method parser_prod#AAsNotnullExpr#n_opar= for (self: Object, TOpar) */
7100 void VIRTUAL_parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) {
7101 parser_prod__AAsNotnullExpr__n_opar_61d(self, p0);
7102 RET_LABEL:;
7103 }
7104 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: AAsNotnullExpr, TKwnot) */
7105 void parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7106 val* var_node /* var node: TKwnot */;
7107 var_node = p0;
7108 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:AAsNotnullExpr> */
7109 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
7110 RET_LABEL:;
7111 }
7112 /* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: Object, TKwnot) */
7113 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) {
7114 parser_prod__AAsNotnullExpr__n_kwnot_61d(self, p0);
7115 RET_LABEL:;
7116 }
7117 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: AAsNotnullExpr, TKwnull) */
7118 void parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7119 val* var_node /* var node: TKwnull */;
7120 var_node = p0;
7121 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_node; /* _n_kwnull on <self:AAsNotnullExpr> */
7122 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnull>*/;
7123 RET_LABEL:;
7124 }
7125 /* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: Object, TKwnull) */
7126 void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) {
7127 parser_prod__AAsNotnullExpr__n_kwnull_61d(self, p0);
7128 RET_LABEL:;
7129 }
7130 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: AAsNotnullExpr, TCpar) */
7131 void parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7132 val* var_node /* var node: TCpar */;
7133 var_node = p0;
7134 self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_node; /* _n_cpar on <self:AAsNotnullExpr> */
7135 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
7136 RET_LABEL:;
7137 }
7138 /* method parser_prod#AAsNotnullExpr#n_cpar= for (self: Object, TCpar) */
7139 void VIRTUAL_parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) {
7140 parser_prod__AAsNotnullExpr__n_cpar_61d(self, p0);
7141 RET_LABEL:;
7142 }
7143 /* method parser_prod#AAsNotnullExpr#visit_all for (self: AAsNotnullExpr, Visitor) */
7144 void parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7145 val* var_v /* var v: Visitor */;
7146 val* var /* : AExpr */;
7147 val* var1 /* : TKwas */;
7148 val* var2 /* : TOpar */;
7149 val* var3 /* : TKwnot */;
7150 val* var4 /* : TKwnull */;
7151 val* var5 /* : TCpar */;
7152 var_v = p0;
7153 var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
7154 if (var == NULL) {
7155 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10042);
7156 exit(1);
7157 }
7158 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7159 var1 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on <self:AAsNotnullExpr> */
7160 if (var1 == NULL) {
7161 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 10043);
7162 exit(1);
7163 }
7164 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7165 var2 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on <self:AAsNotnullExpr> */
7166 if (var2 == NULL) {
7167 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10044);
7168 exit(1);
7169 }
7170 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7171 var3 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on <self:AAsNotnullExpr> */
7172 if (var3 == NULL) {
7173 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 10045);
7174 exit(1);
7175 }
7176 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7177 var4 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on <self:AAsNotnullExpr> */
7178 if (var4 == NULL) {
7179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 10046);
7180 exit(1);
7181 }
7182 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
7183 var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on <self:AAsNotnullExpr> */
7184 if (var5 == NULL) {
7185 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10047);
7186 exit(1);
7187 }
7188 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7189 RET_LABEL:;
7190 }
7191 /* method parser_prod#AAsNotnullExpr#visit_all for (self: Object, Visitor) */
7192 void VIRTUAL_parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) {
7193 parser_prod__AAsNotnullExpr__visit_all(self, p0);
7194 RET_LABEL:;
7195 }
7196 /* method parser_prod#AIssetAttrExpr#empty_init for (self: AIssetAttrExpr) */
7197 void parser_prod__AIssetAttrExpr__empty_init(val* self) {
7198 RET_LABEL:;
7199 }
7200 /* method parser_prod#AIssetAttrExpr#empty_init for (self: Object) */
7201 void VIRTUAL_parser_prod__AIssetAttrExpr__empty_init(val* self) {
7202 parser_prod__AIssetAttrExpr__empty_init(self);
7203 RET_LABEL:;
7204 }
7205 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: AIssetAttrExpr, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7206 void parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7207 val* var_n_kwisset /* var n_kwisset: nullable TKwisset */;
7208 val* var_n_expr /* var n_expr: nullable AExpr */;
7209 val* var_n_id /* var n_id: nullable TAttrid */;
7210 var_n_kwisset = p0;
7211 var_n_expr = p1;
7212 var_n_id = p2;
7213 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIssetAttrExpr__empty_init]))(self) /* empty_init on <self:AIssetAttrExpr>*/;
7214 if (var_n_kwisset == NULL) {
7215 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10060);
7216 exit(1);
7217 }
7218 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_n_kwisset; /* _n_kwisset on <self:AIssetAttrExpr> */
7219 if (var_n_kwisset == NULL) {
7220 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10061);
7221 exit(1);
7222 } else {
7223 ((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>*/;
7224 }
7225 if (var_n_expr == NULL) {
7226 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10062);
7227 exit(1);
7228 }
7229 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIssetAttrExpr> */
7230 if (var_n_expr == NULL) {
7231 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10063);
7232 exit(1);
7233 } else {
7234 ((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>*/;
7235 }
7236 if (var_n_id == NULL) {
7237 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10064);
7238 exit(1);
7239 }
7240 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AIssetAttrExpr> */
7241 if (var_n_id == NULL) {
7242 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10065);
7243 exit(1);
7244 } else {
7245 ((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>*/;
7246 }
7247 RET_LABEL:;
7248 }
7249 /* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: Object, nullable TKwisset, nullable AExpr, nullable TAttrid) */
7250 void VIRTUAL_parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) {
7251 parser_prod__AIssetAttrExpr__init_aissetattrexpr(self, p0, p1, p2);
7252 RET_LABEL:;
7253 }
7254 /* method parser_prod#AIssetAttrExpr#replace_child for (self: AIssetAttrExpr, ANode, nullable ANode) */
7255 void parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7256 val* var_old_child /* var old_child: ANode */;
7257 val* var_new_child /* var new_child: nullable ANode */;
7258 val* var /* : TKwisset */;
7259 short int var1 /* : Bool */;
7260 val* var2 /* : null */;
7261 short int var3 /* : Bool */;
7262 short int var4 /* : Bool */;
7263 int cltype;
7264 int idtype;
7265 val* var5 /* : AExpr */;
7266 short int var6 /* : Bool */;
7267 val* var7 /* : null */;
7268 short int var8 /* : Bool */;
7269 short int var9 /* : Bool */;
7270 int cltype10;
7271 int idtype11;
7272 val* var12 /* : TAttrid */;
7273 short int var13 /* : Bool */;
7274 val* var14 /* : null */;
7275 short int var15 /* : Bool */;
7276 short int var16 /* : Bool */;
7277 int cltype17;
7278 int idtype18;
7279 var_old_child = p0;
7280 var_new_child = p1;
7281 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7282 if (var == NULL) {
7283 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwisset", "src/parser/parser_prod.nit", 10070);
7284 exit(1);
7285 }
7286 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwisset>*/;
7287 if (var1){
7288 var2 = NULL;
7289 if (var_new_child == NULL) {
7290 var3 = 0; /* is null */
7291 } else {
7292 var3 = 1; /* arg is null and recv is not */
7293 }
7294 if (var3){
7295 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7296 /* <var_new_child:nullable ANode(ANode)> isa TKwisset */
7297 cltype = type_parser_nodes__TKwisset.color;
7298 idtype = type_parser_nodes__TKwisset.id;
7299 if(cltype >= var_new_child->type->table_size) {
7300 var4 = 0;
7301 } else {
7302 var4 = var_new_child->type->type_table[cltype] == idtype;
7303 }
7304 if (!var4) {
7305 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10073);
7306 exit(1);
7307 }
7308 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_new_child; /* _n_kwisset on <self:AIssetAttrExpr> */
7309 } else {
7310 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10076);
7311 exit(1);
7312 }
7313 goto RET_LABEL;
7314 } else {
7315 }
7316 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7317 if (var5 == NULL) {
7318 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10080);
7319 exit(1);
7320 }
7321 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
7322 if (var6){
7323 var7 = NULL;
7324 if (var_new_child == NULL) {
7325 var8 = 0; /* is null */
7326 } else {
7327 var8 = 1; /* arg is null and recv is not */
7328 }
7329 if (var8){
7330 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7331 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7332 cltype10 = type_parser_nodes__AExpr.color;
7333 idtype11 = type_parser_nodes__AExpr.id;
7334 if(cltype10 >= var_new_child->type->table_size) {
7335 var9 = 0;
7336 } else {
7337 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7338 }
7339 if (!var9) {
7340 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10083);
7341 exit(1);
7342 }
7343 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIssetAttrExpr> */
7344 } else {
7345 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10086);
7346 exit(1);
7347 }
7348 goto RET_LABEL;
7349 } else {
7350 }
7351 var12 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7352 if (var12 == NULL) {
7353 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10090);
7354 exit(1);
7355 }
7356 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAttrid>*/;
7357 if (var13){
7358 var14 = NULL;
7359 if (var_new_child == NULL) {
7360 var15 = 0; /* is null */
7361 } else {
7362 var15 = 1; /* arg is null and recv is not */
7363 }
7364 if (var15){
7365 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7366 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7367 cltype17 = type_parser_nodes__TAttrid.color;
7368 idtype18 = type_parser_nodes__TAttrid.id;
7369 if(cltype17 >= var_new_child->type->table_size) {
7370 var16 = 0;
7371 } else {
7372 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7373 }
7374 if (!var16) {
7375 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10093);
7376 exit(1);
7377 }
7378 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AIssetAttrExpr> */
7379 } else {
7380 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10096);
7381 exit(1);
7382 }
7383 goto RET_LABEL;
7384 } else {
7385 }
7386 RET_LABEL:;
7387 }
7388 /* method parser_prod#AIssetAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7389 void VIRTUAL_parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) {
7390 parser_prod__AIssetAttrExpr__replace_child(self, p0, p1);
7391 RET_LABEL:;
7392 }
7393 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: AIssetAttrExpr, TKwisset) */
7394 void parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7395 val* var_node /* var node: TKwisset */;
7396 var_node = p0;
7397 self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_node; /* _n_kwisset on <self:AIssetAttrExpr> */
7398 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwisset>*/;
7399 RET_LABEL:;
7400 }
7401 /* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: Object, TKwisset) */
7402 void VIRTUAL_parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) {
7403 parser_prod__AIssetAttrExpr__n_kwisset_61d(self, p0);
7404 RET_LABEL:;
7405 }
7406 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: AIssetAttrExpr, AExpr) */
7407 void parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7408 val* var_node /* var node: AExpr */;
7409 var_node = p0;
7410 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AIssetAttrExpr> */
7411 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7412 RET_LABEL:;
7413 }
7414 /* method parser_prod#AIssetAttrExpr#n_expr= for (self: Object, AExpr) */
7415 void VIRTUAL_parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) {
7416 parser_prod__AIssetAttrExpr__n_expr_61d(self, p0);
7417 RET_LABEL:;
7418 }
7419 /* method parser_prod#AIssetAttrExpr#n_id= for (self: AIssetAttrExpr, TAttrid) */
7420 void parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7421 val* var_node /* var node: TAttrid */;
7422 var_node = p0;
7423 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AIssetAttrExpr> */
7424 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7425 RET_LABEL:;
7426 }
7427 /* method parser_prod#AIssetAttrExpr#n_id= for (self: Object, TAttrid) */
7428 void VIRTUAL_parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) {
7429 parser_prod__AIssetAttrExpr__n_id_61d(self, p0);
7430 RET_LABEL:;
7431 }
7432 /* method parser_prod#AIssetAttrExpr#visit_all for (self: AIssetAttrExpr, Visitor) */
7433 void parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7434 val* var_v /* var v: Visitor */;
7435 val* var /* : TKwisset */;
7436 val* var1 /* : AExpr */;
7437 val* var2 /* : TAttrid */;
7438 var_v = p0;
7439 var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on <self:AIssetAttrExpr> */
7440 if (var == NULL) {
7441 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwisset", "src/parser/parser_prod.nit", 10121);
7442 exit(1);
7443 }
7444 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7445 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AIssetAttrExpr> */
7446 if (var1 == NULL) {
7447 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10122);
7448 exit(1);
7449 }
7450 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7451 var2 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AIssetAttrExpr> */
7452 if (var2 == NULL) {
7453 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10123);
7454 exit(1);
7455 }
7456 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7457 RET_LABEL:;
7458 }
7459 /* method parser_prod#AIssetAttrExpr#visit_all for (self: Object, Visitor) */
7460 void VIRTUAL_parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) {
7461 parser_prod__AIssetAttrExpr__visit_all(self, p0);
7462 RET_LABEL:;
7463 }
7464 /* method parser_prod#ADebugTypeExpr#empty_init for (self: ADebugTypeExpr) */
7465 void parser_prod__ADebugTypeExpr__empty_init(val* self) {
7466 RET_LABEL:;
7467 }
7468 /* method parser_prod#ADebugTypeExpr#empty_init for (self: Object) */
7469 void VIRTUAL_parser_prod__ADebugTypeExpr__empty_init(val* self) {
7470 parser_prod__ADebugTypeExpr__empty_init(self);
7471 RET_LABEL:;
7472 }
7473 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: ADebugTypeExpr, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7474 void parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7475 val* var_n_kwdebug /* var n_kwdebug: nullable TKwdebug */;
7476 val* var_n_kwtype /* var n_kwtype: nullable TKwtype */;
7477 val* var_n_expr /* var n_expr: nullable AExpr */;
7478 val* var_n_type /* var n_type: nullable AType */;
7479 var_n_kwdebug = p0;
7480 var_n_kwtype = p1;
7481 var_n_expr = p2;
7482 var_n_type = p3;
7483 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADebugTypeExpr__empty_init]))(self) /* empty_init on <self:ADebugTypeExpr>*/;
7484 if (var_n_kwdebug == NULL) {
7485 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10137);
7486 exit(1);
7487 }
7488 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_n_kwdebug; /* _n_kwdebug on <self:ADebugTypeExpr> */
7489 if (var_n_kwdebug == NULL) {
7490 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10138);
7491 exit(1);
7492 } else {
7493 ((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>*/;
7494 }
7495 if (var_n_kwtype == NULL) {
7496 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10139);
7497 exit(1);
7498 }
7499 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_n_kwtype; /* _n_kwtype on <self:ADebugTypeExpr> */
7500 if (var_n_kwtype == NULL) {
7501 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10140);
7502 exit(1);
7503 } else {
7504 ((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>*/;
7505 }
7506 if (var_n_expr == NULL) {
7507 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10141);
7508 exit(1);
7509 }
7510 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ADebugTypeExpr> */
7511 if (var_n_expr == NULL) {
7512 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10142);
7513 exit(1);
7514 } else {
7515 ((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>*/;
7516 }
7517 if (var_n_type == NULL) {
7518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10143);
7519 exit(1);
7520 }
7521 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_n_type; /* _n_type on <self:ADebugTypeExpr> */
7522 if (var_n_type == NULL) {
7523 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10144);
7524 exit(1);
7525 } else {
7526 ((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>*/;
7527 }
7528 RET_LABEL:;
7529 }
7530 /* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: Object, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */
7531 void VIRTUAL_parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7532 parser_prod__ADebugTypeExpr__init_adebugtypeexpr(self, p0, p1, p2, p3);
7533 RET_LABEL:;
7534 }
7535 /* method parser_prod#ADebugTypeExpr#replace_child for (self: ADebugTypeExpr, ANode, nullable ANode) */
7536 void parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7537 val* var_old_child /* var old_child: ANode */;
7538 val* var_new_child /* var new_child: nullable ANode */;
7539 val* var /* : TKwdebug */;
7540 short int var1 /* : Bool */;
7541 val* var2 /* : null */;
7542 short int var3 /* : Bool */;
7543 short int var4 /* : Bool */;
7544 int cltype;
7545 int idtype;
7546 val* var5 /* : TKwtype */;
7547 short int var6 /* : Bool */;
7548 val* var7 /* : null */;
7549 short int var8 /* : Bool */;
7550 short int var9 /* : Bool */;
7551 int cltype10;
7552 int idtype11;
7553 val* var12 /* : AExpr */;
7554 short int var13 /* : Bool */;
7555 val* var14 /* : null */;
7556 short int var15 /* : Bool */;
7557 short int var16 /* : Bool */;
7558 int cltype17;
7559 int idtype18;
7560 val* var19 /* : AType */;
7561 short int var20 /* : Bool */;
7562 val* var21 /* : null */;
7563 short int var22 /* : Bool */;
7564 short int var23 /* : Bool */;
7565 int cltype24;
7566 int idtype25;
7567 var_old_child = p0;
7568 var_new_child = p1;
7569 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
7570 if (var == NULL) {
7571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdebug", "src/parser/parser_prod.nit", 10149);
7572 exit(1);
7573 }
7574 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwdebug>*/;
7575 if (var1){
7576 var2 = NULL;
7577 if (var_new_child == NULL) {
7578 var3 = 0; /* is null */
7579 } else {
7580 var3 = 1; /* arg is null and recv is not */
7581 }
7582 if (var3){
7583 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7584 /* <var_new_child:nullable ANode(ANode)> isa TKwdebug */
7585 cltype = type_parser_nodes__TKwdebug.color;
7586 idtype = type_parser_nodes__TKwdebug.id;
7587 if(cltype >= var_new_child->type->table_size) {
7588 var4 = 0;
7589 } else {
7590 var4 = var_new_child->type->type_table[cltype] == idtype;
7591 }
7592 if (!var4) {
7593 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10152);
7594 exit(1);
7595 }
7596 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_new_child; /* _n_kwdebug on <self:ADebugTypeExpr> */
7597 } else {
7598 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10155);
7599 exit(1);
7600 }
7601 goto RET_LABEL;
7602 } else {
7603 }
7604 var5 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
7605 if (var5 == NULL) {
7606 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtype", "src/parser/parser_prod.nit", 10159);
7607 exit(1);
7608 }
7609 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwtype>*/;
7610 if (var6){
7611 var7 = NULL;
7612 if (var_new_child == NULL) {
7613 var8 = 0; /* is null */
7614 } else {
7615 var8 = 1; /* arg is null and recv is not */
7616 }
7617 if (var8){
7618 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7619 /* <var_new_child:nullable ANode(ANode)> isa TKwtype */
7620 cltype10 = type_parser_nodes__TKwtype.color;
7621 idtype11 = type_parser_nodes__TKwtype.id;
7622 if(cltype10 >= var_new_child->type->table_size) {
7623 var9 = 0;
7624 } else {
7625 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7626 }
7627 if (!var9) {
7628 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10162);
7629 exit(1);
7630 }
7631 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_new_child; /* _n_kwtype on <self:ADebugTypeExpr> */
7632 } else {
7633 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10165);
7634 exit(1);
7635 }
7636 goto RET_LABEL;
7637 } else {
7638 }
7639 var12 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
7640 if (var12 == NULL) {
7641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10169);
7642 exit(1);
7643 }
7644 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExpr>*/;
7645 if (var13){
7646 var14 = NULL;
7647 if (var_new_child == NULL) {
7648 var15 = 0; /* is null */
7649 } else {
7650 var15 = 1; /* arg is null and recv is not */
7651 }
7652 if (var15){
7653 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7654 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7655 cltype17 = type_parser_nodes__AExpr.color;
7656 idtype18 = type_parser_nodes__AExpr.id;
7657 if(cltype17 >= var_new_child->type->table_size) {
7658 var16 = 0;
7659 } else {
7660 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7661 }
7662 if (!var16) {
7663 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10172);
7664 exit(1);
7665 }
7666 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_new_child; /* _n_expr on <self:ADebugTypeExpr> */
7667 } else {
7668 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10175);
7669 exit(1);
7670 }
7671 goto RET_LABEL;
7672 } else {
7673 }
7674 var19 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
7675 if (var19 == NULL) {
7676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 10179);
7677 exit(1);
7678 }
7679 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AType>*/;
7680 if (var20){
7681 var21 = NULL;
7682 if (var_new_child == NULL) {
7683 var22 = 0; /* is null */
7684 } else {
7685 var22 = 1; /* arg is null and recv is not */
7686 }
7687 if (var22){
7688 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7689 /* <var_new_child:nullable ANode(ANode)> isa AType */
7690 cltype24 = type_parser_nodes__AType.color;
7691 idtype25 = type_parser_nodes__AType.id;
7692 if(cltype24 >= var_new_child->type->table_size) {
7693 var23 = 0;
7694 } else {
7695 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7696 }
7697 if (!var23) {
7698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10182);
7699 exit(1);
7700 }
7701 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_new_child; /* _n_type on <self:ADebugTypeExpr> */
7702 } else {
7703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10185);
7704 exit(1);
7705 }
7706 goto RET_LABEL;
7707 } else {
7708 }
7709 RET_LABEL:;
7710 }
7711 /* method parser_prod#ADebugTypeExpr#replace_child for (self: Object, ANode, nullable ANode) */
7712 void VIRTUAL_parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) {
7713 parser_prod__ADebugTypeExpr__replace_child(self, p0, p1);
7714 RET_LABEL:;
7715 }
7716 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: ADebugTypeExpr, TKwdebug) */
7717 void parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7718 val* var_node /* var node: TKwdebug */;
7719 var_node = p0;
7720 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_node; /* _n_kwdebug on <self:ADebugTypeExpr> */
7721 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdebug>*/;
7722 RET_LABEL:;
7723 }
7724 /* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: Object, TKwdebug) */
7725 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) {
7726 parser_prod__ADebugTypeExpr__n_kwdebug_61d(self, p0);
7727 RET_LABEL:;
7728 }
7729 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: ADebugTypeExpr, TKwtype) */
7730 void parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7731 val* var_node /* var node: TKwtype */;
7732 var_node = p0;
7733 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_node; /* _n_kwtype on <self:ADebugTypeExpr> */
7734 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwtype>*/;
7735 RET_LABEL:;
7736 }
7737 /* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: Object, TKwtype) */
7738 void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) {
7739 parser_prod__ADebugTypeExpr__n_kwtype_61d(self, p0);
7740 RET_LABEL:;
7741 }
7742 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: ADebugTypeExpr, AExpr) */
7743 void parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7744 val* var_node /* var node: AExpr */;
7745 var_node = p0;
7746 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_node; /* _n_expr on <self:ADebugTypeExpr> */
7747 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7748 RET_LABEL:;
7749 }
7750 /* method parser_prod#ADebugTypeExpr#n_expr= for (self: Object, AExpr) */
7751 void VIRTUAL_parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) {
7752 parser_prod__ADebugTypeExpr__n_expr_61d(self, p0);
7753 RET_LABEL:;
7754 }
7755 /* method parser_prod#ADebugTypeExpr#n_type= for (self: ADebugTypeExpr, AType) */
7756 void parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7757 val* var_node /* var node: AType */;
7758 var_node = p0;
7759 self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_node; /* _n_type on <self:ADebugTypeExpr> */
7760 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7761 RET_LABEL:;
7762 }
7763 /* method parser_prod#ADebugTypeExpr#n_type= for (self: Object, AType) */
7764 void VIRTUAL_parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) {
7765 parser_prod__ADebugTypeExpr__n_type_61d(self, p0);
7766 RET_LABEL:;
7767 }
7768 /* method parser_prod#ADebugTypeExpr#visit_all for (self: ADebugTypeExpr, Visitor) */
7769 void parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
7770 val* var_v /* var v: Visitor */;
7771 val* var /* : TKwdebug */;
7772 val* var1 /* : TKwtype */;
7773 val* var2 /* : AExpr */;
7774 val* var3 /* : AType */;
7775 var_v = p0;
7776 var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on <self:ADebugTypeExpr> */
7777 if (var == NULL) {
7778 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdebug", "src/parser/parser_prod.nit", 10215);
7779 exit(1);
7780 }
7781 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7782 var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on <self:ADebugTypeExpr> */
7783 if (var1 == NULL) {
7784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtype", "src/parser/parser_prod.nit", 10216);
7785 exit(1);
7786 }
7787 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7788 var2 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
7789 if (var2 == NULL) {
7790 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10217);
7791 exit(1);
7792 }
7793 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
7794 var3 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
7795 if (var3 == NULL) {
7796 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 10218);
7797 exit(1);
7798 }
7799 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7800 RET_LABEL:;
7801 }
7802 /* method parser_prod#ADebugTypeExpr#visit_all for (self: Object, Visitor) */
7803 void VIRTUAL_parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) {
7804 parser_prod__ADebugTypeExpr__visit_all(self, p0);
7805 RET_LABEL:;
7806 }
7807 /* method parser_prod#AListExprs#empty_init for (self: AListExprs) */
7808 void parser_prod__AListExprs__empty_init(val* self) {
7809 RET_LABEL:;
7810 }
7811 /* method parser_prod#AListExprs#empty_init for (self: Object) */
7812 void VIRTUAL_parser_prod__AListExprs__empty_init(val* self) {
7813 parser_prod__AListExprs__empty_init(self);
7814 RET_LABEL:;
7815 }
7816 /* method parser_prod#AListExprs#init_alistexprs for (self: AListExprs, Collection[Object]) */
7817 void parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
7818 val* var_n_exprs /* var n_exprs: Collection[Object] */;
7819 val* var /* : Iterator[nullable Object] */;
7820 short int var1 /* : Bool */;
7821 val* var2 /* : nullable Object */;
7822 val* var_n /* var n: Object */;
7823 short int var3 /* : Bool */;
7824 int cltype;
7825 int idtype;
7826 val* var4 /* : ANodes[AExpr] */;
7827 var_n_exprs = p0;
7828 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AListExprs__empty_init]))(self) /* empty_init on <self:AListExprs>*/;
7829 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
7830 for(;;) {
7831 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
7832 if(!var1) break;
7833 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
7834 var_n = var2;
7835 /* <var_n:Object> isa AExpr */
7836 cltype = type_parser_nodes__AExpr.color;
7837 idtype = type_parser_nodes__AExpr.id;
7838 if(cltype >= var_n->type->table_size) {
7839 var3 = 0;
7840 } else {
7841 var3 = var_n->type->type_table[cltype] == idtype;
7842 }
7843 if (!var3) {
7844 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10230);
7845 exit(1);
7846 }
7847 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7848 if (var4 == NULL) {
7849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10231);
7850 exit(1);
7851 }
7852 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
7853 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
7854 CONTINUE_label: (void)0;
7855 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
7856 }
7857 BREAK_label: (void)0;
7858 RET_LABEL:;
7859 }
7860 /* method parser_prod#AListExprs#init_alistexprs for (self: Object, Collection[Object]) */
7861 void VIRTUAL_parser_prod__AListExprs__init_alistexprs(val* self, val* p0) {
7862 parser_prod__AListExprs__init_alistexprs(self, p0);
7863 RET_LABEL:;
7864 }
7865 /* method parser_prod#AListExprs#replace_child for (self: AListExprs, ANode, nullable ANode) */
7866 void parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
7867 val* var_old_child /* var old_child: ANode */;
7868 val* var_new_child /* var new_child: nullable ANode */;
7869 val* var /* : Range[Int] */;
7870 long var1 /* : Int */;
7871 val* var2 /* : ANodes[AExpr] */;
7872 long var3 /* : Int */;
7873 val* var4 /* : Discrete */;
7874 val* var5 /* : Discrete */;
7875 val* var6 /* : Iterator[nullable Object] */;
7876 short int var7 /* : Bool */;
7877 val* var8 /* : nullable Object */;
7878 long var_i /* var i: Int */;
7879 long var9 /* : Int */;
7880 val* var10 /* : ANodes[AExpr] */;
7881 val* var11 /* : nullable Object */;
7882 short int var12 /* : Bool */;
7883 val* var13 /* : null */;
7884 short int var14 /* : Bool */;
7885 short int var15 /* : Bool */;
7886 int cltype;
7887 int idtype;
7888 val* var16 /* : ANodes[AExpr] */;
7889 val* var17 /* : ANodes[AExpr] */;
7890 var_old_child = p0;
7891 var_new_child = p1;
7892 var = NEW_range__Range(&type_range__Rangekernel__Int);
7893 var1 = 0;
7894 var2 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7895 if (var2 == NULL) {
7896 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10238);
7897 exit(1);
7898 }
7899 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[AExpr]>*/;
7900 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
7901 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
7902 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
7903 CHECK_NEW_range__Range(var);
7904 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
7905 for(;;) {
7906 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
7907 if(!var7) break;
7908 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
7909 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
7910 var_i = var9;
7911 var10 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7912 if (var10 == NULL) {
7913 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10239);
7914 exit(1);
7915 }
7916 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[AExpr]>*/;
7917 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(AExpr)>*/;
7918 if (var12){
7919 var13 = NULL;
7920 if (var_new_child == NULL) {
7921 var14 = 0; /* is null */
7922 } else {
7923 var14 = 1; /* arg is null and recv is not */
7924 }
7925 if (var14){
7926 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7927 cltype = type_parser_nodes__AExpr.color;
7928 idtype = type_parser_nodes__AExpr.id;
7929 if(cltype >= var_new_child->type->table_size) {
7930 var15 = 0;
7931 } else {
7932 var15 = var_new_child->type->type_table[cltype] == idtype;
7933 }
7934 if (!var15) {
7935 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10241);
7936 exit(1);
7937 }
7938 var16 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7939 if (var16 == NULL) {
7940 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10242);
7941 exit(1);
7942 }
7943 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[AExpr]>*/;
7944 ((void (*)(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)>*/;
7945 } else {
7946 var17 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7947 if (var17 == NULL) {
7948 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10245);
7949 exit(1);
7950 }
7951 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[AExpr]>*/;
7952 }
7953 goto RET_LABEL;
7954 } else {
7955 }
7956 CONTINUE_label: (void)0;
7957 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
7958 }
7959 BREAK_label: (void)0;
7960 RET_LABEL:;
7961 }
7962 /* method parser_prod#AListExprs#replace_child for (self: Object, ANode, nullable ANode) */
7963 void VIRTUAL_parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) {
7964 parser_prod__AListExprs__replace_child(self, p0, p1);
7965 RET_LABEL:;
7966 }
7967 /* method parser_prod#AListExprs#visit_all for (self: AListExprs, Visitor) */
7968 void parser_prod__AListExprs__visit_all(val* self, val* p0) {
7969 val* var_v /* var v: Visitor */;
7970 val* var /* : ANodes[AExpr] */;
7971 val* var1 /* : Iterator[nullable Object] */;
7972 short int var2 /* : Bool */;
7973 val* var3 /* : nullable Object */;
7974 val* var_n /* var n: AExpr */;
7975 var_v = p0;
7976 var = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AListExprs> */
7977 if (var == NULL) {
7978 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10256);
7979 exit(1);
7980 }
7981 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[AExpr]>*/;
7982 for(;;) {
7983 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
7984 if(!var2) break;
7985 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
7986 var_n = var3;
7987 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
7988 CONTINUE_label: (void)0;
7989 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
7990 }
7991 BREAK_label: (void)0;
7992 RET_LABEL:;
7993 }
7994 /* method parser_prod#AListExprs#visit_all for (self: Object, Visitor) */
7995 void VIRTUAL_parser_prod__AListExprs__visit_all(val* self, val* p0) {
7996 parser_prod__AListExprs__visit_all(self, p0);
7997 RET_LABEL:;
7998 }
7999 /* method parser_prod#AParExprs#empty_init for (self: AParExprs) */
8000 void parser_prod__AParExprs__empty_init(val* self) {
8001 RET_LABEL:;
8002 }
8003 /* method parser_prod#AParExprs#empty_init for (self: Object) */
8004 void VIRTUAL_parser_prod__AParExprs__empty_init(val* self) {
8005 parser_prod__AParExprs__empty_init(self);
8006 RET_LABEL:;
8007 }
8008 /* method parser_prod#AParExprs#init_aparexprs for (self: AParExprs, nullable TOpar, Collection[Object], nullable TCpar) */
8009 void parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8010 val* var_n_opar /* var n_opar: nullable TOpar */;
8011 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8012 val* var_n_cpar /* var n_cpar: nullable TCpar */;
8013 val* var /* : Iterator[nullable Object] */;
8014 short int var1 /* : Bool */;
8015 val* var2 /* : nullable Object */;
8016 val* var_n /* var n: Object */;
8017 short int var3 /* : Bool */;
8018 int cltype;
8019 int idtype;
8020 val* var4 /* : ANodes[AExpr] */;
8021 var_n_opar = p0;
8022 var_n_exprs = p1;
8023 var_n_cpar = p2;
8024 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExprs__empty_init]))(self) /* empty_init on <self:AParExprs>*/;
8025 if (var_n_opar == NULL) {
8026 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10271);
8027 exit(1);
8028 }
8029 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_n_opar; /* _n_opar on <self:AParExprs> */
8030 if (var_n_opar == NULL) {
8031 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10272);
8032 exit(1);
8033 } else {
8034 ((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>*/;
8035 }
8036 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8037 for(;;) {
8038 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8039 if(!var1) break;
8040 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8041 var_n = var2;
8042 /* <var_n:Object> isa AExpr */
8043 cltype = type_parser_nodes__AExpr.color;
8044 idtype = type_parser_nodes__AExpr.id;
8045 if(cltype >= var_n->type->table_size) {
8046 var3 = 0;
8047 } else {
8048 var3 = var_n->type->type_table[cltype] == idtype;
8049 }
8050 if (!var3) {
8051 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10274);
8052 exit(1);
8053 }
8054 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8055 if (var4 == NULL) {
8056 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10275);
8057 exit(1);
8058 }
8059 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8060 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8061 CONTINUE_label: (void)0;
8062 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8063 }
8064 BREAK_label: (void)0;
8065 if (var_n_cpar == NULL) {
8066 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10278);
8067 exit(1);
8068 }
8069 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AParExprs> */
8070 if (var_n_cpar == NULL) {
8071 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10279);
8072 exit(1);
8073 } else {
8074 ((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>*/;
8075 }
8076 RET_LABEL:;
8077 }
8078 /* method parser_prod#AParExprs#init_aparexprs for (self: Object, nullable TOpar, Collection[Object], nullable TCpar) */
8079 void VIRTUAL_parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) {
8080 parser_prod__AParExprs__init_aparexprs(self, p0, p1, p2);
8081 RET_LABEL:;
8082 }
8083 /* method parser_prod#AParExprs#replace_child for (self: AParExprs, ANode, nullable ANode) */
8084 void parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8085 val* var_old_child /* var old_child: ANode */;
8086 val* var_new_child /* var new_child: nullable ANode */;
8087 val* var /* : TOpar */;
8088 short int var1 /* : Bool */;
8089 val* var2 /* : null */;
8090 short int var3 /* : Bool */;
8091 short int var4 /* : Bool */;
8092 int cltype;
8093 int idtype;
8094 val* var5 /* : Range[Int] */;
8095 long var6 /* : Int */;
8096 val* var7 /* : ANodes[AExpr] */;
8097 long var8 /* : Int */;
8098 val* var9 /* : Discrete */;
8099 val* var10 /* : Discrete */;
8100 val* var11 /* : Iterator[nullable Object] */;
8101 short int var12 /* : Bool */;
8102 val* var13 /* : nullable Object */;
8103 long var_i /* var i: Int */;
8104 long var14 /* : Int */;
8105 val* var15 /* : ANodes[AExpr] */;
8106 val* var16 /* : nullable Object */;
8107 short int var17 /* : Bool */;
8108 val* var18 /* : null */;
8109 short int var19 /* : Bool */;
8110 short int var20 /* : Bool */;
8111 int cltype21;
8112 int idtype22;
8113 val* var23 /* : ANodes[AExpr] */;
8114 val* var24 /* : ANodes[AExpr] */;
8115 val* var25 /* : TCpar */;
8116 short int var26 /* : Bool */;
8117 val* var27 /* : null */;
8118 short int var28 /* : Bool */;
8119 short int var29 /* : Bool */;
8120 int cltype30;
8121 int idtype31;
8122 var_old_child = p0;
8123 var_new_child = p1;
8124 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8125 if (var == NULL) {
8126 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10284);
8127 exit(1);
8128 }
8129 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TOpar>*/;
8130 if (var1){
8131 var2 = NULL;
8132 if (var_new_child == NULL) {
8133 var3 = 0; /* is null */
8134 } else {
8135 var3 = 1; /* arg is null and recv is not */
8136 }
8137 if (var3){
8138 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8139 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
8140 cltype = type_parser_nodes__TOpar.color;
8141 idtype = type_parser_nodes__TOpar.id;
8142 if(cltype >= var_new_child->type->table_size) {
8143 var4 = 0;
8144 } else {
8145 var4 = var_new_child->type->type_table[cltype] == idtype;
8146 }
8147 if (!var4) {
8148 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10287);
8149 exit(1);
8150 }
8151 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_new_child; /* _n_opar on <self:AParExprs> */
8152 } else {
8153 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10290);
8154 exit(1);
8155 }
8156 goto RET_LABEL;
8157 } else {
8158 }
8159 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8160 var6 = 0;
8161 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8162 if (var7 == NULL) {
8163 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10294);
8164 exit(1);
8165 }
8166 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8167 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8168 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8169 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8170 CHECK_NEW_range__Range(var5);
8171 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8172 for(;;) {
8173 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8174 if(!var12) break;
8175 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8176 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8177 var_i = var14;
8178 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8179 if (var15 == NULL) {
8180 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10295);
8181 exit(1);
8182 }
8183 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8184 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8185 if (var17){
8186 var18 = NULL;
8187 if (var_new_child == NULL) {
8188 var19 = 0; /* is null */
8189 } else {
8190 var19 = 1; /* arg is null and recv is not */
8191 }
8192 if (var19){
8193 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8194 cltype21 = type_parser_nodes__AExpr.color;
8195 idtype22 = type_parser_nodes__AExpr.id;
8196 if(cltype21 >= var_new_child->type->table_size) {
8197 var20 = 0;
8198 } else {
8199 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8200 }
8201 if (!var20) {
8202 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10297);
8203 exit(1);
8204 }
8205 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8206 if (var23 == NULL) {
8207 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10298);
8208 exit(1);
8209 }
8210 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8211 ((void (*)(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)>*/;
8212 } else {
8213 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8214 if (var24 == NULL) {
8215 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10301);
8216 exit(1);
8217 }
8218 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8219 }
8220 goto RET_LABEL;
8221 } else {
8222 }
8223 CONTINUE_label: (void)0;
8224 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8225 }
8226 BREAK_label: (void)0;
8227 var25 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8228 if (var25 == NULL) {
8229 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10306);
8230 exit(1);
8231 }
8232 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCpar>*/;
8233 if (var26){
8234 var27 = NULL;
8235 if (var_new_child == NULL) {
8236 var28 = 0; /* is null */
8237 } else {
8238 var28 = 1; /* arg is null and recv is not */
8239 }
8240 if (var28){
8241 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8242 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
8243 cltype30 = type_parser_nodes__TCpar.color;
8244 idtype31 = type_parser_nodes__TCpar.id;
8245 if(cltype30 >= var_new_child->type->table_size) {
8246 var29 = 0;
8247 } else {
8248 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8249 }
8250 if (!var29) {
8251 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10309);
8252 exit(1);
8253 }
8254 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_new_child; /* _n_cpar on <self:AParExprs> */
8255 } else {
8256 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10312);
8257 exit(1);
8258 }
8259 goto RET_LABEL;
8260 } else {
8261 }
8262 RET_LABEL:;
8263 }
8264 /* method parser_prod#AParExprs#replace_child for (self: Object, ANode, nullable ANode) */
8265 void VIRTUAL_parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) {
8266 parser_prod__AParExprs__replace_child(self, p0, p1);
8267 RET_LABEL:;
8268 }
8269 /* method parser_prod#AParExprs#n_opar= for (self: AParExprs, TOpar) */
8270 void parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8271 val* var_node /* var node: TOpar */;
8272 var_node = p0;
8273 self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_node; /* _n_opar on <self:AParExprs> */
8274 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TOpar>*/;
8275 RET_LABEL:;
8276 }
8277 /* method parser_prod#AParExprs#n_opar= for (self: Object, TOpar) */
8278 void VIRTUAL_parser_prod__AParExprs__n_opar_61d(val* self, val* p0) {
8279 parser_prod__AParExprs__n_opar_61d(self, p0);
8280 RET_LABEL:;
8281 }
8282 /* method parser_prod#AParExprs#n_cpar= for (self: AParExprs, TCpar) */
8283 void parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8284 val* var_node /* var node: TCpar */;
8285 var_node = p0;
8286 self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_node; /* _n_cpar on <self:AParExprs> */
8287 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCpar>*/;
8288 RET_LABEL:;
8289 }
8290 /* method parser_prod#AParExprs#n_cpar= for (self: Object, TCpar) */
8291 void VIRTUAL_parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) {
8292 parser_prod__AParExprs__n_cpar_61d(self, p0);
8293 RET_LABEL:;
8294 }
8295 /* method parser_prod#AParExprs#visit_all for (self: AParExprs, Visitor) */
8296 void parser_prod__AParExprs__visit_all(val* self, val* p0) {
8297 val* var_v /* var v: Visitor */;
8298 val* var /* : TOpar */;
8299 val* var1 /* : ANodes[AExpr] */;
8300 val* var2 /* : Iterator[nullable Object] */;
8301 short int var3 /* : Bool */;
8302 val* var4 /* : nullable Object */;
8303 val* var_n /* var n: AExpr */;
8304 val* var5 /* : TCpar */;
8305 var_v = p0;
8306 var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on <self:AParExprs> */
8307 if (var == NULL) {
8308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10332);
8309 exit(1);
8310 }
8311 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8312 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AParExprs> */
8313 if (var1 == NULL) {
8314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10333);
8315 exit(1);
8316 }
8317 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8318 for(;;) {
8319 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8320 if(!var3) break;
8321 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8322 var_n = var4;
8323 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8324 CONTINUE_label: (void)0;
8325 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8326 }
8327 BREAK_label: (void)0;
8328 var5 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on <self:AParExprs> */
8329 if (var5 == NULL) {
8330 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10336);
8331 exit(1);
8332 }
8333 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8334 RET_LABEL:;
8335 }
8336 /* method parser_prod#AParExprs#visit_all for (self: Object, Visitor) */
8337 void VIRTUAL_parser_prod__AParExprs__visit_all(val* self, val* p0) {
8338 parser_prod__AParExprs__visit_all(self, p0);
8339 RET_LABEL:;
8340 }
8341 /* method parser_prod#ABraExprs#empty_init for (self: ABraExprs) */
8342 void parser_prod__ABraExprs__empty_init(val* self) {
8343 RET_LABEL:;
8344 }
8345 /* method parser_prod#ABraExprs#empty_init for (self: Object) */
8346 void VIRTUAL_parser_prod__ABraExprs__empty_init(val* self) {
8347 parser_prod__ABraExprs__empty_init(self);
8348 RET_LABEL:;
8349 }
8350 /* method parser_prod#ABraExprs#init_abraexprs for (self: ABraExprs, nullable TObra, Collection[Object], nullable TCbra) */
8351 void parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8352 val* var_n_obra /* var n_obra: nullable TObra */;
8353 val* var_n_exprs /* var n_exprs: Collection[Object] */;
8354 val* var_n_cbra /* var n_cbra: nullable TCbra */;
8355 val* var /* : Iterator[nullable Object] */;
8356 short int var1 /* : Bool */;
8357 val* var2 /* : nullable Object */;
8358 val* var_n /* var n: Object */;
8359 short int var3 /* : Bool */;
8360 int cltype;
8361 int idtype;
8362 val* var4 /* : ANodes[AExpr] */;
8363 var_n_obra = p0;
8364 var_n_exprs = p1;
8365 var_n_cbra = p2;
8366 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExprs__empty_init]))(self) /* empty_init on <self:ABraExprs>*/;
8367 if (var_n_obra == NULL) {
8368 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10349);
8369 exit(1);
8370 }
8371 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_n_obra; /* _n_obra on <self:ABraExprs> */
8372 if (var_n_obra == NULL) {
8373 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10350);
8374 exit(1);
8375 } else {
8376 ((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>*/;
8377 }
8378 var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on <var_n_exprs:Collection[Object]>*/;
8379 for(;;) {
8380 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8381 if(!var1) break;
8382 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8383 var_n = var2;
8384 /* <var_n:Object> isa AExpr */
8385 cltype = type_parser_nodes__AExpr.color;
8386 idtype = type_parser_nodes__AExpr.id;
8387 if(cltype >= var_n->type->table_size) {
8388 var3 = 0;
8389 } else {
8390 var3 = var_n->type->type_table[cltype] == idtype;
8391 }
8392 if (!var3) {
8393 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10352);
8394 exit(1);
8395 }
8396 var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8397 if (var4 == NULL) {
8398 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10353);
8399 exit(1);
8400 }
8401 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[AExpr]>*/;
8402 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AExpr)>*/;
8403 CONTINUE_label: (void)0;
8404 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
8405 }
8406 BREAK_label: (void)0;
8407 if (var_n_cbra == NULL) {
8408 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10356);
8409 exit(1);
8410 }
8411 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ABraExprs> */
8412 if (var_n_cbra == NULL) {
8413 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10357);
8414 exit(1);
8415 } else {
8416 ((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>*/;
8417 }
8418 RET_LABEL:;
8419 }
8420 /* method parser_prod#ABraExprs#init_abraexprs for (self: Object, nullable TObra, Collection[Object], nullable TCbra) */
8421 void VIRTUAL_parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) {
8422 parser_prod__ABraExprs__init_abraexprs(self, p0, p1, p2);
8423 RET_LABEL:;
8424 }
8425 /* method parser_prod#ABraExprs#replace_child for (self: ABraExprs, ANode, nullable ANode) */
8426 void parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8427 val* var_old_child /* var old_child: ANode */;
8428 val* var_new_child /* var new_child: nullable ANode */;
8429 val* var /* : TObra */;
8430 short int var1 /* : Bool */;
8431 val* var2 /* : null */;
8432 short int var3 /* : Bool */;
8433 short int var4 /* : Bool */;
8434 int cltype;
8435 int idtype;
8436 val* var5 /* : Range[Int] */;
8437 long var6 /* : Int */;
8438 val* var7 /* : ANodes[AExpr] */;
8439 long var8 /* : Int */;
8440 val* var9 /* : Discrete */;
8441 val* var10 /* : Discrete */;
8442 val* var11 /* : Iterator[nullable Object] */;
8443 short int var12 /* : Bool */;
8444 val* var13 /* : nullable Object */;
8445 long var_i /* var i: Int */;
8446 long var14 /* : Int */;
8447 val* var15 /* : ANodes[AExpr] */;
8448 val* var16 /* : nullable Object */;
8449 short int var17 /* : Bool */;
8450 val* var18 /* : null */;
8451 short int var19 /* : Bool */;
8452 short int var20 /* : Bool */;
8453 int cltype21;
8454 int idtype22;
8455 val* var23 /* : ANodes[AExpr] */;
8456 val* var24 /* : ANodes[AExpr] */;
8457 val* var25 /* : TCbra */;
8458 short int var26 /* : Bool */;
8459 val* var27 /* : null */;
8460 short int var28 /* : Bool */;
8461 short int var29 /* : Bool */;
8462 int cltype30;
8463 int idtype31;
8464 var_old_child = p0;
8465 var_new_child = p1;
8466 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8467 if (var == NULL) {
8468 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 10362);
8469 exit(1);
8470 }
8471 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TObra>*/;
8472 if (var1){
8473 var2 = NULL;
8474 if (var_new_child == NULL) {
8475 var3 = 0; /* is null */
8476 } else {
8477 var3 = 1; /* arg is null and recv is not */
8478 }
8479 if (var3){
8480 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8481 /* <var_new_child:nullable ANode(ANode)> isa TObra */
8482 cltype = type_parser_nodes__TObra.color;
8483 idtype = type_parser_nodes__TObra.id;
8484 if(cltype >= var_new_child->type->table_size) {
8485 var4 = 0;
8486 } else {
8487 var4 = var_new_child->type->type_table[cltype] == idtype;
8488 }
8489 if (!var4) {
8490 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10365);
8491 exit(1);
8492 }
8493 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_new_child; /* _n_obra on <self:ABraExprs> */
8494 } else {
8495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10368);
8496 exit(1);
8497 }
8498 goto RET_LABEL;
8499 } else {
8500 }
8501 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
8502 var6 = 0;
8503 var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8504 if (var7 == NULL) {
8505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10372);
8506 exit(1);
8507 }
8508 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[AExpr]>*/;
8509 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
8510 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
8511 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
8512 CHECK_NEW_range__Range(var5);
8513 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
8514 for(;;) {
8515 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
8516 if(!var12) break;
8517 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
8518 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
8519 var_i = var14;
8520 var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8521 if (var15 == NULL) {
8522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10373);
8523 exit(1);
8524 }
8525 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[AExpr]>*/;
8526 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(AExpr)>*/;
8527 if (var17){
8528 var18 = NULL;
8529 if (var_new_child == NULL) {
8530 var19 = 0; /* is null */
8531 } else {
8532 var19 = 1; /* arg is null and recv is not */
8533 }
8534 if (var19){
8535 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8536 cltype21 = type_parser_nodes__AExpr.color;
8537 idtype22 = type_parser_nodes__AExpr.id;
8538 if(cltype21 >= var_new_child->type->table_size) {
8539 var20 = 0;
8540 } else {
8541 var20 = var_new_child->type->type_table[cltype21] == idtype22;
8542 }
8543 if (!var20) {
8544 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10375);
8545 exit(1);
8546 }
8547 var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8548 if (var23 == NULL) {
8549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10376);
8550 exit(1);
8551 }
8552 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[AExpr]>*/;
8553 ((void (*)(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)>*/;
8554 } else {
8555 var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8556 if (var24 == NULL) {
8557 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10379);
8558 exit(1);
8559 }
8560 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[AExpr]>*/;
8561 }
8562 goto RET_LABEL;
8563 } else {
8564 }
8565 CONTINUE_label: (void)0;
8566 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
8567 }
8568 BREAK_label: (void)0;
8569 var25 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8570 if (var25 == NULL) {
8571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 10384);
8572 exit(1);
8573 }
8574 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:TCbra>*/;
8575 if (var26){
8576 var27 = NULL;
8577 if (var_new_child == NULL) {
8578 var28 = 0; /* is null */
8579 } else {
8580 var28 = 1; /* arg is null and recv is not */
8581 }
8582 if (var28){
8583 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8584 /* <var_new_child:nullable ANode(ANode)> isa TCbra */
8585 cltype30 = type_parser_nodes__TCbra.color;
8586 idtype31 = type_parser_nodes__TCbra.id;
8587 if(cltype30 >= var_new_child->type->table_size) {
8588 var29 = 0;
8589 } else {
8590 var29 = var_new_child->type->type_table[cltype30] == idtype31;
8591 }
8592 if (!var29) {
8593 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10387);
8594 exit(1);
8595 }
8596 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_new_child; /* _n_cbra on <self:ABraExprs> */
8597 } else {
8598 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10390);
8599 exit(1);
8600 }
8601 goto RET_LABEL;
8602 } else {
8603 }
8604 RET_LABEL:;
8605 }
8606 /* method parser_prod#ABraExprs#replace_child for (self: Object, ANode, nullable ANode) */
8607 void VIRTUAL_parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) {
8608 parser_prod__ABraExprs__replace_child(self, p0, p1);
8609 RET_LABEL:;
8610 }
8611 /* method parser_prod#ABraExprs#n_obra= for (self: ABraExprs, TObra) */
8612 void parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8613 val* var_node /* var node: TObra */;
8614 var_node = p0;
8615 self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_node; /* _n_obra on <self:ABraExprs> */
8616 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TObra>*/;
8617 RET_LABEL:;
8618 }
8619 /* method parser_prod#ABraExprs#n_obra= for (self: Object, TObra) */
8620 void VIRTUAL_parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) {
8621 parser_prod__ABraExprs__n_obra_61d(self, p0);
8622 RET_LABEL:;
8623 }
8624 /* method parser_prod#ABraExprs#n_cbra= for (self: ABraExprs, TCbra) */
8625 void parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8626 val* var_node /* var node: TCbra */;
8627 var_node = p0;
8628 self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_node; /* _n_cbra on <self:ABraExprs> */
8629 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TCbra>*/;
8630 RET_LABEL:;
8631 }
8632 /* method parser_prod#ABraExprs#n_cbra= for (self: Object, TCbra) */
8633 void VIRTUAL_parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) {
8634 parser_prod__ABraExprs__n_cbra_61d(self, p0);
8635 RET_LABEL:;
8636 }
8637 /* method parser_prod#ABraExprs#visit_all for (self: ABraExprs, Visitor) */
8638 void parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8639 val* var_v /* var v: Visitor */;
8640 val* var /* : TObra */;
8641 val* var1 /* : ANodes[AExpr] */;
8642 val* var2 /* : Iterator[nullable Object] */;
8643 short int var3 /* : Bool */;
8644 val* var4 /* : nullable Object */;
8645 val* var_n /* var n: AExpr */;
8646 val* var5 /* : TCbra */;
8647 var_v = p0;
8648 var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on <self:ABraExprs> */
8649 if (var == NULL) {
8650 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 10410);
8651 exit(1);
8652 }
8653 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8654 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:ABraExprs> */
8655 if (var1 == NULL) {
8656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10411);
8657 exit(1);
8658 }
8659 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[AExpr]>*/;
8660 for(;;) {
8661 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
8662 if(!var3) break;
8663 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
8664 var_n = var4;
8665 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
8666 CONTINUE_label: (void)0;
8667 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
8668 }
8669 BREAK_label: (void)0;
8670 var5 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on <self:ABraExprs> */
8671 if (var5 == NULL) {
8672 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 10414);
8673 exit(1);
8674 }
8675 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
8676 RET_LABEL:;
8677 }
8678 /* method parser_prod#ABraExprs#visit_all for (self: Object, Visitor) */
8679 void VIRTUAL_parser_prod__ABraExprs__visit_all(val* self, val* p0) {
8680 parser_prod__ABraExprs__visit_all(self, p0);
8681 RET_LABEL:;
8682 }
8683 /* method parser_prod#APlusAssignOp#empty_init for (self: APlusAssignOp) */
8684 void parser_prod__APlusAssignOp__empty_init(val* self) {
8685 RET_LABEL:;
8686 }
8687 /* method parser_prod#APlusAssignOp#empty_init for (self: Object) */
8688 void VIRTUAL_parser_prod__APlusAssignOp__empty_init(val* self) {
8689 parser_prod__APlusAssignOp__empty_init(self);
8690 RET_LABEL:;
8691 }
8692 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: APlusAssignOp, nullable TPluseq) */
8693 void parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8694 val* var_n_pluseq /* var n_pluseq: nullable TPluseq */;
8695 var_n_pluseq = p0;
8696 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusAssignOp__empty_init]))(self) /* empty_init on <self:APlusAssignOp>*/;
8697 if (var_n_pluseq == NULL) {
8698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10425);
8699 exit(1);
8700 }
8701 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_n_pluseq; /* _n_pluseq on <self:APlusAssignOp> */
8702 if (var_n_pluseq == NULL) {
8703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10426);
8704 exit(1);
8705 } else {
8706 ((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>*/;
8707 }
8708 RET_LABEL:;
8709 }
8710 /* method parser_prod#APlusAssignOp#init_aplusassignop for (self: Object, nullable TPluseq) */
8711 void VIRTUAL_parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) {
8712 parser_prod__APlusAssignOp__init_aplusassignop(self, p0);
8713 RET_LABEL:;
8714 }
8715 /* method parser_prod#APlusAssignOp#replace_child for (self: APlusAssignOp, ANode, nullable ANode) */
8716 void parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
8717 val* var_old_child /* var old_child: ANode */;
8718 val* var_new_child /* var new_child: nullable ANode */;
8719 val* var /* : TPluseq */;
8720 short int var1 /* : Bool */;
8721 val* var2 /* : null */;
8722 short int var3 /* : Bool */;
8723 short int var4 /* : Bool */;
8724 int cltype;
8725 int idtype;
8726 var_old_child = p0;
8727 var_new_child = p1;
8728 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
8729 if (var == NULL) {
8730 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_pluseq", "src/parser/parser_prod.nit", 10431);
8731 exit(1);
8732 }
8733 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TPluseq>*/;
8734 if (var1){
8735 var2 = NULL;
8736 if (var_new_child == NULL) {
8737 var3 = 0; /* is null */
8738 } else {
8739 var3 = 1; /* arg is null and recv is not */
8740 }
8741 if (var3){
8742 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8743 /* <var_new_child:nullable ANode(ANode)> isa TPluseq */
8744 cltype = type_parser_nodes__TPluseq.color;
8745 idtype = type_parser_nodes__TPluseq.id;
8746 if(cltype >= var_new_child->type->table_size) {
8747 var4 = 0;
8748 } else {
8749 var4 = var_new_child->type->type_table[cltype] == idtype;
8750 }
8751 if (!var4) {
8752 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10434);
8753 exit(1);
8754 }
8755 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_new_child; /* _n_pluseq on <self:APlusAssignOp> */
8756 } else {
8757 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10437);
8758 exit(1);
8759 }
8760 goto RET_LABEL;
8761 } else {
8762 }
8763 RET_LABEL:;
8764 }
8765 /* method parser_prod#APlusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
8766 void VIRTUAL_parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) {
8767 parser_prod__APlusAssignOp__replace_child(self, p0, p1);
8768 RET_LABEL:;
8769 }
8770 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: APlusAssignOp, TPluseq) */
8771 void parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
8772 val* var_node /* var node: TPluseq */;
8773 var_node = p0;
8774 self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_node; /* _n_pluseq on <self:APlusAssignOp> */
8775 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TPluseq>*/;
8776 RET_LABEL:;
8777 }
8778 /* method parser_prod#APlusAssignOp#n_pluseq= for (self: Object, TPluseq) */
8779 void VIRTUAL_parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) {
8780 parser_prod__APlusAssignOp__n_pluseq_61d(self, p0);
8781 RET_LABEL:;
8782 }
8783 /* method parser_prod#APlusAssignOp#visit_all for (self: APlusAssignOp, Visitor) */
8784 void parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
8785 val* var_v /* var v: Visitor */;
8786 val* var /* : TPluseq */;
8787 var_v = p0;
8788 var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on <self:APlusAssignOp> */
8789 if (var == NULL) {
8790 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_pluseq", "src/parser/parser_prod.nit", 10452);
8791 exit(1);
8792 }
8793 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8794 RET_LABEL:;
8795 }
8796 /* method parser_prod#APlusAssignOp#visit_all for (self: Object, Visitor) */
8797 void VIRTUAL_parser_prod__APlusAssignOp__visit_all(val* self, val* p0) {
8798 parser_prod__APlusAssignOp__visit_all(self, p0);
8799 RET_LABEL:;
8800 }
8801 /* method parser_prod#AMinusAssignOp#empty_init for (self: AMinusAssignOp) */
8802 void parser_prod__AMinusAssignOp__empty_init(val* self) {
8803 RET_LABEL:;
8804 }
8805 /* method parser_prod#AMinusAssignOp#empty_init for (self: Object) */
8806 void VIRTUAL_parser_prod__AMinusAssignOp__empty_init(val* self) {
8807 parser_prod__AMinusAssignOp__empty_init(self);
8808 RET_LABEL:;
8809 }
8810 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: AMinusAssignOp, nullable TMinuseq) */
8811 void parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
8812 val* var_n_minuseq /* var n_minuseq: nullable TMinuseq */;
8813 var_n_minuseq = p0;
8814 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusAssignOp__empty_init]))(self) /* empty_init on <self:AMinusAssignOp>*/;
8815 if (var_n_minuseq == NULL) {
8816 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10463);
8817 exit(1);
8818 }
8819 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_n_minuseq; /* _n_minuseq on <self:AMinusAssignOp> */
8820 if (var_n_minuseq == NULL) {
8821 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10464);
8822 exit(1);
8823 } else {
8824 ((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>*/;
8825 }
8826 RET_LABEL:;
8827 }
8828 /* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: Object, nullable TMinuseq) */
8829 void VIRTUAL_parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) {
8830 parser_prod__AMinusAssignOp__init_aminusassignop(self, p0);
8831 RET_LABEL:;
8832 }
8833 /* method parser_prod#AMinusAssignOp#replace_child for (self: AMinusAssignOp, ANode, nullable ANode) */
8834 void parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
8835 val* var_old_child /* var old_child: ANode */;
8836 val* var_new_child /* var new_child: nullable ANode */;
8837 val* var /* : TMinuseq */;
8838 short int var1 /* : Bool */;
8839 val* var2 /* : null */;
8840 short int var3 /* : Bool */;
8841 short int var4 /* : Bool */;
8842 int cltype;
8843 int idtype;
8844 var_old_child = p0;
8845 var_new_child = p1;
8846 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
8847 if (var == NULL) {
8848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minuseq", "src/parser/parser_prod.nit", 10469);
8849 exit(1);
8850 }
8851 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinuseq>*/;
8852 if (var1){
8853 var2 = NULL;
8854 if (var_new_child == NULL) {
8855 var3 = 0; /* is null */
8856 } else {
8857 var3 = 1; /* arg is null and recv is not */
8858 }
8859 if (var3){
8860 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8861 /* <var_new_child:nullable ANode(ANode)> isa TMinuseq */
8862 cltype = type_parser_nodes__TMinuseq.color;
8863 idtype = type_parser_nodes__TMinuseq.id;
8864 if(cltype >= var_new_child->type->table_size) {
8865 var4 = 0;
8866 } else {
8867 var4 = var_new_child->type->type_table[cltype] == idtype;
8868 }
8869 if (!var4) {
8870 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10472);
8871 exit(1);
8872 }
8873 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_new_child; /* _n_minuseq on <self:AMinusAssignOp> */
8874 } else {
8875 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10475);
8876 exit(1);
8877 }
8878 goto RET_LABEL;
8879 } else {
8880 }
8881 RET_LABEL:;
8882 }
8883 /* method parser_prod#AMinusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */
8884 void VIRTUAL_parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) {
8885 parser_prod__AMinusAssignOp__replace_child(self, p0, p1);
8886 RET_LABEL:;
8887 }
8888 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: AMinusAssignOp, TMinuseq) */
8889 void parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
8890 val* var_node /* var node: TMinuseq */;
8891 var_node = p0;
8892 self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_node; /* _n_minuseq on <self:AMinusAssignOp> */
8893 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinuseq>*/;
8894 RET_LABEL:;
8895 }
8896 /* method parser_prod#AMinusAssignOp#n_minuseq= for (self: Object, TMinuseq) */
8897 void VIRTUAL_parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) {
8898 parser_prod__AMinusAssignOp__n_minuseq_61d(self, p0);
8899 RET_LABEL:;
8900 }
8901 /* method parser_prod#AMinusAssignOp#visit_all for (self: AMinusAssignOp, Visitor) */
8902 void parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
8903 val* var_v /* var v: Visitor */;
8904 val* var /* : TMinuseq */;
8905 var_v = p0;
8906 var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on <self:AMinusAssignOp> */
8907 if (var == NULL) {
8908 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minuseq", "src/parser/parser_prod.nit", 10490);
8909 exit(1);
8910 }
8911 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8912 RET_LABEL:;
8913 }
8914 /* method parser_prod#AMinusAssignOp#visit_all for (self: Object, Visitor) */
8915 void VIRTUAL_parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) {
8916 parser_prod__AMinusAssignOp__visit_all(self, p0);
8917 RET_LABEL:;
8918 }
8919 /* method parser_prod#AClosureDef#empty_init for (self: AClosureDef) */
8920 void parser_prod__AClosureDef__empty_init(val* self) {
8921 RET_LABEL:;
8922 }
8923 /* method parser_prod#AClosureDef#empty_init for (self: Object) */
8924 void VIRTUAL_parser_prod__AClosureDef__empty_init(val* self) {
8925 parser_prod__AClosureDef__empty_init(self);
8926 RET_LABEL:;
8927 }
8928 /* method parser_prod#AClosureDef#init_aclosuredef for (self: AClosureDef, nullable TBang, nullable AClosureId, Collection[Object], nullable TKwdo, nullable AExpr, nullable ALabel) */
8929 void parser_prod__AClosureDef__init_aclosuredef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
8930 val* var_n_bang /* var n_bang: nullable TBang */;
8931 val* var_n_id /* var n_id: nullable AClosureId */;
8932 val* var_n_ids /* var n_ids: Collection[Object] */;
8933 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
8934 val* var_n_expr /* var n_expr: nullable AExpr */;
8935 val* var_n_label /* var n_label: nullable ALabel */;
8936 val* var /* : Iterator[nullable Object] */;
8937 short int var1 /* : Bool */;
8938 val* var2 /* : nullable Object */;
8939 val* var_n /* var n: Object */;
8940 short int var3 /* : Bool */;
8941 int cltype;
8942 int idtype;
8943 val* var4 /* : ANodes[TId] */;
8944 val* var5 /* : null */;
8945 short int var6 /* : Bool */;
8946 val* var7 /* : null */;
8947 short int var8 /* : Bool */;
8948 val* var9 /* : null */;
8949 short int var10 /* : Bool */;
8950 var_n_bang = p0;
8951 var_n_id = p1;
8952 var_n_ids = p2;
8953 var_n_kwdo = p3;
8954 var_n_expr = p4;
8955 var_n_label = p5;
8956 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AClosureDef__empty_init]))(self) /* empty_init on <self:AClosureDef>*/;
8957 if (var_n_bang == NULL) {
8958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10506);
8959 exit(1);
8960 }
8961 self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_n_bang; /* _n_bang on <self:AClosureDef> */
8962 if (var_n_bang == NULL) {
8963 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10507);
8964 exit(1);
8965 } else {
8966 ((void (*)(val*, val*))(var_n_bang->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_bang, self) /* parent= on <var_n_bang:nullable TBang>*/;
8967 }
8968 if (var_n_id == NULL) {
8969 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10508);
8970 exit(1);
8971 }
8972 self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_n_id; /* _n_id on <self:AClosureDef> */
8973 if (var_n_id == NULL) {
8974 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10509);
8975 exit(1);
8976 } else {
8977 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable AClosureId>*/;
8978 }
8979 var = ((val* (*)(val*))(var_n_ids->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_ids) /* iterator on <var_n_ids:Collection[Object]>*/;
8980 for(;;) {
8981 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
8982 if(!var1) break;
8983 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
8984 var_n = var2;
8985 /* <var_n:Object> isa TId */
8986 cltype = type_parser_nodes__TId.color;
8987 idtype = type_parser_nodes__TId.id;
8988 if(cltype >= var_n->type->table_size) {
8989 var3 = 0;
8990 } else {
8991 var3 = var_n->type->type_table[cltype] == idtype;
8992 }
8993 if (!var3) {
8994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10511);
8995 exit(1);
8996 }
8997 var4 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
8998 if (var4 == NULL) {
8999 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10512);
9000 exit(1);
9001 }
9002 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TId]>*/;
9003 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
9004 CONTINUE_label: (void)0;
9005 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
9006 }
9007 BREAK_label: (void)0;
9008 self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AClosureDef> */
9009 var5 = NULL;
9010 if (var_n_kwdo == NULL) {
9011 var6 = 0; /* is null */
9012 } else {
9013 var6 = 1; /* arg is null and recv is not */
9014 }
9015 if (var6){
9016 ((void (*)(val*, val*))(var_n_kwdo->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdo, self) /* parent= on <var_n_kwdo:nullable TKwdo(TKwdo)>*/;
9017 } else {
9018 }
9019 self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var_n_expr; /* _n_expr on <self:AClosureDef> */
9020 var7 = NULL;
9021 if (var_n_expr == NULL) {
9022 var8 = 0; /* is null */
9023 } else {
9024 var8 = 1; /* arg is null and recv is not */
9025 }
9026 if (var8){
9027 ((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(AExpr)>*/;
9028 } else {
9029 }
9030 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AClosureDef> */
9031 var9 = NULL;
9032 if (var_n_label == NULL) {
9033 var10 = 0; /* is null */
9034 } else {
9035 var10 = 1; /* arg is null and recv is not */
9036 }
9037 if (var10){
9038 ((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on <var_n_label:nullable ALabel(ALabel)>*/;
9039 } else {
9040 }
9041 RET_LABEL:;
9042 }
9043 /* method parser_prod#AClosureDef#init_aclosuredef for (self: Object, nullable TBang, nullable AClosureId, Collection[Object], nullable TKwdo, nullable AExpr, nullable ALabel) */
9044 void VIRTUAL_parser_prod__AClosureDef__init_aclosuredef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
9045 parser_prod__AClosureDef__init_aclosuredef(self, p0, p1, p2, p3, p4, p5);
9046 RET_LABEL:;
9047 }
9048 /* method parser_prod#AClosureDef#replace_child for (self: AClosureDef, ANode, nullable ANode) */
9049 void parser_prod__AClosureDef__replace_child(val* self, val* p0, val* p1) {
9050 val* var_old_child /* var old_child: ANode */;
9051 val* var_new_child /* var new_child: nullable ANode */;
9052 val* var /* : TBang */;
9053 short int var1 /* : Bool */;
9054 val* var2 /* : null */;
9055 short int var3 /* : Bool */;
9056 short int var4 /* : Bool */;
9057 int cltype;
9058 int idtype;
9059 val* var5 /* : AClosureId */;
9060 short int var6 /* : Bool */;
9061 val* var7 /* : null */;
9062 short int var8 /* : Bool */;
9063 short int var9 /* : Bool */;
9064 int cltype10;
9065 int idtype11;
9066 val* var12 /* : Range[Int] */;
9067 long var13 /* : Int */;
9068 val* var14 /* : ANodes[TId] */;
9069 long var15 /* : Int */;
9070 val* var16 /* : Discrete */;
9071 val* var17 /* : Discrete */;
9072 val* var18 /* : Iterator[nullable Object] */;
9073 short int var19 /* : Bool */;
9074 val* var20 /* : nullable Object */;
9075 long var_i /* var i: Int */;
9076 long var21 /* : Int */;
9077 val* var22 /* : ANodes[TId] */;
9078 val* var23 /* : nullable Object */;
9079 short int var24 /* : Bool */;
9080 val* var25 /* : null */;
9081 short int var26 /* : Bool */;
9082 short int var27 /* : Bool */;
9083 int cltype28;
9084 int idtype29;
9085 val* var30 /* : ANodes[TId] */;
9086 val* var31 /* : ANodes[TId] */;
9087 val* var32 /* : nullable TKwdo */;
9088 short int var33 /* : Bool */;
9089 val* var34 /* : null */;
9090 short int var35 /* : Bool */;
9091 short int var36 /* : Bool */;
9092 int cltype37;
9093 int idtype38;
9094 val* var39 /* : null */;
9095 val* var40 /* : nullable AExpr */;
9096 short int var41 /* : Bool */;
9097 val* var42 /* : null */;
9098 short int var43 /* : Bool */;
9099 short int var44 /* : Bool */;
9100 int cltype45;
9101 int idtype46;
9102 val* var47 /* : null */;
9103 val* var48 /* : nullable ALabel */;
9104 short int var49 /* : Bool */;
9105 val* var50 /* : null */;
9106 short int var51 /* : Bool */;
9107 short int var52 /* : Bool */;
9108 int cltype53;
9109 int idtype54;
9110 val* var55 /* : null */;
9111 var_old_child = p0;
9112 var_new_child = p1;
9113 var = self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val; /* _n_bang on <self:AClosureDef> */
9114 if (var == NULL) {
9115 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_bang", "src/parser/parser_prod.nit", 10531);
9116 exit(1);
9117 }
9118 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TBang>*/;
9119 if (var1){
9120 var2 = NULL;
9121 if (var_new_child == NULL) {
9122 var3 = 0; /* is null */
9123 } else {
9124 var3 = 1; /* arg is null and recv is not */
9125 }
9126 if (var3){
9127 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9128 /* <var_new_child:nullable ANode(ANode)> isa TBang */
9129 cltype = type_parser_nodes__TBang.color;
9130 idtype = type_parser_nodes__TBang.id;
9131 if(cltype >= var_new_child->type->table_size) {
9132 var4 = 0;
9133 } else {
9134 var4 = var_new_child->type->type_table[cltype] == idtype;
9135 }
9136 if (!var4) {
9137 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10534);
9138 exit(1);
9139 }
9140 self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_new_child; /* _n_bang on <self:AClosureDef> */
9141 } else {
9142 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10537);
9143 exit(1);
9144 }
9145 goto RET_LABEL;
9146 } else {
9147 }
9148 var5 = self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val; /* _n_id on <self:AClosureDef> */
9149 if (var5 == NULL) {
9150 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10541);
9151 exit(1);
9152 }
9153 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AClosureId>*/;
9154 if (var6){
9155 var7 = NULL;
9156 if (var_new_child == NULL) {
9157 var8 = 0; /* is null */
9158 } else {
9159 var8 = 1; /* arg is null and recv is not */
9160 }
9161 if (var8){
9162 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9163 /* <var_new_child:nullable ANode(ANode)> isa AClosureId */
9164 cltype10 = type_parser_nodes__AClosureId.color;
9165 idtype11 = type_parser_nodes__AClosureId.id;
9166 if(cltype10 >= var_new_child->type->table_size) {
9167 var9 = 0;
9168 } else {
9169 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9170 }
9171 if (!var9) {
9172 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10544);
9173 exit(1);
9174 }
9175 self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_new_child; /* _n_id on <self:AClosureDef> */
9176 } else {
9177 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10547);
9178 exit(1);
9179 }
9180 goto RET_LABEL;
9181 } else {
9182 }
9183 var12 = NEW_range__Range(&type_range__Rangekernel__Int);
9184 var13 = 0;
9185 var14 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
9186 if (var14 == NULL) {
9187 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10551);
9188 exit(1);
9189 }
9190 var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on <var14:ANodes[TId]>*/;
9191 var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */
9192 var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */
9193 ((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on <var12:Range[Int]>*/;
9194 CHECK_NEW_range__Range(var12);
9195 var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on <var12:Range[Int]>*/;
9196 for(;;) {
9197 var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on <var18:Iterator[nullable Object]>*/;
9198 if(!var19) break;
9199 var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on <var18:Iterator[nullable Object]>*/;
9200 var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */;
9201 var_i = var21;
9202 var22 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
9203 if (var22 == NULL) {
9204 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10552);
9205 exit(1);
9206 }
9207 var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on <var22:ANodes[TId]>*/;
9208 var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on <var23:nullable Object(TId)>*/;
9209 if (var24){
9210 var25 = NULL;
9211 if (var_new_child == NULL) {
9212 var26 = 0; /* is null */
9213 } else {
9214 var26 = 1; /* arg is null and recv is not */
9215 }
9216 if (var26){
9217 /* <var_new_child:nullable ANode(ANode)> isa TId */
9218 cltype28 = type_parser_nodes__TId.color;
9219 idtype29 = type_parser_nodes__TId.id;
9220 if(cltype28 >= var_new_child->type->table_size) {
9221 var27 = 0;
9222 } else {
9223 var27 = var_new_child->type->type_table[cltype28] == idtype29;
9224 }
9225 if (!var27) {
9226 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10554);
9227 exit(1);
9228 }
9229 var30 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
9230 if (var30 == NULL) {
9231 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10555);
9232 exit(1);
9233 }
9234 ((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on <var30:ANodes[TId]>*/;
9235 ((void (*)(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)>*/;
9236 } else {
9237 var31 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
9238 if (var31 == NULL) {
9239 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10558);
9240 exit(1);
9241 }
9242 ((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on <var31:ANodes[TId]>*/;
9243 }
9244 goto RET_LABEL;
9245 } else {
9246 }
9247 CONTINUE_label: (void)0;
9248 ((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on <var18:Iterator[nullable Object]>*/;
9249 }
9250 BREAK_label: (void)0;
9251 var32 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on <self:AClosureDef> */
9252 if (var32 == NULL) {
9253 var33 = 0; /* <var_old_child:ANode> cannot be null */
9254 } else {
9255 var33 = ((short int (*)(val*, val*))(var32->class->vft[COLOR_kernel__Object___61d_61d]))(var32, var_old_child) /* == on <var32:nullable TKwdo>*/;
9256 }
9257 if (var33){
9258 var34 = NULL;
9259 if (var_new_child == NULL) {
9260 var35 = 0; /* is null */
9261 } else {
9262 var35 = 1; /* arg is null and recv is not */
9263 }
9264 if (var35){
9265 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9266 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
9267 cltype37 = type_parser_nodes__TKwdo.color;
9268 idtype38 = type_parser_nodes__TKwdo.id;
9269 if(cltype37 >= var_new_child->type->table_size) {
9270 var36 = 0;
9271 } else {
9272 var36 = var_new_child->type->type_table[cltype37] == idtype38;
9273 }
9274 if (!var36) {
9275 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10566);
9276 exit(1);
9277 }
9278 self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AClosureDef> */
9279 } else {
9280 var39 = NULL;
9281 self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var39; /* _n_kwdo on <self:AClosureDef> */
9282 }
9283 goto RET_LABEL;
9284 } else {
9285 }
9286 var40 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on <self:AClosureDef> */
9287 if (var40 == NULL) {
9288 var41 = 0; /* <var_old_child:ANode> cannot be null */
9289 } else {
9290 var41 = ((short int (*)(val*, val*))(var40->class->vft[COLOR_kernel__Object___61d_61d]))(var40, var_old_child) /* == on <var40:nullable AExpr>*/;
9291 }
9292 if (var41){
9293 var42 = NULL;
9294 if (var_new_child == NULL) {
9295 var43 = 0; /* is null */
9296 } else {
9297 var43 = 1; /* arg is null and recv is not */
9298 }
9299 if (var43){
9300 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9301 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9302 cltype45 = type_parser_nodes__AExpr.color;
9303 idtype46 = type_parser_nodes__AExpr.id;
9304 if(cltype45 >= var_new_child->type->table_size) {
9305 var44 = 0;
9306 } else {
9307 var44 = var_new_child->type->type_table[cltype45] == idtype46;
9308 }
9309 if (!var44) {
9310 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10576);
9311 exit(1);
9312 }
9313 self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var_new_child; /* _n_expr on <self:AClosureDef> */
9314 } else {
9315 var47 = NULL;
9316 self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var47; /* _n_expr on <self:AClosureDef> */
9317 }
9318 goto RET_LABEL;
9319 } else {
9320 }
9321 var48 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AClosureDef> */
9322 if (var48 == NULL) {
9323 var49 = 0; /* <var_old_child:ANode> cannot be null */
9324 } else {
9325 var49 = ((short int (*)(val*, val*))(var48->class->vft[COLOR_kernel__Object___61d_61d]))(var48, var_old_child) /* == on <var48:nullable ALabel>*/;
9326 }
9327 if (var49){
9328 var50 = NULL;
9329 if (var_new_child == NULL) {
9330 var51 = 0; /* is null */
9331 } else {
9332 var51 = 1; /* arg is null and recv is not */
9333 }
9334 if (var51){
9335 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9336 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
9337 cltype53 = type_parser_nodes__ALabel.color;
9338 idtype54 = type_parser_nodes__ALabel.id;
9339 if(cltype53 >= var_new_child->type->table_size) {
9340 var52 = 0;
9341 } else {
9342 var52 = var_new_child->type->type_table[cltype53] == idtype54;
9343 }
9344 if (!var52) {
9345 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10586);
9346 exit(1);
9347 }
9348 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AClosureDef> */
9349 } else {
9350 var55 = NULL;
9351 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var55; /* _n_label on <self:AClosureDef> */
9352 }
9353 goto RET_LABEL;
9354 } else {
9355 }
9356 RET_LABEL:;
9357 }
9358 /* method parser_prod#AClosureDef#replace_child for (self: Object, ANode, nullable ANode) */
9359 void VIRTUAL_parser_prod__AClosureDef__replace_child(val* self, val* p0, val* p1) {
9360 parser_prod__AClosureDef__replace_child(self, p0, p1);
9361 RET_LABEL:;
9362 }
9363 /* method parser_prod#AClosureDef#n_bang= for (self: AClosureDef, TBang) */
9364 void parser_prod__AClosureDef__n_bang_61d(val* self, val* p0) {
9365 val* var_node /* var node: TBang */;
9366 var_node = p0;
9367 self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_node; /* _n_bang on <self:AClosureDef> */
9368 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TBang>*/;
9369 RET_LABEL:;
9370 }
9371 /* method parser_prod#AClosureDef#n_bang= for (self: Object, TBang) */
9372 void VIRTUAL_parser_prod__AClosureDef__n_bang_61d(val* self, val* p0) {
9373 parser_prod__AClosureDef__n_bang_61d(self, p0);
9374 RET_LABEL:;
9375 }
9376 /* method parser_prod#AClosureDef#n_id= for (self: AClosureDef, AClosureId) */
9377 void parser_prod__AClosureDef__n_id_61d(val* self, val* p0) {
9378 val* var_node /* var node: AClosureId */;
9379 var_node = p0;
9380 self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_node; /* _n_id on <self:AClosureDef> */
9381 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AClosureId>*/;
9382 RET_LABEL:;
9383 }
9384 /* method parser_prod#AClosureDef#n_id= for (self: Object, AClosureId) */
9385 void VIRTUAL_parser_prod__AClosureDef__n_id_61d(val* self, val* p0) {
9386 parser_prod__AClosureDef__n_id_61d(self, p0);
9387 RET_LABEL:;
9388 }
9389 /* method parser_prod#AClosureDef#n_kwdo= for (self: AClosureDef, nullable TKwdo) */
9390 void parser_prod__AClosureDef__n_kwdo_61d(val* self, val* p0) {
9391 val* var_node /* var node: nullable TKwdo */;
9392 val* var /* : null */;
9393 short int var1 /* : Bool */;
9394 var_node = p0;
9395 self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var_node; /* _n_kwdo on <self:AClosureDef> */
9396 var = NULL;
9397 if (var_node == NULL) {
9398 var1 = 0; /* is null */
9399 } else {
9400 var1 = 1; /* arg is null and recv is not */
9401 }
9402 if (var1){
9403 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwdo(TKwdo)>*/;
9404 } else {
9405 }
9406 RET_LABEL:;
9407 }
9408 /* method parser_prod#AClosureDef#n_kwdo= for (self: Object, nullable TKwdo) */
9409 void VIRTUAL_parser_prod__AClosureDef__n_kwdo_61d(val* self, val* p0) {
9410 parser_prod__AClosureDef__n_kwdo_61d(self, p0);
9411 RET_LABEL:;
9412 }
9413 /* method parser_prod#AClosureDef#n_expr= for (self: AClosureDef, nullable AExpr) */
9414 void parser_prod__AClosureDef__n_expr_61d(val* self, val* p0) {
9415 val* var_node /* var node: nullable AExpr */;
9416 val* var /* : null */;
9417 short int var1 /* : Bool */;
9418 var_node = p0;
9419 self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var_node; /* _n_expr on <self:AClosureDef> */
9420 var = NULL;
9421 if (var_node == NULL) {
9422 var1 = 0; /* is null */
9423 } else {
9424 var1 = 1; /* arg is null and recv is not */
9425 }
9426 if (var1){
9427 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
9428 } else {
9429 }
9430 RET_LABEL:;
9431 }
9432 /* method parser_prod#AClosureDef#n_expr= for (self: Object, nullable AExpr) */
9433 void VIRTUAL_parser_prod__AClosureDef__n_expr_61d(val* self, val* p0) {
9434 parser_prod__AClosureDef__n_expr_61d(self, p0);
9435 RET_LABEL:;
9436 }
9437 /* method parser_prod#AClosureDef#n_label= for (self: AClosureDef, nullable ALabel) */
9438 void parser_prod__AClosureDef__n_label_61d(val* self, val* p0) {
9439 val* var_node /* var node: nullable ALabel */;
9440 val* var /* : null */;
9441 short int var1 /* : Bool */;
9442 var_node = p0;
9443 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AClosureDef> */
9444 var = NULL;
9445 if (var_node == NULL) {
9446 var1 = 0; /* is null */
9447 } else {
9448 var1 = 1; /* arg is null and recv is not */
9449 }
9450 if (var1){
9451 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
9452 } else {
9453 }
9454 RET_LABEL:;
9455 }
9456 /* method parser_prod#AClosureDef#n_label= for (self: Object, nullable ALabel) */
9457 void VIRTUAL_parser_prod__AClosureDef__n_label_61d(val* self, val* p0) {
9458 parser_prod__AClosureDef__n_label_61d(self, p0);
9459 RET_LABEL:;
9460 }
9461 /* method parser_prod#AClosureDef#visit_all for (self: AClosureDef, Visitor) */
9462 void parser_prod__AClosureDef__visit_all(val* self, val* p0) {
9463 val* var_v /* var v: Visitor */;
9464 val* var /* : TBang */;
9465 val* var1 /* : AClosureId */;
9466 val* var2 /* : ANodes[TId] */;
9467 val* var3 /* : Iterator[nullable Object] */;
9468 short int var4 /* : Bool */;
9469 val* var5 /* : nullable Object */;
9470 val* var_n /* var n: TId */;
9471 val* var6 /* : nullable TKwdo */;
9472 val* var7 /* : null */;
9473 short int var8 /* : Bool */;
9474 val* var9 /* : nullable TKwdo */;
9475 val* var10 /* : nullable AExpr */;
9476 val* var11 /* : null */;
9477 short int var12 /* : Bool */;
9478 val* var13 /* : nullable AExpr */;
9479 val* var14 /* : nullable ALabel */;
9480 val* var15 /* : null */;
9481 short int var16 /* : Bool */;
9482 val* var17 /* : nullable ALabel */;
9483 var_v = p0;
9484 var = self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val; /* _n_bang on <self:AClosureDef> */
9485 if (var == NULL) {
9486 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_bang", "src/parser/parser_prod.nit", 10630);
9487 exit(1);
9488 }
9489 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9490 var1 = self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val; /* _n_id on <self:AClosureDef> */
9491 if (var1 == NULL) {
9492 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10631);
9493 exit(1);
9494 }
9495 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9496 var2 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on <self:AClosureDef> */
9497 if (var2 == NULL) {
9498 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10632);
9499 exit(1);
9500 }
9501 var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on <var2:ANodes[TId]>*/;
9502 for(;;) {
9503 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
9504 if(!var4) break;
9505 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
9506 var_n = var5;
9507 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
9508 CONTINUE_label: (void)0;
9509 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
9510 }
9511 BREAK_label: (void)0;
9512 var6 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on <self:AClosureDef> */
9513 var7 = NULL;
9514 if (var6 == NULL) {
9515 var8 = 0; /* is null */
9516 } else {
9517 var8 = 1; /* arg is null and recv is not */
9518 }
9519 if (var8){
9520 var9 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on <self:AClosureDef> */
9521 if (var9 == NULL) {
9522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10636);
9523 exit(1);
9524 }
9525 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
9526 } else {
9527 }
9528 var10 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on <self:AClosureDef> */
9529 var11 = NULL;
9530 if (var10 == NULL) {
9531 var12 = 0; /* is null */
9532 } else {
9533 var12 = 1; /* arg is null and recv is not */
9534 }
9535 if (var12){
9536 var13 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on <self:AClosureDef> */
9537 if (var13 == NULL) {
9538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10639);
9539 exit(1);
9540 }
9541 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on <var_v:Visitor>*/;
9542 } else {
9543 }
9544 var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AClosureDef> */
9545 var15 = NULL;
9546 if (var14 == NULL) {
9547 var16 = 0; /* is null */
9548 } else {
9549 var16 = 1; /* arg is null and recv is not */
9550 }
9551 if (var16){
9552 var17 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AClosureDef> */
9553 if (var17 == NULL) {
9554 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10642);
9555 exit(1);
9556 }
9557 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on <var_v:Visitor>*/;
9558 } else {
9559 }
9560 RET_LABEL:;
9561 }
9562 /* method parser_prod#AClosureDef#visit_all for (self: Object, Visitor) */
9563 void VIRTUAL_parser_prod__AClosureDef__visit_all(val* self, val* p0) {
9564 parser_prod__AClosureDef__visit_all(self, p0);
9565 RET_LABEL:;
9566 }
9567 /* method parser_prod#ASimpleClosureId#empty_init for (self: ASimpleClosureId) */
9568 void parser_prod__ASimpleClosureId__empty_init(val* self) {
9569 RET_LABEL:;
9570 }
9571 /* method parser_prod#ASimpleClosureId#empty_init for (self: Object) */
9572 void VIRTUAL_parser_prod__ASimpleClosureId__empty_init(val* self) {
9573 parser_prod__ASimpleClosureId__empty_init(self);
9574 RET_LABEL:;
9575 }
9576 /* method parser_prod#ASimpleClosureId#init_asimpleclosureid for (self: ASimpleClosureId, nullable TId) */
9577 void parser_prod__ASimpleClosureId__init_asimpleclosureid(val* self, val* p0) {
9578 val* var_n_id /* var n_id: nullable TId */;
9579 var_n_id = p0;
9580 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASimpleClosureId__empty_init]))(self) /* empty_init on <self:ASimpleClosureId>*/;
9581 if (var_n_id == NULL) {
9582 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10654);
9583 exit(1);
9584 }
9585 self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_n_id; /* _n_id on <self:ASimpleClosureId> */
9586 if (var_n_id == NULL) {
9587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10655);
9588 exit(1);
9589 } else {
9590 ((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>*/;
9591 }
9592 RET_LABEL:;
9593 }
9594 /* method parser_prod#ASimpleClosureId#init_asimpleclosureid for (self: Object, nullable TId) */
9595 void VIRTUAL_parser_prod__ASimpleClosureId__init_asimpleclosureid(val* self, val* p0) {
9596 parser_prod__ASimpleClosureId__init_asimpleclosureid(self, p0);
9597 RET_LABEL:;
9598 }
9599 /* method parser_prod#ASimpleClosureId#replace_child for (self: ASimpleClosureId, ANode, nullable ANode) */
9600 void parser_prod__ASimpleClosureId__replace_child(val* self, val* p0, val* p1) {
9601 val* var_old_child /* var old_child: ANode */;
9602 val* var_new_child /* var new_child: nullable ANode */;
9603 val* var /* : TId */;
9604 short int var1 /* : Bool */;
9605 val* var2 /* : null */;
9606 short int var3 /* : Bool */;
9607 short int var4 /* : Bool */;
9608 int cltype;
9609 int idtype;
9610 var_old_child = p0;
9611 var_new_child = p1;
9612 var = self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val; /* _n_id on <self:ASimpleClosureId> */
9613 if (var == NULL) {
9614 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10660);
9615 exit(1);
9616 }
9617 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TId>*/;
9618 if (var1){
9619 var2 = NULL;
9620 if (var_new_child == NULL) {
9621 var3 = 0; /* is null */
9622 } else {
9623 var3 = 1; /* arg is null and recv is not */
9624 }
9625 if (var3){
9626 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9627 /* <var_new_child:nullable ANode(ANode)> isa TId */
9628 cltype = type_parser_nodes__TId.color;
9629 idtype = type_parser_nodes__TId.id;
9630 if(cltype >= var_new_child->type->table_size) {
9631 var4 = 0;
9632 } else {
9633 var4 = var_new_child->type->type_table[cltype] == idtype;
9634 }
9635 if (!var4) {
9636 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10663);
9637 exit(1);
9638 }
9639 self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_new_child; /* _n_id on <self:ASimpleClosureId> */
9640 } else {
9641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10666);
9642 exit(1);
9643 }
9644 goto RET_LABEL;
9645 } else {
9646 }
9647 RET_LABEL:;
9648 }
9649 /* method parser_prod#ASimpleClosureId#replace_child for (self: Object, ANode, nullable ANode) */
9650 void VIRTUAL_parser_prod__ASimpleClosureId__replace_child(val* self, val* p0, val* p1) {
9651 parser_prod__ASimpleClosureId__replace_child(self, p0, p1);
9652 RET_LABEL:;
9653 }
9654 /* method parser_prod#ASimpleClosureId#n_id= for (self: ASimpleClosureId, TId) */
9655 void parser_prod__ASimpleClosureId__n_id_61d(val* self, val* p0) {
9656 val* var_node /* var node: TId */;
9657 var_node = p0;
9658 self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_node; /* _n_id on <self:ASimpleClosureId> */
9659 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9660 RET_LABEL:;
9661 }
9662 /* method parser_prod#ASimpleClosureId#n_id= for (self: Object, TId) */
9663 void VIRTUAL_parser_prod__ASimpleClosureId__n_id_61d(val* self, val* p0) {
9664 parser_prod__ASimpleClosureId__n_id_61d(self, p0);
9665 RET_LABEL:;
9666 }
9667 /* method parser_prod#ASimpleClosureId#visit_all for (self: ASimpleClosureId, Visitor) */
9668 void parser_prod__ASimpleClosureId__visit_all(val* self, val* p0) {
9669 val* var_v /* var v: Visitor */;
9670 val* var /* : TId */;
9671 var_v = p0;
9672 var = self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val; /* _n_id on <self:ASimpleClosureId> */
9673 if (var == NULL) {
9674 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10681);
9675 exit(1);
9676 }
9677 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9678 RET_LABEL:;
9679 }
9680 /* method parser_prod#ASimpleClosureId#visit_all for (self: Object, Visitor) */
9681 void VIRTUAL_parser_prod__ASimpleClosureId__visit_all(val* self, val* p0) {
9682 parser_prod__ASimpleClosureId__visit_all(self, p0);
9683 RET_LABEL:;
9684 }
9685 /* method parser_prod#ABreakClosureId#empty_init for (self: ABreakClosureId) */
9686 void parser_prod__ABreakClosureId__empty_init(val* self) {
9687 RET_LABEL:;
9688 }
9689 /* method parser_prod#ABreakClosureId#empty_init for (self: Object) */
9690 void VIRTUAL_parser_prod__ABreakClosureId__empty_init(val* self) {
9691 parser_prod__ABreakClosureId__empty_init(self);
9692 RET_LABEL:;
9693 }
9694 /* method parser_prod#ABreakClosureId#init_abreakclosureid for (self: ABreakClosureId, nullable TKwbreak) */
9695 void parser_prod__ABreakClosureId__init_abreakclosureid(val* self, val* p0) {
9696 val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */;
9697 var_n_kwbreak = p0;
9698 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABreakClosureId__empty_init]))(self) /* empty_init on <self:ABreakClosureId>*/;
9699 if (var_n_kwbreak == NULL) {
9700 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10692);
9701 exit(1);
9702 }
9703 self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on <self:ABreakClosureId> */
9704 if (var_n_kwbreak == NULL) {
9705 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10693);
9706 exit(1);
9707 } else {
9708 ((void (*)(val*, val*))(var_n_kwbreak->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwbreak, self) /* parent= on <var_n_kwbreak:nullable TKwbreak>*/;
9709 }
9710 RET_LABEL:;
9711 }
9712 /* method parser_prod#ABreakClosureId#init_abreakclosureid for (self: Object, nullable TKwbreak) */
9713 void VIRTUAL_parser_prod__ABreakClosureId__init_abreakclosureid(val* self, val* p0) {
9714 parser_prod__ABreakClosureId__init_abreakclosureid(self, p0);
9715 RET_LABEL:;
9716 }
9717 /* method parser_prod#ABreakClosureId#replace_child for (self: ABreakClosureId, ANode, nullable ANode) */
9718 void parser_prod__ABreakClosureId__replace_child(val* self, val* p0, val* p1) {
9719 val* var_old_child /* var old_child: ANode */;
9720 val* var_new_child /* var new_child: nullable ANode */;
9721 val* var /* : TKwbreak */;
9722 short int var1 /* : Bool */;
9723 val* var2 /* : null */;
9724 short int var3 /* : Bool */;
9725 short int var4 /* : Bool */;
9726 int cltype;
9727 int idtype;
9728 var_old_child = p0;
9729 var_new_child = p1;
9730 var = self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val; /* _n_kwbreak on <self:ABreakClosureId> */
9731 if (var == NULL) {
9732 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwbreak", "src/parser/parser_prod.nit", 10698);
9733 exit(1);
9734 }
9735 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwbreak>*/;
9736 if (var1){
9737 var2 = NULL;
9738 if (var_new_child == NULL) {
9739 var3 = 0; /* is null */
9740 } else {
9741 var3 = 1; /* arg is null and recv is not */
9742 }
9743 if (var3){
9744 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9745 /* <var_new_child:nullable ANode(ANode)> isa TKwbreak */
9746 cltype = type_parser_nodes__TKwbreak.color;
9747 idtype = type_parser_nodes__TKwbreak.id;
9748 if(cltype >= var_new_child->type->table_size) {
9749 var4 = 0;
9750 } else {
9751 var4 = var_new_child->type->type_table[cltype] == idtype;
9752 }
9753 if (!var4) {
9754 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10701);
9755 exit(1);
9756 }
9757 self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_new_child; /* _n_kwbreak on <self:ABreakClosureId> */
9758 } else {
9759 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10704);
9760 exit(1);
9761 }
9762 goto RET_LABEL;
9763 } else {
9764 }
9765 RET_LABEL:;
9766 }
9767 /* method parser_prod#ABreakClosureId#replace_child for (self: Object, ANode, nullable ANode) */
9768 void VIRTUAL_parser_prod__ABreakClosureId__replace_child(val* self, val* p0, val* p1) {
9769 parser_prod__ABreakClosureId__replace_child(self, p0, p1);
9770 RET_LABEL:;
9771 }
9772 /* method parser_prod#ABreakClosureId#n_kwbreak= for (self: ABreakClosureId, TKwbreak) */
9773 void parser_prod__ABreakClosureId__n_kwbreak_61d(val* self, val* p0) {
9774 val* var_node /* var node: TKwbreak */;
9775 var_node = p0;
9776 self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_node; /* _n_kwbreak on <self:ABreakClosureId> */
9777 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwbreak>*/;
9778 RET_LABEL:;
9779 }
9780 /* method parser_prod#ABreakClosureId#n_kwbreak= for (self: Object, TKwbreak) */
9781 void VIRTUAL_parser_prod__ABreakClosureId__n_kwbreak_61d(val* self, val* p0) {
9782 parser_prod__ABreakClosureId__n_kwbreak_61d(self, p0);
9783 RET_LABEL:;
9784 }
9785 /* method parser_prod#ABreakClosureId#visit_all for (self: ABreakClosureId, Visitor) */
9786 void parser_prod__ABreakClosureId__visit_all(val* self, val* p0) {
9787 val* var_v /* var v: Visitor */;
9788 val* var /* : TKwbreak */;
9789 var_v = p0;
9790 var = self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val; /* _n_kwbreak on <self:ABreakClosureId> */
9791 if (var == NULL) {
9792 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwbreak", "src/parser/parser_prod.nit", 10719);
9793 exit(1);
9794 }
9795 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9796 RET_LABEL:;
9797 }
9798 /* method parser_prod#ABreakClosureId#visit_all for (self: Object, Visitor) */
9799 void VIRTUAL_parser_prod__ABreakClosureId__visit_all(val* self, val* p0) {
9800 parser_prod__ABreakClosureId__visit_all(self, p0);
9801 RET_LABEL:;
9802 }
9803 /* method parser_prod#AModuleName#empty_init for (self: AModuleName) */
9804 void parser_prod__AModuleName__empty_init(val* self) {
9805 RET_LABEL:;
9806 }
9807 /* method parser_prod#AModuleName#empty_init for (self: Object) */
9808 void VIRTUAL_parser_prod__AModuleName__empty_init(val* self) {
9809 parser_prod__AModuleName__empty_init(self);
9810 RET_LABEL:;
9811 }
9812 /* method parser_prod#AModuleName#init_amodulename for (self: AModuleName, nullable TQuad, Collection[Object], nullable TId) */
9813 void parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9814 val* var_n_quad /* var n_quad: nullable TQuad */;
9815 val* var_n_path /* var n_path: Collection[Object] */;
9816 val* var_n_id /* var n_id: nullable TId */;
9817 val* var /* : null */;
9818 short int var1 /* : Bool */;
9819 val* var2 /* : Iterator[nullable Object] */;
9820 short int var3 /* : Bool */;
9821 val* var4 /* : nullable Object */;
9822 val* var_n /* var n: Object */;
9823 short int var5 /* : Bool */;
9824 int cltype;
9825 int idtype;
9826 val* var6 /* : ANodes[TId] */;
9827 var_n_quad = p0;
9828 var_n_path = p1;
9829 var_n_id = p2;
9830 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuleName__empty_init]))(self) /* empty_init on <self:AModuleName>*/;
9831 self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_n_quad; /* _n_quad on <self:AModuleName> */
9832 var = NULL;
9833 if (var_n_quad == NULL) {
9834 var1 = 0; /* is null */
9835 } else {
9836 var1 = 1; /* arg is null and recv is not */
9837 }
9838 if (var1){
9839 ((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)>*/;
9840 } else {
9841 }
9842 var2 = ((val* (*)(val*))(var_n_path->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_path) /* iterator on <var_n_path:Collection[Object]>*/;
9843 for(;;) {
9844 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
9845 if(!var3) break;
9846 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
9847 var_n = var4;
9848 /* <var_n:Object> isa TId */
9849 cltype = type_parser_nodes__TId.color;
9850 idtype = type_parser_nodes__TId.id;
9851 if(cltype >= var_n->type->table_size) {
9852 var5 = 0;
9853 } else {
9854 var5 = var_n->type->type_table[cltype] == idtype;
9855 }
9856 if (!var5) {
9857 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10737);
9858 exit(1);
9859 }
9860 var6 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
9861 if (var6 == NULL) {
9862 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_path", "src/parser/parser_prod.nit", 10738);
9863 exit(1);
9864 }
9865 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[TId]>*/;
9866 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
9867 CONTINUE_label: (void)0;
9868 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
9869 }
9870 BREAK_label: (void)0;
9871 if (var_n_id == NULL) {
9872 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10741);
9873 exit(1);
9874 }
9875 self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_n_id; /* _n_id on <self:AModuleName> */
9876 if (var_n_id == NULL) {
9877 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10742);
9878 exit(1);
9879 } else {
9880 ((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>*/;
9881 }
9882 RET_LABEL:;
9883 }
9884 /* method parser_prod#AModuleName#init_amodulename for (self: Object, nullable TQuad, Collection[Object], nullable TId) */
9885 void VIRTUAL_parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) {
9886 parser_prod__AModuleName__init_amodulename(self, p0, p1, p2);
9887 RET_LABEL:;
9888 }