misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__parser_prod.sep.3.c
1 #include "nit__parser_prod.sep.0.h"
2 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
3 void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
4 val* var_node /* var node: AExpr */;
5 var_node = p0;
6 self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
7 {
8 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
10 RET_LABEL1:(void)0;
11 }
12 }
13 RET_LABEL:;
14 }
15 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
16 void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
17 val* var_v /* var v: Visitor */;
18 val* var /* : AExpr */;
19 val* var1 /* : AExpr */;
20 var_v = p0;
21 var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
22 if (unlikely(var == NULL)) {
23 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
24 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3144);
25 show_backtrace(1);
26 }
27 {
28 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
29 }
30 var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
31 if (unlikely(var1 == NULL)) {
32 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
33 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3145);
34 show_backtrace(1);
35 }
36 {
37 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
38 }
39 RET_LABEL:;
40 }
41 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
42 void nit__parser_prod___AImpliesExpr___init_aimpliesexpr(val* self, val* p0, val* p1) {
43 val* var_n_expr /* var n_expr: nullable AExpr */;
44 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
45 var_n_expr = p0;
46 var_n_expr2 = p1;
47 if (unlikely(var_n_expr == NULL)) {
48 PRINT_ERROR("Runtime error: %s", "Cast failed");
49 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3154);
50 show_backtrace(1);
51 }
52 self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
53 if (var_n_expr == NULL) {
54 PRINT_ERROR("Runtime error: %s", "Receiver is null");
55 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3155);
56 show_backtrace(1);
57 } else {
58 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
59 if (unlikely(var_n_expr == NULL)) {
60 PRINT_ERROR("Runtime error: %s", "Receiver is null");
61 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
62 show_backtrace(1);
63 }
64 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
65 RET_LABEL1:(void)0;
66 }
67 }
68 if (unlikely(var_n_expr2 == NULL)) {
69 PRINT_ERROR("Runtime error: %s", "Cast failed");
70 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3156);
71 show_backtrace(1);
72 }
73 self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
74 if (var_n_expr2 == NULL) {
75 PRINT_ERROR("Runtime error: %s", "Receiver is null");
76 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3157);
77 show_backtrace(1);
78 } else {
79 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
80 if (unlikely(var_n_expr2 == NULL)) {
81 PRINT_ERROR("Runtime error: %s", "Receiver is null");
82 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
83 show_backtrace(1);
84 }
85 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
86 RET_LABEL2:(void)0;
87 }
88 }
89 RET_LABEL:;
90 }
91 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
92 void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
93 val* var_old_child /* var old_child: ANode */;
94 val* var_new_child /* var new_child: nullable ANode */;
95 val* var /* : AExpr */;
96 short int var1 /* : Bool */;
97 val* var_other /* var other: nullable Object */;
98 short int var3 /* : Bool */;
99 short int var5 /* : Bool */;
100 short int var6 /* : Bool */;
101 int cltype;
102 int idtype;
103 const char* var_class_name;
104 val* var7 /* : AExpr */;
105 short int var8 /* : Bool */;
106 short int var10 /* : Bool */;
107 short int var12 /* : Bool */;
108 short int var13 /* : Bool */;
109 int cltype14;
110 int idtype15;
111 const char* var_class_name16;
112 var_old_child = p0;
113 var_new_child = p1;
114 var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
115 if (unlikely(var == NULL)) {
116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3162);
118 show_backtrace(1);
119 }
120 {
121 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
122 var_other = var_old_child;
123 {
124 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
125 var5 = var == var_other;
126 var3 = var5;
127 goto RET_LABEL4;
128 RET_LABEL4:(void)0;
129 }
130 }
131 var1 = var3;
132 goto RET_LABEL2;
133 RET_LABEL2:(void)0;
134 }
135 }
136 if (var1){
137 /* <var_new_child:nullable ANode> isa AExpr */
138 cltype = type_nit__AExpr.color;
139 idtype = type_nit__AExpr.id;
140 if(var_new_child == NULL) {
141 var6 = 0;
142 } else {
143 if(cltype >= var_new_child->type->table_size) {
144 var6 = 0;
145 } else {
146 var6 = var_new_child->type->type_table[cltype] == idtype;
147 }
148 }
149 if (unlikely(!var6)) {
150 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
152 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3163);
153 show_backtrace(1);
154 }
155 {
156 nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
157 }
158 goto RET_LABEL;
159 } else {
160 }
161 var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
162 if (unlikely(var7 == NULL)) {
163 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
164 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3166);
165 show_backtrace(1);
166 }
167 {
168 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
169 var_other = var_old_child;
170 {
171 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
172 var12 = var7 == var_other;
173 var10 = var12;
174 goto RET_LABEL11;
175 RET_LABEL11:(void)0;
176 }
177 }
178 var8 = var10;
179 goto RET_LABEL9;
180 RET_LABEL9:(void)0;
181 }
182 }
183 if (var8){
184 /* <var_new_child:nullable ANode> isa AExpr */
185 cltype14 = type_nit__AExpr.color;
186 idtype15 = type_nit__AExpr.id;
187 if(var_new_child == NULL) {
188 var13 = 0;
189 } else {
190 if(cltype14 >= var_new_child->type->table_size) {
191 var13 = 0;
192 } else {
193 var13 = var_new_child->type->type_table[cltype14] == idtype15;
194 }
195 }
196 if (unlikely(!var13)) {
197 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
198 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3167);
200 show_backtrace(1);
201 }
202 {
203 nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:AImpliesExpr>*/
204 }
205 goto RET_LABEL;
206 } else {
207 }
208 RET_LABEL:;
209 }
210 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
211 void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
212 val* var_node /* var node: AExpr */;
213 var_node = p0;
214 self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
215 {
216 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
217 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
218 RET_LABEL1:(void)0;
219 }
220 }
221 RET_LABEL:;
222 }
223 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
224 void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
225 val* var_node /* var node: AExpr */;
226 var_node = p0;
227 self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
228 {
229 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
230 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
231 RET_LABEL1:(void)0;
232 }
233 }
234 RET_LABEL:;
235 }
236 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
237 void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
238 val* var_v /* var v: Visitor */;
239 val* var /* : AExpr */;
240 val* var1 /* : AExpr */;
241 var_v = p0;
242 var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
243 if (unlikely(var == NULL)) {
244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
245 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3186);
246 show_backtrace(1);
247 }
248 {
249 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
250 }
251 var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
252 if (unlikely(var1 == NULL)) {
253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3187);
255 show_backtrace(1);
256 }
257 {
258 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
259 }
260 RET_LABEL:;
261 }
262 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
263 void nit__parser_prod___ANotExpr___init_anotexpr(val* self, val* p0, val* p1) {
264 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
265 val* var_n_expr /* var n_expr: nullable AExpr */;
266 var_n_kwnot = p0;
267 var_n_expr = p1;
268 if (unlikely(var_n_kwnot == NULL)) {
269 PRINT_ERROR("Runtime error: %s", "Cast failed");
270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3196);
271 show_backtrace(1);
272 }
273 self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
274 if (var_n_kwnot == NULL) {
275 PRINT_ERROR("Runtime error: %s", "Receiver is null");
276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3197);
277 show_backtrace(1);
278 } else {
279 { /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on <var_n_kwnot:nullable TKwnot> */
280 if (unlikely(var_n_kwnot == NULL)) {
281 PRINT_ERROR("Runtime error: %s", "Receiver is null");
282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
283 show_backtrace(1);
284 }
285 var_n_kwnot->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
286 RET_LABEL1:(void)0;
287 }
288 }
289 if (unlikely(var_n_expr == NULL)) {
290 PRINT_ERROR("Runtime error: %s", "Cast failed");
291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3198);
292 show_backtrace(1);
293 }
294 self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
295 if (var_n_expr == NULL) {
296 PRINT_ERROR("Runtime error: %s", "Receiver is null");
297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3199);
298 show_backtrace(1);
299 } else {
300 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
301 if (unlikely(var_n_expr == NULL)) {
302 PRINT_ERROR("Runtime error: %s", "Receiver is null");
303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
304 show_backtrace(1);
305 }
306 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
307 RET_LABEL2:(void)0;
308 }
309 }
310 RET_LABEL:;
311 }
312 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
313 void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
314 val* var_old_child /* var old_child: ANode */;
315 val* var_new_child /* var new_child: nullable ANode */;
316 val* var /* : TKwnot */;
317 short int var1 /* : Bool */;
318 val* var_other /* var other: nullable Object */;
319 short int var3 /* : Bool */;
320 short int var5 /* : Bool */;
321 short int var6 /* : Bool */;
322 int cltype;
323 int idtype;
324 const char* var_class_name;
325 val* var7 /* : AExpr */;
326 short int var8 /* : Bool */;
327 short int var10 /* : Bool */;
328 short int var12 /* : Bool */;
329 short int var13 /* : Bool */;
330 int cltype14;
331 int idtype15;
332 const char* var_class_name16;
333 var_old_child = p0;
334 var_new_child = p1;
335 var = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
336 if (unlikely(var == NULL)) {
337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3204);
339 show_backtrace(1);
340 }
341 {
342 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnot> */
343 var_other = var_old_child;
344 {
345 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnot> */
346 var5 = var == var_other;
347 var3 = var5;
348 goto RET_LABEL4;
349 RET_LABEL4:(void)0;
350 }
351 }
352 var1 = var3;
353 goto RET_LABEL2;
354 RET_LABEL2:(void)0;
355 }
356 }
357 if (var1){
358 /* <var_new_child:nullable ANode> isa TKwnot */
359 cltype = type_nit__TKwnot.color;
360 idtype = type_nit__TKwnot.id;
361 if(var_new_child == NULL) {
362 var6 = 0;
363 } else {
364 if(cltype >= var_new_child->type->table_size) {
365 var6 = 0;
366 } else {
367 var6 = var_new_child->type->type_table[cltype] == idtype;
368 }
369 }
370 if (unlikely(!var6)) {
371 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
372 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name);
373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3205);
374 show_backtrace(1);
375 }
376 {
377 nit__parser_prod___ANotExpr___n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
378 }
379 goto RET_LABEL;
380 } else {
381 }
382 var7 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
383 if (unlikely(var7 == NULL)) {
384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3208);
386 show_backtrace(1);
387 }
388 {
389 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
390 var_other = var_old_child;
391 {
392 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
393 var12 = var7 == var_other;
394 var10 = var12;
395 goto RET_LABEL11;
396 RET_LABEL11:(void)0;
397 }
398 }
399 var8 = var10;
400 goto RET_LABEL9;
401 RET_LABEL9:(void)0;
402 }
403 }
404 if (var8){
405 /* <var_new_child:nullable ANode> isa AExpr */
406 cltype14 = type_nit__AExpr.color;
407 idtype15 = type_nit__AExpr.id;
408 if(var_new_child == NULL) {
409 var13 = 0;
410 } else {
411 if(cltype14 >= var_new_child->type->table_size) {
412 var13 = 0;
413 } else {
414 var13 = var_new_child->type->type_table[cltype14] == idtype15;
415 }
416 }
417 if (unlikely(!var13)) {
418 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
419 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3209);
421 show_backtrace(1);
422 }
423 {
424 nit__parser_prod___ANotExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on <self:ANotExpr>*/
425 }
426 goto RET_LABEL;
427 } else {
428 }
429 RET_LABEL:;
430 }
431 /* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
432 void nit__parser_prod___ANotExpr___n_kwnot_61d(val* self, val* p0) {
433 val* var_node /* var node: TKwnot */;
434 var_node = p0;
435 self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
436 {
437 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
438 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
439 RET_LABEL1:(void)0;
440 }
441 }
442 RET_LABEL:;
443 }
444 /* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
445 void nit__parser_prod___ANotExpr___n_expr_61d(val* self, val* p0) {
446 val* var_node /* var node: AExpr */;
447 var_node = p0;
448 self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
449 {
450 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
451 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
452 RET_LABEL1:(void)0;
453 }
454 }
455 RET_LABEL:;
456 }
457 /* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
458 void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
459 val* var_v /* var v: Visitor */;
460 val* var /* : TKwnot */;
461 val* var1 /* : AExpr */;
462 var_v = p0;
463 var = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
464 if (unlikely(var == NULL)) {
465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3228);
467 show_backtrace(1);
468 }
469 {
470 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
471 }
472 var1 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
473 if (unlikely(var1 == NULL)) {
474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3229);
476 show_backtrace(1);
477 }
478 {
479 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
480 }
481 RET_LABEL:;
482 }
483 /* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
484 void nit__parser_prod___AEqExpr___init_aeqexpr(val* self, val* p0, val* p1) {
485 val* var_n_expr /* var n_expr: nullable AExpr */;
486 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
487 var_n_expr = p0;
488 var_n_expr2 = p1;
489 if (unlikely(var_n_expr == NULL)) {
490 PRINT_ERROR("Runtime error: %s", "Cast failed");
491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3238);
492 show_backtrace(1);
493 }
494 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
495 if (var_n_expr == NULL) {
496 PRINT_ERROR("Runtime error: %s", "Receiver is null");
497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3239);
498 show_backtrace(1);
499 } else {
500 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
501 if (unlikely(var_n_expr == NULL)) {
502 PRINT_ERROR("Runtime error: %s", "Receiver is null");
503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
504 show_backtrace(1);
505 }
506 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
507 RET_LABEL1:(void)0;
508 }
509 }
510 if (unlikely(var_n_expr2 == NULL)) {
511 PRINT_ERROR("Runtime error: %s", "Cast failed");
512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3240);
513 show_backtrace(1);
514 }
515 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
516 if (var_n_expr2 == NULL) {
517 PRINT_ERROR("Runtime error: %s", "Receiver is null");
518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3241);
519 show_backtrace(1);
520 } else {
521 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
522 if (unlikely(var_n_expr2 == NULL)) {
523 PRINT_ERROR("Runtime error: %s", "Receiver is null");
524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
525 show_backtrace(1);
526 }
527 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
528 RET_LABEL2:(void)0;
529 }
530 }
531 RET_LABEL:;
532 }
533 /* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
534 void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
535 val* var_old_child /* var old_child: ANode */;
536 val* var_new_child /* var new_child: nullable ANode */;
537 val* var /* : AExpr */;
538 short int var1 /* : Bool */;
539 val* var_other /* var other: nullable Object */;
540 short int var3 /* : Bool */;
541 short int var5 /* : Bool */;
542 short int var6 /* : Bool */;
543 int cltype;
544 int idtype;
545 const char* var_class_name;
546 val* var7 /* : AExpr */;
547 short int var8 /* : Bool */;
548 short int var10 /* : Bool */;
549 short int var12 /* : Bool */;
550 short int var13 /* : Bool */;
551 int cltype14;
552 int idtype15;
553 const char* var_class_name16;
554 var_old_child = p0;
555 var_new_child = p1;
556 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
557 if (unlikely(var == NULL)) {
558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3246);
560 show_backtrace(1);
561 }
562 {
563 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
564 var_other = var_old_child;
565 {
566 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
567 var5 = var == var_other;
568 var3 = var5;
569 goto RET_LABEL4;
570 RET_LABEL4:(void)0;
571 }
572 }
573 var1 = var3;
574 goto RET_LABEL2;
575 RET_LABEL2:(void)0;
576 }
577 }
578 if (var1){
579 /* <var_new_child:nullable ANode> isa AExpr */
580 cltype = type_nit__AExpr.color;
581 idtype = type_nit__AExpr.id;
582 if(var_new_child == NULL) {
583 var6 = 0;
584 } else {
585 if(cltype >= var_new_child->type->table_size) {
586 var6 = 0;
587 } else {
588 var6 = var_new_child->type->type_table[cltype] == idtype;
589 }
590 }
591 if (unlikely(!var6)) {
592 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
593 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
594 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3247);
595 show_backtrace(1);
596 }
597 {
598 nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
599 }
600 goto RET_LABEL;
601 } else {
602 }
603 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
604 if (unlikely(var7 == NULL)) {
605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3250);
607 show_backtrace(1);
608 }
609 {
610 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
611 var_other = var_old_child;
612 {
613 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
614 var12 = var7 == var_other;
615 var10 = var12;
616 goto RET_LABEL11;
617 RET_LABEL11:(void)0;
618 }
619 }
620 var8 = var10;
621 goto RET_LABEL9;
622 RET_LABEL9:(void)0;
623 }
624 }
625 if (var8){
626 /* <var_new_child:nullable ANode> isa AExpr */
627 cltype14 = type_nit__AExpr.color;
628 idtype15 = type_nit__AExpr.id;
629 if(var_new_child == NULL) {
630 var13 = 0;
631 } else {
632 if(cltype14 >= var_new_child->type->table_size) {
633 var13 = 0;
634 } else {
635 var13 = var_new_child->type->type_table[cltype14] == idtype15;
636 }
637 }
638 if (unlikely(!var13)) {
639 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
640 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
641 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3251);
642 show_backtrace(1);
643 }
644 {
645 nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:AEqExpr>*/
646 }
647 goto RET_LABEL;
648 } else {
649 }
650 RET_LABEL:;
651 }
652 /* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
653 void nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
654 val* var_node /* var node: AExpr */;
655 var_node = p0;
656 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
657 {
658 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
659 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
660 RET_LABEL1:(void)0;
661 }
662 }
663 RET_LABEL:;
664 }
665 /* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
666 void nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
667 val* var_node /* var node: AExpr */;
668 var_node = p0;
669 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
670 {
671 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
672 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
673 RET_LABEL1:(void)0;
674 }
675 }
676 RET_LABEL:;
677 }
678 /* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
679 void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
680 val* var_v /* var v: Visitor */;
681 val* var /* : AExpr */;
682 val* var1 /* : AExpr */;
683 var_v = p0;
684 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
685 if (unlikely(var == NULL)) {
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3270);
688 show_backtrace(1);
689 }
690 {
691 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
692 }
693 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
694 if (unlikely(var1 == NULL)) {
695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3271);
697 show_backtrace(1);
698 }
699 {
700 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
701 }
702 RET_LABEL:;
703 }
704 /* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
705 void nit__parser_prod___ANeExpr___init_aneexpr(val* self, val* p0, val* p1) {
706 val* var_n_expr /* var n_expr: nullable AExpr */;
707 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
708 var_n_expr = p0;
709 var_n_expr2 = p1;
710 if (unlikely(var_n_expr == NULL)) {
711 PRINT_ERROR("Runtime error: %s", "Cast failed");
712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3280);
713 show_backtrace(1);
714 }
715 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
716 if (var_n_expr == NULL) {
717 PRINT_ERROR("Runtime error: %s", "Receiver is null");
718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3281);
719 show_backtrace(1);
720 } else {
721 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
722 if (unlikely(var_n_expr == NULL)) {
723 PRINT_ERROR("Runtime error: %s", "Receiver is null");
724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
725 show_backtrace(1);
726 }
727 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
728 RET_LABEL1:(void)0;
729 }
730 }
731 if (unlikely(var_n_expr2 == NULL)) {
732 PRINT_ERROR("Runtime error: %s", "Cast failed");
733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3282);
734 show_backtrace(1);
735 }
736 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
737 if (var_n_expr2 == NULL) {
738 PRINT_ERROR("Runtime error: %s", "Receiver is null");
739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3283);
740 show_backtrace(1);
741 } else {
742 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
743 if (unlikely(var_n_expr2 == NULL)) {
744 PRINT_ERROR("Runtime error: %s", "Receiver is null");
745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
746 show_backtrace(1);
747 }
748 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
749 RET_LABEL2:(void)0;
750 }
751 }
752 RET_LABEL:;
753 }
754 /* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
755 void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
756 val* var_old_child /* var old_child: ANode */;
757 val* var_new_child /* var new_child: nullable ANode */;
758 val* var /* : AExpr */;
759 short int var1 /* : Bool */;
760 val* var_other /* var other: nullable Object */;
761 short int var3 /* : Bool */;
762 short int var5 /* : Bool */;
763 short int var6 /* : Bool */;
764 int cltype;
765 int idtype;
766 const char* var_class_name;
767 val* var7 /* : AExpr */;
768 short int var8 /* : Bool */;
769 short int var10 /* : Bool */;
770 short int var12 /* : Bool */;
771 short int var13 /* : Bool */;
772 int cltype14;
773 int idtype15;
774 const char* var_class_name16;
775 var_old_child = p0;
776 var_new_child = p1;
777 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
778 if (unlikely(var == NULL)) {
779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3288);
781 show_backtrace(1);
782 }
783 {
784 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
785 var_other = var_old_child;
786 {
787 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
788 var5 = var == var_other;
789 var3 = var5;
790 goto RET_LABEL4;
791 RET_LABEL4:(void)0;
792 }
793 }
794 var1 = var3;
795 goto RET_LABEL2;
796 RET_LABEL2:(void)0;
797 }
798 }
799 if (var1){
800 /* <var_new_child:nullable ANode> isa AExpr */
801 cltype = type_nit__AExpr.color;
802 idtype = type_nit__AExpr.id;
803 if(var_new_child == NULL) {
804 var6 = 0;
805 } else {
806 if(cltype >= var_new_child->type->table_size) {
807 var6 = 0;
808 } else {
809 var6 = var_new_child->type->type_table[cltype] == idtype;
810 }
811 }
812 if (unlikely(!var6)) {
813 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
814 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
815 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3289);
816 show_backtrace(1);
817 }
818 {
819 nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
820 }
821 goto RET_LABEL;
822 } else {
823 }
824 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
825 if (unlikely(var7 == NULL)) {
826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3292);
828 show_backtrace(1);
829 }
830 {
831 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
832 var_other = var_old_child;
833 {
834 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
835 var12 = var7 == var_other;
836 var10 = var12;
837 goto RET_LABEL11;
838 RET_LABEL11:(void)0;
839 }
840 }
841 var8 = var10;
842 goto RET_LABEL9;
843 RET_LABEL9:(void)0;
844 }
845 }
846 if (var8){
847 /* <var_new_child:nullable ANode> isa AExpr */
848 cltype14 = type_nit__AExpr.color;
849 idtype15 = type_nit__AExpr.id;
850 if(var_new_child == NULL) {
851 var13 = 0;
852 } else {
853 if(cltype14 >= var_new_child->type->table_size) {
854 var13 = 0;
855 } else {
856 var13 = var_new_child->type->type_table[cltype14] == idtype15;
857 }
858 }
859 if (unlikely(!var13)) {
860 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
862 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3293);
863 show_backtrace(1);
864 }
865 {
866 nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:ANeExpr>*/
867 }
868 goto RET_LABEL;
869 } else {
870 }
871 RET_LABEL:;
872 }
873 /* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
874 void nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
875 val* var_node /* var node: AExpr */;
876 var_node = p0;
877 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
878 {
879 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
880 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
881 RET_LABEL1:(void)0;
882 }
883 }
884 RET_LABEL:;
885 }
886 /* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
887 void nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
888 val* var_node /* var node: AExpr */;
889 var_node = p0;
890 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
891 {
892 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
893 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
894 RET_LABEL1:(void)0;
895 }
896 }
897 RET_LABEL:;
898 }
899 /* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
900 void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
901 val* var_v /* var v: Visitor */;
902 val* var /* : AExpr */;
903 val* var1 /* : AExpr */;
904 var_v = p0;
905 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
906 if (unlikely(var == NULL)) {
907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3312);
909 show_backtrace(1);
910 }
911 {
912 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
913 }
914 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
915 if (unlikely(var1 == NULL)) {
916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3313);
918 show_backtrace(1);
919 }
920 {
921 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
922 }
923 RET_LABEL:;
924 }
925 /* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
926 void nit__parser_prod___ALtExpr___init_altexpr(val* self, val* p0, val* p1) {
927 val* var_n_expr /* var n_expr: nullable AExpr */;
928 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
929 var_n_expr = p0;
930 var_n_expr2 = p1;
931 if (unlikely(var_n_expr == NULL)) {
932 PRINT_ERROR("Runtime error: %s", "Cast failed");
933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3322);
934 show_backtrace(1);
935 }
936 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
937 if (var_n_expr == NULL) {
938 PRINT_ERROR("Runtime error: %s", "Receiver is null");
939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3323);
940 show_backtrace(1);
941 } else {
942 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
943 if (unlikely(var_n_expr == NULL)) {
944 PRINT_ERROR("Runtime error: %s", "Receiver is null");
945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
946 show_backtrace(1);
947 }
948 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
949 RET_LABEL1:(void)0;
950 }
951 }
952 if (unlikely(var_n_expr2 == NULL)) {
953 PRINT_ERROR("Runtime error: %s", "Cast failed");
954 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3324);
955 show_backtrace(1);
956 }
957 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
958 if (var_n_expr2 == NULL) {
959 PRINT_ERROR("Runtime error: %s", "Receiver is null");
960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3325);
961 show_backtrace(1);
962 } else {
963 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
964 if (unlikely(var_n_expr2 == NULL)) {
965 PRINT_ERROR("Runtime error: %s", "Receiver is null");
966 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
967 show_backtrace(1);
968 }
969 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
970 RET_LABEL2:(void)0;
971 }
972 }
973 RET_LABEL:;
974 }
975 /* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
976 void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
977 val* var_old_child /* var old_child: ANode */;
978 val* var_new_child /* var new_child: nullable ANode */;
979 val* var /* : AExpr */;
980 short int var1 /* : Bool */;
981 val* var_other /* var other: nullable Object */;
982 short int var3 /* : Bool */;
983 short int var5 /* : Bool */;
984 short int var6 /* : Bool */;
985 int cltype;
986 int idtype;
987 const char* var_class_name;
988 val* var7 /* : AExpr */;
989 short int var8 /* : Bool */;
990 short int var10 /* : Bool */;
991 short int var12 /* : Bool */;
992 short int var13 /* : Bool */;
993 int cltype14;
994 int idtype15;
995 const char* var_class_name16;
996 var_old_child = p0;
997 var_new_child = p1;
998 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
999 if (unlikely(var == NULL)) {
1000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3330);
1002 show_backtrace(1);
1003 }
1004 {
1005 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
1006 var_other = var_old_child;
1007 {
1008 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
1009 var5 = var == var_other;
1010 var3 = var5;
1011 goto RET_LABEL4;
1012 RET_LABEL4:(void)0;
1013 }
1014 }
1015 var1 = var3;
1016 goto RET_LABEL2;
1017 RET_LABEL2:(void)0;
1018 }
1019 }
1020 if (var1){
1021 /* <var_new_child:nullable ANode> isa AExpr */
1022 cltype = type_nit__AExpr.color;
1023 idtype = type_nit__AExpr.id;
1024 if(var_new_child == NULL) {
1025 var6 = 0;
1026 } else {
1027 if(cltype >= var_new_child->type->table_size) {
1028 var6 = 0;
1029 } else {
1030 var6 = var_new_child->type->type_table[cltype] == idtype;
1031 }
1032 }
1033 if (unlikely(!var6)) {
1034 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1035 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
1036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3331);
1037 show_backtrace(1);
1038 }
1039 {
1040 nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on <self:ALtExpr>*/
1041 }
1042 goto RET_LABEL;
1043 } else {
1044 }
1045 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
1046 if (unlikely(var7 == NULL)) {
1047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3334);
1049 show_backtrace(1);
1050 }
1051 {
1052 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
1053 var_other = var_old_child;
1054 {
1055 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
1056 var12 = var7 == var_other;
1057 var10 = var12;
1058 goto RET_LABEL11;
1059 RET_LABEL11:(void)0;
1060 }
1061 }
1062 var8 = var10;
1063 goto RET_LABEL9;
1064 RET_LABEL9:(void)0;
1065 }
1066 }
1067 if (var8){
1068 /* <var_new_child:nullable ANode> isa AExpr */
1069 cltype14 = type_nit__AExpr.color;
1070 idtype15 = type_nit__AExpr.id;
1071 if(var_new_child == NULL) {
1072 var13 = 0;
1073 } else {
1074 if(cltype14 >= var_new_child->type->table_size) {
1075 var13 = 0;
1076 } else {
1077 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1078 }
1079 }
1080 if (unlikely(!var13)) {
1081 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1082 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
1083 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3335);
1084 show_backtrace(1);
1085 }
1086 {
1087 nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr2= on <self:ALtExpr>*/
1088 }
1089 goto RET_LABEL;
1090 } else {
1091 }
1092 RET_LABEL:;
1093 }
1094 /* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
1095 void nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
1096 val* var_node /* var node: AExpr */;
1097 var_node = p0;
1098 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
1099 {
1100 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1101 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1102 RET_LABEL1:(void)0;
1103 }
1104 }
1105 RET_LABEL:;
1106 }
1107 /* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
1108 void nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
1109 val* var_node /* var node: AExpr */;
1110 var_node = p0;
1111 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
1112 {
1113 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1114 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1115 RET_LABEL1:(void)0;
1116 }
1117 }
1118 RET_LABEL:;
1119 }
1120 /* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
1121 void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1122 val* var_v /* var v: Visitor */;
1123 val* var /* : AExpr */;
1124 val* var1 /* : AExpr */;
1125 var_v = p0;
1126 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
1127 if (unlikely(var == NULL)) {
1128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3354);
1130 show_backtrace(1);
1131 }
1132 {
1133 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1134 }
1135 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
1136 if (unlikely(var1 == NULL)) {
1137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3355);
1139 show_backtrace(1);
1140 }
1141 {
1142 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1143 }
1144 RET_LABEL:;
1145 }
1146 /* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */
1147 void nit__parser_prod___ALeExpr___init_aleexpr(val* self, val* p0, val* p1) {
1148 val* var_n_expr /* var n_expr: nullable AExpr */;
1149 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
1150 var_n_expr = p0;
1151 var_n_expr2 = p1;
1152 if (unlikely(var_n_expr == NULL)) {
1153 PRINT_ERROR("Runtime error: %s", "Cast failed");
1154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3364);
1155 show_backtrace(1);
1156 }
1157 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
1158 if (var_n_expr == NULL) {
1159 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3365);
1161 show_backtrace(1);
1162 } else {
1163 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
1164 if (unlikely(var_n_expr == NULL)) {
1165 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1167 show_backtrace(1);
1168 }
1169 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
1170 RET_LABEL1:(void)0;
1171 }
1172 }
1173 if (unlikely(var_n_expr2 == NULL)) {
1174 PRINT_ERROR("Runtime error: %s", "Cast failed");
1175 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3366);
1176 show_backtrace(1);
1177 }
1178 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
1179 if (var_n_expr2 == NULL) {
1180 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3367);
1182 show_backtrace(1);
1183 } else {
1184 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
1185 if (unlikely(var_n_expr2 == NULL)) {
1186 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1188 show_backtrace(1);
1189 }
1190 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
1191 RET_LABEL2:(void)0;
1192 }
1193 }
1194 RET_LABEL:;
1195 }
1196 /* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
1197 void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1198 val* var_old_child /* var old_child: ANode */;
1199 val* var_new_child /* var new_child: nullable ANode */;
1200 val* var /* : AExpr */;
1201 short int var1 /* : Bool */;
1202 val* var_other /* var other: nullable Object */;
1203 short int var3 /* : Bool */;
1204 short int var5 /* : Bool */;
1205 short int var6 /* : Bool */;
1206 int cltype;
1207 int idtype;
1208 const char* var_class_name;
1209 val* var7 /* : AExpr */;
1210 short int var8 /* : Bool */;
1211 short int var10 /* : Bool */;
1212 short int var12 /* : Bool */;
1213 short int var13 /* : Bool */;
1214 int cltype14;
1215 int idtype15;
1216 const char* var_class_name16;
1217 var_old_child = p0;
1218 var_new_child = p1;
1219 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
1220 if (unlikely(var == NULL)) {
1221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3372);
1223 show_backtrace(1);
1224 }
1225 {
1226 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
1227 var_other = var_old_child;
1228 {
1229 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
1230 var5 = var == var_other;
1231 var3 = var5;
1232 goto RET_LABEL4;
1233 RET_LABEL4:(void)0;
1234 }
1235 }
1236 var1 = var3;
1237 goto RET_LABEL2;
1238 RET_LABEL2:(void)0;
1239 }
1240 }
1241 if (var1){
1242 /* <var_new_child:nullable ANode> isa AExpr */
1243 cltype = type_nit__AExpr.color;
1244 idtype = type_nit__AExpr.id;
1245 if(var_new_child == NULL) {
1246 var6 = 0;
1247 } else {
1248 if(cltype >= var_new_child->type->table_size) {
1249 var6 = 0;
1250 } else {
1251 var6 = var_new_child->type->type_table[cltype] == idtype;
1252 }
1253 }
1254 if (unlikely(!var6)) {
1255 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
1257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3373);
1258 show_backtrace(1);
1259 }
1260 {
1261 nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on <self:ALeExpr>*/
1262 }
1263 goto RET_LABEL;
1264 } else {
1265 }
1266 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
1267 if (unlikely(var7 == NULL)) {
1268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3376);
1270 show_backtrace(1);
1271 }
1272 {
1273 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
1274 var_other = var_old_child;
1275 {
1276 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
1277 var12 = var7 == var_other;
1278 var10 = var12;
1279 goto RET_LABEL11;
1280 RET_LABEL11:(void)0;
1281 }
1282 }
1283 var8 = var10;
1284 goto RET_LABEL9;
1285 RET_LABEL9:(void)0;
1286 }
1287 }
1288 if (var8){
1289 /* <var_new_child:nullable ANode> isa AExpr */
1290 cltype14 = type_nit__AExpr.color;
1291 idtype15 = type_nit__AExpr.id;
1292 if(var_new_child == NULL) {
1293 var13 = 0;
1294 } else {
1295 if(cltype14 >= var_new_child->type->table_size) {
1296 var13 = 0;
1297 } else {
1298 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1299 }
1300 }
1301 if (unlikely(!var13)) {
1302 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
1304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3377);
1305 show_backtrace(1);
1306 }
1307 {
1308 nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr2= on <self:ALeExpr>*/
1309 }
1310 goto RET_LABEL;
1311 } else {
1312 }
1313 RET_LABEL:;
1314 }
1315 /* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
1316 void nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
1317 val* var_node /* var node: AExpr */;
1318 var_node = p0;
1319 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
1320 {
1321 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1322 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1323 RET_LABEL1:(void)0;
1324 }
1325 }
1326 RET_LABEL:;
1327 }
1328 /* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
1329 void nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
1330 val* var_node /* var node: AExpr */;
1331 var_node = p0;
1332 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
1333 {
1334 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1335 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1336 RET_LABEL1:(void)0;
1337 }
1338 }
1339 RET_LABEL:;
1340 }
1341 /* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
1342 void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1343 val* var_v /* var v: Visitor */;
1344 val* var /* : AExpr */;
1345 val* var1 /* : AExpr */;
1346 var_v = p0;
1347 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
1348 if (unlikely(var == NULL)) {
1349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3396);
1351 show_backtrace(1);
1352 }
1353 {
1354 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1355 }
1356 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
1357 if (unlikely(var1 == NULL)) {
1358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3397);
1360 show_backtrace(1);
1361 }
1362 {
1363 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1364 }
1365 RET_LABEL:;
1366 }
1367 /* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */
1368 void nit__parser_prod___ALlExpr___init_allexpr(val* self, val* p0, val* p1) {
1369 val* var_n_expr /* var n_expr: nullable AExpr */;
1370 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
1371 var_n_expr = p0;
1372 var_n_expr2 = p1;
1373 if (unlikely(var_n_expr == NULL)) {
1374 PRINT_ERROR("Runtime error: %s", "Cast failed");
1375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3406);
1376 show_backtrace(1);
1377 }
1378 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
1379 if (var_n_expr == NULL) {
1380 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3407);
1382 show_backtrace(1);
1383 } else {
1384 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
1385 if (unlikely(var_n_expr == NULL)) {
1386 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1388 show_backtrace(1);
1389 }
1390 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
1391 RET_LABEL1:(void)0;
1392 }
1393 }
1394 if (unlikely(var_n_expr2 == NULL)) {
1395 PRINT_ERROR("Runtime error: %s", "Cast failed");
1396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3408);
1397 show_backtrace(1);
1398 }
1399 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
1400 if (var_n_expr2 == NULL) {
1401 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3409);
1403 show_backtrace(1);
1404 } else {
1405 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
1406 if (unlikely(var_n_expr2 == NULL)) {
1407 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1408 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1409 show_backtrace(1);
1410 }
1411 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
1412 RET_LABEL2:(void)0;
1413 }
1414 }
1415 RET_LABEL:;
1416 }
1417 /* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
1418 void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1419 val* var_old_child /* var old_child: ANode */;
1420 val* var_new_child /* var new_child: nullable ANode */;
1421 val* var /* : AExpr */;
1422 short int var1 /* : Bool */;
1423 val* var_other /* var other: nullable Object */;
1424 short int var3 /* : Bool */;
1425 short int var5 /* : Bool */;
1426 short int var6 /* : Bool */;
1427 int cltype;
1428 int idtype;
1429 const char* var_class_name;
1430 val* var7 /* : AExpr */;
1431 short int var8 /* : Bool */;
1432 short int var10 /* : Bool */;
1433 short int var12 /* : Bool */;
1434 short int var13 /* : Bool */;
1435 int cltype14;
1436 int idtype15;
1437 const char* var_class_name16;
1438 var_old_child = p0;
1439 var_new_child = p1;
1440 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
1441 if (unlikely(var == NULL)) {
1442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3414);
1444 show_backtrace(1);
1445 }
1446 {
1447 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
1448 var_other = var_old_child;
1449 {
1450 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
1451 var5 = var == var_other;
1452 var3 = var5;
1453 goto RET_LABEL4;
1454 RET_LABEL4:(void)0;
1455 }
1456 }
1457 var1 = var3;
1458 goto RET_LABEL2;
1459 RET_LABEL2:(void)0;
1460 }
1461 }
1462 if (var1){
1463 /* <var_new_child:nullable ANode> isa AExpr */
1464 cltype = type_nit__AExpr.color;
1465 idtype = type_nit__AExpr.id;
1466 if(var_new_child == NULL) {
1467 var6 = 0;
1468 } else {
1469 if(cltype >= var_new_child->type->table_size) {
1470 var6 = 0;
1471 } else {
1472 var6 = var_new_child->type->type_table[cltype] == idtype;
1473 }
1474 }
1475 if (unlikely(!var6)) {
1476 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1477 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
1478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3415);
1479 show_backtrace(1);
1480 }
1481 {
1482 nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on <self:ALlExpr>*/
1483 }
1484 goto RET_LABEL;
1485 } else {
1486 }
1487 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
1488 if (unlikely(var7 == NULL)) {
1489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3418);
1491 show_backtrace(1);
1492 }
1493 {
1494 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
1495 var_other = var_old_child;
1496 {
1497 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
1498 var12 = var7 == var_other;
1499 var10 = var12;
1500 goto RET_LABEL11;
1501 RET_LABEL11:(void)0;
1502 }
1503 }
1504 var8 = var10;
1505 goto RET_LABEL9;
1506 RET_LABEL9:(void)0;
1507 }
1508 }
1509 if (var8){
1510 /* <var_new_child:nullable ANode> isa AExpr */
1511 cltype14 = type_nit__AExpr.color;
1512 idtype15 = type_nit__AExpr.id;
1513 if(var_new_child == NULL) {
1514 var13 = 0;
1515 } else {
1516 if(cltype14 >= var_new_child->type->table_size) {
1517 var13 = 0;
1518 } else {
1519 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1520 }
1521 }
1522 if (unlikely(!var13)) {
1523 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1524 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
1525 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3419);
1526 show_backtrace(1);
1527 }
1528 {
1529 nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr2= on <self:ALlExpr>*/
1530 }
1531 goto RET_LABEL;
1532 } else {
1533 }
1534 RET_LABEL:;
1535 }
1536 /* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
1537 void nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
1538 val* var_node /* var node: AExpr */;
1539 var_node = p0;
1540 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
1541 {
1542 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1543 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1544 RET_LABEL1:(void)0;
1545 }
1546 }
1547 RET_LABEL:;
1548 }
1549 /* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
1550 void nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
1551 val* var_node /* var node: AExpr */;
1552 var_node = p0;
1553 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
1554 {
1555 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1556 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1557 RET_LABEL1:(void)0;
1558 }
1559 }
1560 RET_LABEL:;
1561 }
1562 /* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
1563 void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1564 val* var_v /* var v: Visitor */;
1565 val* var /* : AExpr */;
1566 val* var1 /* : AExpr */;
1567 var_v = p0;
1568 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
1569 if (unlikely(var == NULL)) {
1570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3438);
1572 show_backtrace(1);
1573 }
1574 {
1575 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1576 }
1577 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
1578 if (unlikely(var1 == NULL)) {
1579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1580 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3439);
1581 show_backtrace(1);
1582 }
1583 {
1584 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1585 }
1586 RET_LABEL:;
1587 }
1588 /* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */
1589 void nit__parser_prod___AGtExpr___init_agtexpr(val* self, val* p0, val* p1) {
1590 val* var_n_expr /* var n_expr: nullable AExpr */;
1591 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
1592 var_n_expr = p0;
1593 var_n_expr2 = p1;
1594 if (unlikely(var_n_expr == NULL)) {
1595 PRINT_ERROR("Runtime error: %s", "Cast failed");
1596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3448);
1597 show_backtrace(1);
1598 }
1599 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
1600 if (var_n_expr == NULL) {
1601 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3449);
1603 show_backtrace(1);
1604 } else {
1605 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
1606 if (unlikely(var_n_expr == NULL)) {
1607 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1609 show_backtrace(1);
1610 }
1611 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
1612 RET_LABEL1:(void)0;
1613 }
1614 }
1615 if (unlikely(var_n_expr2 == NULL)) {
1616 PRINT_ERROR("Runtime error: %s", "Cast failed");
1617 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3450);
1618 show_backtrace(1);
1619 }
1620 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
1621 if (var_n_expr2 == NULL) {
1622 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3451);
1624 show_backtrace(1);
1625 } else {
1626 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
1627 if (unlikely(var_n_expr2 == NULL)) {
1628 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1629 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1630 show_backtrace(1);
1631 }
1632 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
1633 RET_LABEL2:(void)0;
1634 }
1635 }
1636 RET_LABEL:;
1637 }
1638 /* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
1639 void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1640 val* var_old_child /* var old_child: ANode */;
1641 val* var_new_child /* var new_child: nullable ANode */;
1642 val* var /* : AExpr */;
1643 short int var1 /* : Bool */;
1644 val* var_other /* var other: nullable Object */;
1645 short int var3 /* : Bool */;
1646 short int var5 /* : Bool */;
1647 short int var6 /* : Bool */;
1648 int cltype;
1649 int idtype;
1650 const char* var_class_name;
1651 val* var7 /* : AExpr */;
1652 short int var8 /* : Bool */;
1653 short int var10 /* : Bool */;
1654 short int var12 /* : Bool */;
1655 short int var13 /* : Bool */;
1656 int cltype14;
1657 int idtype15;
1658 const char* var_class_name16;
1659 var_old_child = p0;
1660 var_new_child = p1;
1661 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
1662 if (unlikely(var == NULL)) {
1663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3456);
1665 show_backtrace(1);
1666 }
1667 {
1668 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
1669 var_other = var_old_child;
1670 {
1671 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
1672 var5 = var == var_other;
1673 var3 = var5;
1674 goto RET_LABEL4;
1675 RET_LABEL4:(void)0;
1676 }
1677 }
1678 var1 = var3;
1679 goto RET_LABEL2;
1680 RET_LABEL2:(void)0;
1681 }
1682 }
1683 if (var1){
1684 /* <var_new_child:nullable ANode> isa AExpr */
1685 cltype = type_nit__AExpr.color;
1686 idtype = type_nit__AExpr.id;
1687 if(var_new_child == NULL) {
1688 var6 = 0;
1689 } else {
1690 if(cltype >= var_new_child->type->table_size) {
1691 var6 = 0;
1692 } else {
1693 var6 = var_new_child->type->type_table[cltype] == idtype;
1694 }
1695 }
1696 if (unlikely(!var6)) {
1697 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1698 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3457);
1700 show_backtrace(1);
1701 }
1702 {
1703 nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on <self:AGtExpr>*/
1704 }
1705 goto RET_LABEL;
1706 } else {
1707 }
1708 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
1709 if (unlikely(var7 == NULL)) {
1710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3460);
1712 show_backtrace(1);
1713 }
1714 {
1715 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
1716 var_other = var_old_child;
1717 {
1718 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
1719 var12 = var7 == var_other;
1720 var10 = var12;
1721 goto RET_LABEL11;
1722 RET_LABEL11:(void)0;
1723 }
1724 }
1725 var8 = var10;
1726 goto RET_LABEL9;
1727 RET_LABEL9:(void)0;
1728 }
1729 }
1730 if (var8){
1731 /* <var_new_child:nullable ANode> isa AExpr */
1732 cltype14 = type_nit__AExpr.color;
1733 idtype15 = type_nit__AExpr.id;
1734 if(var_new_child == NULL) {
1735 var13 = 0;
1736 } else {
1737 if(cltype14 >= var_new_child->type->table_size) {
1738 var13 = 0;
1739 } else {
1740 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1741 }
1742 }
1743 if (unlikely(!var13)) {
1744 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1745 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
1746 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3461);
1747 show_backtrace(1);
1748 }
1749 {
1750 nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr2= on <self:AGtExpr>*/
1751 }
1752 goto RET_LABEL;
1753 } else {
1754 }
1755 RET_LABEL:;
1756 }
1757 /* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
1758 void nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
1759 val* var_node /* var node: AExpr */;
1760 var_node = p0;
1761 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
1762 {
1763 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1764 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1765 RET_LABEL1:(void)0;
1766 }
1767 }
1768 RET_LABEL:;
1769 }
1770 /* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
1771 void nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
1772 val* var_node /* var node: AExpr */;
1773 var_node = p0;
1774 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
1775 {
1776 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1777 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1778 RET_LABEL1:(void)0;
1779 }
1780 }
1781 RET_LABEL:;
1782 }
1783 /* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
1784 void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1785 val* var_v /* var v: Visitor */;
1786 val* var /* : AExpr */;
1787 val* var1 /* : AExpr */;
1788 var_v = p0;
1789 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
1790 if (unlikely(var == NULL)) {
1791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3480);
1793 show_backtrace(1);
1794 }
1795 {
1796 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1797 }
1798 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
1799 if (unlikely(var1 == NULL)) {
1800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3481);
1802 show_backtrace(1);
1803 }
1804 {
1805 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1806 }
1807 RET_LABEL:;
1808 }
1809 /* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */
1810 void nit__parser_prod___AGeExpr___init_ageexpr(val* self, val* p0, val* p1) {
1811 val* var_n_expr /* var n_expr: nullable AExpr */;
1812 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
1813 var_n_expr = p0;
1814 var_n_expr2 = p1;
1815 if (unlikely(var_n_expr == NULL)) {
1816 PRINT_ERROR("Runtime error: %s", "Cast failed");
1817 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3490);
1818 show_backtrace(1);
1819 }
1820 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
1821 if (var_n_expr == NULL) {
1822 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3491);
1824 show_backtrace(1);
1825 } else {
1826 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
1827 if (unlikely(var_n_expr == NULL)) {
1828 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1829 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1830 show_backtrace(1);
1831 }
1832 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
1833 RET_LABEL1:(void)0;
1834 }
1835 }
1836 if (unlikely(var_n_expr2 == NULL)) {
1837 PRINT_ERROR("Runtime error: %s", "Cast failed");
1838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3492);
1839 show_backtrace(1);
1840 }
1841 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
1842 if (var_n_expr2 == NULL) {
1843 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1844 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3493);
1845 show_backtrace(1);
1846 } else {
1847 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
1848 if (unlikely(var_n_expr2 == NULL)) {
1849 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1851 show_backtrace(1);
1852 }
1853 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
1854 RET_LABEL2:(void)0;
1855 }
1856 }
1857 RET_LABEL:;
1858 }
1859 /* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
1860 void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1861 val* var_old_child /* var old_child: ANode */;
1862 val* var_new_child /* var new_child: nullable ANode */;
1863 val* var /* : AExpr */;
1864 short int var1 /* : Bool */;
1865 val* var_other /* var other: nullable Object */;
1866 short int var3 /* : Bool */;
1867 short int var5 /* : Bool */;
1868 short int var6 /* : Bool */;
1869 int cltype;
1870 int idtype;
1871 const char* var_class_name;
1872 val* var7 /* : AExpr */;
1873 short int var8 /* : Bool */;
1874 short int var10 /* : Bool */;
1875 short int var12 /* : Bool */;
1876 short int var13 /* : Bool */;
1877 int cltype14;
1878 int idtype15;
1879 const char* var_class_name16;
1880 var_old_child = p0;
1881 var_new_child = p1;
1882 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
1883 if (unlikely(var == NULL)) {
1884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1885 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3498);
1886 show_backtrace(1);
1887 }
1888 {
1889 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
1890 var_other = var_old_child;
1891 {
1892 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
1893 var5 = var == var_other;
1894 var3 = var5;
1895 goto RET_LABEL4;
1896 RET_LABEL4:(void)0;
1897 }
1898 }
1899 var1 = var3;
1900 goto RET_LABEL2;
1901 RET_LABEL2:(void)0;
1902 }
1903 }
1904 if (var1){
1905 /* <var_new_child:nullable ANode> isa AExpr */
1906 cltype = type_nit__AExpr.color;
1907 idtype = type_nit__AExpr.id;
1908 if(var_new_child == NULL) {
1909 var6 = 0;
1910 } else {
1911 if(cltype >= var_new_child->type->table_size) {
1912 var6 = 0;
1913 } else {
1914 var6 = var_new_child->type->type_table[cltype] == idtype;
1915 }
1916 }
1917 if (unlikely(!var6)) {
1918 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
1920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3499);
1921 show_backtrace(1);
1922 }
1923 {
1924 nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on <self:AGeExpr>*/
1925 }
1926 goto RET_LABEL;
1927 } else {
1928 }
1929 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
1930 if (unlikely(var7 == NULL)) {
1931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3502);
1933 show_backtrace(1);
1934 }
1935 {
1936 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
1937 var_other = var_old_child;
1938 {
1939 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
1940 var12 = var7 == var_other;
1941 var10 = var12;
1942 goto RET_LABEL11;
1943 RET_LABEL11:(void)0;
1944 }
1945 }
1946 var8 = var10;
1947 goto RET_LABEL9;
1948 RET_LABEL9:(void)0;
1949 }
1950 }
1951 if (var8){
1952 /* <var_new_child:nullable ANode> isa AExpr */
1953 cltype14 = type_nit__AExpr.color;
1954 idtype15 = type_nit__AExpr.id;
1955 if(var_new_child == NULL) {
1956 var13 = 0;
1957 } else {
1958 if(cltype14 >= var_new_child->type->table_size) {
1959 var13 = 0;
1960 } else {
1961 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1962 }
1963 }
1964 if (unlikely(!var13)) {
1965 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1966 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
1967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3503);
1968 show_backtrace(1);
1969 }
1970 {
1971 nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr2= on <self:AGeExpr>*/
1972 }
1973 goto RET_LABEL;
1974 } else {
1975 }
1976 RET_LABEL:;
1977 }
1978 /* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
1979 void nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
1980 val* var_node /* var node: AExpr */;
1981 var_node = p0;
1982 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
1983 {
1984 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1985 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1986 RET_LABEL1:(void)0;
1987 }
1988 }
1989 RET_LABEL:;
1990 }
1991 /* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
1992 void nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
1993 val* var_node /* var node: AExpr */;
1994 var_node = p0;
1995 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
1996 {
1997 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
1998 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
1999 RET_LABEL1:(void)0;
2000 }
2001 }
2002 RET_LABEL:;
2003 }
2004 /* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
2005 void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2006 val* var_v /* var v: Visitor */;
2007 val* var /* : AExpr */;
2008 val* var1 /* : AExpr */;
2009 var_v = p0;
2010 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
2011 if (unlikely(var == NULL)) {
2012 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2013 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3522);
2014 show_backtrace(1);
2015 }
2016 {
2017 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2018 }
2019 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
2020 if (unlikely(var1 == NULL)) {
2021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3523);
2023 show_backtrace(1);
2024 }
2025 {
2026 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2027 }
2028 RET_LABEL:;
2029 }
2030 /* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */
2031 void nit__parser_prod___AGgExpr___init_aggexpr(val* self, val* p0, val* p1) {
2032 val* var_n_expr /* var n_expr: nullable AExpr */;
2033 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2034 var_n_expr = p0;
2035 var_n_expr2 = p1;
2036 if (unlikely(var_n_expr == NULL)) {
2037 PRINT_ERROR("Runtime error: %s", "Cast failed");
2038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3532);
2039 show_backtrace(1);
2040 }
2041 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
2042 if (var_n_expr == NULL) {
2043 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3533);
2045 show_backtrace(1);
2046 } else {
2047 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
2048 if (unlikely(var_n_expr == NULL)) {
2049 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2051 show_backtrace(1);
2052 }
2053 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
2054 RET_LABEL1:(void)0;
2055 }
2056 }
2057 if (unlikely(var_n_expr2 == NULL)) {
2058 PRINT_ERROR("Runtime error: %s", "Cast failed");
2059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3534);
2060 show_backtrace(1);
2061 }
2062 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
2063 if (var_n_expr2 == NULL) {
2064 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3535);
2066 show_backtrace(1);
2067 } else {
2068 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
2069 if (unlikely(var_n_expr2 == NULL)) {
2070 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2072 show_backtrace(1);
2073 }
2074 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
2075 RET_LABEL2:(void)0;
2076 }
2077 }
2078 RET_LABEL:;
2079 }
2080 /* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
2081 void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2082 val* var_old_child /* var old_child: ANode */;
2083 val* var_new_child /* var new_child: nullable ANode */;
2084 val* var /* : AExpr */;
2085 short int var1 /* : Bool */;
2086 val* var_other /* var other: nullable Object */;
2087 short int var3 /* : Bool */;
2088 short int var5 /* : Bool */;
2089 short int var6 /* : Bool */;
2090 int cltype;
2091 int idtype;
2092 const char* var_class_name;
2093 val* var7 /* : AExpr */;
2094 short int var8 /* : Bool */;
2095 short int var10 /* : Bool */;
2096 short int var12 /* : Bool */;
2097 short int var13 /* : Bool */;
2098 int cltype14;
2099 int idtype15;
2100 const char* var_class_name16;
2101 var_old_child = p0;
2102 var_new_child = p1;
2103 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
2104 if (unlikely(var == NULL)) {
2105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3540);
2107 show_backtrace(1);
2108 }
2109 {
2110 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
2111 var_other = var_old_child;
2112 {
2113 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
2114 var5 = var == var_other;
2115 var3 = var5;
2116 goto RET_LABEL4;
2117 RET_LABEL4:(void)0;
2118 }
2119 }
2120 var1 = var3;
2121 goto RET_LABEL2;
2122 RET_LABEL2:(void)0;
2123 }
2124 }
2125 if (var1){
2126 /* <var_new_child:nullable ANode> isa AExpr */
2127 cltype = type_nit__AExpr.color;
2128 idtype = type_nit__AExpr.id;
2129 if(var_new_child == NULL) {
2130 var6 = 0;
2131 } else {
2132 if(cltype >= var_new_child->type->table_size) {
2133 var6 = 0;
2134 } else {
2135 var6 = var_new_child->type->type_table[cltype] == idtype;
2136 }
2137 }
2138 if (unlikely(!var6)) {
2139 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2140 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
2141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3541);
2142 show_backtrace(1);
2143 }
2144 {
2145 nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on <self:AGgExpr>*/
2146 }
2147 goto RET_LABEL;
2148 } else {
2149 }
2150 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
2151 if (unlikely(var7 == NULL)) {
2152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3544);
2154 show_backtrace(1);
2155 }
2156 {
2157 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
2158 var_other = var_old_child;
2159 {
2160 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
2161 var12 = var7 == var_other;
2162 var10 = var12;
2163 goto RET_LABEL11;
2164 RET_LABEL11:(void)0;
2165 }
2166 }
2167 var8 = var10;
2168 goto RET_LABEL9;
2169 RET_LABEL9:(void)0;
2170 }
2171 }
2172 if (var8){
2173 /* <var_new_child:nullable ANode> isa AExpr */
2174 cltype14 = type_nit__AExpr.color;
2175 idtype15 = type_nit__AExpr.id;
2176 if(var_new_child == NULL) {
2177 var13 = 0;
2178 } else {
2179 if(cltype14 >= var_new_child->type->table_size) {
2180 var13 = 0;
2181 } else {
2182 var13 = var_new_child->type->type_table[cltype14] == idtype15;
2183 }
2184 }
2185 if (unlikely(!var13)) {
2186 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
2187 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
2188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3545);
2189 show_backtrace(1);
2190 }
2191 {
2192 nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr2= on <self:AGgExpr>*/
2193 }
2194 goto RET_LABEL;
2195 } else {
2196 }
2197 RET_LABEL:;
2198 }
2199 /* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
2200 void nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
2201 val* var_node /* var node: AExpr */;
2202 var_node = p0;
2203 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
2204 {
2205 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2206 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2207 RET_LABEL1:(void)0;
2208 }
2209 }
2210 RET_LABEL:;
2211 }
2212 /* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
2213 void nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2214 val* var_node /* var node: AExpr */;
2215 var_node = p0;
2216 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
2217 {
2218 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2219 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2220 RET_LABEL1:(void)0;
2221 }
2222 }
2223 RET_LABEL:;
2224 }
2225 /* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
2226 void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2227 val* var_v /* var v: Visitor */;
2228 val* var /* : AExpr */;
2229 val* var1 /* : AExpr */;
2230 var_v = p0;
2231 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
2232 if (unlikely(var == NULL)) {
2233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3564);
2235 show_backtrace(1);
2236 }
2237 {
2238 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2239 }
2240 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
2241 if (unlikely(var1 == NULL)) {
2242 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2243 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3565);
2244 show_backtrace(1);
2245 }
2246 {
2247 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2248 }
2249 RET_LABEL:;
2250 }
2251 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */
2252 void nit__parser_prod___AIsaExpr___init_aisaexpr(val* self, val* p0, val* p1) {
2253 val* var_n_expr /* var n_expr: nullable AExpr */;
2254 val* var_n_type /* var n_type: nullable AType */;
2255 var_n_expr = p0;
2256 var_n_type = p1;
2257 if (unlikely(var_n_expr == NULL)) {
2258 PRINT_ERROR("Runtime error: %s", "Cast failed");
2259 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3574);
2260 show_backtrace(1);
2261 }
2262 self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
2263 if (var_n_expr == NULL) {
2264 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3575);
2266 show_backtrace(1);
2267 } else {
2268 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
2269 if (unlikely(var_n_expr == NULL)) {
2270 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2272 show_backtrace(1);
2273 }
2274 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
2275 RET_LABEL1:(void)0;
2276 }
2277 }
2278 if (unlikely(var_n_type == NULL)) {
2279 PRINT_ERROR("Runtime error: %s", "Cast failed");
2280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3576);
2281 show_backtrace(1);
2282 }
2283 self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
2284 if (var_n_type == NULL) {
2285 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2286 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3577);
2287 show_backtrace(1);
2288 } else {
2289 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
2290 if (unlikely(var_n_type == NULL)) {
2291 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2293 show_backtrace(1);
2294 }
2295 var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
2296 RET_LABEL2:(void)0;
2297 }
2298 }
2299 RET_LABEL:;
2300 }
2301 /* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
2302 void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2303 val* var_old_child /* var old_child: ANode */;
2304 val* var_new_child /* var new_child: nullable ANode */;
2305 val* var /* : AExpr */;
2306 short int var1 /* : Bool */;
2307 val* var_other /* var other: nullable Object */;
2308 short int var3 /* : Bool */;
2309 short int var5 /* : Bool */;
2310 short int var6 /* : Bool */;
2311 int cltype;
2312 int idtype;
2313 const char* var_class_name;
2314 val* var7 /* : AType */;
2315 short int var8 /* : Bool */;
2316 short int var10 /* : Bool */;
2317 short int var12 /* : Bool */;
2318 short int var13 /* : Bool */;
2319 int cltype14;
2320 int idtype15;
2321 const char* var_class_name16;
2322 var_old_child = p0;
2323 var_new_child = p1;
2324 var = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
2325 if (unlikely(var == NULL)) {
2326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3582);
2328 show_backtrace(1);
2329 }
2330 {
2331 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
2332 var_other = var_old_child;
2333 {
2334 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
2335 var5 = var == var_other;
2336 var3 = var5;
2337 goto RET_LABEL4;
2338 RET_LABEL4:(void)0;
2339 }
2340 }
2341 var1 = var3;
2342 goto RET_LABEL2;
2343 RET_LABEL2:(void)0;
2344 }
2345 }
2346 if (var1){
2347 /* <var_new_child:nullable ANode> isa AExpr */
2348 cltype = type_nit__AExpr.color;
2349 idtype = type_nit__AExpr.id;
2350 if(var_new_child == NULL) {
2351 var6 = 0;
2352 } else {
2353 if(cltype >= var_new_child->type->table_size) {
2354 var6 = 0;
2355 } else {
2356 var6 = var_new_child->type->type_table[cltype] == idtype;
2357 }
2358 }
2359 if (unlikely(!var6)) {
2360 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
2362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3583);
2363 show_backtrace(1);
2364 }
2365 {
2366 nit__parser_prod___AIsaExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:AIsaExpr>*/
2367 }
2368 goto RET_LABEL;
2369 } else {
2370 }
2371 var7 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
2372 if (unlikely(var7 == NULL)) {
2373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
2374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3586);
2375 show_backtrace(1);
2376 }
2377 {
2378 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AType> */
2379 var_other = var_old_child;
2380 {
2381 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AType> */
2382 var12 = var7 == var_other;
2383 var10 = var12;
2384 goto RET_LABEL11;
2385 RET_LABEL11:(void)0;
2386 }
2387 }
2388 var8 = var10;
2389 goto RET_LABEL9;
2390 RET_LABEL9:(void)0;
2391 }
2392 }
2393 if (var8){
2394 /* <var_new_child:nullable ANode> isa AType */
2395 cltype14 = type_nit__AType.color;
2396 idtype15 = type_nit__AType.id;
2397 if(var_new_child == NULL) {
2398 var13 = 0;
2399 } else {
2400 if(cltype14 >= var_new_child->type->table_size) {
2401 var13 = 0;
2402 } else {
2403 var13 = var_new_child->type->type_table[cltype14] == idtype15;
2404 }
2405 }
2406 if (unlikely(!var13)) {
2407 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
2408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name16);
2409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3587);
2410 show_backtrace(1);
2411 }
2412 {
2413 nit__parser_prod___AIsaExpr___n_type_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_type= on <self:AIsaExpr>*/
2414 }
2415 goto RET_LABEL;
2416 } else {
2417 }
2418 RET_LABEL:;
2419 }
2420 /* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
2421 void nit__parser_prod___AIsaExpr___n_expr_61d(val* self, val* p0) {
2422 val* var_node /* var node: AExpr */;
2423 var_node = p0;
2424 self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
2425 {
2426 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2427 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2428 RET_LABEL1:(void)0;
2429 }
2430 }
2431 RET_LABEL:;
2432 }
2433 /* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
2434 void nit__parser_prod___AIsaExpr___n_type_61d(val* self, val* p0) {
2435 val* var_node /* var node: AType */;
2436 var_node = p0;
2437 self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
2438 {
2439 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
2440 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
2441 RET_LABEL1:(void)0;
2442 }
2443 }
2444 RET_LABEL:;
2445 }
2446 /* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
2447 void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2448 val* var_v /* var v: Visitor */;
2449 val* var /* : AExpr */;
2450 val* var1 /* : AType */;
2451 var_v = p0;
2452 var = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
2453 if (unlikely(var == NULL)) {
2454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2455 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3606);
2456 show_backtrace(1);
2457 }
2458 {
2459 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2460 }
2461 var1 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
2462 if (unlikely(var1 == NULL)) {
2463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3607);
2465 show_backtrace(1);
2466 }
2467 {
2468 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2469 }
2470 RET_LABEL:;
2471 }
2472 /* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */
2473 void nit__parser_prod___APlusExpr___init_aplusexpr(val* self, val* p0, val* p1) {
2474 val* var_n_expr /* var n_expr: nullable AExpr */;
2475 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2476 var_n_expr = p0;
2477 var_n_expr2 = p1;
2478 if (unlikely(var_n_expr == NULL)) {
2479 PRINT_ERROR("Runtime error: %s", "Cast failed");
2480 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3616);
2481 show_backtrace(1);
2482 }
2483 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
2484 if (var_n_expr == NULL) {
2485 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3617);
2487 show_backtrace(1);
2488 } else {
2489 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
2490 if (unlikely(var_n_expr == NULL)) {
2491 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2493 show_backtrace(1);
2494 }
2495 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
2496 RET_LABEL1:(void)0;
2497 }
2498 }
2499 if (unlikely(var_n_expr2 == NULL)) {
2500 PRINT_ERROR("Runtime error: %s", "Cast failed");
2501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3618);
2502 show_backtrace(1);
2503 }
2504 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
2505 if (var_n_expr2 == NULL) {
2506 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3619);
2508 show_backtrace(1);
2509 } else {
2510 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
2511 if (unlikely(var_n_expr2 == NULL)) {
2512 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2514 show_backtrace(1);
2515 }
2516 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
2517 RET_LABEL2:(void)0;
2518 }
2519 }
2520 RET_LABEL:;
2521 }
2522 /* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
2523 void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2524 val* var_old_child /* var old_child: ANode */;
2525 val* var_new_child /* var new_child: nullable ANode */;
2526 val* var /* : AExpr */;
2527 short int var1 /* : Bool */;
2528 val* var_other /* var other: nullable Object */;
2529 short int var3 /* : Bool */;
2530 short int var5 /* : Bool */;
2531 short int var6 /* : Bool */;
2532 int cltype;
2533 int idtype;
2534 const char* var_class_name;
2535 val* var7 /* : AExpr */;
2536 short int var8 /* : Bool */;
2537 short int var10 /* : Bool */;
2538 short int var12 /* : Bool */;
2539 short int var13 /* : Bool */;
2540 int cltype14;
2541 int idtype15;
2542 const char* var_class_name16;
2543 var_old_child = p0;
2544 var_new_child = p1;
2545 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
2546 if (unlikely(var == NULL)) {
2547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3624);
2549 show_backtrace(1);
2550 }
2551 {
2552 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
2553 var_other = var_old_child;
2554 {
2555 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
2556 var5 = var == var_other;
2557 var3 = var5;
2558 goto RET_LABEL4;
2559 RET_LABEL4:(void)0;
2560 }
2561 }
2562 var1 = var3;
2563 goto RET_LABEL2;
2564 RET_LABEL2:(void)0;
2565 }
2566 }
2567 if (var1){
2568 /* <var_new_child:nullable ANode> isa AExpr */
2569 cltype = type_nit__AExpr.color;
2570 idtype = type_nit__AExpr.id;
2571 if(var_new_child == NULL) {
2572 var6 = 0;
2573 } else {
2574 if(cltype >= var_new_child->type->table_size) {
2575 var6 = 0;
2576 } else {
2577 var6 = var_new_child->type->type_table[cltype] == idtype;
2578 }
2579 }
2580 if (unlikely(!var6)) {
2581 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
2583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3625);
2584 show_backtrace(1);
2585 }
2586 {
2587 nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on <self:APlusExpr>*/
2588 }
2589 goto RET_LABEL;
2590 } else {
2591 }
2592 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
2593 if (unlikely(var7 == NULL)) {
2594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3628);
2596 show_backtrace(1);
2597 }
2598 {
2599 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
2600 var_other = var_old_child;
2601 {
2602 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
2603 var12 = var7 == var_other;
2604 var10 = var12;
2605 goto RET_LABEL11;
2606 RET_LABEL11:(void)0;
2607 }
2608 }
2609 var8 = var10;
2610 goto RET_LABEL9;
2611 RET_LABEL9:(void)0;
2612 }
2613 }
2614 if (var8){
2615 /* <var_new_child:nullable ANode> isa AExpr */
2616 cltype14 = type_nit__AExpr.color;
2617 idtype15 = type_nit__AExpr.id;
2618 if(var_new_child == NULL) {
2619 var13 = 0;
2620 } else {
2621 if(cltype14 >= var_new_child->type->table_size) {
2622 var13 = 0;
2623 } else {
2624 var13 = var_new_child->type->type_table[cltype14] == idtype15;
2625 }
2626 }
2627 if (unlikely(!var13)) {
2628 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
2629 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
2630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3629);
2631 show_backtrace(1);
2632 }
2633 {
2634 nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr2= on <self:APlusExpr>*/
2635 }
2636 goto RET_LABEL;
2637 } else {
2638 }
2639 RET_LABEL:;
2640 }
2641 /* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
2642 void nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
2643 val* var_node /* var node: AExpr */;
2644 var_node = p0;
2645 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
2646 {
2647 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2648 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2649 RET_LABEL1:(void)0;
2650 }
2651 }
2652 RET_LABEL:;
2653 }
2654 /* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
2655 void nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2656 val* var_node /* var node: AExpr */;
2657 var_node = p0;
2658 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
2659 {
2660 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2661 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2662 RET_LABEL1:(void)0;
2663 }
2664 }
2665 RET_LABEL:;
2666 }
2667 /* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
2668 void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2669 val* var_v /* var v: Visitor */;
2670 val* var /* : AExpr */;
2671 val* var1 /* : AExpr */;
2672 var_v = p0;
2673 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
2674 if (unlikely(var == NULL)) {
2675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3648);
2677 show_backtrace(1);
2678 }
2679 {
2680 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2681 }
2682 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
2683 if (unlikely(var1 == NULL)) {
2684 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2685 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3649);
2686 show_backtrace(1);
2687 }
2688 {
2689 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2690 }
2691 RET_LABEL:;
2692 }
2693 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */
2694 void nit__parser_prod___AMinusExpr___init_aminusexpr(val* self, val* p0, val* p1) {
2695 val* var_n_expr /* var n_expr: nullable AExpr */;
2696 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2697 var_n_expr = p0;
2698 var_n_expr2 = p1;
2699 if (unlikely(var_n_expr == NULL)) {
2700 PRINT_ERROR("Runtime error: %s", "Cast failed");
2701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3658);
2702 show_backtrace(1);
2703 }
2704 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
2705 if (var_n_expr == NULL) {
2706 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3659);
2708 show_backtrace(1);
2709 } else {
2710 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
2711 if (unlikely(var_n_expr == NULL)) {
2712 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2714 show_backtrace(1);
2715 }
2716 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
2717 RET_LABEL1:(void)0;
2718 }
2719 }
2720 if (unlikely(var_n_expr2 == NULL)) {
2721 PRINT_ERROR("Runtime error: %s", "Cast failed");
2722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3660);
2723 show_backtrace(1);
2724 }
2725 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
2726 if (var_n_expr2 == NULL) {
2727 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2728 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3661);
2729 show_backtrace(1);
2730 } else {
2731 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
2732 if (unlikely(var_n_expr2 == NULL)) {
2733 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2735 show_backtrace(1);
2736 }
2737 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
2738 RET_LABEL2:(void)0;
2739 }
2740 }
2741 RET_LABEL:;
2742 }
2743 /* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
2744 void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2745 val* var_old_child /* var old_child: ANode */;
2746 val* var_new_child /* var new_child: nullable ANode */;
2747 val* var /* : AExpr */;
2748 short int var1 /* : Bool */;
2749 val* var_other /* var other: nullable Object */;
2750 short int var3 /* : Bool */;
2751 short int var5 /* : Bool */;
2752 short int var6 /* : Bool */;
2753 int cltype;
2754 int idtype;
2755 const char* var_class_name;
2756 val* var7 /* : AExpr */;
2757 short int var8 /* : Bool */;
2758 short int var10 /* : Bool */;
2759 short int var12 /* : Bool */;
2760 short int var13 /* : Bool */;
2761 int cltype14;
2762 int idtype15;
2763 const char* var_class_name16;
2764 var_old_child = p0;
2765 var_new_child = p1;
2766 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
2767 if (unlikely(var == NULL)) {
2768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2769 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3666);
2770 show_backtrace(1);
2771 }
2772 {
2773 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
2774 var_other = var_old_child;
2775 {
2776 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
2777 var5 = var == var_other;
2778 var3 = var5;
2779 goto RET_LABEL4;
2780 RET_LABEL4:(void)0;
2781 }
2782 }
2783 var1 = var3;
2784 goto RET_LABEL2;
2785 RET_LABEL2:(void)0;
2786 }
2787 }
2788 if (var1){
2789 /* <var_new_child:nullable ANode> isa AExpr */
2790 cltype = type_nit__AExpr.color;
2791 idtype = type_nit__AExpr.id;
2792 if(var_new_child == NULL) {
2793 var6 = 0;
2794 } else {
2795 if(cltype >= var_new_child->type->table_size) {
2796 var6 = 0;
2797 } else {
2798 var6 = var_new_child->type->type_table[cltype] == idtype;
2799 }
2800 }
2801 if (unlikely(!var6)) {
2802 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2803 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
2804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3667);
2805 show_backtrace(1);
2806 }
2807 {
2808 nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:AMinusExpr>*/
2809 }
2810 goto RET_LABEL;
2811 } else {
2812 }
2813 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
2814 if (unlikely(var7 == NULL)) {
2815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3670);
2817 show_backtrace(1);
2818 }
2819 {
2820 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
2821 var_other = var_old_child;
2822 {
2823 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
2824 var12 = var7 == var_other;
2825 var10 = var12;
2826 goto RET_LABEL11;
2827 RET_LABEL11:(void)0;
2828 }
2829 }
2830 var8 = var10;
2831 goto RET_LABEL9;
2832 RET_LABEL9:(void)0;
2833 }
2834 }
2835 if (var8){
2836 /* <var_new_child:nullable ANode> isa AExpr */
2837 cltype14 = type_nit__AExpr.color;
2838 idtype15 = type_nit__AExpr.id;
2839 if(var_new_child == NULL) {
2840 var13 = 0;
2841 } else {
2842 if(cltype14 >= var_new_child->type->table_size) {
2843 var13 = 0;
2844 } else {
2845 var13 = var_new_child->type->type_table[cltype14] == idtype15;
2846 }
2847 }
2848 if (unlikely(!var13)) {
2849 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
2850 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
2851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3671);
2852 show_backtrace(1);
2853 }
2854 {
2855 nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr2= on <self:AMinusExpr>*/
2856 }
2857 goto RET_LABEL;
2858 } else {
2859 }
2860 RET_LABEL:;
2861 }
2862 /* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
2863 void nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
2864 val* var_node /* var node: AExpr */;
2865 var_node = p0;
2866 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
2867 {
2868 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2869 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2870 RET_LABEL1:(void)0;
2871 }
2872 }
2873 RET_LABEL:;
2874 }
2875 /* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
2876 void nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2877 val* var_node /* var node: AExpr */;
2878 var_node = p0;
2879 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
2880 {
2881 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
2882 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
2883 RET_LABEL1:(void)0;
2884 }
2885 }
2886 RET_LABEL:;
2887 }
2888 /* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
2889 void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2890 val* var_v /* var v: Visitor */;
2891 val* var /* : AExpr */;
2892 val* var1 /* : AExpr */;
2893 var_v = p0;
2894 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
2895 if (unlikely(var == NULL)) {
2896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2897 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3690);
2898 show_backtrace(1);
2899 }
2900 {
2901 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2902 }
2903 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
2904 if (unlikely(var1 == NULL)) {
2905 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2906 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3691);
2907 show_backtrace(1);
2908 }
2909 {
2910 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2911 }
2912 RET_LABEL:;
2913 }
2914 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */
2915 void nit__parser_prod___AStarshipExpr___init_astarshipexpr(val* self, val* p0, val* p1) {
2916 val* var_n_expr /* var n_expr: nullable AExpr */;
2917 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2918 var_n_expr = p0;
2919 var_n_expr2 = p1;
2920 if (unlikely(var_n_expr == NULL)) {
2921 PRINT_ERROR("Runtime error: %s", "Cast failed");
2922 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3700);
2923 show_backtrace(1);
2924 }
2925 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
2926 if (var_n_expr == NULL) {
2927 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2928 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3701);
2929 show_backtrace(1);
2930 } else {
2931 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
2932 if (unlikely(var_n_expr == NULL)) {
2933 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2934 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2935 show_backtrace(1);
2936 }
2937 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
2938 RET_LABEL1:(void)0;
2939 }
2940 }
2941 if (unlikely(var_n_expr2 == NULL)) {
2942 PRINT_ERROR("Runtime error: %s", "Cast failed");
2943 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3702);
2944 show_backtrace(1);
2945 }
2946 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
2947 if (var_n_expr2 == NULL) {
2948 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2949 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3703);
2950 show_backtrace(1);
2951 } else {
2952 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
2953 if (unlikely(var_n_expr2 == NULL)) {
2954 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2956 show_backtrace(1);
2957 }
2958 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
2959 RET_LABEL2:(void)0;
2960 }
2961 }
2962 RET_LABEL:;
2963 }
2964 /* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
2965 void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2966 val* var_old_child /* var old_child: ANode */;
2967 val* var_new_child /* var new_child: nullable ANode */;
2968 val* var /* : AExpr */;
2969 short int var1 /* : Bool */;
2970 val* var_other /* var other: nullable Object */;
2971 short int var3 /* : Bool */;
2972 short int var5 /* : Bool */;
2973 short int var6 /* : Bool */;
2974 int cltype;
2975 int idtype;
2976 const char* var_class_name;
2977 val* var7 /* : AExpr */;
2978 short int var8 /* : Bool */;
2979 short int var10 /* : Bool */;
2980 short int var12 /* : Bool */;
2981 short int var13 /* : Bool */;
2982 int cltype14;
2983 int idtype15;
2984 const char* var_class_name16;
2985 var_old_child = p0;
2986 var_new_child = p1;
2987 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
2988 if (unlikely(var == NULL)) {
2989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3708);
2991 show_backtrace(1);
2992 }
2993 {
2994 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
2995 var_other = var_old_child;
2996 {
2997 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
2998 var5 = var == var_other;
2999 var3 = var5;
3000 goto RET_LABEL4;
3001 RET_LABEL4:(void)0;
3002 }
3003 }
3004 var1 = var3;
3005 goto RET_LABEL2;
3006 RET_LABEL2:(void)0;
3007 }
3008 }
3009 if (var1){
3010 /* <var_new_child:nullable ANode> isa AExpr */
3011 cltype = type_nit__AExpr.color;
3012 idtype = type_nit__AExpr.id;
3013 if(var_new_child == NULL) {
3014 var6 = 0;
3015 } else {
3016 if(cltype >= var_new_child->type->table_size) {
3017 var6 = 0;
3018 } else {
3019 var6 = var_new_child->type->type_table[cltype] == idtype;
3020 }
3021 }
3022 if (unlikely(!var6)) {
3023 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3024 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
3025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3709);
3026 show_backtrace(1);
3027 }
3028 {
3029 nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:AStarshipExpr>*/
3030 }
3031 goto RET_LABEL;
3032 } else {
3033 }
3034 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
3035 if (unlikely(var7 == NULL)) {
3036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3712);
3038 show_backtrace(1);
3039 }
3040 {
3041 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
3042 var_other = var_old_child;
3043 {
3044 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
3045 var12 = var7 == var_other;
3046 var10 = var12;
3047 goto RET_LABEL11;
3048 RET_LABEL11:(void)0;
3049 }
3050 }
3051 var8 = var10;
3052 goto RET_LABEL9;
3053 RET_LABEL9:(void)0;
3054 }
3055 }
3056 if (var8){
3057 /* <var_new_child:nullable ANode> isa AExpr */
3058 cltype14 = type_nit__AExpr.color;
3059 idtype15 = type_nit__AExpr.id;
3060 if(var_new_child == NULL) {
3061 var13 = 0;
3062 } else {
3063 if(cltype14 >= var_new_child->type->table_size) {
3064 var13 = 0;
3065 } else {
3066 var13 = var_new_child->type->type_table[cltype14] == idtype15;
3067 }
3068 }
3069 if (unlikely(!var13)) {
3070 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
3071 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
3072 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3713);
3073 show_backtrace(1);
3074 }
3075 {
3076 nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr2= on <self:AStarshipExpr>*/
3077 }
3078 goto RET_LABEL;
3079 } else {
3080 }
3081 RET_LABEL:;
3082 }
3083 /* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
3084 void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
3085 val* var_node /* var node: AExpr */;
3086 var_node = p0;
3087 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
3088 {
3089 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3090 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3091 RET_LABEL1:(void)0;
3092 }
3093 }
3094 RET_LABEL:;
3095 }
3096 /* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
3097 void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
3098 val* var_node /* var node: AExpr */;
3099 var_node = p0;
3100 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
3101 {
3102 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3103 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3104 RET_LABEL1:(void)0;
3105 }
3106 }
3107 RET_LABEL:;
3108 }
3109 /* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
3110 void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3111 val* var_v /* var v: Visitor */;
3112 val* var /* : AExpr */;
3113 val* var1 /* : AExpr */;
3114 var_v = p0;
3115 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
3116 if (unlikely(var == NULL)) {
3117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3732);
3119 show_backtrace(1);
3120 }
3121 {
3122 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3123 }
3124 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
3125 if (unlikely(var1 == NULL)) {
3126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3127 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3733);
3128 show_backtrace(1);
3129 }
3130 {
3131 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3132 }
3133 RET_LABEL:;
3134 }
3135 /* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */
3136 void nit__parser_prod___AStarExpr___init_astarexpr(val* self, val* p0, val* p1) {
3137 val* var_n_expr /* var n_expr: nullable AExpr */;
3138 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3139 var_n_expr = p0;
3140 var_n_expr2 = p1;
3141 if (unlikely(var_n_expr == NULL)) {
3142 PRINT_ERROR("Runtime error: %s", "Cast failed");
3143 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3742);
3144 show_backtrace(1);
3145 }
3146 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
3147 if (var_n_expr == NULL) {
3148 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3743);
3150 show_backtrace(1);
3151 } else {
3152 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
3153 if (unlikely(var_n_expr == NULL)) {
3154 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3155 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3156 show_backtrace(1);
3157 }
3158 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
3159 RET_LABEL1:(void)0;
3160 }
3161 }
3162 if (unlikely(var_n_expr2 == NULL)) {
3163 PRINT_ERROR("Runtime error: %s", "Cast failed");
3164 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3744);
3165 show_backtrace(1);
3166 }
3167 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
3168 if (var_n_expr2 == NULL) {
3169 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3745);
3171 show_backtrace(1);
3172 } else {
3173 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
3174 if (unlikely(var_n_expr2 == NULL)) {
3175 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3176 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3177 show_backtrace(1);
3178 }
3179 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
3180 RET_LABEL2:(void)0;
3181 }
3182 }
3183 RET_LABEL:;
3184 }
3185 /* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
3186 void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3187 val* var_old_child /* var old_child: ANode */;
3188 val* var_new_child /* var new_child: nullable ANode */;
3189 val* var /* : AExpr */;
3190 short int var1 /* : Bool */;
3191 val* var_other /* var other: nullable Object */;
3192 short int var3 /* : Bool */;
3193 short int var5 /* : Bool */;
3194 short int var6 /* : Bool */;
3195 int cltype;
3196 int idtype;
3197 const char* var_class_name;
3198 val* var7 /* : AExpr */;
3199 short int var8 /* : Bool */;
3200 short int var10 /* : Bool */;
3201 short int var12 /* : Bool */;
3202 short int var13 /* : Bool */;
3203 int cltype14;
3204 int idtype15;
3205 const char* var_class_name16;
3206 var_old_child = p0;
3207 var_new_child = p1;
3208 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
3209 if (unlikely(var == NULL)) {
3210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3211 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3750);
3212 show_backtrace(1);
3213 }
3214 {
3215 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
3216 var_other = var_old_child;
3217 {
3218 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
3219 var5 = var == var_other;
3220 var3 = var5;
3221 goto RET_LABEL4;
3222 RET_LABEL4:(void)0;
3223 }
3224 }
3225 var1 = var3;
3226 goto RET_LABEL2;
3227 RET_LABEL2:(void)0;
3228 }
3229 }
3230 if (var1){
3231 /* <var_new_child:nullable ANode> isa AExpr */
3232 cltype = type_nit__AExpr.color;
3233 idtype = type_nit__AExpr.id;
3234 if(var_new_child == NULL) {
3235 var6 = 0;
3236 } else {
3237 if(cltype >= var_new_child->type->table_size) {
3238 var6 = 0;
3239 } else {
3240 var6 = var_new_child->type->type_table[cltype] == idtype;
3241 }
3242 }
3243 if (unlikely(!var6)) {
3244 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3245 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
3246 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3751);
3247 show_backtrace(1);
3248 }
3249 {
3250 nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on <self:AStarExpr>*/
3251 }
3252 goto RET_LABEL;
3253 } else {
3254 }
3255 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
3256 if (unlikely(var7 == NULL)) {
3257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3754);
3259 show_backtrace(1);
3260 }
3261 {
3262 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
3263 var_other = var_old_child;
3264 {
3265 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
3266 var12 = var7 == var_other;
3267 var10 = var12;
3268 goto RET_LABEL11;
3269 RET_LABEL11:(void)0;
3270 }
3271 }
3272 var8 = var10;
3273 goto RET_LABEL9;
3274 RET_LABEL9:(void)0;
3275 }
3276 }
3277 if (var8){
3278 /* <var_new_child:nullable ANode> isa AExpr */
3279 cltype14 = type_nit__AExpr.color;
3280 idtype15 = type_nit__AExpr.id;
3281 if(var_new_child == NULL) {
3282 var13 = 0;
3283 } else {
3284 if(cltype14 >= var_new_child->type->table_size) {
3285 var13 = 0;
3286 } else {
3287 var13 = var_new_child->type->type_table[cltype14] == idtype15;
3288 }
3289 }
3290 if (unlikely(!var13)) {
3291 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
3292 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
3293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3755);
3294 show_backtrace(1);
3295 }
3296 {
3297 nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr2= on <self:AStarExpr>*/
3298 }
3299 goto RET_LABEL;
3300 } else {
3301 }
3302 RET_LABEL:;
3303 }
3304 /* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
3305 void nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
3306 val* var_node /* var node: AExpr */;
3307 var_node = p0;
3308 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
3309 {
3310 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3311 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3312 RET_LABEL1:(void)0;
3313 }
3314 }
3315 RET_LABEL:;
3316 }
3317 /* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
3318 void nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
3319 val* var_node /* var node: AExpr */;
3320 var_node = p0;
3321 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
3322 {
3323 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3324 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3325 RET_LABEL1:(void)0;
3326 }
3327 }
3328 RET_LABEL:;
3329 }
3330 /* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
3331 void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3332 val* var_v /* var v: Visitor */;
3333 val* var /* : AExpr */;
3334 val* var1 /* : AExpr */;
3335 var_v = p0;
3336 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
3337 if (unlikely(var == NULL)) {
3338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3774);
3340 show_backtrace(1);
3341 }
3342 {
3343 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3344 }
3345 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
3346 if (unlikely(var1 == NULL)) {
3347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3348 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3775);
3349 show_backtrace(1);
3350 }
3351 {
3352 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3353 }
3354 RET_LABEL:;
3355 }
3356 /* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable AExpr) */
3357 void nit__parser_prod___AStarstarExpr___init_astarstarexpr(val* self, val* p0, val* p1) {
3358 val* var_n_expr /* var n_expr: nullable AExpr */;
3359 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3360 var_n_expr = p0;
3361 var_n_expr2 = p1;
3362 if (unlikely(var_n_expr == NULL)) {
3363 PRINT_ERROR("Runtime error: %s", "Cast failed");
3364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3784);
3365 show_backtrace(1);
3366 }
3367 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarstarExpr> */
3368 if (var_n_expr == NULL) {
3369 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3785);
3371 show_backtrace(1);
3372 } else {
3373 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
3374 if (unlikely(var_n_expr == NULL)) {
3375 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3377 show_backtrace(1);
3378 }
3379 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
3380 RET_LABEL1:(void)0;
3381 }
3382 }
3383 if (unlikely(var_n_expr2 == NULL)) {
3384 PRINT_ERROR("Runtime error: %s", "Cast failed");
3385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3786);
3386 show_backtrace(1);
3387 }
3388 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarstarExpr> */
3389 if (var_n_expr2 == NULL) {
3390 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3391 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3787);
3392 show_backtrace(1);
3393 } else {
3394 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
3395 if (unlikely(var_n_expr2 == NULL)) {
3396 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3398 show_backtrace(1);
3399 }
3400 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
3401 RET_LABEL2:(void)0;
3402 }
3403 }
3404 RET_LABEL:;
3405 }
3406 /* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */
3407 void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3408 val* var_old_child /* var old_child: ANode */;
3409 val* var_new_child /* var new_child: nullable ANode */;
3410 val* var /* : AExpr */;
3411 short int var1 /* : Bool */;
3412 val* var_other /* var other: nullable Object */;
3413 short int var3 /* : Bool */;
3414 short int var5 /* : Bool */;
3415 short int var6 /* : Bool */;
3416 int cltype;
3417 int idtype;
3418 const char* var_class_name;
3419 val* var7 /* : AExpr */;
3420 short int var8 /* : Bool */;
3421 short int var10 /* : Bool */;
3422 short int var12 /* : Bool */;
3423 short int var13 /* : Bool */;
3424 int cltype14;
3425 int idtype15;
3426 const char* var_class_name16;
3427 var_old_child = p0;
3428 var_new_child = p1;
3429 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
3430 if (unlikely(var == NULL)) {
3431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3792);
3433 show_backtrace(1);
3434 }
3435 {
3436 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
3437 var_other = var_old_child;
3438 {
3439 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
3440 var5 = var == var_other;
3441 var3 = var5;
3442 goto RET_LABEL4;
3443 RET_LABEL4:(void)0;
3444 }
3445 }
3446 var1 = var3;
3447 goto RET_LABEL2;
3448 RET_LABEL2:(void)0;
3449 }
3450 }
3451 if (var1){
3452 /* <var_new_child:nullable ANode> isa AExpr */
3453 cltype = type_nit__AExpr.color;
3454 idtype = type_nit__AExpr.id;
3455 if(var_new_child == NULL) {
3456 var6 = 0;
3457 } else {
3458 if(cltype >= var_new_child->type->table_size) {
3459 var6 = 0;
3460 } else {
3461 var6 = var_new_child->type->type_table[cltype] == idtype;
3462 }
3463 }
3464 if (unlikely(!var6)) {
3465 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
3467 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3793);
3468 show_backtrace(1);
3469 }
3470 {
3471 nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:AStarstarExpr>*/
3472 }
3473 goto RET_LABEL;
3474 } else {
3475 }
3476 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
3477 if (unlikely(var7 == NULL)) {
3478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3479 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3796);
3480 show_backtrace(1);
3481 }
3482 {
3483 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
3484 var_other = var_old_child;
3485 {
3486 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
3487 var12 = var7 == var_other;
3488 var10 = var12;
3489 goto RET_LABEL11;
3490 RET_LABEL11:(void)0;
3491 }
3492 }
3493 var8 = var10;
3494 goto RET_LABEL9;
3495 RET_LABEL9:(void)0;
3496 }
3497 }
3498 if (var8){
3499 /* <var_new_child:nullable ANode> isa AExpr */
3500 cltype14 = type_nit__AExpr.color;
3501 idtype15 = type_nit__AExpr.id;
3502 if(var_new_child == NULL) {
3503 var13 = 0;
3504 } else {
3505 if(cltype14 >= var_new_child->type->table_size) {
3506 var13 = 0;
3507 } else {
3508 var13 = var_new_child->type->type_table[cltype14] == idtype15;
3509 }
3510 }
3511 if (unlikely(!var13)) {
3512 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
3513 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
3514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3797);
3515 show_backtrace(1);
3516 }
3517 {
3518 nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr2= on <self:AStarstarExpr>*/
3519 }
3520 goto RET_LABEL;
3521 } else {
3522 }
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#AStarstarExpr#n_expr= for (self: AStarstarExpr, AExpr) */
3526 void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
3527 val* var_node /* var node: AExpr */;
3528 var_node = p0;
3529 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarstarExpr> */
3530 {
3531 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3532 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3533 RET_LABEL1:(void)0;
3534 }
3535 }
3536 RET_LABEL:;
3537 }
3538 /* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */
3539 void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
3540 val* var_node /* var node: AExpr */;
3541 var_node = p0;
3542 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarstarExpr> */
3543 {
3544 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3545 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3546 RET_LABEL1:(void)0;
3547 }
3548 }
3549 RET_LABEL:;
3550 }
3551 /* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */
3552 void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3553 val* var_v /* var v: Visitor */;
3554 val* var /* : AExpr */;
3555 val* var1 /* : AExpr */;
3556 var_v = p0;
3557 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
3558 if (unlikely(var == NULL)) {
3559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3816);
3561 show_backtrace(1);
3562 }
3563 {
3564 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3565 }
3566 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
3567 if (unlikely(var1 == NULL)) {
3568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3817);
3570 show_backtrace(1);
3571 }
3572 {
3573 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3574 }
3575 RET_LABEL:;
3576 }
3577 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */
3578 void nit__parser_prod___ASlashExpr___init_aslashexpr(val* self, val* p0, val* p1) {
3579 val* var_n_expr /* var n_expr: nullable AExpr */;
3580 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3581 var_n_expr = p0;
3582 var_n_expr2 = p1;
3583 if (unlikely(var_n_expr == NULL)) {
3584 PRINT_ERROR("Runtime error: %s", "Cast failed");
3585 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3826);
3586 show_backtrace(1);
3587 }
3588 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
3589 if (var_n_expr == NULL) {
3590 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3827);
3592 show_backtrace(1);
3593 } else {
3594 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
3595 if (unlikely(var_n_expr == NULL)) {
3596 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3598 show_backtrace(1);
3599 }
3600 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
3601 RET_LABEL1:(void)0;
3602 }
3603 }
3604 if (unlikely(var_n_expr2 == NULL)) {
3605 PRINT_ERROR("Runtime error: %s", "Cast failed");
3606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3828);
3607 show_backtrace(1);
3608 }
3609 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
3610 if (var_n_expr2 == NULL) {
3611 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3612 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3829);
3613 show_backtrace(1);
3614 } else {
3615 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
3616 if (unlikely(var_n_expr2 == NULL)) {
3617 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3619 show_backtrace(1);
3620 }
3621 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
3622 RET_LABEL2:(void)0;
3623 }
3624 }
3625 RET_LABEL:;
3626 }
3627 /* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
3628 void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3629 val* var_old_child /* var old_child: ANode */;
3630 val* var_new_child /* var new_child: nullable ANode */;
3631 val* var /* : AExpr */;
3632 short int var1 /* : Bool */;
3633 val* var_other /* var other: nullable Object */;
3634 short int var3 /* : Bool */;
3635 short int var5 /* : Bool */;
3636 short int var6 /* : Bool */;
3637 int cltype;
3638 int idtype;
3639 const char* var_class_name;
3640 val* var7 /* : AExpr */;
3641 short int var8 /* : Bool */;
3642 short int var10 /* : Bool */;
3643 short int var12 /* : Bool */;
3644 short int var13 /* : Bool */;
3645 int cltype14;
3646 int idtype15;
3647 const char* var_class_name16;
3648 var_old_child = p0;
3649 var_new_child = p1;
3650 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
3651 if (unlikely(var == NULL)) {
3652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3834);
3654 show_backtrace(1);
3655 }
3656 {
3657 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
3658 var_other = var_old_child;
3659 {
3660 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
3661 var5 = var == var_other;
3662 var3 = var5;
3663 goto RET_LABEL4;
3664 RET_LABEL4:(void)0;
3665 }
3666 }
3667 var1 = var3;
3668 goto RET_LABEL2;
3669 RET_LABEL2:(void)0;
3670 }
3671 }
3672 if (var1){
3673 /* <var_new_child:nullable ANode> isa AExpr */
3674 cltype = type_nit__AExpr.color;
3675 idtype = type_nit__AExpr.id;
3676 if(var_new_child == NULL) {
3677 var6 = 0;
3678 } else {
3679 if(cltype >= var_new_child->type->table_size) {
3680 var6 = 0;
3681 } else {
3682 var6 = var_new_child->type->type_table[cltype] == idtype;
3683 }
3684 }
3685 if (unlikely(!var6)) {
3686 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3687 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
3688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3835);
3689 show_backtrace(1);
3690 }
3691 {
3692 nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr= on <self:ASlashExpr>*/
3693 }
3694 goto RET_LABEL;
3695 } else {
3696 }
3697 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
3698 if (unlikely(var7 == NULL)) {
3699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3838);
3701 show_backtrace(1);
3702 }
3703 {
3704 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
3705 var_other = var_old_child;
3706 {
3707 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
3708 var12 = var7 == var_other;
3709 var10 = var12;
3710 goto RET_LABEL11;
3711 RET_LABEL11:(void)0;
3712 }
3713 }
3714 var8 = var10;
3715 goto RET_LABEL9;
3716 RET_LABEL9:(void)0;
3717 }
3718 }
3719 if (var8){
3720 /* <var_new_child:nullable ANode> isa AExpr */
3721 cltype14 = type_nit__AExpr.color;
3722 idtype15 = type_nit__AExpr.id;
3723 if(var_new_child == NULL) {
3724 var13 = 0;
3725 } else {
3726 if(cltype14 >= var_new_child->type->table_size) {
3727 var13 = 0;
3728 } else {
3729 var13 = var_new_child->type->type_table[cltype14] == idtype15;
3730 }
3731 }
3732 if (unlikely(!var13)) {
3733 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
3734 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
3735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3839);
3736 show_backtrace(1);
3737 }
3738 {
3739 nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr2= on <self:ASlashExpr>*/
3740 }
3741 goto RET_LABEL;
3742 } else {
3743 }
3744 RET_LABEL:;
3745 }
3746 /* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
3747 void nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
3748 val* var_node /* var node: AExpr */;
3749 var_node = p0;
3750 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASlashExpr> */
3751 {
3752 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3753 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3754 RET_LABEL1:(void)0;
3755 }
3756 }
3757 RET_LABEL:;
3758 }
3759 /* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
3760 void nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
3761 val* var_node /* var node: AExpr */;
3762 var_node = p0;
3763 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ASlashExpr> */
3764 {
3765 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3766 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3767 RET_LABEL1:(void)0;
3768 }
3769 }
3770 RET_LABEL:;
3771 }
3772 /* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
3773 void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3774 val* var_v /* var v: Visitor */;
3775 val* var /* : AExpr */;
3776 val* var1 /* : AExpr */;
3777 var_v = p0;
3778 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
3779 if (unlikely(var == NULL)) {
3780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3858);
3782 show_backtrace(1);
3783 }
3784 {
3785 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3786 }
3787 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
3788 if (unlikely(var1 == NULL)) {
3789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3790 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3859);
3791 show_backtrace(1);
3792 }
3793 {
3794 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3795 }
3796 RET_LABEL:;
3797 }
3798 /* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */
3799 void nit__parser_prod___APercentExpr___init_apercentexpr(val* self, val* p0, val* p1) {
3800 val* var_n_expr /* var n_expr: nullable AExpr */;
3801 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3802 var_n_expr = p0;
3803 var_n_expr2 = p1;
3804 if (unlikely(var_n_expr == NULL)) {
3805 PRINT_ERROR("Runtime error: %s", "Cast failed");
3806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3868);
3807 show_backtrace(1);
3808 }
3809 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
3810 if (var_n_expr == NULL) {
3811 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3812 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3869);
3813 show_backtrace(1);
3814 } else {
3815 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
3816 if (unlikely(var_n_expr == NULL)) {
3817 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3818 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3819 show_backtrace(1);
3820 }
3821 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
3822 RET_LABEL1:(void)0;
3823 }
3824 }
3825 if (unlikely(var_n_expr2 == NULL)) {
3826 PRINT_ERROR("Runtime error: %s", "Cast failed");
3827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3870);
3828 show_backtrace(1);
3829 }
3830 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
3831 if (var_n_expr2 == NULL) {
3832 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3871);
3834 show_backtrace(1);
3835 } else {
3836 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
3837 if (unlikely(var_n_expr2 == NULL)) {
3838 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3839 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3840 show_backtrace(1);
3841 }
3842 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
3843 RET_LABEL2:(void)0;
3844 }
3845 }
3846 RET_LABEL:;
3847 }
3848 /* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */
3849 void nit__parser_prod___APercentExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3850 val* var_old_child /* var old_child: ANode */;
3851 val* var_new_child /* var new_child: nullable ANode */;
3852 val* var /* : AExpr */;
3853 short int var1 /* : Bool */;
3854 val* var_other /* var other: nullable Object */;
3855 short int var3 /* : Bool */;
3856 short int var5 /* : Bool */;
3857 short int var6 /* : Bool */;
3858 int cltype;
3859 int idtype;
3860 const char* var_class_name;
3861 val* var7 /* : AExpr */;
3862 short int var8 /* : Bool */;
3863 short int var10 /* : Bool */;
3864 short int var12 /* : Bool */;
3865 short int var13 /* : Bool */;
3866 int cltype14;
3867 int idtype15;
3868 const char* var_class_name16;
3869 var_old_child = p0;
3870 var_new_child = p1;
3871 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
3872 if (unlikely(var == NULL)) {
3873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3876);
3875 show_backtrace(1);
3876 }
3877 {
3878 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
3879 var_other = var_old_child;
3880 {
3881 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
3882 var5 = var == var_other;
3883 var3 = var5;
3884 goto RET_LABEL4;
3885 RET_LABEL4:(void)0;
3886 }
3887 }
3888 var1 = var3;
3889 goto RET_LABEL2;
3890 RET_LABEL2:(void)0;
3891 }
3892 }
3893 if (var1){
3894 /* <var_new_child:nullable ANode> isa AExpr */
3895 cltype = type_nit__AExpr.color;
3896 idtype = type_nit__AExpr.id;
3897 if(var_new_child == NULL) {
3898 var6 = 0;
3899 } else {
3900 if(cltype >= var_new_child->type->table_size) {
3901 var6 = 0;
3902 } else {
3903 var6 = var_new_child->type->type_table[cltype] == idtype;
3904 }
3905 }
3906 if (unlikely(!var6)) {
3907 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3908 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
3909 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3877);
3910 show_backtrace(1);
3911 }
3912 {
3913 nit__parser_prod___APercentExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr= on <self:APercentExpr>*/
3914 }
3915 goto RET_LABEL;
3916 } else {
3917 }
3918 var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
3919 if (unlikely(var7 == NULL)) {
3920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3921 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3880);
3922 show_backtrace(1);
3923 }
3924 {
3925 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
3926 var_other = var_old_child;
3927 {
3928 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
3929 var12 = var7 == var_other;
3930 var10 = var12;
3931 goto RET_LABEL11;
3932 RET_LABEL11:(void)0;
3933 }
3934 }
3935 var8 = var10;
3936 goto RET_LABEL9;
3937 RET_LABEL9:(void)0;
3938 }
3939 }
3940 if (var8){
3941 /* <var_new_child:nullable ANode> isa AExpr */
3942 cltype14 = type_nit__AExpr.color;
3943 idtype15 = type_nit__AExpr.id;
3944 if(var_new_child == NULL) {
3945 var13 = 0;
3946 } else {
3947 if(cltype14 >= var_new_child->type->table_size) {
3948 var13 = 0;
3949 } else {
3950 var13 = var_new_child->type->type_table[cltype14] == idtype15;
3951 }
3952 }
3953 if (unlikely(!var13)) {
3954 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
3955 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
3956 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3881);
3957 show_backtrace(1);
3958 }
3959 {
3960 nit__parser_prod___APercentExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr2= on <self:APercentExpr>*/
3961 }
3962 goto RET_LABEL;
3963 } else {
3964 }
3965 RET_LABEL:;
3966 }
3967 /* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */
3968 void nit__parser_prod___APercentExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
3969 val* var_node /* var node: AExpr */;
3970 var_node = p0;
3971 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APercentExpr> */
3972 {
3973 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3974 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3975 RET_LABEL1:(void)0;
3976 }
3977 }
3978 RET_LABEL:;
3979 }
3980 /* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */
3981 void nit__parser_prod___APercentExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
3982 val* var_node /* var node: AExpr */;
3983 var_node = p0;
3984 self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APercentExpr> */
3985 {
3986 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
3987 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
3988 RET_LABEL1:(void)0;
3989 }
3990 }
3991 RET_LABEL:;
3992 }
3993 /* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */
3994 void nit__parser_prod___APercentExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3995 val* var_v /* var v: Visitor */;
3996 val* var /* : AExpr */;
3997 val* var1 /* : AExpr */;
3998 var_v = p0;
3999 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
4000 if (unlikely(var == NULL)) {
4001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3900);
4003 show_backtrace(1);
4004 }
4005 {
4006 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4007 }
4008 var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
4009 if (unlikely(var1 == NULL)) {
4010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4011 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3901);
4012 show_backtrace(1);
4013 }
4014 {
4015 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4016 }
4017 RET_LABEL:;
4018 }
4019 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */
4020 void nit__parser_prod___AUminusExpr___init_auminusexpr(val* self, val* p0, val* p1) {
4021 val* var_n_minus /* var n_minus: nullable TMinus */;
4022 val* var_n_expr /* var n_expr: nullable AExpr */;
4023 var_n_minus = p0;
4024 var_n_expr = p1;
4025 if (unlikely(var_n_minus == NULL)) {
4026 PRINT_ERROR("Runtime error: %s", "Cast failed");
4027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3910);
4028 show_backtrace(1);
4029 }
4030 self->attrs[COLOR_nit__parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on <self:AUminusExpr> */
4031 if (var_n_minus == NULL) {
4032 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3911);
4034 show_backtrace(1);
4035 } else {
4036 { /* Inline parser_nodes#ANode#parent= (var_n_minus,self) on <var_n_minus:nullable TMinus> */
4037 if (unlikely(var_n_minus == NULL)) {
4038 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4039 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4040 show_backtrace(1);
4041 }
4042 var_n_minus->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_minus:nullable TMinus> */
4043 RET_LABEL1:(void)0;
4044 }
4045 }
4046 if (unlikely(var_n_expr == NULL)) {
4047 PRINT_ERROR("Runtime error: %s", "Cast failed");
4048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3912);
4049 show_backtrace(1);
4050 }
4051 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AUminusExpr> */
4052 if (var_n_expr == NULL) {
4053 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4054 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3913);
4055 show_backtrace(1);
4056 } else {
4057 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
4058 if (unlikely(var_n_expr == NULL)) {
4059 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4061 show_backtrace(1);
4062 }
4063 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
4064 RET_LABEL2:(void)0;
4065 }
4066 }
4067 RET_LABEL:;
4068 }
4069 /* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */
4070 void nit__parser_prod___AUminusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4071 val* var_old_child /* var old_child: ANode */;
4072 val* var_new_child /* var new_child: nullable ANode */;
4073 val* var /* : TMinus */;
4074 short int var1 /* : Bool */;
4075 val* var_other /* var other: nullable Object */;
4076 short int var3 /* : Bool */;
4077 short int var5 /* : Bool */;
4078 short int var6 /* : Bool */;
4079 int cltype;
4080 int idtype;
4081 const char* var_class_name;
4082 val* var7 /* : AExpr */;
4083 short int var8 /* : Bool */;
4084 short int var10 /* : Bool */;
4085 short int var12 /* : Bool */;
4086 short int var13 /* : Bool */;
4087 int cltype14;
4088 int idtype15;
4089 const char* var_class_name16;
4090 var_old_child = p0;
4091 var_new_child = p1;
4092 var = self->attrs[COLOR_nit__parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
4093 if (unlikely(var == NULL)) {
4094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus");
4095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3918);
4096 show_backtrace(1);
4097 }
4098 {
4099 { /* Inline kernel#Object#== (var,var_old_child) on <var:TMinus> */
4100 var_other = var_old_child;
4101 {
4102 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TMinus> */
4103 var5 = var == var_other;
4104 var3 = var5;
4105 goto RET_LABEL4;
4106 RET_LABEL4:(void)0;
4107 }
4108 }
4109 var1 = var3;
4110 goto RET_LABEL2;
4111 RET_LABEL2:(void)0;
4112 }
4113 }
4114 if (var1){
4115 /* <var_new_child:nullable ANode> isa TMinus */
4116 cltype = type_nit__TMinus.color;
4117 idtype = type_nit__TMinus.id;
4118 if(var_new_child == NULL) {
4119 var6 = 0;
4120 } else {
4121 if(cltype >= var_new_child->type->table_size) {
4122 var6 = 0;
4123 } else {
4124 var6 = var_new_child->type->type_table[cltype] == idtype;
4125 }
4126 }
4127 if (unlikely(!var6)) {
4128 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
4129 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name);
4130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3919);
4131 show_backtrace(1);
4132 }
4133 {
4134 nit__parser_prod___AUminusExpr___n_minus_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_minus= on <self:AUminusExpr>*/
4135 }
4136 goto RET_LABEL;
4137 } else {
4138 }
4139 var7 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
4140 if (unlikely(var7 == NULL)) {
4141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3922);
4143 show_backtrace(1);
4144 }
4145 {
4146 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
4147 var_other = var_old_child;
4148 {
4149 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
4150 var12 = var7 == var_other;
4151 var10 = var12;
4152 goto RET_LABEL11;
4153 RET_LABEL11:(void)0;
4154 }
4155 }
4156 var8 = var10;
4157 goto RET_LABEL9;
4158 RET_LABEL9:(void)0;
4159 }
4160 }
4161 if (var8){
4162 /* <var_new_child:nullable ANode> isa AExpr */
4163 cltype14 = type_nit__AExpr.color;
4164 idtype15 = type_nit__AExpr.id;
4165 if(var_new_child == NULL) {
4166 var13 = 0;
4167 } else {
4168 if(cltype14 >= var_new_child->type->table_size) {
4169 var13 = 0;
4170 } else {
4171 var13 = var_new_child->type->type_table[cltype14] == idtype15;
4172 }
4173 }
4174 if (unlikely(!var13)) {
4175 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
4176 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
4177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3923);
4178 show_backtrace(1);
4179 }
4180 {
4181 nit__parser_prod___AUminusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_expr= on <self:AUminusExpr>*/
4182 }
4183 goto RET_LABEL;
4184 } else {
4185 }
4186 RET_LABEL:;
4187 }
4188 /* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */
4189 void nit__parser_prod___AUminusExpr___n_minus_61d(val* self, val* p0) {
4190 val* var_node /* var node: TMinus */;
4191 var_node = p0;
4192 self->attrs[COLOR_nit__parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on <self:AUminusExpr> */
4193 {
4194 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TMinus> */
4195 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TMinus> */
4196 RET_LABEL1:(void)0;
4197 }
4198 }
4199 RET_LABEL:;
4200 }
4201 /* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */
4202 void nit__parser_prod___AUminusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
4203 val* var_node /* var node: AExpr */;
4204 var_node = p0;
4205 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AUminusExpr> */
4206 {
4207 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
4208 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
4209 RET_LABEL1:(void)0;
4210 }
4211 }
4212 RET_LABEL:;
4213 }
4214 /* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */
4215 void nit__parser_prod___AUminusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
4216 val* var_v /* var v: Visitor */;
4217 val* var /* : TMinus */;
4218 val* var1 /* : AExpr */;
4219 var_v = p0;
4220 var = self->attrs[COLOR_nit__parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
4221 if (unlikely(var == NULL)) {
4222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus");
4223 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3942);
4224 show_backtrace(1);
4225 }
4226 {
4227 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4228 }
4229 var1 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
4230 if (unlikely(var1 == NULL)) {
4231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3943);
4233 show_backtrace(1);
4234 }
4235 {
4236 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4237 }
4238 RET_LABEL:;
4239 }
4240 /* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
4241 void nit__parser_prod___ANewExpr___init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
4242 val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
4243 val* var_n_type /* var n_type: nullable AType */;
4244 val* var_n_id /* var n_id: nullable TId */;
4245 val* var_n_args /* var n_args: nullable AExprs */;
4246 val* var /* : null */;
4247 short int var3 /* : Bool */;
4248 short int var4 /* : Bool */;
4249 val* var_other /* var other: nullable Object */;
4250 short int var6 /* : Bool */;
4251 short int var7 /* : Bool */;
4252 var_n_kwnew = p0;
4253 var_n_type = p1;
4254 var_n_id = p2;
4255 var_n_args = p3;
4256 if (unlikely(var_n_kwnew == NULL)) {
4257 PRINT_ERROR("Runtime error: %s", "Cast failed");
4258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3954);
4259 show_backtrace(1);
4260 }
4261 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:ANewExpr> */
4262 if (var_n_kwnew == NULL) {
4263 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3955);
4265 show_backtrace(1);
4266 } else {
4267 { /* Inline parser_nodes#ANode#parent= (var_n_kwnew,self) on <var_n_kwnew:nullable TKwnew> */
4268 if (unlikely(var_n_kwnew == NULL)) {
4269 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4271 show_backtrace(1);
4272 }
4273 var_n_kwnew->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnew:nullable TKwnew> */
4274 RET_LABEL1:(void)0;
4275 }
4276 }
4277 if (unlikely(var_n_type == NULL)) {
4278 PRINT_ERROR("Runtime error: %s", "Cast failed");
4279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3956);
4280 show_backtrace(1);
4281 }
4282 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on <self:ANewExpr> */
4283 if (var_n_type == NULL) {
4284 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3957);
4286 show_backtrace(1);
4287 } else {
4288 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
4289 if (unlikely(var_n_type == NULL)) {
4290 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4292 show_backtrace(1);
4293 }
4294 var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
4295 RET_LABEL2:(void)0;
4296 }
4297 }
4298 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on <self:ANewExpr> */
4299 var = NULL;
4300 if (var_n_id == NULL) {
4301 var3 = 0; /* is null */
4302 } else {
4303 var3 = 1; /* arg is null and recv is not */
4304 }
4305 if (0) {
4306 { /* Inline kernel#Object#!= (var_n_id,var) on <var_n_id:nullable TId> */
4307 var_other = var;
4308 {
4309 var6 = ((short int (*)(val* self, val* p0))(var_n_id->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_id, var_other) /* == on <var_n_id:nullable TId(TId)>*/;
4310 }
4311 var7 = !var6;
4312 var4 = var7;
4313 goto RET_LABEL5;
4314 RET_LABEL5:(void)0;
4315 }
4316 var3 = var4;
4317 }
4318 if (var3){
4319 {
4320 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
4321 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
4322 RET_LABEL8:(void)0;
4323 }
4324 }
4325 } else {
4326 }
4327 if (unlikely(var_n_args == NULL)) {
4328 PRINT_ERROR("Runtime error: %s", "Cast failed");
4329 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3960);
4330 show_backtrace(1);
4331 }
4332 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on <self:ANewExpr> */
4333 if (var_n_args == NULL) {
4334 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3961);
4336 show_backtrace(1);
4337 } else {
4338 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
4339 if (unlikely(var_n_args == NULL)) {
4340 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4342 show_backtrace(1);
4343 }
4344 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
4345 RET_LABEL9:(void)0;
4346 }
4347 }
4348 RET_LABEL:;
4349 }
4350 /* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */
4351 void nit__parser_prod___ANewExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4352 val* var_old_child /* var old_child: ANode */;
4353 val* var_new_child /* var new_child: nullable ANode */;
4354 val* var /* : TKwnew */;
4355 short int var1 /* : Bool */;
4356 val* var_other /* var other: nullable Object */;
4357 short int var3 /* : Bool */;
4358 short int var5 /* : Bool */;
4359 short int var6 /* : Bool */;
4360 int cltype;
4361 int idtype;
4362 const char* var_class_name;
4363 val* var7 /* : AType */;
4364 short int var8 /* : Bool */;
4365 short int var10 /* : Bool */;
4366 short int var12 /* : Bool */;
4367 short int var13 /* : Bool */;
4368 int cltype14;
4369 int idtype15;
4370 const char* var_class_name16;
4371 val* var17 /* : nullable TId */;
4372 short int var18 /* : Bool */;
4373 short int var19 /* : Bool */;
4374 short int var21 /* : Bool */;
4375 short int var23 /* : Bool */;
4376 short int var24 /* : Bool */;
4377 int cltype25;
4378 int idtype26;
4379 const char* var_class_name27;
4380 val* var28 /* : AExprs */;
4381 short int var29 /* : Bool */;
4382 short int var31 /* : Bool */;
4383 short int var33 /* : Bool */;
4384 short int var34 /* : Bool */;
4385 int cltype35;
4386 int idtype36;
4387 const char* var_class_name37;
4388 var_old_child = p0;
4389 var_new_child = p1;
4390 var = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
4391 if (unlikely(var == NULL)) {
4392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew");
4393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3966);
4394 show_backtrace(1);
4395 }
4396 {
4397 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnew> */
4398 var_other = var_old_child;
4399 {
4400 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnew> */
4401 var5 = var == var_other;
4402 var3 = var5;
4403 goto RET_LABEL4;
4404 RET_LABEL4:(void)0;
4405 }
4406 }
4407 var1 = var3;
4408 goto RET_LABEL2;
4409 RET_LABEL2:(void)0;
4410 }
4411 }
4412 if (var1){
4413 /* <var_new_child:nullable ANode> isa TKwnew */
4414 cltype = type_nit__TKwnew.color;
4415 idtype = type_nit__TKwnew.id;
4416 if(var_new_child == NULL) {
4417 var6 = 0;
4418 } else {
4419 if(cltype >= var_new_child->type->table_size) {
4420 var6 = 0;
4421 } else {
4422 var6 = var_new_child->type->type_table[cltype] == idtype;
4423 }
4424 }
4425 if (unlikely(!var6)) {
4426 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
4427 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnew", var_class_name);
4428 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3967);
4429 show_backtrace(1);
4430 }
4431 {
4432 nit__parser_prod___ANewExpr___n_kwnew_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_kwnew= on <self:ANewExpr>*/
4433 }
4434 goto RET_LABEL;
4435 } else {
4436 }
4437 var7 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
4438 if (unlikely(var7 == NULL)) {
4439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4440 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3970);
4441 show_backtrace(1);
4442 }
4443 {
4444 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AType> */
4445 var_other = var_old_child;
4446 {
4447 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AType> */
4448 var12 = var7 == var_other;
4449 var10 = var12;
4450 goto RET_LABEL11;
4451 RET_LABEL11:(void)0;
4452 }
4453 }
4454 var8 = var10;
4455 goto RET_LABEL9;
4456 RET_LABEL9:(void)0;
4457 }
4458 }
4459 if (var8){
4460 /* <var_new_child:nullable ANode> isa AType */
4461 cltype14 = type_nit__AType.color;
4462 idtype15 = type_nit__AType.id;
4463 if(var_new_child == NULL) {
4464 var13 = 0;
4465 } else {
4466 if(cltype14 >= var_new_child->type->table_size) {
4467 var13 = 0;
4468 } else {
4469 var13 = var_new_child->type->type_table[cltype14] == idtype15;
4470 }
4471 }
4472 if (unlikely(!var13)) {
4473 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
4474 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name16);
4475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3971);
4476 show_backtrace(1);
4477 }
4478 {
4479 nit__parser_prod___ANewExpr___n_type_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_type= on <self:ANewExpr>*/
4480 }
4481 goto RET_LABEL;
4482 } else {
4483 }
4484 var17 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
4485 if (var17 == NULL) {
4486 var18 = 0; /* <var_old_child:ANode> cannot be null */
4487 } else {
4488 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:nullable TId> */
4489 var_other = var_old_child;
4490 {
4491 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:nullable TId(TId)> */
4492 var23 = var17 == var_other;
4493 var21 = var23;
4494 goto RET_LABEL22;
4495 RET_LABEL22:(void)0;
4496 }
4497 }
4498 var19 = var21;
4499 goto RET_LABEL20;
4500 RET_LABEL20:(void)0;
4501 }
4502 var18 = var19;
4503 }
4504 if (var18){
4505 /* <var_new_child:nullable ANode> isa nullable TId */
4506 cltype25 = type_nullable__nit__TId.color;
4507 idtype26 = type_nullable__nit__TId.id;
4508 if(var_new_child == NULL) {
4509 var24 = 1;
4510 } else {
4511 if(cltype25 >= var_new_child->type->table_size) {
4512 var24 = 0;
4513 } else {
4514 var24 = var_new_child->type->type_table[cltype25] == idtype26;
4515 }
4516 }
4517 if (unlikely(!var24)) {
4518 var_class_name27 = var_new_child == NULL ? "null" : var_new_child->type->name;
4519 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name27);
4520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3975);
4521 show_backtrace(1);
4522 }
4523 {
4524 nit__parser_prod___ANewExpr___n_id_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_id= on <self:ANewExpr>*/
4525 }
4526 goto RET_LABEL;
4527 } else {
4528 }
4529 var28 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
4530 if (unlikely(var28 == NULL)) {
4531 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4532 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3978);
4533 show_backtrace(1);
4534 }
4535 {
4536 { /* Inline kernel#Object#== (var28,var_old_child) on <var28:AExprs> */
4537 var_other = var_old_child;
4538 {
4539 { /* Inline kernel#Object#is_same_instance (var28,var_other) on <var28:AExprs> */
4540 var33 = var28 == var_other;
4541 var31 = var33;
4542 goto RET_LABEL32;
4543 RET_LABEL32:(void)0;
4544 }
4545 }
4546 var29 = var31;
4547 goto RET_LABEL30;
4548 RET_LABEL30:(void)0;
4549 }
4550 }
4551 if (var29){
4552 /* <var_new_child:nullable ANode> isa AExprs */
4553 cltype35 = type_nit__AExprs.color;
4554 idtype36 = type_nit__AExprs.id;
4555 if(var_new_child == NULL) {
4556 var34 = 0;
4557 } else {
4558 if(cltype35 >= var_new_child->type->table_size) {
4559 var34 = 0;
4560 } else {
4561 var34 = var_new_child->type->type_table[cltype35] == idtype36;
4562 }
4563 }
4564 if (unlikely(!var34)) {
4565 var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
4566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name37);
4567 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3979);
4568 show_backtrace(1);
4569 }
4570 {
4571 nit__parser_prod___ANewExpr___n_args_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_args= on <self:ANewExpr>*/
4572 }
4573 goto RET_LABEL;
4574 } else {
4575 }
4576 RET_LABEL:;
4577 }
4578 /* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */
4579 void nit__parser_prod___ANewExpr___n_kwnew_61d(val* self, val* p0) {
4580 val* var_node /* var node: TKwnew */;
4581 var_node = p0;
4582 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on <self:ANewExpr> */
4583 {
4584 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnew> */
4585 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnew> */
4586 RET_LABEL1:(void)0;
4587 }
4588 }
4589 RET_LABEL:;
4590 }
4591 /* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */
4592 void nit__parser_prod___ANewExpr___n_type_61d(val* self, val* p0) {
4593 val* var_node /* var node: AType */;
4594 var_node = p0;
4595 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on <self:ANewExpr> */
4596 {
4597 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
4598 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
4599 RET_LABEL1:(void)0;
4600 }
4601 }
4602 RET_LABEL:;
4603 }
4604 /* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */
4605 void nit__parser_prod___ANewExpr___n_id_61d(val* self, val* p0) {
4606 val* var_node /* var node: nullable TId */;
4607 val* var /* : null */;
4608 short int var1 /* : Bool */;
4609 short int var2 /* : Bool */;
4610 val* var_other /* var other: nullable Object */;
4611 short int var4 /* : Bool */;
4612 short int var5 /* : Bool */;
4613 var_node = p0;
4614 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on <self:ANewExpr> */
4615 var = NULL;
4616 if (var_node == NULL) {
4617 var1 = 0; /* is null */
4618 } else {
4619 var1 = 1; /* arg is null and recv is not */
4620 }
4621 if (0) {
4622 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TId> */
4623 var_other = var;
4624 {
4625 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TId(TId)>*/;
4626 }
4627 var5 = !var4;
4628 var2 = var5;
4629 goto RET_LABEL3;
4630 RET_LABEL3:(void)0;
4631 }
4632 var1 = var2;
4633 }
4634 if (var1){
4635 {
4636 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
4637 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
4638 RET_LABEL6:(void)0;
4639 }
4640 }
4641 } else {
4642 }
4643 RET_LABEL:;
4644 }
4645 /* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */
4646 void nit__parser_prod___ANewExpr___n_args_61d(val* self, val* p0) {
4647 val* var_node /* var node: AExprs */;
4648 var_node = p0;
4649 self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on <self:ANewExpr> */
4650 {
4651 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
4652 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
4653 RET_LABEL1:(void)0;
4654 }
4655 }
4656 RET_LABEL:;
4657 }
4658 /* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */
4659 void nit__parser_prod___ANewExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
4660 val* var_v /* var v: Visitor */;
4661 val* var /* : TKwnew */;
4662 val* var1 /* : AType */;
4663 val* var2 /* : nullable TId */;
4664 val* var3 /* : AExprs */;
4665 var_v = p0;
4666 var = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
4667 if (unlikely(var == NULL)) {
4668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew");
4669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4008);
4670 show_backtrace(1);
4671 }
4672 {
4673 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4674 }
4675 var1 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
4676 if (unlikely(var1 == NULL)) {
4677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4009);
4679 show_backtrace(1);
4680 }
4681 {
4682 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4683 }
4684 var2 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
4685 {
4686 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4687 }
4688 var3 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
4689 if (unlikely(var3 == NULL)) {
4690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4691 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4011);
4692 show_backtrace(1);
4693 }
4694 {
4695 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4696 }
4697 RET_LABEL:;
4698 }
4699 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */
4700 void nit__parser_prod___AAttrExpr___init_aattrexpr(val* self, val* p0, val* p1) {
4701 val* var_n_expr /* var n_expr: nullable AExpr */;
4702 val* var_n_id /* var n_id: nullable TAttrid */;
4703 var_n_expr = p0;
4704 var_n_id = p1;
4705 if (unlikely(var_n_expr == NULL)) {
4706 PRINT_ERROR("Runtime error: %s", "Cast failed");
4707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4020);
4708 show_backtrace(1);
4709 }
4710 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrExpr> */
4711 if (var_n_expr == NULL) {
4712 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4021);
4714 show_backtrace(1);
4715 } else {
4716 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
4717 if (unlikely(var_n_expr == NULL)) {
4718 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4720 show_backtrace(1);
4721 }
4722 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
4723 RET_LABEL1:(void)0;
4724 }
4725 }
4726 if (unlikely(var_n_id == NULL)) {
4727 PRINT_ERROR("Runtime error: %s", "Cast failed");
4728 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4022);
4729 show_backtrace(1);
4730 }
4731 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrExpr> */
4732 if (var_n_id == NULL) {
4733 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4023);
4735 show_backtrace(1);
4736 } else {
4737 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
4738 if (unlikely(var_n_id == NULL)) {
4739 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4741 show_backtrace(1);
4742 }
4743 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
4744 RET_LABEL2:(void)0;
4745 }
4746 }
4747 RET_LABEL:;
4748 }
4749 /* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */
4750 void nit__parser_prod___AAttrExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4751 val* var_old_child /* var old_child: ANode */;
4752 val* var_new_child /* var new_child: nullable ANode */;
4753 val* var /* : AExpr */;
4754 short int var1 /* : Bool */;
4755 val* var_other /* var other: nullable Object */;
4756 short int var3 /* : Bool */;
4757 short int var5 /* : Bool */;
4758 short int var6 /* : Bool */;
4759 int cltype;
4760 int idtype;
4761 const char* var_class_name;
4762 val* var7 /* : TAttrid */;
4763 short int var8 /* : Bool */;
4764 short int var10 /* : Bool */;
4765 short int var12 /* : Bool */;
4766 short int var13 /* : Bool */;
4767 int cltype14;
4768 int idtype15;
4769 const char* var_class_name16;
4770 var_old_child = p0;
4771 var_new_child = p1;
4772 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
4773 if (unlikely(var == NULL)) {
4774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4775 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4028);
4776 show_backtrace(1);
4777 }
4778 {
4779 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
4780 var_other = var_old_child;
4781 {
4782 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
4783 var5 = var == var_other;
4784 var3 = var5;
4785 goto RET_LABEL4;
4786 RET_LABEL4:(void)0;
4787 }
4788 }
4789 var1 = var3;
4790 goto RET_LABEL2;
4791 RET_LABEL2:(void)0;
4792 }
4793 }
4794 if (var1){
4795 /* <var_new_child:nullable ANode> isa AExpr */
4796 cltype = type_nit__AExpr.color;
4797 idtype = type_nit__AExpr.id;
4798 if(var_new_child == NULL) {
4799 var6 = 0;
4800 } else {
4801 if(cltype >= var_new_child->type->table_size) {
4802 var6 = 0;
4803 } else {
4804 var6 = var_new_child->type->type_table[cltype] == idtype;
4805 }
4806 }
4807 if (unlikely(!var6)) {
4808 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
4809 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
4810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4029);
4811 show_backtrace(1);
4812 }
4813 {
4814 nit__parser_prod___AAttrExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_expr= on <self:AAttrExpr>*/
4815 }
4816 goto RET_LABEL;
4817 } else {
4818 }
4819 var7 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
4820 if (unlikely(var7 == NULL)) {
4821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4822 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4032);
4823 show_backtrace(1);
4824 }
4825 {
4826 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TAttrid> */
4827 var_other = var_old_child;
4828 {
4829 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TAttrid> */
4830 var12 = var7 == var_other;
4831 var10 = var12;
4832 goto RET_LABEL11;
4833 RET_LABEL11:(void)0;
4834 }
4835 }
4836 var8 = var10;
4837 goto RET_LABEL9;
4838 RET_LABEL9:(void)0;
4839 }
4840 }
4841 if (var8){
4842 /* <var_new_child:nullable ANode> isa TAttrid */
4843 cltype14 = type_nit__TAttrid.color;
4844 idtype15 = type_nit__TAttrid.id;
4845 if(var_new_child == NULL) {
4846 var13 = 0;
4847 } else {
4848 if(cltype14 >= var_new_child->type->table_size) {
4849 var13 = 0;
4850 } else {
4851 var13 = var_new_child->type->type_table[cltype14] == idtype15;
4852 }
4853 }
4854 if (unlikely(!var13)) {
4855 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
4856 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name16);
4857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4033);
4858 show_backtrace(1);
4859 }
4860 {
4861 nit__parser_prod___AAttrExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_id= on <self:AAttrExpr>*/
4862 }
4863 goto RET_LABEL;
4864 } else {
4865 }
4866 RET_LABEL:;
4867 }
4868 /* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */
4869 void nit__parser_prod___AAttrExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(val* self, val* p0) {
4870 val* var_node /* var node: AExpr */;
4871 var_node = p0;
4872 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrExpr> */
4873 {
4874 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
4875 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
4876 RET_LABEL1:(void)0;
4877 }
4878 }
4879 RET_LABEL:;
4880 }
4881 /* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */
4882 void nit__parser_prod___AAttrExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(val* self, val* p0) {
4883 val* var_node /* var node: TAttrid */;
4884 var_node = p0;
4885 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrExpr> */
4886 {
4887 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
4888 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
4889 RET_LABEL1:(void)0;
4890 }
4891 }
4892 RET_LABEL:;
4893 }
4894 /* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */
4895 void nit__parser_prod___AAttrExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
4896 val* var_v /* var v: Visitor */;
4897 val* var /* : AExpr */;
4898 val* var1 /* : TAttrid */;
4899 var_v = p0;
4900 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
4901 if (unlikely(var == NULL)) {
4902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4052);
4904 show_backtrace(1);
4905 }
4906 {
4907 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4908 }
4909 var1 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
4910 if (unlikely(var1 == NULL)) {
4911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4053);
4913 show_backtrace(1);
4914 }
4915 {
4916 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4917 }
4918 RET_LABEL:;
4919 }
4920 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
4921 void nit__parser_prod___AAttrAssignExpr___init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
4922 val* var_n_expr /* var n_expr: nullable AExpr */;
4923 val* var_n_id /* var n_id: nullable TAttrid */;
4924 val* var_n_assign /* var n_assign: nullable TAssign */;
4925 val* var_n_value /* var n_value: nullable AExpr */;
4926 var_n_expr = p0;
4927 var_n_id = p1;
4928 var_n_assign = p2;
4929 var_n_value = p3;
4930 if (unlikely(var_n_expr == NULL)) {
4931 PRINT_ERROR("Runtime error: %s", "Cast failed");
4932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4064);
4933 show_backtrace(1);
4934 }
4935 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrAssignExpr> */
4936 if (var_n_expr == NULL) {
4937 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4065);
4939 show_backtrace(1);
4940 } else {
4941 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
4942 if (unlikely(var_n_expr == NULL)) {
4943 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4944 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4945 show_backtrace(1);
4946 }
4947 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
4948 RET_LABEL1:(void)0;
4949 }
4950 }
4951 if (unlikely(var_n_id == NULL)) {
4952 PRINT_ERROR("Runtime error: %s", "Cast failed");
4953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4066);
4954 show_backtrace(1);
4955 }
4956 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrAssignExpr> */
4957 if (var_n_id == NULL) {
4958 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4959 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4067);
4960 show_backtrace(1);
4961 } else {
4962 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
4963 if (unlikely(var_n_id == NULL)) {
4964 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4965 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4966 show_backtrace(1);
4967 }
4968 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
4969 RET_LABEL2:(void)0;
4970 }
4971 }
4972 if (unlikely(var_n_assign == NULL)) {
4973 PRINT_ERROR("Runtime error: %s", "Cast failed");
4974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4068);
4975 show_backtrace(1);
4976 }
4977 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AAttrAssignExpr> */
4978 if (var_n_assign == NULL) {
4979 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4069);
4981 show_backtrace(1);
4982 } else {
4983 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
4984 if (unlikely(var_n_assign == NULL)) {
4985 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4986 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
4987 show_backtrace(1);
4988 }
4989 var_n_assign->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
4990 RET_LABEL3:(void)0;
4991 }
4992 }
4993 if (unlikely(var_n_value == NULL)) {
4994 PRINT_ERROR("Runtime error: %s", "Cast failed");
4995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4070);
4996 show_backtrace(1);
4997 }
4998 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrAssignExpr> */
4999 if (var_n_value == NULL) {
5000 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4071);
5002 show_backtrace(1);
5003 } else {
5004 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
5005 if (unlikely(var_n_value == NULL)) {
5006 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5008 show_backtrace(1);
5009 }
5010 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
5011 RET_LABEL4:(void)0;
5012 }
5013 }
5014 RET_LABEL:;
5015 }
5016 /* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */
5017 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
5018 val* var_old_child /* var old_child: ANode */;
5019 val* var_new_child /* var new_child: nullable ANode */;
5020 val* var /* : AExpr */;
5021 short int var1 /* : Bool */;
5022 val* var_other /* var other: nullable Object */;
5023 short int var3 /* : Bool */;
5024 short int var5 /* : Bool */;
5025 short int var6 /* : Bool */;
5026 int cltype;
5027 int idtype;
5028 const char* var_class_name;
5029 val* var7 /* : TAttrid */;
5030 short int var8 /* : Bool */;
5031 short int var10 /* : Bool */;
5032 short int var12 /* : Bool */;
5033 short int var13 /* : Bool */;
5034 int cltype14;
5035 int idtype15;
5036 const char* var_class_name16;
5037 val* var17 /* : TAssign */;
5038 short int var18 /* : Bool */;
5039 short int var20 /* : Bool */;
5040 short int var22 /* : Bool */;
5041 short int var23 /* : Bool */;
5042 int cltype24;
5043 int idtype25;
5044 const char* var_class_name26;
5045 val* var27 /* : AExpr */;
5046 short int var28 /* : Bool */;
5047 short int var30 /* : Bool */;
5048 short int var32 /* : Bool */;
5049 short int var33 /* : Bool */;
5050 int cltype34;
5051 int idtype35;
5052 const char* var_class_name36;
5053 var_old_child = p0;
5054 var_new_child = p1;
5055 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
5056 if (unlikely(var == NULL)) {
5057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4076);
5059 show_backtrace(1);
5060 }
5061 {
5062 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
5063 var_other = var_old_child;
5064 {
5065 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
5066 var5 = var == var_other;
5067 var3 = var5;
5068 goto RET_LABEL4;
5069 RET_LABEL4:(void)0;
5070 }
5071 }
5072 var1 = var3;
5073 goto RET_LABEL2;
5074 RET_LABEL2:(void)0;
5075 }
5076 }
5077 if (var1){
5078 /* <var_new_child:nullable ANode> isa AExpr */
5079 cltype = type_nit__AExpr.color;
5080 idtype = type_nit__AExpr.id;
5081 if(var_new_child == NULL) {
5082 var6 = 0;
5083 } else {
5084 if(cltype >= var_new_child->type->table_size) {
5085 var6 = 0;
5086 } else {
5087 var6 = var_new_child->type->type_table[cltype] == idtype;
5088 }
5089 }
5090 if (unlikely(!var6)) {
5091 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
5092 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
5093 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4077);
5094 show_backtrace(1);
5095 }
5096 {
5097 nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_expr= on <self:AAttrAssignExpr>*/
5098 }
5099 goto RET_LABEL;
5100 } else {
5101 }
5102 var7 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
5103 if (unlikely(var7 == NULL)) {
5104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4080);
5106 show_backtrace(1);
5107 }
5108 {
5109 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TAttrid> */
5110 var_other = var_old_child;
5111 {
5112 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TAttrid> */
5113 var12 = var7 == var_other;
5114 var10 = var12;
5115 goto RET_LABEL11;
5116 RET_LABEL11:(void)0;
5117 }
5118 }
5119 var8 = var10;
5120 goto RET_LABEL9;
5121 RET_LABEL9:(void)0;
5122 }
5123 }
5124 if (var8){
5125 /* <var_new_child:nullable ANode> isa TAttrid */
5126 cltype14 = type_nit__TAttrid.color;
5127 idtype15 = type_nit__TAttrid.id;
5128 if(var_new_child == NULL) {
5129 var13 = 0;
5130 } else {
5131 if(cltype14 >= var_new_child->type->table_size) {
5132 var13 = 0;
5133 } else {
5134 var13 = var_new_child->type->type_table[cltype14] == idtype15;
5135 }
5136 }
5137 if (unlikely(!var13)) {
5138 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
5139 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name16);
5140 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4081);
5141 show_backtrace(1);
5142 }
5143 {
5144 nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_id= on <self:AAttrAssignExpr>*/
5145 }
5146 goto RET_LABEL;
5147 } else {
5148 }
5149 var17 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
5150 if (unlikely(var17 == NULL)) {
5151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
5152 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4084);
5153 show_backtrace(1);
5154 }
5155 {
5156 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:TAssign> */
5157 var_other = var_old_child;
5158 {
5159 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TAssign> */
5160 var22 = var17 == var_other;
5161 var20 = var22;
5162 goto RET_LABEL21;
5163 RET_LABEL21:(void)0;
5164 }
5165 }
5166 var18 = var20;
5167 goto RET_LABEL19;
5168 RET_LABEL19:(void)0;
5169 }
5170 }
5171 if (var18){
5172 /* <var_new_child:nullable ANode> isa TAssign */
5173 cltype24 = type_nit__TAssign.color;
5174 idtype25 = type_nit__TAssign.id;
5175 if(var_new_child == NULL) {
5176 var23 = 0;
5177 } else {
5178 if(cltype24 >= var_new_child->type->table_size) {
5179 var23 = 0;
5180 } else {
5181 var23 = var_new_child->type->type_table[cltype24] == idtype25;
5182 }
5183 }
5184 if (unlikely(!var23)) {
5185 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
5186 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name26);
5187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4085);
5188 show_backtrace(1);
5189 }
5190 {
5191 nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_assign= on <self:AAttrAssignExpr>*/
5192 }
5193 goto RET_LABEL;
5194 } else {
5195 }
5196 var27 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
5197 if (unlikely(var27 == NULL)) {
5198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4088);
5200 show_backtrace(1);
5201 }
5202 {
5203 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
5204 var_other = var_old_child;
5205 {
5206 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
5207 var32 = var27 == var_other;
5208 var30 = var32;
5209 goto RET_LABEL31;
5210 RET_LABEL31:(void)0;
5211 }
5212 }
5213 var28 = var30;
5214 goto RET_LABEL29;
5215 RET_LABEL29:(void)0;
5216 }
5217 }
5218 if (var28){
5219 /* <var_new_child:nullable ANode> isa AExpr */
5220 cltype34 = type_nit__AExpr.color;
5221 idtype35 = type_nit__AExpr.id;
5222 if(var_new_child == NULL) {
5223 var33 = 0;
5224 } else {
5225 if(cltype34 >= var_new_child->type->table_size) {
5226 var33 = 0;
5227 } else {
5228 var33 = var_new_child->type->type_table[cltype34] == idtype35;
5229 }
5230 }
5231 if (unlikely(!var33)) {
5232 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
5233 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
5234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4089);
5235 show_backtrace(1);
5236 }
5237 {
5238 nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_value= on <self:AAttrAssignExpr>*/
5239 }
5240 goto RET_LABEL;
5241 } else {
5242 }
5243 RET_LABEL:;
5244 }
5245 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */
5246 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(val* self, val* p0) {
5247 val* var_node /* var node: AExpr */;
5248 var_node = p0;
5249 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrAssignExpr> */
5250 {
5251 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5252 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
5253 RET_LABEL1:(void)0;
5254 }
5255 }
5256 RET_LABEL:;
5257 }
5258 /* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */
5259 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(val* self, val* p0) {
5260 val* var_node /* var node: TAttrid */;
5261 var_node = p0;
5262 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrAssignExpr> */
5263 {
5264 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
5265 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
5266 RET_LABEL1:(void)0;
5267 }
5268 }
5269 RET_LABEL:;
5270 }
5271 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */
5272 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(val* self, val* p0) {
5273 val* var_node /* var node: TAssign */;
5274 var_node = p0;
5275 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AAttrAssignExpr> */
5276 {
5277 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
5278 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
5279 RET_LABEL1:(void)0;
5280 }
5281 }
5282 RET_LABEL:;
5283 }
5284 /* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */
5285 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(val* self, val* p0) {
5286 val* var_node /* var node: AExpr */;
5287 var_node = p0;
5288 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrAssignExpr> */
5289 {
5290 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5291 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
5292 RET_LABEL1:(void)0;
5293 }
5294 }
5295 RET_LABEL:;
5296 }
5297 /* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */
5298 void nit__parser_prod___AAttrAssignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
5299 val* var_v /* var v: Visitor */;
5300 val* var /* : AExpr */;
5301 val* var1 /* : TAttrid */;
5302 val* var2 /* : TAssign */;
5303 val* var3 /* : AExpr */;
5304 var_v = p0;
5305 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
5306 if (unlikely(var == NULL)) {
5307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4118);
5309 show_backtrace(1);
5310 }
5311 {
5312 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5313 }
5314 var1 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
5315 if (unlikely(var1 == NULL)) {
5316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5317 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4119);
5318 show_backtrace(1);
5319 }
5320 {
5321 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5322 }
5323 var2 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
5324 if (unlikely(var2 == NULL)) {
5325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
5326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4120);
5327 show_backtrace(1);
5328 }
5329 {
5330 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5331 }
5332 var3 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
5333 if (unlikely(var3 == NULL)) {
5334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4121);
5336 show_backtrace(1);
5337 }
5338 {
5339 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5340 }
5341 RET_LABEL:;
5342 }
5343 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
5344 void nit__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
5345 val* var_n_expr /* var n_expr: nullable AExpr */;
5346 val* var_n_id /* var n_id: nullable TAttrid */;
5347 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
5348 val* var_n_value /* var n_value: nullable AExpr */;
5349 var_n_expr = p0;
5350 var_n_id = p1;
5351 var_n_assign_op = p2;
5352 var_n_value = p3;
5353 if (unlikely(var_n_expr == NULL)) {
5354 PRINT_ERROR("Runtime error: %s", "Cast failed");
5355 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4132);
5356 show_backtrace(1);
5357 }
5358 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrReassignExpr> */
5359 if (var_n_expr == NULL) {
5360 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4133);
5362 show_backtrace(1);
5363 } else {
5364 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
5365 if (unlikely(var_n_expr == NULL)) {
5366 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5368 show_backtrace(1);
5369 }
5370 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
5371 RET_LABEL1:(void)0;
5372 }
5373 }
5374 if (unlikely(var_n_id == NULL)) {
5375 PRINT_ERROR("Runtime error: %s", "Cast failed");
5376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4134);
5377 show_backtrace(1);
5378 }
5379 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrReassignExpr> */
5380 if (var_n_id == NULL) {
5381 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4135);
5383 show_backtrace(1);
5384 } else {
5385 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
5386 if (unlikely(var_n_id == NULL)) {
5387 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5389 show_backtrace(1);
5390 }
5391 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
5392 RET_LABEL2:(void)0;
5393 }
5394 }
5395 if (unlikely(var_n_assign_op == NULL)) {
5396 PRINT_ERROR("Runtime error: %s", "Cast failed");
5397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4136);
5398 show_backtrace(1);
5399 }
5400 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AAttrReassignExpr> */
5401 if (var_n_assign_op == NULL) {
5402 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4137);
5404 show_backtrace(1);
5405 } else {
5406 { /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
5407 if (unlikely(var_n_assign_op == NULL)) {
5408 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5410 show_backtrace(1);
5411 }
5412 var_n_assign_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
5413 RET_LABEL3:(void)0;
5414 }
5415 }
5416 if (unlikely(var_n_value == NULL)) {
5417 PRINT_ERROR("Runtime error: %s", "Cast failed");
5418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4138);
5419 show_backtrace(1);
5420 }
5421 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrReassignExpr> */
5422 if (var_n_value == NULL) {
5423 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4139);
5425 show_backtrace(1);
5426 } else {
5427 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
5428 if (unlikely(var_n_value == NULL)) {
5429 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5431 show_backtrace(1);
5432 }
5433 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
5434 RET_LABEL4:(void)0;
5435 }
5436 }
5437 RET_LABEL:;
5438 }
5439 /* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */
5440 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
5441 val* var_old_child /* var old_child: ANode */;
5442 val* var_new_child /* var new_child: nullable ANode */;
5443 val* var /* : AExpr */;
5444 short int var1 /* : Bool */;
5445 val* var_other /* var other: nullable Object */;
5446 short int var3 /* : Bool */;
5447 short int var5 /* : Bool */;
5448 short int var6 /* : Bool */;
5449 int cltype;
5450 int idtype;
5451 const char* var_class_name;
5452 val* var7 /* : TAttrid */;
5453 short int var8 /* : Bool */;
5454 short int var10 /* : Bool */;
5455 short int var12 /* : Bool */;
5456 short int var13 /* : Bool */;
5457 int cltype14;
5458 int idtype15;
5459 const char* var_class_name16;
5460 val* var17 /* : AAssignOp */;
5461 short int var18 /* : Bool */;
5462 short int var20 /* : Bool */;
5463 short int var22 /* : Bool */;
5464 short int var23 /* : Bool */;
5465 int cltype24;
5466 int idtype25;
5467 const char* var_class_name26;
5468 val* var27 /* : AExpr */;
5469 short int var28 /* : Bool */;
5470 short int var30 /* : Bool */;
5471 short int var32 /* : Bool */;
5472 short int var33 /* : Bool */;
5473 int cltype34;
5474 int idtype35;
5475 const char* var_class_name36;
5476 var_old_child = p0;
5477 var_new_child = p1;
5478 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
5479 if (unlikely(var == NULL)) {
5480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4144);
5482 show_backtrace(1);
5483 }
5484 {
5485 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
5486 var_other = var_old_child;
5487 {
5488 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
5489 var5 = var == var_other;
5490 var3 = var5;
5491 goto RET_LABEL4;
5492 RET_LABEL4:(void)0;
5493 }
5494 }
5495 var1 = var3;
5496 goto RET_LABEL2;
5497 RET_LABEL2:(void)0;
5498 }
5499 }
5500 if (var1){
5501 /* <var_new_child:nullable ANode> isa AExpr */
5502 cltype = type_nit__AExpr.color;
5503 idtype = type_nit__AExpr.id;
5504 if(var_new_child == NULL) {
5505 var6 = 0;
5506 } else {
5507 if(cltype >= var_new_child->type->table_size) {
5508 var6 = 0;
5509 } else {
5510 var6 = var_new_child->type->type_table[cltype] == idtype;
5511 }
5512 }
5513 if (unlikely(!var6)) {
5514 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
5515 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
5516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4145);
5517 show_backtrace(1);
5518 }
5519 {
5520 nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_expr= on <self:AAttrReassignExpr>*/
5521 }
5522 goto RET_LABEL;
5523 } else {
5524 }
5525 var7 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
5526 if (unlikely(var7 == NULL)) {
5527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4148);
5529 show_backtrace(1);
5530 }
5531 {
5532 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TAttrid> */
5533 var_other = var_old_child;
5534 {
5535 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TAttrid> */
5536 var12 = var7 == var_other;
5537 var10 = var12;
5538 goto RET_LABEL11;
5539 RET_LABEL11:(void)0;
5540 }
5541 }
5542 var8 = var10;
5543 goto RET_LABEL9;
5544 RET_LABEL9:(void)0;
5545 }
5546 }
5547 if (var8){
5548 /* <var_new_child:nullable ANode> isa TAttrid */
5549 cltype14 = type_nit__TAttrid.color;
5550 idtype15 = type_nit__TAttrid.id;
5551 if(var_new_child == NULL) {
5552 var13 = 0;
5553 } else {
5554 if(cltype14 >= var_new_child->type->table_size) {
5555 var13 = 0;
5556 } else {
5557 var13 = var_new_child->type->type_table[cltype14] == idtype15;
5558 }
5559 }
5560 if (unlikely(!var13)) {
5561 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
5562 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name16);
5563 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4149);
5564 show_backtrace(1);
5565 }
5566 {
5567 nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_id= on <self:AAttrReassignExpr>*/
5568 }
5569 goto RET_LABEL;
5570 } else {
5571 }
5572 var17 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
5573 if (unlikely(var17 == NULL)) {
5574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
5575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4152);
5576 show_backtrace(1);
5577 }
5578 {
5579 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AAssignOp> */
5580 var_other = var_old_child;
5581 {
5582 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AAssignOp> */
5583 var22 = var17 == var_other;
5584 var20 = var22;
5585 goto RET_LABEL21;
5586 RET_LABEL21:(void)0;
5587 }
5588 }
5589 var18 = var20;
5590 goto RET_LABEL19;
5591 RET_LABEL19:(void)0;
5592 }
5593 }
5594 if (var18){
5595 /* <var_new_child:nullable ANode> isa AAssignOp */
5596 cltype24 = type_nit__AAssignOp.color;
5597 idtype25 = type_nit__AAssignOp.id;
5598 if(var_new_child == NULL) {
5599 var23 = 0;
5600 } else {
5601 if(cltype24 >= var_new_child->type->table_size) {
5602 var23 = 0;
5603 } else {
5604 var23 = var_new_child->type->type_table[cltype24] == idtype25;
5605 }
5606 }
5607 if (unlikely(!var23)) {
5608 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
5609 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name26);
5610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4153);
5611 show_backtrace(1);
5612 }
5613 {
5614 nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_assign_op= on <self:AAttrReassignExpr>*/
5615 }
5616 goto RET_LABEL;
5617 } else {
5618 }
5619 var27 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
5620 if (unlikely(var27 == NULL)) {
5621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5622 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4156);
5623 show_backtrace(1);
5624 }
5625 {
5626 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
5627 var_other = var_old_child;
5628 {
5629 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
5630 var32 = var27 == var_other;
5631 var30 = var32;
5632 goto RET_LABEL31;
5633 RET_LABEL31:(void)0;
5634 }
5635 }
5636 var28 = var30;
5637 goto RET_LABEL29;
5638 RET_LABEL29:(void)0;
5639 }
5640 }
5641 if (var28){
5642 /* <var_new_child:nullable ANode> isa AExpr */
5643 cltype34 = type_nit__AExpr.color;
5644 idtype35 = type_nit__AExpr.id;
5645 if(var_new_child == NULL) {
5646 var33 = 0;
5647 } else {
5648 if(cltype34 >= var_new_child->type->table_size) {
5649 var33 = 0;
5650 } else {
5651 var33 = var_new_child->type->type_table[cltype34] == idtype35;
5652 }
5653 }
5654 if (unlikely(!var33)) {
5655 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
5656 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
5657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4157);
5658 show_backtrace(1);
5659 }
5660 {
5661 nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_value= on <self:AAttrReassignExpr>*/
5662 }
5663 goto RET_LABEL;
5664 } else {
5665 }
5666 RET_LABEL:;
5667 }
5668 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */
5669 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AAttrFormExpr__n_expr_61d(val* self, val* p0) {
5670 val* var_node /* var node: AExpr */;
5671 var_node = p0;
5672 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrReassignExpr> */
5673 {
5674 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5675 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
5676 RET_LABEL1:(void)0;
5677 }
5678 }
5679 RET_LABEL:;
5680 }
5681 /* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */
5682 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AAttrFormExpr__n_id_61d(val* self, val* p0) {
5683 val* var_node /* var node: TAttrid */;
5684 var_node = p0;
5685 self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrReassignExpr> */
5686 {
5687 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
5688 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
5689 RET_LABEL1:(void)0;
5690 }
5691 }
5692 RET_LABEL:;
5693 }
5694 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */
5695 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(val* self, val* p0) {
5696 val* var_node /* var node: AAssignOp */;
5697 var_node = p0;
5698 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AAttrReassignExpr> */
5699 {
5700 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAssignOp> */
5701 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAssignOp> */
5702 RET_LABEL1:(void)0;
5703 }
5704 }
5705 RET_LABEL:;
5706 }
5707 /* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */
5708 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(val* self, val* p0) {
5709 val* var_node /* var node: AExpr */;
5710 var_node = p0;
5711 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrReassignExpr> */
5712 {
5713 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5714 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
5715 RET_LABEL1:(void)0;
5716 }
5717 }
5718 RET_LABEL:;
5719 }
5720 /* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */
5721 void nit__parser_prod___AAttrReassignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
5722 val* var_v /* var v: Visitor */;
5723 val* var /* : AExpr */;
5724 val* var1 /* : TAttrid */;
5725 val* var2 /* : AAssignOp */;
5726 val* var3 /* : AExpr */;
5727 var_v = p0;
5728 var = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
5729 if (unlikely(var == NULL)) {
5730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5731 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4186);
5732 show_backtrace(1);
5733 }
5734 {
5735 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5736 }
5737 var1 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
5738 if (unlikely(var1 == NULL)) {
5739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4187);
5741 show_backtrace(1);
5742 }
5743 {
5744 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5745 }
5746 var2 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
5747 if (unlikely(var2 == NULL)) {
5748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
5749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4188);
5750 show_backtrace(1);
5751 }
5752 {
5753 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5754 }
5755 var3 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
5756 if (unlikely(var3 == NULL)) {
5757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5758 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4189);
5759 show_backtrace(1);
5760 }
5761 {
5762 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5763 }
5764 RET_LABEL:;
5765 }
5766 /* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs) */
5767 void nit__parser_prod___ACallExpr___init_acallexpr(val* self, val* p0, val* p1, val* p2) {
5768 val* var_n_expr /* var n_expr: nullable AExpr */;
5769 val* var_n_id /* var n_id: nullable TId */;
5770 val* var_n_args /* var n_args: nullable AExprs */;
5771 var_n_expr = p0;
5772 var_n_id = p1;
5773 var_n_args = p2;
5774 if (unlikely(var_n_expr == NULL)) {
5775 PRINT_ERROR("Runtime error: %s", "Cast failed");
5776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4199);
5777 show_backtrace(1);
5778 }
5779 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallExpr> */
5780 if (var_n_expr == NULL) {
5781 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5782 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4200);
5783 show_backtrace(1);
5784 } else {
5785 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
5786 if (unlikely(var_n_expr == NULL)) {
5787 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5789 show_backtrace(1);
5790 }
5791 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
5792 RET_LABEL1:(void)0;
5793 }
5794 }
5795 if (unlikely(var_n_id == NULL)) {
5796 PRINT_ERROR("Runtime error: %s", "Cast failed");
5797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4201);
5798 show_backtrace(1);
5799 }
5800 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallExpr> */
5801 if (var_n_id == NULL) {
5802 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4202);
5804 show_backtrace(1);
5805 } else {
5806 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
5807 if (unlikely(var_n_id == NULL)) {
5808 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5810 show_backtrace(1);
5811 }
5812 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
5813 RET_LABEL2:(void)0;
5814 }
5815 }
5816 if (unlikely(var_n_args == NULL)) {
5817 PRINT_ERROR("Runtime error: %s", "Cast failed");
5818 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4203);
5819 show_backtrace(1);
5820 }
5821 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallExpr> */
5822 if (var_n_args == NULL) {
5823 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4204);
5825 show_backtrace(1);
5826 } else {
5827 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
5828 if (unlikely(var_n_args == NULL)) {
5829 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
5831 show_backtrace(1);
5832 }
5833 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
5834 RET_LABEL3:(void)0;
5835 }
5836 }
5837 RET_LABEL:;
5838 }
5839 /* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */
5840 void nit__parser_prod___ACallExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
5841 val* var_old_child /* var old_child: ANode */;
5842 val* var_new_child /* var new_child: nullable ANode */;
5843 val* var /* : AExpr */;
5844 short int var1 /* : Bool */;
5845 val* var_other /* var other: nullable Object */;
5846 short int var3 /* : Bool */;
5847 short int var5 /* : Bool */;
5848 short int var6 /* : Bool */;
5849 int cltype;
5850 int idtype;
5851 const char* var_class_name;
5852 val* var7 /* : TId */;
5853 short int var8 /* : Bool */;
5854 short int var10 /* : Bool */;
5855 short int var12 /* : Bool */;
5856 short int var13 /* : Bool */;
5857 int cltype14;
5858 int idtype15;
5859 const char* var_class_name16;
5860 val* var17 /* : AExprs */;
5861 short int var18 /* : Bool */;
5862 short int var20 /* : Bool */;
5863 short int var22 /* : Bool */;
5864 short int var23 /* : Bool */;
5865 int cltype24;
5866 int idtype25;
5867 const char* var_class_name26;
5868 var_old_child = p0;
5869 var_new_child = p1;
5870 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
5871 if (unlikely(var == NULL)) {
5872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5873 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4209);
5874 show_backtrace(1);
5875 }
5876 {
5877 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
5878 var_other = var_old_child;
5879 {
5880 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
5881 var5 = var == var_other;
5882 var3 = var5;
5883 goto RET_LABEL4;
5884 RET_LABEL4:(void)0;
5885 }
5886 }
5887 var1 = var3;
5888 goto RET_LABEL2;
5889 RET_LABEL2:(void)0;
5890 }
5891 }
5892 if (var1){
5893 /* <var_new_child:nullable ANode> isa AExpr */
5894 cltype = type_nit__AExpr.color;
5895 idtype = type_nit__AExpr.id;
5896 if(var_new_child == NULL) {
5897 var6 = 0;
5898 } else {
5899 if(cltype >= var_new_child->type->table_size) {
5900 var6 = 0;
5901 } else {
5902 var6 = var_new_child->type->type_table[cltype] == idtype;
5903 }
5904 }
5905 if (unlikely(!var6)) {
5906 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
5907 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
5908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4210);
5909 show_backtrace(1);
5910 }
5911 {
5912 nit__parser_prod___ACallExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_expr= on <self:ACallExpr>*/
5913 }
5914 goto RET_LABEL;
5915 } else {
5916 }
5917 var7 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
5918 if (unlikely(var7 == NULL)) {
5919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4213);
5921 show_backtrace(1);
5922 }
5923 {
5924 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TId> */
5925 var_other = var_old_child;
5926 {
5927 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TId> */
5928 var12 = var7 == var_other;
5929 var10 = var12;
5930 goto RET_LABEL11;
5931 RET_LABEL11:(void)0;
5932 }
5933 }
5934 var8 = var10;
5935 goto RET_LABEL9;
5936 RET_LABEL9:(void)0;
5937 }
5938 }
5939 if (var8){
5940 /* <var_new_child:nullable ANode> isa TId */
5941 cltype14 = type_nit__TId.color;
5942 idtype15 = type_nit__TId.id;
5943 if(var_new_child == NULL) {
5944 var13 = 0;
5945 } else {
5946 if(cltype14 >= var_new_child->type->table_size) {
5947 var13 = 0;
5948 } else {
5949 var13 = var_new_child->type->type_table[cltype14] == idtype15;
5950 }
5951 }
5952 if (unlikely(!var13)) {
5953 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
5954 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name16);
5955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4214);
5956 show_backtrace(1);
5957 }
5958 {
5959 nit__parser_prod___ACallExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_id= on <self:ACallExpr>*/
5960 }
5961 goto RET_LABEL;
5962 } else {
5963 }
5964 var17 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
5965 if (unlikely(var17 == NULL)) {
5966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4217);
5968 show_backtrace(1);
5969 }
5970 {
5971 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExprs> */
5972 var_other = var_old_child;
5973 {
5974 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExprs> */
5975 var22 = var17 == var_other;
5976 var20 = var22;
5977 goto RET_LABEL21;
5978 RET_LABEL21:(void)0;
5979 }
5980 }
5981 var18 = var20;
5982 goto RET_LABEL19;
5983 RET_LABEL19:(void)0;
5984 }
5985 }
5986 if (var18){
5987 /* <var_new_child:nullable ANode> isa AExprs */
5988 cltype24 = type_nit__AExprs.color;
5989 idtype25 = type_nit__AExprs.id;
5990 if(var_new_child == NULL) {
5991 var23 = 0;
5992 } else {
5993 if(cltype24 >= var_new_child->type->table_size) {
5994 var23 = 0;
5995 } else {
5996 var23 = var_new_child->type->type_table[cltype24] == idtype25;
5997 }
5998 }
5999 if (unlikely(!var23)) {
6000 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
6001 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name26);
6002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4218);
6003 show_backtrace(1);
6004 }
6005 {
6006 nit__parser_prod___ACallExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_args= on <self:ACallExpr>*/
6007 }
6008 goto RET_LABEL;
6009 } else {
6010 }
6011 RET_LABEL:;
6012 }
6013 /* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */
6014 void nit__parser_prod___ACallExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
6015 val* var_node /* var node: AExpr */;
6016 var_node = p0;
6017 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallExpr> */
6018 {
6019 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
6020 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
6021 RET_LABEL1:(void)0;
6022 }
6023 }
6024 RET_LABEL:;
6025 }
6026 /* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */
6027 void nit__parser_prod___ACallExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(val* self, val* p0) {
6028 val* var_node /* var node: TId */;
6029 var_node = p0;
6030 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallExpr> */
6031 {
6032 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
6033 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
6034 RET_LABEL1:(void)0;
6035 }
6036 }
6037 RET_LABEL:;
6038 }
6039 /* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */
6040 void nit__parser_prod___ACallExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(val* self, val* p0) {
6041 val* var_node /* var node: AExprs */;
6042 var_node = p0;
6043 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallExpr> */
6044 {
6045 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
6046 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
6047 RET_LABEL1:(void)0;
6048 }
6049 }
6050 RET_LABEL:;
6051 }
6052 /* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */
6053 void nit__parser_prod___ACallExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
6054 val* var_v /* var v: Visitor */;
6055 val* var /* : AExpr */;
6056 val* var1 /* : TId */;
6057 val* var2 /* : AExprs */;
6058 var_v = p0;
6059 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
6060 if (unlikely(var == NULL)) {
6061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4242);
6063 show_backtrace(1);
6064 }
6065 {
6066 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6067 }
6068 var1 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
6069 if (unlikely(var1 == NULL)) {
6070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4243);
6072 show_backtrace(1);
6073 }
6074 {
6075 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6076 }
6077 var2 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
6078 if (unlikely(var2 == NULL)) {
6079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6080 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4244);
6081 show_backtrace(1);
6082 }
6083 {
6084 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6085 }
6086 RET_LABEL:;
6087 }
6088 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
6089 void nit__parser_prod___ACallAssignExpr___init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6090 val* var_n_expr /* var n_expr: nullable AExpr */;
6091 val* var_n_id /* var n_id: nullable TId */;
6092 val* var_n_args /* var n_args: nullable AExprs */;
6093 val* var_n_assign /* var n_assign: nullable TAssign */;
6094 val* var_n_value /* var n_value: nullable AExpr */;
6095 var_n_expr = p0;
6096 var_n_id = p1;
6097 var_n_args = p2;
6098 var_n_assign = p3;
6099 var_n_value = p4;
6100 if (unlikely(var_n_expr == NULL)) {
6101 PRINT_ERROR("Runtime error: %s", "Cast failed");
6102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4256);
6103 show_backtrace(1);
6104 }
6105 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallAssignExpr> */
6106 if (var_n_expr == NULL) {
6107 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4257);
6109 show_backtrace(1);
6110 } else {
6111 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
6112 if (unlikely(var_n_expr == NULL)) {
6113 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6115 show_backtrace(1);
6116 }
6117 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
6118 RET_LABEL1:(void)0;
6119 }
6120 }
6121 if (unlikely(var_n_id == NULL)) {
6122 PRINT_ERROR("Runtime error: %s", "Cast failed");
6123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4258);
6124 show_backtrace(1);
6125 }
6126 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallAssignExpr> */
6127 if (var_n_id == NULL) {
6128 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4259);
6130 show_backtrace(1);
6131 } else {
6132 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
6133 if (unlikely(var_n_id == NULL)) {
6134 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6136 show_backtrace(1);
6137 }
6138 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
6139 RET_LABEL2:(void)0;
6140 }
6141 }
6142 if (unlikely(var_n_args == NULL)) {
6143 PRINT_ERROR("Runtime error: %s", "Cast failed");
6144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4260);
6145 show_backtrace(1);
6146 }
6147 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallAssignExpr> */
6148 if (var_n_args == NULL) {
6149 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6150 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4261);
6151 show_backtrace(1);
6152 } else {
6153 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
6154 if (unlikely(var_n_args == NULL)) {
6155 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6157 show_backtrace(1);
6158 }
6159 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
6160 RET_LABEL3:(void)0;
6161 }
6162 }
6163 if (unlikely(var_n_assign == NULL)) {
6164 PRINT_ERROR("Runtime error: %s", "Cast failed");
6165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4262);
6166 show_backtrace(1);
6167 }
6168 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ACallAssignExpr> */
6169 if (var_n_assign == NULL) {
6170 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4263);
6172 show_backtrace(1);
6173 } else {
6174 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
6175 if (unlikely(var_n_assign == NULL)) {
6176 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6178 show_backtrace(1);
6179 }
6180 var_n_assign->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
6181 RET_LABEL4:(void)0;
6182 }
6183 }
6184 if (unlikely(var_n_value == NULL)) {
6185 PRINT_ERROR("Runtime error: %s", "Cast failed");
6186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4264);
6187 show_backtrace(1);
6188 }
6189 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallAssignExpr> */
6190 if (var_n_value == NULL) {
6191 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4265);
6193 show_backtrace(1);
6194 } else {
6195 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
6196 if (unlikely(var_n_value == NULL)) {
6197 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6199 show_backtrace(1);
6200 }
6201 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
6202 RET_LABEL5:(void)0;
6203 }
6204 }
6205 RET_LABEL:;
6206 }
6207 /* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */
6208 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
6209 val* var_old_child /* var old_child: ANode */;
6210 val* var_new_child /* var new_child: nullable ANode */;
6211 val* var /* : AExpr */;
6212 short int var1 /* : Bool */;
6213 val* var_other /* var other: nullable Object */;
6214 short int var3 /* : Bool */;
6215 short int var5 /* : Bool */;
6216 short int var6 /* : Bool */;
6217 int cltype;
6218 int idtype;
6219 const char* var_class_name;
6220 val* var7 /* : TId */;
6221 short int var8 /* : Bool */;
6222 short int var10 /* : Bool */;
6223 short int var12 /* : Bool */;
6224 short int var13 /* : Bool */;
6225 int cltype14;
6226 int idtype15;
6227 const char* var_class_name16;
6228 val* var17 /* : AExprs */;
6229 short int var18 /* : Bool */;
6230 short int var20 /* : Bool */;
6231 short int var22 /* : Bool */;
6232 short int var23 /* : Bool */;
6233 int cltype24;
6234 int idtype25;
6235 const char* var_class_name26;
6236 val* var27 /* : TAssign */;
6237 short int var28 /* : Bool */;
6238 short int var30 /* : Bool */;
6239 short int var32 /* : Bool */;
6240 short int var33 /* : Bool */;
6241 int cltype34;
6242 int idtype35;
6243 const char* var_class_name36;
6244 val* var37 /* : AExpr */;
6245 short int var38 /* : Bool */;
6246 short int var40 /* : Bool */;
6247 short int var42 /* : Bool */;
6248 short int var43 /* : Bool */;
6249 int cltype44;
6250 int idtype45;
6251 const char* var_class_name46;
6252 var_old_child = p0;
6253 var_new_child = p1;
6254 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
6255 if (unlikely(var == NULL)) {
6256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4270);
6258 show_backtrace(1);
6259 }
6260 {
6261 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
6262 var_other = var_old_child;
6263 {
6264 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
6265 var5 = var == var_other;
6266 var3 = var5;
6267 goto RET_LABEL4;
6268 RET_LABEL4:(void)0;
6269 }
6270 }
6271 var1 = var3;
6272 goto RET_LABEL2;
6273 RET_LABEL2:(void)0;
6274 }
6275 }
6276 if (var1){
6277 /* <var_new_child:nullable ANode> isa AExpr */
6278 cltype = type_nit__AExpr.color;
6279 idtype = type_nit__AExpr.id;
6280 if(var_new_child == NULL) {
6281 var6 = 0;
6282 } else {
6283 if(cltype >= var_new_child->type->table_size) {
6284 var6 = 0;
6285 } else {
6286 var6 = var_new_child->type->type_table[cltype] == idtype;
6287 }
6288 }
6289 if (unlikely(!var6)) {
6290 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
6291 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
6292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4271);
6293 show_backtrace(1);
6294 }
6295 {
6296 nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_expr= on <self:ACallAssignExpr>*/
6297 }
6298 goto RET_LABEL;
6299 } else {
6300 }
6301 var7 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
6302 if (unlikely(var7 == NULL)) {
6303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4274);
6305 show_backtrace(1);
6306 }
6307 {
6308 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TId> */
6309 var_other = var_old_child;
6310 {
6311 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TId> */
6312 var12 = var7 == var_other;
6313 var10 = var12;
6314 goto RET_LABEL11;
6315 RET_LABEL11:(void)0;
6316 }
6317 }
6318 var8 = var10;
6319 goto RET_LABEL9;
6320 RET_LABEL9:(void)0;
6321 }
6322 }
6323 if (var8){
6324 /* <var_new_child:nullable ANode> isa TId */
6325 cltype14 = type_nit__TId.color;
6326 idtype15 = type_nit__TId.id;
6327 if(var_new_child == NULL) {
6328 var13 = 0;
6329 } else {
6330 if(cltype14 >= var_new_child->type->table_size) {
6331 var13 = 0;
6332 } else {
6333 var13 = var_new_child->type->type_table[cltype14] == idtype15;
6334 }
6335 }
6336 if (unlikely(!var13)) {
6337 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
6338 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name16);
6339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4275);
6340 show_backtrace(1);
6341 }
6342 {
6343 nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_id= on <self:ACallAssignExpr>*/
6344 }
6345 goto RET_LABEL;
6346 } else {
6347 }
6348 var17 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
6349 if (unlikely(var17 == NULL)) {
6350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4278);
6352 show_backtrace(1);
6353 }
6354 {
6355 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExprs> */
6356 var_other = var_old_child;
6357 {
6358 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExprs> */
6359 var22 = var17 == var_other;
6360 var20 = var22;
6361 goto RET_LABEL21;
6362 RET_LABEL21:(void)0;
6363 }
6364 }
6365 var18 = var20;
6366 goto RET_LABEL19;
6367 RET_LABEL19:(void)0;
6368 }
6369 }
6370 if (var18){
6371 /* <var_new_child:nullable ANode> isa AExprs */
6372 cltype24 = type_nit__AExprs.color;
6373 idtype25 = type_nit__AExprs.id;
6374 if(var_new_child == NULL) {
6375 var23 = 0;
6376 } else {
6377 if(cltype24 >= var_new_child->type->table_size) {
6378 var23 = 0;
6379 } else {
6380 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6381 }
6382 }
6383 if (unlikely(!var23)) {
6384 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
6385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name26);
6386 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4279);
6387 show_backtrace(1);
6388 }
6389 {
6390 nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_args= on <self:ACallAssignExpr>*/
6391 }
6392 goto RET_LABEL;
6393 } else {
6394 }
6395 var27 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
6396 if (unlikely(var27 == NULL)) {
6397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
6398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4282);
6399 show_backtrace(1);
6400 }
6401 {
6402 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:TAssign> */
6403 var_other = var_old_child;
6404 {
6405 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:TAssign> */
6406 var32 = var27 == var_other;
6407 var30 = var32;
6408 goto RET_LABEL31;
6409 RET_LABEL31:(void)0;
6410 }
6411 }
6412 var28 = var30;
6413 goto RET_LABEL29;
6414 RET_LABEL29:(void)0;
6415 }
6416 }
6417 if (var28){
6418 /* <var_new_child:nullable ANode> isa TAssign */
6419 cltype34 = type_nit__TAssign.color;
6420 idtype35 = type_nit__TAssign.id;
6421 if(var_new_child == NULL) {
6422 var33 = 0;
6423 } else {
6424 if(cltype34 >= var_new_child->type->table_size) {
6425 var33 = 0;
6426 } else {
6427 var33 = var_new_child->type->type_table[cltype34] == idtype35;
6428 }
6429 }
6430 if (unlikely(!var33)) {
6431 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
6432 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name36);
6433 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4283);
6434 show_backtrace(1);
6435 }
6436 {
6437 nit__parser_prod___ACallAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_assign= on <self:ACallAssignExpr>*/
6438 }
6439 goto RET_LABEL;
6440 } else {
6441 }
6442 var37 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
6443 if (unlikely(var37 == NULL)) {
6444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6445 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4286);
6446 show_backtrace(1);
6447 }
6448 {
6449 { /* Inline kernel#Object#== (var37,var_old_child) on <var37:AExpr> */
6450 var_other = var_old_child;
6451 {
6452 { /* Inline kernel#Object#is_same_instance (var37,var_other) on <var37:AExpr> */
6453 var42 = var37 == var_other;
6454 var40 = var42;
6455 goto RET_LABEL41;
6456 RET_LABEL41:(void)0;
6457 }
6458 }
6459 var38 = var40;
6460 goto RET_LABEL39;
6461 RET_LABEL39:(void)0;
6462 }
6463 }
6464 if (var38){
6465 /* <var_new_child:nullable ANode> isa AExpr */
6466 cltype44 = type_nit__AExpr.color;
6467 idtype45 = type_nit__AExpr.id;
6468 if(var_new_child == NULL) {
6469 var43 = 0;
6470 } else {
6471 if(cltype44 >= var_new_child->type->table_size) {
6472 var43 = 0;
6473 } else {
6474 var43 = var_new_child->type->type_table[cltype44] == idtype45;
6475 }
6476 }
6477 if (unlikely(!var43)) {
6478 var_class_name46 = var_new_child == NULL ? "null" : var_new_child->type->name;
6479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name46);
6480 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4287);
6481 show_backtrace(1);
6482 }
6483 {
6484 nit__parser_prod___ACallAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_value= on <self:ACallAssignExpr>*/
6485 }
6486 goto RET_LABEL;
6487 } else {
6488 }
6489 RET_LABEL:;
6490 }
6491 /* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */
6492 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
6493 val* var_node /* var node: AExpr */;
6494 var_node = p0;
6495 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallAssignExpr> */
6496 {
6497 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
6498 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
6499 RET_LABEL1:(void)0;
6500 }
6501 }
6502 RET_LABEL:;
6503 }
6504 /* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */
6505 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(val* self, val* p0) {
6506 val* var_node /* var node: TId */;
6507 var_node = p0;
6508 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallAssignExpr> */
6509 {
6510 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
6511 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
6512 RET_LABEL1:(void)0;
6513 }
6514 }
6515 RET_LABEL:;
6516 }
6517 /* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */
6518 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(val* self, val* p0) {
6519 val* var_node /* var node: AExprs */;
6520 var_node = p0;
6521 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallAssignExpr> */
6522 {
6523 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
6524 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
6525 RET_LABEL1:(void)0;
6526 }
6527 }
6528 RET_LABEL:;
6529 }
6530 /* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */
6531 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(val* self, val* p0) {
6532 val* var_node /* var node: TAssign */;
6533 var_node = p0;
6534 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ACallAssignExpr> */
6535 {
6536 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
6537 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
6538 RET_LABEL1:(void)0;
6539 }
6540 }
6541 RET_LABEL:;
6542 }
6543 /* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */
6544 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(val* self, val* p0) {
6545 val* var_node /* var node: AExpr */;
6546 var_node = p0;
6547 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallAssignExpr> */
6548 {
6549 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
6550 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
6551 RET_LABEL1:(void)0;
6552 }
6553 }
6554 RET_LABEL:;
6555 }
6556 /* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */
6557 void nit__parser_prod___ACallAssignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
6558 val* var_v /* var v: Visitor */;
6559 val* var /* : AExpr */;
6560 val* var1 /* : TId */;
6561 val* var2 /* : AExprs */;
6562 val* var3 /* : TAssign */;
6563 val* var4 /* : AExpr */;
6564 var_v = p0;
6565 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
6566 if (unlikely(var == NULL)) {
6567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4321);
6569 show_backtrace(1);
6570 }
6571 {
6572 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6573 }
6574 var1 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
6575 if (unlikely(var1 == NULL)) {
6576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4322);
6578 show_backtrace(1);
6579 }
6580 {
6581 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6582 }
6583 var2 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
6584 if (unlikely(var2 == NULL)) {
6585 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6586 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4323);
6587 show_backtrace(1);
6588 }
6589 {
6590 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6591 }
6592 var3 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
6593 if (unlikely(var3 == NULL)) {
6594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
6595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4324);
6596 show_backtrace(1);
6597 }
6598 {
6599 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6600 }
6601 var4 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
6602 if (unlikely(var4 == NULL)) {
6603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6604 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4325);
6605 show_backtrace(1);
6606 }
6607 {
6608 nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6609 }
6610 RET_LABEL:;
6611 }
6612 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
6613 void nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6614 val* var_n_expr /* var n_expr: nullable AExpr */;
6615 val* var_n_id /* var n_id: nullable TId */;
6616 val* var_n_args /* var n_args: nullable AExprs */;
6617 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
6618 val* var_n_value /* var n_value: nullable AExpr */;
6619 var_n_expr = p0;
6620 var_n_id = p1;
6621 var_n_args = p2;
6622 var_n_assign_op = p3;
6623 var_n_value = p4;
6624 if (unlikely(var_n_expr == NULL)) {
6625 PRINT_ERROR("Runtime error: %s", "Cast failed");
6626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4337);
6627 show_backtrace(1);
6628 }
6629 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallReassignExpr> */
6630 if (var_n_expr == NULL) {
6631 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4338);
6633 show_backtrace(1);
6634 } else {
6635 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
6636 if (unlikely(var_n_expr == NULL)) {
6637 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6639 show_backtrace(1);
6640 }
6641 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
6642 RET_LABEL1:(void)0;
6643 }
6644 }
6645 if (unlikely(var_n_id == NULL)) {
6646 PRINT_ERROR("Runtime error: %s", "Cast failed");
6647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4339);
6648 show_backtrace(1);
6649 }
6650 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallReassignExpr> */
6651 if (var_n_id == NULL) {
6652 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4340);
6654 show_backtrace(1);
6655 } else {
6656 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
6657 if (unlikely(var_n_id == NULL)) {
6658 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6660 show_backtrace(1);
6661 }
6662 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
6663 RET_LABEL2:(void)0;
6664 }
6665 }
6666 if (unlikely(var_n_args == NULL)) {
6667 PRINT_ERROR("Runtime error: %s", "Cast failed");
6668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4341);
6669 show_backtrace(1);
6670 }
6671 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallReassignExpr> */
6672 if (var_n_args == NULL) {
6673 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6674 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4342);
6675 show_backtrace(1);
6676 } else {
6677 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
6678 if (unlikely(var_n_args == NULL)) {
6679 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6681 show_backtrace(1);
6682 }
6683 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
6684 RET_LABEL3:(void)0;
6685 }
6686 }
6687 if (unlikely(var_n_assign_op == NULL)) {
6688 PRINT_ERROR("Runtime error: %s", "Cast failed");
6689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4343);
6690 show_backtrace(1);
6691 }
6692 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ACallReassignExpr> */
6693 if (var_n_assign_op == NULL) {
6694 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4344);
6696 show_backtrace(1);
6697 } else {
6698 { /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
6699 if (unlikely(var_n_assign_op == NULL)) {
6700 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6702 show_backtrace(1);
6703 }
6704 var_n_assign_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
6705 RET_LABEL4:(void)0;
6706 }
6707 }
6708 if (unlikely(var_n_value == NULL)) {
6709 PRINT_ERROR("Runtime error: %s", "Cast failed");
6710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4345);
6711 show_backtrace(1);
6712 }
6713 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallReassignExpr> */
6714 if (var_n_value == NULL) {
6715 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4346);
6717 show_backtrace(1);
6718 } else {
6719 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
6720 if (unlikely(var_n_value == NULL)) {
6721 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
6723 show_backtrace(1);
6724 }
6725 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
6726 RET_LABEL5:(void)0;
6727 }
6728 }
6729 RET_LABEL:;
6730 }
6731 /* method parser_prod#ACallReassignExpr#replace_child for (self: ACallReassignExpr, ANode, nullable ANode) */
6732 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
6733 val* var_old_child /* var old_child: ANode */;
6734 val* var_new_child /* var new_child: nullable ANode */;
6735 val* var /* : AExpr */;
6736 short int var1 /* : Bool */;
6737 val* var_other /* var other: nullable Object */;
6738 short int var3 /* : Bool */;
6739 short int var5 /* : Bool */;
6740 short int var6 /* : Bool */;
6741 int cltype;
6742 int idtype;
6743 const char* var_class_name;
6744 val* var7 /* : TId */;
6745 short int var8 /* : Bool */;
6746 short int var10 /* : Bool */;
6747 short int var12 /* : Bool */;
6748 short int var13 /* : Bool */;
6749 int cltype14;
6750 int idtype15;
6751 const char* var_class_name16;
6752 val* var17 /* : AExprs */;
6753 short int var18 /* : Bool */;
6754 short int var20 /* : Bool */;
6755 short int var22 /* : Bool */;
6756 short int var23 /* : Bool */;
6757 int cltype24;
6758 int idtype25;
6759 const char* var_class_name26;
6760 val* var27 /* : AAssignOp */;
6761 short int var28 /* : Bool */;
6762 short int var30 /* : Bool */;
6763 short int var32 /* : Bool */;
6764 short int var33 /* : Bool */;
6765 int cltype34;
6766 int idtype35;
6767 const char* var_class_name36;
6768 val* var37 /* : AExpr */;
6769 short int var38 /* : Bool */;
6770 short int var40 /* : Bool */;
6771 short int var42 /* : Bool */;
6772 short int var43 /* : Bool */;
6773 int cltype44;
6774 int idtype45;
6775 const char* var_class_name46;
6776 var_old_child = p0;
6777 var_new_child = p1;
6778 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
6779 if (unlikely(var == NULL)) {
6780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4351);
6782 show_backtrace(1);
6783 }
6784 {
6785 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
6786 var_other = var_old_child;
6787 {
6788 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
6789 var5 = var == var_other;
6790 var3 = var5;
6791 goto RET_LABEL4;
6792 RET_LABEL4:(void)0;
6793 }
6794 }
6795 var1 = var3;
6796 goto RET_LABEL2;
6797 RET_LABEL2:(void)0;
6798 }
6799 }
6800 if (var1){
6801 /* <var_new_child:nullable ANode> isa AExpr */
6802 cltype = type_nit__AExpr.color;
6803 idtype = type_nit__AExpr.id;
6804 if(var_new_child == NULL) {
6805 var6 = 0;
6806 } else {
6807 if(cltype >= var_new_child->type->table_size) {
6808 var6 = 0;
6809 } else {
6810 var6 = var_new_child->type->type_table[cltype] == idtype;
6811 }
6812 }
6813 if (unlikely(!var6)) {
6814 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
6815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
6816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4352);
6817 show_backtrace(1);
6818 }
6819 {
6820 nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_expr= on <self:ACallReassignExpr>*/
6821 }
6822 goto RET_LABEL;
6823 } else {
6824 }
6825 var7 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
6826 if (unlikely(var7 == NULL)) {
6827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4355);
6829 show_backtrace(1);
6830 }
6831 {
6832 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TId> */
6833 var_other = var_old_child;
6834 {
6835 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TId> */
6836 var12 = var7 == var_other;
6837 var10 = var12;
6838 goto RET_LABEL11;
6839 RET_LABEL11:(void)0;
6840 }
6841 }
6842 var8 = var10;
6843 goto RET_LABEL9;
6844 RET_LABEL9:(void)0;
6845 }
6846 }
6847 if (var8){
6848 /* <var_new_child:nullable ANode> isa TId */
6849 cltype14 = type_nit__TId.color;
6850 idtype15 = type_nit__TId.id;
6851 if(var_new_child == NULL) {
6852 var13 = 0;
6853 } else {
6854 if(cltype14 >= var_new_child->type->table_size) {
6855 var13 = 0;
6856 } else {
6857 var13 = var_new_child->type->type_table[cltype14] == idtype15;
6858 }
6859 }
6860 if (unlikely(!var13)) {
6861 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
6862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name16);
6863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4356);
6864 show_backtrace(1);
6865 }
6866 {
6867 nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_id= on <self:ACallReassignExpr>*/
6868 }
6869 goto RET_LABEL;
6870 } else {
6871 }
6872 var17 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
6873 if (unlikely(var17 == NULL)) {
6874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
6875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4359);
6876 show_backtrace(1);
6877 }
6878 {
6879 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExprs> */
6880 var_other = var_old_child;
6881 {
6882 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExprs> */
6883 var22 = var17 == var_other;
6884 var20 = var22;
6885 goto RET_LABEL21;
6886 RET_LABEL21:(void)0;
6887 }
6888 }
6889 var18 = var20;
6890 goto RET_LABEL19;
6891 RET_LABEL19:(void)0;
6892 }
6893 }
6894 if (var18){
6895 /* <var_new_child:nullable ANode> isa AExprs */
6896 cltype24 = type_nit__AExprs.color;
6897 idtype25 = type_nit__AExprs.id;
6898 if(var_new_child == NULL) {
6899 var23 = 0;
6900 } else {
6901 if(cltype24 >= var_new_child->type->table_size) {
6902 var23 = 0;
6903 } else {
6904 var23 = var_new_child->type->type_table[cltype24] == idtype25;
6905 }
6906 }
6907 if (unlikely(!var23)) {
6908 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
6909 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name26);
6910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4360);
6911 show_backtrace(1);
6912 }
6913 {
6914 nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_args= on <self:ACallReassignExpr>*/
6915 }
6916 goto RET_LABEL;
6917 } else {
6918 }
6919 var27 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
6920 if (unlikely(var27 == NULL)) {
6921 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
6922 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4363);
6923 show_backtrace(1);
6924 }
6925 {
6926 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:AAssignOp> */
6927 var_other = var_old_child;
6928 {
6929 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AAssignOp> */
6930 var32 = var27 == var_other;
6931 var30 = var32;
6932 goto RET_LABEL31;
6933 RET_LABEL31:(void)0;
6934 }
6935 }
6936 var28 = var30;
6937 goto RET_LABEL29;
6938 RET_LABEL29:(void)0;
6939 }
6940 }
6941 if (var28){
6942 /* <var_new_child:nullable ANode> isa AAssignOp */
6943 cltype34 = type_nit__AAssignOp.color;
6944 idtype35 = type_nit__AAssignOp.id;
6945 if(var_new_child == NULL) {
6946 var33 = 0;
6947 } else {
6948 if(cltype34 >= var_new_child->type->table_size) {
6949 var33 = 0;
6950 } else {
6951 var33 = var_new_child->type->type_table[cltype34] == idtype35;
6952 }
6953 }
6954 if (unlikely(!var33)) {
6955 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
6956 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name36);
6957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4364);
6958 show_backtrace(1);
6959 }
6960 {
6961 nit__parser_prod___ACallReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_assign_op= on <self:ACallReassignExpr>*/
6962 }
6963 goto RET_LABEL;
6964 } else {
6965 }
6966 var37 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
6967 if (unlikely(var37 == NULL)) {
6968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4367);
6970 show_backtrace(1);
6971 }
6972 {
6973 { /* Inline kernel#Object#== (var37,var_old_child) on <var37:AExpr> */
6974 var_other = var_old_child;
6975 {
6976 { /* Inline kernel#Object#is_same_instance (var37,var_other) on <var37:AExpr> */
6977 var42 = var37 == var_other;
6978 var40 = var42;
6979 goto RET_LABEL41;
6980 RET_LABEL41:(void)0;
6981 }
6982 }
6983 var38 = var40;
6984 goto RET_LABEL39;
6985 RET_LABEL39:(void)0;
6986 }
6987 }
6988 if (var38){
6989 /* <var_new_child:nullable ANode> isa AExpr */
6990 cltype44 = type_nit__AExpr.color;
6991 idtype45 = type_nit__AExpr.id;
6992 if(var_new_child == NULL) {
6993 var43 = 0;
6994 } else {
6995 if(cltype44 >= var_new_child->type->table_size) {
6996 var43 = 0;
6997 } else {
6998 var43 = var_new_child->type->type_table[cltype44] == idtype45;
6999 }
7000 }
7001 if (unlikely(!var43)) {
7002 var_class_name46 = var_new_child == NULL ? "null" : var_new_child->type->name;
7003 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name46);
7004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4368);
7005 show_backtrace(1);
7006 }
7007 {
7008 nit__parser_prod___ACallReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_value= on <self:ACallReassignExpr>*/
7009 }
7010 goto RET_LABEL;
7011 } else {
7012 }
7013 RET_LABEL:;
7014 }
7015 /* method parser_prod#ACallReassignExpr#n_expr= for (self: ACallReassignExpr, AExpr) */
7016 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
7017 val* var_node /* var node: AExpr */;
7018 var_node = p0;
7019 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallReassignExpr> */
7020 {
7021 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7022 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
7023 RET_LABEL1:(void)0;
7024 }
7025 }
7026 RET_LABEL:;
7027 }
7028 /* method parser_prod#ACallReassignExpr#n_id= for (self: ACallReassignExpr, TId) */
7029 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ACallFormExpr__n_id_61d(val* self, val* p0) {
7030 val* var_node /* var node: TId */;
7031 var_node = p0;
7032 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallReassignExpr> */
7033 {
7034 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
7035 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
7036 RET_LABEL1:(void)0;
7037 }
7038 }
7039 RET_LABEL:;
7040 }
7041 /* method parser_prod#ACallReassignExpr#n_args= for (self: ACallReassignExpr, AExprs) */
7042 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ACallFormExpr__n_args_61d(val* self, val* p0) {
7043 val* var_node /* var node: AExprs */;
7044 var_node = p0;
7045 self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallReassignExpr> */
7046 {
7047 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
7048 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
7049 RET_LABEL1:(void)0;
7050 }
7051 }
7052 RET_LABEL:;
7053 }
7054 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: ACallReassignExpr, AAssignOp) */
7055 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(val* self, val* p0) {
7056 val* var_node /* var node: AAssignOp */;
7057 var_node = p0;
7058 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ACallReassignExpr> */
7059 {
7060 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAssignOp> */
7061 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAssignOp> */
7062 RET_LABEL1:(void)0;
7063 }
7064 }
7065 RET_LABEL:;
7066 }
7067 /* method parser_prod#ACallReassignExpr#n_value= for (self: ACallReassignExpr, AExpr) */
7068 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(val* self, val* p0) {
7069 val* var_node /* var node: AExpr */;
7070 var_node = p0;
7071 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallReassignExpr> */
7072 {
7073 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7074 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
7075 RET_LABEL1:(void)0;
7076 }
7077 }
7078 RET_LABEL:;
7079 }
7080 /* method parser_prod#ACallReassignExpr#visit_all for (self: ACallReassignExpr, Visitor) */
7081 void nit__parser_prod___ACallReassignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
7082 val* var_v /* var v: Visitor */;
7083 val* var /* : AExpr */;
7084 val* var1 /* : TId */;
7085 val* var2 /* : AExprs */;
7086 val* var3 /* : AAssignOp */;
7087 val* var4 /* : AExpr */;
7088 var_v = p0;
7089 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
7090 if (unlikely(var == NULL)) {
7091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7092 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4402);
7093 show_backtrace(1);
7094 }
7095 {
7096 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7097 }
7098 var1 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
7099 if (unlikely(var1 == NULL)) {
7100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4403);
7102 show_backtrace(1);
7103 }
7104 {
7105 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7106 }
7107 var2 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
7108 if (unlikely(var2 == NULL)) {
7109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4404);
7111 show_backtrace(1);
7112 }
7113 {
7114 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7115 }
7116 var3 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
7117 if (unlikely(var3 == NULL)) {
7118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
7119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4405);
7120 show_backtrace(1);
7121 }
7122 {
7123 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7124 }
7125 var4 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
7126 if (unlikely(var4 == NULL)) {
7127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
7128 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4406);
7129 show_backtrace(1);
7130 }
7131 {
7132 nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7133 }
7134 RET_LABEL:;
7135 }
7136 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: ASuperExpr, nullable AQualified, nullable TKwsuper, nullable AExprs) */
7137 void nit__parser_prod___ASuperExpr___init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
7138 val* var_n_qualified /* var n_qualified: nullable AQualified */;
7139 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
7140 val* var_n_args /* var n_args: nullable AExprs */;
7141 val* var /* : null */;
7142 short int var1 /* : Bool */;
7143 short int var2 /* : Bool */;
7144 val* var_other /* var other: nullable Object */;
7145 short int var4 /* : Bool */;
7146 short int var5 /* : Bool */;
7147 var_n_qualified = p0;
7148 var_n_kwsuper = p1;
7149 var_n_args = p2;
7150 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_qualified].val = var_n_qualified; /* _n_qualified on <self:ASuperExpr> */
7151 var = NULL;
7152 if (var_n_qualified == NULL) {
7153 var1 = 0; /* is null */
7154 } else {
7155 var1 = 1; /* arg is null and recv is not */
7156 }
7157 if (0) {
7158 { /* Inline kernel#Object#!= (var_n_qualified,var) on <var_n_qualified:nullable AQualified> */
7159 var_other = var;
7160 {
7161 var4 = ((short int (*)(val* self, val* p0))(var_n_qualified->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_qualified, var_other) /* == on <var_n_qualified:nullable AQualified(AQualified)>*/;
7162 }
7163 var5 = !var4;
7164 var2 = var5;
7165 goto RET_LABEL3;
7166 RET_LABEL3:(void)0;
7167 }
7168 var1 = var2;
7169 }
7170 if (var1){
7171 {
7172 { /* Inline parser_nodes#ANode#parent= (var_n_qualified,self) on <var_n_qualified:nullable AQualified(AQualified)> */
7173 var_n_qualified->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_qualified:nullable AQualified(AQualified)> */
7174 RET_LABEL6:(void)0;
7175 }
7176 }
7177 } else {
7178 }
7179 if (unlikely(var_n_kwsuper == NULL)) {
7180 PRINT_ERROR("Runtime error: %s", "Cast failed");
7181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4418);
7182 show_backtrace(1);
7183 }
7184 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExpr> */
7185 if (var_n_kwsuper == NULL) {
7186 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4419);
7188 show_backtrace(1);
7189 } else {
7190 { /* Inline parser_nodes#ANode#parent= (var_n_kwsuper,self) on <var_n_kwsuper:nullable TKwsuper> */
7191 if (unlikely(var_n_kwsuper == NULL)) {
7192 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7194 show_backtrace(1);
7195 }
7196 var_n_kwsuper->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwsuper:nullable TKwsuper> */
7197 RET_LABEL7:(void)0;
7198 }
7199 }
7200 if (unlikely(var_n_args == NULL)) {
7201 PRINT_ERROR("Runtime error: %s", "Cast failed");
7202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4420);
7203 show_backtrace(1);
7204 }
7205 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_args].val = var_n_args; /* _n_args on <self:ASuperExpr> */
7206 if (var_n_args == NULL) {
7207 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7208 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4421);
7209 show_backtrace(1);
7210 } else {
7211 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
7212 if (unlikely(var_n_args == NULL)) {
7213 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7215 show_backtrace(1);
7216 }
7217 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
7218 RET_LABEL8:(void)0;
7219 }
7220 }
7221 RET_LABEL:;
7222 }
7223 /* method parser_prod#ASuperExpr#replace_child for (self: ASuperExpr, ANode, nullable ANode) */
7224 void nit__parser_prod___ASuperExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
7225 val* var_old_child /* var old_child: ANode */;
7226 val* var_new_child /* var new_child: nullable ANode */;
7227 val* var /* : nullable AQualified */;
7228 short int var1 /* : Bool */;
7229 short int var2 /* : Bool */;
7230 val* var_other /* var other: nullable Object */;
7231 short int var4 /* : Bool */;
7232 short int var6 /* : Bool */;
7233 short int var7 /* : Bool */;
7234 int cltype;
7235 int idtype;
7236 const char* var_class_name;
7237 val* var8 /* : TKwsuper */;
7238 short int var9 /* : Bool */;
7239 short int var11 /* : Bool */;
7240 short int var13 /* : Bool */;
7241 short int var14 /* : Bool */;
7242 int cltype15;
7243 int idtype16;
7244 const char* var_class_name17;
7245 val* var18 /* : AExprs */;
7246 short int var19 /* : Bool */;
7247 short int var21 /* : Bool */;
7248 short int var23 /* : Bool */;
7249 short int var24 /* : Bool */;
7250 int cltype25;
7251 int idtype26;
7252 const char* var_class_name27;
7253 var_old_child = p0;
7254 var_new_child = p1;
7255 var = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
7256 if (var == NULL) {
7257 var1 = 0; /* <var_old_child:ANode> cannot be null */
7258 } else {
7259 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable AQualified> */
7260 var_other = var_old_child;
7261 {
7262 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AQualified(AQualified)> */
7263 var6 = var == var_other;
7264 var4 = var6;
7265 goto RET_LABEL5;
7266 RET_LABEL5:(void)0;
7267 }
7268 }
7269 var2 = var4;
7270 goto RET_LABEL3;
7271 RET_LABEL3:(void)0;
7272 }
7273 var1 = var2;
7274 }
7275 if (var1){
7276 /* <var_new_child:nullable ANode> isa nullable AQualified */
7277 cltype = type_nullable__nit__AQualified.color;
7278 idtype = type_nullable__nit__AQualified.id;
7279 if(var_new_child == NULL) {
7280 var7 = 1;
7281 } else {
7282 if(cltype >= var_new_child->type->table_size) {
7283 var7 = 0;
7284 } else {
7285 var7 = var_new_child->type->type_table[cltype] == idtype;
7286 }
7287 }
7288 if (unlikely(!var7)) {
7289 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
7290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AQualified", var_class_name);
7291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4427);
7292 show_backtrace(1);
7293 }
7294 {
7295 nit__parser_prod___ASuperExpr___n_qualified_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_qualified= on <self:ASuperExpr>*/
7296 }
7297 goto RET_LABEL;
7298 } else {
7299 }
7300 var8 = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
7301 if (unlikely(var8 == NULL)) {
7302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper");
7303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4430);
7304 show_backtrace(1);
7305 }
7306 {
7307 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TKwsuper> */
7308 var_other = var_old_child;
7309 {
7310 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TKwsuper> */
7311 var13 = var8 == var_other;
7312 var11 = var13;
7313 goto RET_LABEL12;
7314 RET_LABEL12:(void)0;
7315 }
7316 }
7317 var9 = var11;
7318 goto RET_LABEL10;
7319 RET_LABEL10:(void)0;
7320 }
7321 }
7322 if (var9){
7323 /* <var_new_child:nullable ANode> isa TKwsuper */
7324 cltype15 = type_nit__TKwsuper.color;
7325 idtype16 = type_nit__TKwsuper.id;
7326 if(var_new_child == NULL) {
7327 var14 = 0;
7328 } else {
7329 if(cltype15 >= var_new_child->type->table_size) {
7330 var14 = 0;
7331 } else {
7332 var14 = var_new_child->type->type_table[cltype15] == idtype16;
7333 }
7334 }
7335 if (unlikely(!var14)) {
7336 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
7337 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwsuper", var_class_name17);
7338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4431);
7339 show_backtrace(1);
7340 }
7341 {
7342 nit__parser_prod___ASuperExpr___n_kwsuper_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_kwsuper= on <self:ASuperExpr>*/
7343 }
7344 goto RET_LABEL;
7345 } else {
7346 }
7347 var18 = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
7348 if (unlikely(var18 == NULL)) {
7349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4434);
7351 show_backtrace(1);
7352 }
7353 {
7354 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:AExprs> */
7355 var_other = var_old_child;
7356 {
7357 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:AExprs> */
7358 var23 = var18 == var_other;
7359 var21 = var23;
7360 goto RET_LABEL22;
7361 RET_LABEL22:(void)0;
7362 }
7363 }
7364 var19 = var21;
7365 goto RET_LABEL20;
7366 RET_LABEL20:(void)0;
7367 }
7368 }
7369 if (var19){
7370 /* <var_new_child:nullable ANode> isa AExprs */
7371 cltype25 = type_nit__AExprs.color;
7372 idtype26 = type_nit__AExprs.id;
7373 if(var_new_child == NULL) {
7374 var24 = 0;
7375 } else {
7376 if(cltype25 >= var_new_child->type->table_size) {
7377 var24 = 0;
7378 } else {
7379 var24 = var_new_child->type->type_table[cltype25] == idtype26;
7380 }
7381 }
7382 if (unlikely(!var24)) {
7383 var_class_name27 = var_new_child == NULL ? "null" : var_new_child->type->name;
7384 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name27);
7385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4435);
7386 show_backtrace(1);
7387 }
7388 {
7389 nit__parser_prod___ASuperExpr___n_args_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_args= on <self:ASuperExpr>*/
7390 }
7391 goto RET_LABEL;
7392 } else {
7393 }
7394 RET_LABEL:;
7395 }
7396 /* method parser_prod#ASuperExpr#n_qualified= for (self: ASuperExpr, nullable AQualified) */
7397 void nit__parser_prod___ASuperExpr___n_qualified_61d(val* self, val* p0) {
7398 val* var_node /* var node: nullable AQualified */;
7399 val* var /* : null */;
7400 short int var1 /* : Bool */;
7401 short int var2 /* : Bool */;
7402 val* var_other /* var other: nullable Object */;
7403 short int var4 /* : Bool */;
7404 short int var5 /* : Bool */;
7405 var_node = p0;
7406 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_qualified].val = var_node; /* _n_qualified on <self:ASuperExpr> */
7407 var = NULL;
7408 if (var_node == NULL) {
7409 var1 = 0; /* is null */
7410 } else {
7411 var1 = 1; /* arg is null and recv is not */
7412 }
7413 if (0) {
7414 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AQualified> */
7415 var_other = var;
7416 {
7417 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AQualified(AQualified)>*/;
7418 }
7419 var5 = !var4;
7420 var2 = var5;
7421 goto RET_LABEL3;
7422 RET_LABEL3:(void)0;
7423 }
7424 var1 = var2;
7425 }
7426 if (var1){
7427 {
7428 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AQualified(AQualified)> */
7429 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AQualified(AQualified)> */
7430 RET_LABEL6:(void)0;
7431 }
7432 }
7433 } else {
7434 }
7435 RET_LABEL:;
7436 }
7437 /* method parser_prod#ASuperExpr#n_kwsuper= for (self: ASuperExpr, TKwsuper) */
7438 void nit__parser_prod___ASuperExpr___n_kwsuper_61d(val* self, val* p0) {
7439 val* var_node /* var node: TKwsuper */;
7440 var_node = p0;
7441 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperExpr> */
7442 {
7443 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwsuper> */
7444 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwsuper> */
7445 RET_LABEL1:(void)0;
7446 }
7447 }
7448 RET_LABEL:;
7449 }
7450 /* method parser_prod#ASuperExpr#n_args= for (self: ASuperExpr, AExprs) */
7451 void nit__parser_prod___ASuperExpr___n_args_61d(val* self, val* p0) {
7452 val* var_node /* var node: AExprs */;
7453 var_node = p0;
7454 self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_args].val = var_node; /* _n_args on <self:ASuperExpr> */
7455 {
7456 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
7457 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
7458 RET_LABEL1:(void)0;
7459 }
7460 }
7461 RET_LABEL:;
7462 }
7463 /* method parser_prod#ASuperExpr#visit_all for (self: ASuperExpr, Visitor) */
7464 void nit__parser_prod___ASuperExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
7465 val* var_v /* var v: Visitor */;
7466 val* var /* : nullable AQualified */;
7467 val* var1 /* : TKwsuper */;
7468 val* var2 /* : AExprs */;
7469 var_v = p0;
7470 var = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
7471 {
7472 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7473 }
7474 var1 = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
7475 if (unlikely(var1 == NULL)) {
7476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper");
7477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4460);
7478 show_backtrace(1);
7479 }
7480 {
7481 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7482 }
7483 var2 = self->attrs[COLOR_nit__parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
7484 if (unlikely(var2 == NULL)) {
7485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4461);
7487 show_backtrace(1);
7488 }
7489 {
7490 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7491 }
7492 RET_LABEL:;
7493 }
7494 /* method parser_prod#AInitExpr#init_ainitexpr for (self: AInitExpr, nullable AExpr, nullable TKwinit, nullable AExprs) */
7495 void nit__parser_prod___AInitExpr___init_ainitexpr(val* self, val* p0, val* p1, val* p2) {
7496 val* var_n_expr /* var n_expr: nullable AExpr */;
7497 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
7498 val* var_n_args /* var n_args: nullable AExprs */;
7499 var_n_expr = p0;
7500 var_n_kwinit = p1;
7501 var_n_args = p2;
7502 if (unlikely(var_n_expr == NULL)) {
7503 PRINT_ERROR("Runtime error: %s", "Cast failed");
7504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4471);
7505 show_backtrace(1);
7506 }
7507 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AInitExpr> */
7508 if (var_n_expr == NULL) {
7509 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4472);
7511 show_backtrace(1);
7512 } else {
7513 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
7514 if (unlikely(var_n_expr == NULL)) {
7515 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7517 show_backtrace(1);
7518 }
7519 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
7520 RET_LABEL1:(void)0;
7521 }
7522 }
7523 if (unlikely(var_n_kwinit == NULL)) {
7524 PRINT_ERROR("Runtime error: %s", "Cast failed");
7525 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4473);
7526 show_backtrace(1);
7527 }
7528 self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AInitExpr> */
7529 if (var_n_kwinit == NULL) {
7530 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7531 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4474);
7532 show_backtrace(1);
7533 } else {
7534 { /* Inline parser_nodes#ANode#parent= (var_n_kwinit,self) on <var_n_kwinit:nullable TKwinit> */
7535 if (unlikely(var_n_kwinit == NULL)) {
7536 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7538 show_backtrace(1);
7539 }
7540 var_n_kwinit->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwinit:nullable TKwinit> */
7541 RET_LABEL2:(void)0;
7542 }
7543 }
7544 if (unlikely(var_n_args == NULL)) {
7545 PRINT_ERROR("Runtime error: %s", "Cast failed");
7546 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4475);
7547 show_backtrace(1);
7548 }
7549 self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_args].val = var_n_args; /* _n_args on <self:AInitExpr> */
7550 if (var_n_args == NULL) {
7551 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4476);
7553 show_backtrace(1);
7554 } else {
7555 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
7556 if (unlikely(var_n_args == NULL)) {
7557 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7559 show_backtrace(1);
7560 }
7561 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
7562 RET_LABEL3:(void)0;
7563 }
7564 }
7565 RET_LABEL:;
7566 }
7567 /* method parser_prod#AInitExpr#replace_child for (self: AInitExpr, ANode, nullable ANode) */
7568 void nit__parser_prod___AInitExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
7569 val* var_old_child /* var old_child: ANode */;
7570 val* var_new_child /* var new_child: nullable ANode */;
7571 val* var /* : AExpr */;
7572 short int var1 /* : Bool */;
7573 val* var_other /* var other: nullable Object */;
7574 short int var3 /* : Bool */;
7575 short int var5 /* : Bool */;
7576 short int var6 /* : Bool */;
7577 int cltype;
7578 int idtype;
7579 const char* var_class_name;
7580 val* var7 /* : TKwinit */;
7581 short int var8 /* : Bool */;
7582 short int var10 /* : Bool */;
7583 short int var12 /* : Bool */;
7584 short int var13 /* : Bool */;
7585 int cltype14;
7586 int idtype15;
7587 const char* var_class_name16;
7588 val* var17 /* : AExprs */;
7589 short int var18 /* : Bool */;
7590 short int var20 /* : Bool */;
7591 short int var22 /* : Bool */;
7592 short int var23 /* : Bool */;
7593 int cltype24;
7594 int idtype25;
7595 const char* var_class_name26;
7596 var_old_child = p0;
7597 var_new_child = p1;
7598 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
7599 if (unlikely(var == NULL)) {
7600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4481);
7602 show_backtrace(1);
7603 }
7604 {
7605 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
7606 var_other = var_old_child;
7607 {
7608 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
7609 var5 = var == var_other;
7610 var3 = var5;
7611 goto RET_LABEL4;
7612 RET_LABEL4:(void)0;
7613 }
7614 }
7615 var1 = var3;
7616 goto RET_LABEL2;
7617 RET_LABEL2:(void)0;
7618 }
7619 }
7620 if (var1){
7621 /* <var_new_child:nullable ANode> isa AExpr */
7622 cltype = type_nit__AExpr.color;
7623 idtype = type_nit__AExpr.id;
7624 if(var_new_child == NULL) {
7625 var6 = 0;
7626 } else {
7627 if(cltype >= var_new_child->type->table_size) {
7628 var6 = 0;
7629 } else {
7630 var6 = var_new_child->type->type_table[cltype] == idtype;
7631 }
7632 }
7633 if (unlikely(!var6)) {
7634 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
7635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
7636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4482);
7637 show_backtrace(1);
7638 }
7639 {
7640 nit__parser_prod___AInitExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_expr= on <self:AInitExpr>*/
7641 }
7642 goto RET_LABEL;
7643 } else {
7644 }
7645 var7 = self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
7646 if (unlikely(var7 == NULL)) {
7647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit");
7648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4485);
7649 show_backtrace(1);
7650 }
7651 {
7652 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwinit> */
7653 var_other = var_old_child;
7654 {
7655 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwinit> */
7656 var12 = var7 == var_other;
7657 var10 = var12;
7658 goto RET_LABEL11;
7659 RET_LABEL11:(void)0;
7660 }
7661 }
7662 var8 = var10;
7663 goto RET_LABEL9;
7664 RET_LABEL9:(void)0;
7665 }
7666 }
7667 if (var8){
7668 /* <var_new_child:nullable ANode> isa TKwinit */
7669 cltype14 = type_nit__TKwinit.color;
7670 idtype15 = type_nit__TKwinit.id;
7671 if(var_new_child == NULL) {
7672 var13 = 0;
7673 } else {
7674 if(cltype14 >= var_new_child->type->table_size) {
7675 var13 = 0;
7676 } else {
7677 var13 = var_new_child->type->type_table[cltype14] == idtype15;
7678 }
7679 }
7680 if (unlikely(!var13)) {
7681 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
7682 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwinit", var_class_name16);
7683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4486);
7684 show_backtrace(1);
7685 }
7686 {
7687 nit__parser_prod___AInitExpr___n_kwinit_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_kwinit= on <self:AInitExpr>*/
7688 }
7689 goto RET_LABEL;
7690 } else {
7691 }
7692 var17 = self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
7693 if (unlikely(var17 == NULL)) {
7694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4489);
7696 show_backtrace(1);
7697 }
7698 {
7699 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExprs> */
7700 var_other = var_old_child;
7701 {
7702 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExprs> */
7703 var22 = var17 == var_other;
7704 var20 = var22;
7705 goto RET_LABEL21;
7706 RET_LABEL21:(void)0;
7707 }
7708 }
7709 var18 = var20;
7710 goto RET_LABEL19;
7711 RET_LABEL19:(void)0;
7712 }
7713 }
7714 if (var18){
7715 /* <var_new_child:nullable ANode> isa AExprs */
7716 cltype24 = type_nit__AExprs.color;
7717 idtype25 = type_nit__AExprs.id;
7718 if(var_new_child == NULL) {
7719 var23 = 0;
7720 } else {
7721 if(cltype24 >= var_new_child->type->table_size) {
7722 var23 = 0;
7723 } else {
7724 var23 = var_new_child->type->type_table[cltype24] == idtype25;
7725 }
7726 }
7727 if (unlikely(!var23)) {
7728 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
7729 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name26);
7730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4490);
7731 show_backtrace(1);
7732 }
7733 {
7734 nit__parser_prod___AInitExpr___n_args_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_args= on <self:AInitExpr>*/
7735 }
7736 goto RET_LABEL;
7737 } else {
7738 }
7739 RET_LABEL:;
7740 }
7741 /* method parser_prod#AInitExpr#n_expr= for (self: AInitExpr, AExpr) */
7742 void nit__parser_prod___AInitExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
7743 val* var_node /* var node: AExpr */;
7744 var_node = p0;
7745 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AInitExpr> */
7746 {
7747 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7748 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
7749 RET_LABEL1:(void)0;
7750 }
7751 }
7752 RET_LABEL:;
7753 }
7754 /* method parser_prod#AInitExpr#n_kwinit= for (self: AInitExpr, TKwinit) */
7755 void nit__parser_prod___AInitExpr___n_kwinit_61d(val* self, val* p0) {
7756 val* var_node /* var node: TKwinit */;
7757 var_node = p0;
7758 self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_kwinit].val = var_node; /* _n_kwinit on <self:AInitExpr> */
7759 {
7760 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwinit> */
7761 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwinit> */
7762 RET_LABEL1:(void)0;
7763 }
7764 }
7765 RET_LABEL:;
7766 }
7767 /* method parser_prod#AInitExpr#n_args= for (self: AInitExpr, AExprs) */
7768 void nit__parser_prod___AInitExpr___n_args_61d(val* self, val* p0) {
7769 val* var_node /* var node: AExprs */;
7770 var_node = p0;
7771 self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_args].val = var_node; /* _n_args on <self:AInitExpr> */
7772 {
7773 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
7774 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
7775 RET_LABEL1:(void)0;
7776 }
7777 }
7778 RET_LABEL:;
7779 }
7780 /* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */
7781 void nit__parser_prod___AInitExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
7782 val* var_v /* var v: Visitor */;
7783 val* var /* : AExpr */;
7784 val* var1 /* : TKwinit */;
7785 val* var2 /* : AExprs */;
7786 var_v = p0;
7787 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AInitExpr> */
7788 if (unlikely(var == NULL)) {
7789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7790 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4514);
7791 show_backtrace(1);
7792 }
7793 {
7794 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7795 }
7796 var1 = self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
7797 if (unlikely(var1 == NULL)) {
7798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit");
7799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4515);
7800 show_backtrace(1);
7801 }
7802 {
7803 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7804 }
7805 var2 = self->attrs[COLOR_nit__parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
7806 if (unlikely(var2 == NULL)) {
7807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4516);
7809 show_backtrace(1);
7810 }
7811 {
7812 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7813 }
7814 RET_LABEL:;
7815 }
7816 /* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs) */
7817 void nit__parser_prod___ABraExpr___init_abraexpr(val* self, val* p0, val* p1) {
7818 val* var_n_expr /* var n_expr: nullable AExpr */;
7819 val* var_n_args /* var n_args: nullable AExprs */;
7820 var_n_expr = p0;
7821 var_n_args = p1;
7822 if (unlikely(var_n_expr == NULL)) {
7823 PRINT_ERROR("Runtime error: %s", "Cast failed");
7824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4525);
7825 show_backtrace(1);
7826 }
7827 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraExpr> */
7828 if (var_n_expr == NULL) {
7829 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4526);
7831 show_backtrace(1);
7832 } else {
7833 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
7834 if (unlikely(var_n_expr == NULL)) {
7835 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7837 show_backtrace(1);
7838 }
7839 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
7840 RET_LABEL1:(void)0;
7841 }
7842 }
7843 if (unlikely(var_n_args == NULL)) {
7844 PRINT_ERROR("Runtime error: %s", "Cast failed");
7845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4527);
7846 show_backtrace(1);
7847 }
7848 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraExpr> */
7849 if (var_n_args == NULL) {
7850 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4528);
7852 show_backtrace(1);
7853 } else {
7854 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
7855 if (unlikely(var_n_args == NULL)) {
7856 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
7858 show_backtrace(1);
7859 }
7860 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
7861 RET_LABEL2:(void)0;
7862 }
7863 }
7864 RET_LABEL:;
7865 }
7866 /* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */
7867 void nit__parser_prod___ABraExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
7868 val* var_old_child /* var old_child: ANode */;
7869 val* var_new_child /* var new_child: nullable ANode */;
7870 val* var /* : AExpr */;
7871 short int var1 /* : Bool */;
7872 val* var_other /* var other: nullable Object */;
7873 short int var3 /* : Bool */;
7874 short int var5 /* : Bool */;
7875 short int var6 /* : Bool */;
7876 int cltype;
7877 int idtype;
7878 const char* var_class_name;
7879 val* var7 /* : AExprs */;
7880 short int var8 /* : Bool */;
7881 short int var10 /* : Bool */;
7882 short int var12 /* : Bool */;
7883 short int var13 /* : Bool */;
7884 int cltype14;
7885 int idtype15;
7886 const char* var_class_name16;
7887 var_old_child = p0;
7888 var_new_child = p1;
7889 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
7890 if (unlikely(var == NULL)) {
7891 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4533);
7893 show_backtrace(1);
7894 }
7895 {
7896 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
7897 var_other = var_old_child;
7898 {
7899 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
7900 var5 = var == var_other;
7901 var3 = var5;
7902 goto RET_LABEL4;
7903 RET_LABEL4:(void)0;
7904 }
7905 }
7906 var1 = var3;
7907 goto RET_LABEL2;
7908 RET_LABEL2:(void)0;
7909 }
7910 }
7911 if (var1){
7912 /* <var_new_child:nullable ANode> isa AExpr */
7913 cltype = type_nit__AExpr.color;
7914 idtype = type_nit__AExpr.id;
7915 if(var_new_child == NULL) {
7916 var6 = 0;
7917 } else {
7918 if(cltype >= var_new_child->type->table_size) {
7919 var6 = 0;
7920 } else {
7921 var6 = var_new_child->type->type_table[cltype] == idtype;
7922 }
7923 }
7924 if (unlikely(!var6)) {
7925 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
7926 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
7927 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4534);
7928 show_backtrace(1);
7929 }
7930 {
7931 nit__parser_prod___ABraExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraExpr#n_expr= on <self:ABraExpr>*/
7932 }
7933 goto RET_LABEL;
7934 } else {
7935 }
7936 var7 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
7937 if (unlikely(var7 == NULL)) {
7938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4537);
7940 show_backtrace(1);
7941 }
7942 {
7943 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExprs> */
7944 var_other = var_old_child;
7945 {
7946 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExprs> */
7947 var12 = var7 == var_other;
7948 var10 = var12;
7949 goto RET_LABEL11;
7950 RET_LABEL11:(void)0;
7951 }
7952 }
7953 var8 = var10;
7954 goto RET_LABEL9;
7955 RET_LABEL9:(void)0;
7956 }
7957 }
7958 if (var8){
7959 /* <var_new_child:nullable ANode> isa AExprs */
7960 cltype14 = type_nit__AExprs.color;
7961 idtype15 = type_nit__AExprs.id;
7962 if(var_new_child == NULL) {
7963 var13 = 0;
7964 } else {
7965 if(cltype14 >= var_new_child->type->table_size) {
7966 var13 = 0;
7967 } else {
7968 var13 = var_new_child->type->type_table[cltype14] == idtype15;
7969 }
7970 }
7971 if (unlikely(!var13)) {
7972 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
7973 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name16);
7974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4538);
7975 show_backtrace(1);
7976 }
7977 {
7978 nit__parser_prod___ABraExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraExpr#n_args= on <self:ABraExpr>*/
7979 }
7980 goto RET_LABEL;
7981 } else {
7982 }
7983 RET_LABEL:;
7984 }
7985 /* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */
7986 void nit__parser_prod___ABraExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
7987 val* var_node /* var node: AExpr */;
7988 var_node = p0;
7989 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraExpr> */
7990 {
7991 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7992 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
7993 RET_LABEL1:(void)0;
7994 }
7995 }
7996 RET_LABEL:;
7997 }
7998 /* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */
7999 void nit__parser_prod___ABraExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(val* self, val* p0) {
8000 val* var_node /* var node: AExprs */;
8001 var_node = p0;
8002 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraExpr> */
8003 {
8004 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
8005 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
8006 RET_LABEL1:(void)0;
8007 }
8008 }
8009 RET_LABEL:;
8010 }
8011 /* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */
8012 void nit__parser_prod___ABraExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
8013 val* var_v /* var v: Visitor */;
8014 val* var /* : AExpr */;
8015 val* var1 /* : AExprs */;
8016 var_v = p0;
8017 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraExpr> */
8018 if (unlikely(var == NULL)) {
8019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8020 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4557);
8021 show_backtrace(1);
8022 }
8023 {
8024 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8025 }
8026 var1 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
8027 if (unlikely(var1 == NULL)) {
8028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4558);
8030 show_backtrace(1);
8031 }
8032 {
8033 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8034 }
8035 RET_LABEL:;
8036 }
8037 /* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */
8038 void nit__parser_prod___ABraAssignExpr___init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8039 val* var_n_expr /* var n_expr: nullable AExpr */;
8040 val* var_n_args /* var n_args: nullable AExprs */;
8041 val* var_n_assign /* var n_assign: nullable TAssign */;
8042 val* var_n_value /* var n_value: nullable AExpr */;
8043 var_n_expr = p0;
8044 var_n_args = p1;
8045 var_n_assign = p2;
8046 var_n_value = p3;
8047 if (unlikely(var_n_expr == NULL)) {
8048 PRINT_ERROR("Runtime error: %s", "Cast failed");
8049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4569);
8050 show_backtrace(1);
8051 }
8052 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraAssignExpr> */
8053 if (var_n_expr == NULL) {
8054 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4570);
8056 show_backtrace(1);
8057 } else {
8058 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8059 if (unlikely(var_n_expr == NULL)) {
8060 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8062 show_backtrace(1);
8063 }
8064 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
8065 RET_LABEL1:(void)0;
8066 }
8067 }
8068 if (unlikely(var_n_args == NULL)) {
8069 PRINT_ERROR("Runtime error: %s", "Cast failed");
8070 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4571);
8071 show_backtrace(1);
8072 }
8073 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraAssignExpr> */
8074 if (var_n_args == NULL) {
8075 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4572);
8077 show_backtrace(1);
8078 } else {
8079 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
8080 if (unlikely(var_n_args == NULL)) {
8081 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8083 show_backtrace(1);
8084 }
8085 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
8086 RET_LABEL2:(void)0;
8087 }
8088 }
8089 if (unlikely(var_n_assign == NULL)) {
8090 PRINT_ERROR("Runtime error: %s", "Cast failed");
8091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4573);
8092 show_backtrace(1);
8093 }
8094 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ABraAssignExpr> */
8095 if (var_n_assign == NULL) {
8096 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4574);
8098 show_backtrace(1);
8099 } else {
8100 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
8101 if (unlikely(var_n_assign == NULL)) {
8102 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8104 show_backtrace(1);
8105 }
8106 var_n_assign->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
8107 RET_LABEL3:(void)0;
8108 }
8109 }
8110 if (unlikely(var_n_value == NULL)) {
8111 PRINT_ERROR("Runtime error: %s", "Cast failed");
8112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4575);
8113 show_backtrace(1);
8114 }
8115 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraAssignExpr> */
8116 if (var_n_value == NULL) {
8117 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4576);
8119 show_backtrace(1);
8120 } else {
8121 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
8122 if (unlikely(var_n_value == NULL)) {
8123 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8125 show_backtrace(1);
8126 }
8127 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
8128 RET_LABEL4:(void)0;
8129 }
8130 }
8131 RET_LABEL:;
8132 }
8133 /* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */
8134 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8135 val* var_old_child /* var old_child: ANode */;
8136 val* var_new_child /* var new_child: nullable ANode */;
8137 val* var /* : AExpr */;
8138 short int var1 /* : Bool */;
8139 val* var_other /* var other: nullable Object */;
8140 short int var3 /* : Bool */;
8141 short int var5 /* : Bool */;
8142 short int var6 /* : Bool */;
8143 int cltype;
8144 int idtype;
8145 const char* var_class_name;
8146 val* var7 /* : AExprs */;
8147 short int var8 /* : Bool */;
8148 short int var10 /* : Bool */;
8149 short int var12 /* : Bool */;
8150 short int var13 /* : Bool */;
8151 int cltype14;
8152 int idtype15;
8153 const char* var_class_name16;
8154 val* var17 /* : TAssign */;
8155 short int var18 /* : Bool */;
8156 short int var20 /* : Bool */;
8157 short int var22 /* : Bool */;
8158 short int var23 /* : Bool */;
8159 int cltype24;
8160 int idtype25;
8161 const char* var_class_name26;
8162 val* var27 /* : AExpr */;
8163 short int var28 /* : Bool */;
8164 short int var30 /* : Bool */;
8165 short int var32 /* : Bool */;
8166 short int var33 /* : Bool */;
8167 int cltype34;
8168 int idtype35;
8169 const char* var_class_name36;
8170 var_old_child = p0;
8171 var_new_child = p1;
8172 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
8173 if (unlikely(var == NULL)) {
8174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8175 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4581);
8176 show_backtrace(1);
8177 }
8178 {
8179 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8180 var_other = var_old_child;
8181 {
8182 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8183 var5 = var == var_other;
8184 var3 = var5;
8185 goto RET_LABEL4;
8186 RET_LABEL4:(void)0;
8187 }
8188 }
8189 var1 = var3;
8190 goto RET_LABEL2;
8191 RET_LABEL2:(void)0;
8192 }
8193 }
8194 if (var1){
8195 /* <var_new_child:nullable ANode> isa AExpr */
8196 cltype = type_nit__AExpr.color;
8197 idtype = type_nit__AExpr.id;
8198 if(var_new_child == NULL) {
8199 var6 = 0;
8200 } else {
8201 if(cltype >= var_new_child->type->table_size) {
8202 var6 = 0;
8203 } else {
8204 var6 = var_new_child->type->type_table[cltype] == idtype;
8205 }
8206 }
8207 if (unlikely(!var6)) {
8208 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8209 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
8210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4582);
8211 show_backtrace(1);
8212 }
8213 {
8214 nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_expr= on <self:ABraAssignExpr>*/
8215 }
8216 goto RET_LABEL;
8217 } else {
8218 }
8219 var7 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
8220 if (unlikely(var7 == NULL)) {
8221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4585);
8223 show_backtrace(1);
8224 }
8225 {
8226 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExprs> */
8227 var_other = var_old_child;
8228 {
8229 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExprs> */
8230 var12 = var7 == var_other;
8231 var10 = var12;
8232 goto RET_LABEL11;
8233 RET_LABEL11:(void)0;
8234 }
8235 }
8236 var8 = var10;
8237 goto RET_LABEL9;
8238 RET_LABEL9:(void)0;
8239 }
8240 }
8241 if (var8){
8242 /* <var_new_child:nullable ANode> isa AExprs */
8243 cltype14 = type_nit__AExprs.color;
8244 idtype15 = type_nit__AExprs.id;
8245 if(var_new_child == NULL) {
8246 var13 = 0;
8247 } else {
8248 if(cltype14 >= var_new_child->type->table_size) {
8249 var13 = 0;
8250 } else {
8251 var13 = var_new_child->type->type_table[cltype14] == idtype15;
8252 }
8253 }
8254 if (unlikely(!var13)) {
8255 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
8256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name16);
8257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4586);
8258 show_backtrace(1);
8259 }
8260 {
8261 nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_args= on <self:ABraAssignExpr>*/
8262 }
8263 goto RET_LABEL;
8264 } else {
8265 }
8266 var17 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
8267 if (unlikely(var17 == NULL)) {
8268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
8269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4589);
8270 show_backtrace(1);
8271 }
8272 {
8273 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:TAssign> */
8274 var_other = var_old_child;
8275 {
8276 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TAssign> */
8277 var22 = var17 == var_other;
8278 var20 = var22;
8279 goto RET_LABEL21;
8280 RET_LABEL21:(void)0;
8281 }
8282 }
8283 var18 = var20;
8284 goto RET_LABEL19;
8285 RET_LABEL19:(void)0;
8286 }
8287 }
8288 if (var18){
8289 /* <var_new_child:nullable ANode> isa TAssign */
8290 cltype24 = type_nit__TAssign.color;
8291 idtype25 = type_nit__TAssign.id;
8292 if(var_new_child == NULL) {
8293 var23 = 0;
8294 } else {
8295 if(cltype24 >= var_new_child->type->table_size) {
8296 var23 = 0;
8297 } else {
8298 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8299 }
8300 }
8301 if (unlikely(!var23)) {
8302 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
8303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name26);
8304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4590);
8305 show_backtrace(1);
8306 }
8307 {
8308 nit__parser_prod___ABraAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_assign= on <self:ABraAssignExpr>*/
8309 }
8310 goto RET_LABEL;
8311 } else {
8312 }
8313 var27 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
8314 if (unlikely(var27 == NULL)) {
8315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
8316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4593);
8317 show_backtrace(1);
8318 }
8319 {
8320 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
8321 var_other = var_old_child;
8322 {
8323 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
8324 var32 = var27 == var_other;
8325 var30 = var32;
8326 goto RET_LABEL31;
8327 RET_LABEL31:(void)0;
8328 }
8329 }
8330 var28 = var30;
8331 goto RET_LABEL29;
8332 RET_LABEL29:(void)0;
8333 }
8334 }
8335 if (var28){
8336 /* <var_new_child:nullable ANode> isa AExpr */
8337 cltype34 = type_nit__AExpr.color;
8338 idtype35 = type_nit__AExpr.id;
8339 if(var_new_child == NULL) {
8340 var33 = 0;
8341 } else {
8342 if(cltype34 >= var_new_child->type->table_size) {
8343 var33 = 0;
8344 } else {
8345 var33 = var_new_child->type->type_table[cltype34] == idtype35;
8346 }
8347 }
8348 if (unlikely(!var33)) {
8349 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
8350 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
8351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4594);
8352 show_backtrace(1);
8353 }
8354 {
8355 nit__parser_prod___ABraAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_value= on <self:ABraAssignExpr>*/
8356 }
8357 goto RET_LABEL;
8358 } else {
8359 }
8360 RET_LABEL:;
8361 }
8362 /* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */
8363 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
8364 val* var_node /* var node: AExpr */;
8365 var_node = p0;
8366 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraAssignExpr> */
8367 {
8368 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8369 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
8370 RET_LABEL1:(void)0;
8371 }
8372 }
8373 RET_LABEL:;
8374 }
8375 /* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */
8376 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(val* self, val* p0) {
8377 val* var_node /* var node: AExprs */;
8378 var_node = p0;
8379 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraAssignExpr> */
8380 {
8381 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
8382 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
8383 RET_LABEL1:(void)0;
8384 }
8385 }
8386 RET_LABEL:;
8387 }
8388 /* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */
8389 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(val* self, val* p0) {
8390 val* var_node /* var node: TAssign */;
8391 var_node = p0;
8392 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ABraAssignExpr> */
8393 {
8394 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
8395 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
8396 RET_LABEL1:(void)0;
8397 }
8398 }
8399 RET_LABEL:;
8400 }
8401 /* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */
8402 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(val* self, val* p0) {
8403 val* var_node /* var node: AExpr */;
8404 var_node = p0;
8405 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraAssignExpr> */
8406 {
8407 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8408 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
8409 RET_LABEL1:(void)0;
8410 }
8411 }
8412 RET_LABEL:;
8413 }
8414 /* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */
8415 void nit__parser_prod___ABraAssignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
8416 val* var_v /* var v: Visitor */;
8417 val* var /* : AExpr */;
8418 val* var1 /* : AExprs */;
8419 val* var2 /* : TAssign */;
8420 val* var3 /* : AExpr */;
8421 var_v = p0;
8422 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraAssignExpr> */
8423 if (unlikely(var == NULL)) {
8424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8425 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4623);
8426 show_backtrace(1);
8427 }
8428 {
8429 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8430 }
8431 var1 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
8432 if (unlikely(var1 == NULL)) {
8433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4624);
8435 show_backtrace(1);
8436 }
8437 {
8438 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8439 }
8440 var2 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ABraAssignExpr> */
8441 if (unlikely(var2 == NULL)) {
8442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
8443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4625);
8444 show_backtrace(1);
8445 }
8446 {
8447 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8448 }
8449 var3 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
8450 if (unlikely(var3 == NULL)) {
8451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
8452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4626);
8453 show_backtrace(1);
8454 }
8455 {
8456 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8457 }
8458 RET_LABEL:;
8459 }
8460 /* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */
8461 void nit__parser_prod___ABraReassignExpr___init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8462 val* var_n_expr /* var n_expr: nullable AExpr */;
8463 val* var_n_args /* var n_args: nullable AExprs */;
8464 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
8465 val* var_n_value /* var n_value: nullable AExpr */;
8466 var_n_expr = p0;
8467 var_n_args = p1;
8468 var_n_assign_op = p2;
8469 var_n_value = p3;
8470 if (unlikely(var_n_expr == NULL)) {
8471 PRINT_ERROR("Runtime error: %s", "Cast failed");
8472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4637);
8473 show_backtrace(1);
8474 }
8475 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABraReassignExpr> */
8476 if (var_n_expr == NULL) {
8477 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4638);
8479 show_backtrace(1);
8480 } else {
8481 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8482 if (unlikely(var_n_expr == NULL)) {
8483 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8485 show_backtrace(1);
8486 }
8487 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
8488 RET_LABEL1:(void)0;
8489 }
8490 }
8491 if (unlikely(var_n_args == NULL)) {
8492 PRINT_ERROR("Runtime error: %s", "Cast failed");
8493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4639);
8494 show_backtrace(1);
8495 }
8496 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on <self:ABraReassignExpr> */
8497 if (var_n_args == NULL) {
8498 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4640);
8500 show_backtrace(1);
8501 } else {
8502 { /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
8503 if (unlikely(var_n_args == NULL)) {
8504 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8506 show_backtrace(1);
8507 }
8508 var_n_args->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
8509 RET_LABEL2:(void)0;
8510 }
8511 }
8512 if (unlikely(var_n_assign_op == NULL)) {
8513 PRINT_ERROR("Runtime error: %s", "Cast failed");
8514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4641);
8515 show_backtrace(1);
8516 }
8517 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ABraReassignExpr> */
8518 if (var_n_assign_op == NULL) {
8519 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4642);
8521 show_backtrace(1);
8522 } else {
8523 { /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
8524 if (unlikely(var_n_assign_op == NULL)) {
8525 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8527 show_backtrace(1);
8528 }
8529 var_n_assign_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
8530 RET_LABEL3:(void)0;
8531 }
8532 }
8533 if (unlikely(var_n_value == NULL)) {
8534 PRINT_ERROR("Runtime error: %s", "Cast failed");
8535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4643);
8536 show_backtrace(1);
8537 }
8538 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ABraReassignExpr> */
8539 if (var_n_value == NULL) {
8540 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8541 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4644);
8542 show_backtrace(1);
8543 } else {
8544 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
8545 if (unlikely(var_n_value == NULL)) {
8546 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8548 show_backtrace(1);
8549 }
8550 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
8551 RET_LABEL4:(void)0;
8552 }
8553 }
8554 RET_LABEL:;
8555 }
8556 /* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */
8557 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8558 val* var_old_child /* var old_child: ANode */;
8559 val* var_new_child /* var new_child: nullable ANode */;
8560 val* var /* : AExpr */;
8561 short int var1 /* : Bool */;
8562 val* var_other /* var other: nullable Object */;
8563 short int var3 /* : Bool */;
8564 short int var5 /* : Bool */;
8565 short int var6 /* : Bool */;
8566 int cltype;
8567 int idtype;
8568 const char* var_class_name;
8569 val* var7 /* : AExprs */;
8570 short int var8 /* : Bool */;
8571 short int var10 /* : Bool */;
8572 short int var12 /* : Bool */;
8573 short int var13 /* : Bool */;
8574 int cltype14;
8575 int idtype15;
8576 const char* var_class_name16;
8577 val* var17 /* : AAssignOp */;
8578 short int var18 /* : Bool */;
8579 short int var20 /* : Bool */;
8580 short int var22 /* : Bool */;
8581 short int var23 /* : Bool */;
8582 int cltype24;
8583 int idtype25;
8584 const char* var_class_name26;
8585 val* var27 /* : AExpr */;
8586 short int var28 /* : Bool */;
8587 short int var30 /* : Bool */;
8588 short int var32 /* : Bool */;
8589 short int var33 /* : Bool */;
8590 int cltype34;
8591 int idtype35;
8592 const char* var_class_name36;
8593 var_old_child = p0;
8594 var_new_child = p1;
8595 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
8596 if (unlikely(var == NULL)) {
8597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8598 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4649);
8599 show_backtrace(1);
8600 }
8601 {
8602 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8603 var_other = var_old_child;
8604 {
8605 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8606 var5 = var == var_other;
8607 var3 = var5;
8608 goto RET_LABEL4;
8609 RET_LABEL4:(void)0;
8610 }
8611 }
8612 var1 = var3;
8613 goto RET_LABEL2;
8614 RET_LABEL2:(void)0;
8615 }
8616 }
8617 if (var1){
8618 /* <var_new_child:nullable ANode> isa AExpr */
8619 cltype = type_nit__AExpr.color;
8620 idtype = type_nit__AExpr.id;
8621 if(var_new_child == NULL) {
8622 var6 = 0;
8623 } else {
8624 if(cltype >= var_new_child->type->table_size) {
8625 var6 = 0;
8626 } else {
8627 var6 = var_new_child->type->type_table[cltype] == idtype;
8628 }
8629 }
8630 if (unlikely(!var6)) {
8631 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8632 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
8633 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4650);
8634 show_backtrace(1);
8635 }
8636 {
8637 nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_expr= on <self:ABraReassignExpr>*/
8638 }
8639 goto RET_LABEL;
8640 } else {
8641 }
8642 var7 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
8643 if (unlikely(var7 == NULL)) {
8644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8645 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4653);
8646 show_backtrace(1);
8647 }
8648 {
8649 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExprs> */
8650 var_other = var_old_child;
8651 {
8652 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExprs> */
8653 var12 = var7 == var_other;
8654 var10 = var12;
8655 goto RET_LABEL11;
8656 RET_LABEL11:(void)0;
8657 }
8658 }
8659 var8 = var10;
8660 goto RET_LABEL9;
8661 RET_LABEL9:(void)0;
8662 }
8663 }
8664 if (var8){
8665 /* <var_new_child:nullable ANode> isa AExprs */
8666 cltype14 = type_nit__AExprs.color;
8667 idtype15 = type_nit__AExprs.id;
8668 if(var_new_child == NULL) {
8669 var13 = 0;
8670 } else {
8671 if(cltype14 >= var_new_child->type->table_size) {
8672 var13 = 0;
8673 } else {
8674 var13 = var_new_child->type->type_table[cltype14] == idtype15;
8675 }
8676 }
8677 if (unlikely(!var13)) {
8678 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
8679 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name16);
8680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4654);
8681 show_backtrace(1);
8682 }
8683 {
8684 nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_args= on <self:ABraReassignExpr>*/
8685 }
8686 goto RET_LABEL;
8687 } else {
8688 }
8689 var17 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
8690 if (unlikely(var17 == NULL)) {
8691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
8692 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4657);
8693 show_backtrace(1);
8694 }
8695 {
8696 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AAssignOp> */
8697 var_other = var_old_child;
8698 {
8699 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AAssignOp> */
8700 var22 = var17 == var_other;
8701 var20 = var22;
8702 goto RET_LABEL21;
8703 RET_LABEL21:(void)0;
8704 }
8705 }
8706 var18 = var20;
8707 goto RET_LABEL19;
8708 RET_LABEL19:(void)0;
8709 }
8710 }
8711 if (var18){
8712 /* <var_new_child:nullable ANode> isa AAssignOp */
8713 cltype24 = type_nit__AAssignOp.color;
8714 idtype25 = type_nit__AAssignOp.id;
8715 if(var_new_child == NULL) {
8716 var23 = 0;
8717 } else {
8718 if(cltype24 >= var_new_child->type->table_size) {
8719 var23 = 0;
8720 } else {
8721 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8722 }
8723 }
8724 if (unlikely(!var23)) {
8725 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
8726 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name26);
8727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4658);
8728 show_backtrace(1);
8729 }
8730 {
8731 nit__parser_prod___ABraReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_assign_op= on <self:ABraReassignExpr>*/
8732 }
8733 goto RET_LABEL;
8734 } else {
8735 }
8736 var27 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
8737 if (unlikely(var27 == NULL)) {
8738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
8739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4661);
8740 show_backtrace(1);
8741 }
8742 {
8743 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
8744 var_other = var_old_child;
8745 {
8746 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
8747 var32 = var27 == var_other;
8748 var30 = var32;
8749 goto RET_LABEL31;
8750 RET_LABEL31:(void)0;
8751 }
8752 }
8753 var28 = var30;
8754 goto RET_LABEL29;
8755 RET_LABEL29:(void)0;
8756 }
8757 }
8758 if (var28){
8759 /* <var_new_child:nullable ANode> isa AExpr */
8760 cltype34 = type_nit__AExpr.color;
8761 idtype35 = type_nit__AExpr.id;
8762 if(var_new_child == NULL) {
8763 var33 = 0;
8764 } else {
8765 if(cltype34 >= var_new_child->type->table_size) {
8766 var33 = 0;
8767 } else {
8768 var33 = var_new_child->type->type_table[cltype34] == idtype35;
8769 }
8770 }
8771 if (unlikely(!var33)) {
8772 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
8773 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
8774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4662);
8775 show_backtrace(1);
8776 }
8777 {
8778 nit__parser_prod___ABraReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_value= on <self:ABraReassignExpr>*/
8779 }
8780 goto RET_LABEL;
8781 } else {
8782 }
8783 RET_LABEL:;
8784 }
8785 /* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */
8786 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
8787 val* var_node /* var node: AExpr */;
8788 var_node = p0;
8789 self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABraReassignExpr> */
8790 {
8791 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8792 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
8793 RET_LABEL1:(void)0;
8794 }
8795 }
8796 RET_LABEL:;
8797 }
8798 /* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */
8799 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ABraFormExpr__n_args_61d(val* self, val* p0) {
8800 val* var_node /* var node: AExprs */;
8801 var_node = p0;
8802 self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on <self:ABraReassignExpr> */
8803 {
8804 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
8805 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
8806 RET_LABEL1:(void)0;
8807 }
8808 }
8809 RET_LABEL:;
8810 }
8811 /* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */
8812 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(val* self, val* p0) {
8813 val* var_node /* var node: AAssignOp */;
8814 var_node = p0;
8815 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ABraReassignExpr> */
8816 {
8817 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAssignOp> */
8818 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAssignOp> */
8819 RET_LABEL1:(void)0;
8820 }
8821 }
8822 RET_LABEL:;
8823 }
8824 /* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */
8825 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(val* self, val* p0) {
8826 val* var_node /* var node: AExpr */;
8827 var_node = p0;
8828 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ABraReassignExpr> */
8829 {
8830 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8831 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
8832 RET_LABEL1:(void)0;
8833 }
8834 }
8835 RET_LABEL:;
8836 }
8837 /* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */
8838 void nit__parser_prod___ABraReassignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
8839 val* var_v /* var v: Visitor */;
8840 val* var /* : AExpr */;
8841 val* var1 /* : AExprs */;
8842 val* var2 /* : AAssignOp */;
8843 val* var3 /* : AExpr */;
8844 var_v = p0;
8845 var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABraReassignExpr> */
8846 if (unlikely(var == NULL)) {
8847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4691);
8849 show_backtrace(1);
8850 }
8851 {
8852 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8853 }
8854 var1 = self->attrs[COLOR_nit__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
8855 if (unlikely(var1 == NULL)) {
8856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
8857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4692);
8858 show_backtrace(1);
8859 }
8860 {
8861 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8862 }
8863 var2 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ABraReassignExpr> */
8864 if (unlikely(var2 == NULL)) {
8865 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
8866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4693);
8867 show_backtrace(1);
8868 }
8869 {
8870 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8871 }
8872 var3 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ABraReassignExpr> */
8873 if (unlikely(var3 == NULL)) {
8874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
8875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4694);
8876 show_backtrace(1);
8877 }
8878 {
8879 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8880 }
8881 RET_LABEL:;
8882 }
8883 /* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */
8884 void nit__parser_prod___AVarExpr___init_avarexpr(val* self, val* p0) {
8885 val* var_n_id /* var n_id: nullable TId */;
8886 var_n_id = p0;
8887 if (unlikely(var_n_id == NULL)) {
8888 PRINT_ERROR("Runtime error: %s", "Cast failed");
8889 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4702);
8890 show_backtrace(1);
8891 }
8892 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarExpr> */
8893 if (var_n_id == NULL) {
8894 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4703);
8896 show_backtrace(1);
8897 } else {
8898 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
8899 if (unlikely(var_n_id == NULL)) {
8900 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
8902 show_backtrace(1);
8903 }
8904 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
8905 RET_LABEL1:(void)0;
8906 }
8907 }
8908 RET_LABEL:;
8909 }
8910 /* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */
8911 void nit__parser_prod___AVarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8912 val* var_old_child /* var old_child: ANode */;
8913 val* var_new_child /* var new_child: nullable ANode */;
8914 val* var /* : TId */;
8915 short int var1 /* : Bool */;
8916 val* var_other /* var other: nullable Object */;
8917 short int var3 /* : Bool */;
8918 short int var5 /* : Bool */;
8919 short int var6 /* : Bool */;
8920 int cltype;
8921 int idtype;
8922 const char* var_class_name;
8923 var_old_child = p0;
8924 var_new_child = p1;
8925 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
8926 if (unlikely(var == NULL)) {
8927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8928 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4708);
8929 show_backtrace(1);
8930 }
8931 {
8932 { /* Inline kernel#Object#== (var,var_old_child) on <var:TId> */
8933 var_other = var_old_child;
8934 {
8935 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TId> */
8936 var5 = var == var_other;
8937 var3 = var5;
8938 goto RET_LABEL4;
8939 RET_LABEL4:(void)0;
8940 }
8941 }
8942 var1 = var3;
8943 goto RET_LABEL2;
8944 RET_LABEL2:(void)0;
8945 }
8946 }
8947 if (var1){
8948 /* <var_new_child:nullable ANode> isa TId */
8949 cltype = type_nit__TId.color;
8950 idtype = type_nit__TId.id;
8951 if(var_new_child == NULL) {
8952 var6 = 0;
8953 } else {
8954 if(cltype >= var_new_child->type->table_size) {
8955 var6 = 0;
8956 } else {
8957 var6 = var_new_child->type->type_table[cltype] == idtype;
8958 }
8959 }
8960 if (unlikely(!var6)) {
8961 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8962 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name);
8963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4709);
8964 show_backtrace(1);
8965 }
8966 {
8967 nit__parser_prod___AVarExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarExpr#n_id= on <self:AVarExpr>*/
8968 }
8969 goto RET_LABEL;
8970 } else {
8971 }
8972 RET_LABEL:;
8973 }
8974 /* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */
8975 void nit__parser_prod___AVarExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(val* self, val* p0) {
8976 val* var_node /* var node: TId */;
8977 var_node = p0;
8978 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarExpr> */
8979 {
8980 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
8981 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
8982 RET_LABEL1:(void)0;
8983 }
8984 }
8985 RET_LABEL:;
8986 }
8987 /* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */
8988 void nit__parser_prod___AVarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
8989 val* var_v /* var v: Visitor */;
8990 val* var /* : TId */;
8991 var_v = p0;
8992 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarExpr> */
8993 if (unlikely(var == NULL)) {
8994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
8995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4723);
8996 show_backtrace(1);
8997 }
8998 {
8999 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9000 }
9001 RET_LABEL:;
9002 }
9003 /* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */
9004 void nit__parser_prod___AVarAssignExpr___init_avarassignexpr(val* self, val* p0, val* p1, val* p2) {
9005 val* var_n_id /* var n_id: nullable TId */;
9006 val* var_n_assign /* var n_assign: nullable TAssign */;
9007 val* var_n_value /* var n_value: nullable AExpr */;
9008 var_n_id = p0;
9009 var_n_assign = p1;
9010 var_n_value = p2;
9011 if (unlikely(var_n_id == NULL)) {
9012 PRINT_ERROR("Runtime error: %s", "Cast failed");
9013 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4733);
9014 show_backtrace(1);
9015 }
9016 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarAssignExpr> */
9017 if (var_n_id == NULL) {
9018 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9019 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4734);
9020 show_backtrace(1);
9021 } else {
9022 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
9023 if (unlikely(var_n_id == NULL)) {
9024 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9026 show_backtrace(1);
9027 }
9028 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
9029 RET_LABEL1:(void)0;
9030 }
9031 }
9032 if (unlikely(var_n_assign == NULL)) {
9033 PRINT_ERROR("Runtime error: %s", "Cast failed");
9034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4735);
9035 show_backtrace(1);
9036 }
9037 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AVarAssignExpr> */
9038 if (var_n_assign == NULL) {
9039 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4736);
9041 show_backtrace(1);
9042 } else {
9043 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
9044 if (unlikely(var_n_assign == NULL)) {
9045 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9047 show_backtrace(1);
9048 }
9049 var_n_assign->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
9050 RET_LABEL2:(void)0;
9051 }
9052 }
9053 if (unlikely(var_n_value == NULL)) {
9054 PRINT_ERROR("Runtime error: %s", "Cast failed");
9055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4737);
9056 show_backtrace(1);
9057 }
9058 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarAssignExpr> */
9059 if (var_n_value == NULL) {
9060 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4738);
9062 show_backtrace(1);
9063 } else {
9064 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
9065 if (unlikely(var_n_value == NULL)) {
9066 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9067 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9068 show_backtrace(1);
9069 }
9070 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
9071 RET_LABEL3:(void)0;
9072 }
9073 }
9074 RET_LABEL:;
9075 }
9076 /* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */
9077 void nit__parser_prod___AVarAssignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
9078 val* var_old_child /* var old_child: ANode */;
9079 val* var_new_child /* var new_child: nullable ANode */;
9080 val* var /* : TId */;
9081 short int var1 /* : Bool */;
9082 val* var_other /* var other: nullable Object */;
9083 short int var3 /* : Bool */;
9084 short int var5 /* : Bool */;
9085 short int var6 /* : Bool */;
9086 int cltype;
9087 int idtype;
9088 const char* var_class_name;
9089 val* var7 /* : TAssign */;
9090 short int var8 /* : Bool */;
9091 short int var10 /* : Bool */;
9092 short int var12 /* : Bool */;
9093 short int var13 /* : Bool */;
9094 int cltype14;
9095 int idtype15;
9096 const char* var_class_name16;
9097 val* var17 /* : AExpr */;
9098 short int var18 /* : Bool */;
9099 short int var20 /* : Bool */;
9100 short int var22 /* : Bool */;
9101 short int var23 /* : Bool */;
9102 int cltype24;
9103 int idtype25;
9104 const char* var_class_name26;
9105 var_old_child = p0;
9106 var_new_child = p1;
9107 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
9108 if (unlikely(var == NULL)) {
9109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
9110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4743);
9111 show_backtrace(1);
9112 }
9113 {
9114 { /* Inline kernel#Object#== (var,var_old_child) on <var:TId> */
9115 var_other = var_old_child;
9116 {
9117 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TId> */
9118 var5 = var == var_other;
9119 var3 = var5;
9120 goto RET_LABEL4;
9121 RET_LABEL4:(void)0;
9122 }
9123 }
9124 var1 = var3;
9125 goto RET_LABEL2;
9126 RET_LABEL2:(void)0;
9127 }
9128 }
9129 if (var1){
9130 /* <var_new_child:nullable ANode> isa TId */
9131 cltype = type_nit__TId.color;
9132 idtype = type_nit__TId.id;
9133 if(var_new_child == NULL) {
9134 var6 = 0;
9135 } else {
9136 if(cltype >= var_new_child->type->table_size) {
9137 var6 = 0;
9138 } else {
9139 var6 = var_new_child->type->type_table[cltype] == idtype;
9140 }
9141 }
9142 if (unlikely(!var6)) {
9143 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
9144 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name);
9145 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4744);
9146 show_backtrace(1);
9147 }
9148 {
9149 nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_id= on <self:AVarAssignExpr>*/
9150 }
9151 goto RET_LABEL;
9152 } else {
9153 }
9154 var7 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
9155 if (unlikely(var7 == NULL)) {
9156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
9157 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4747);
9158 show_backtrace(1);
9159 }
9160 {
9161 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TAssign> */
9162 var_other = var_old_child;
9163 {
9164 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TAssign> */
9165 var12 = var7 == var_other;
9166 var10 = var12;
9167 goto RET_LABEL11;
9168 RET_LABEL11:(void)0;
9169 }
9170 }
9171 var8 = var10;
9172 goto RET_LABEL9;
9173 RET_LABEL9:(void)0;
9174 }
9175 }
9176 if (var8){
9177 /* <var_new_child:nullable ANode> isa TAssign */
9178 cltype14 = type_nit__TAssign.color;
9179 idtype15 = type_nit__TAssign.id;
9180 if(var_new_child == NULL) {
9181 var13 = 0;
9182 } else {
9183 if(cltype14 >= var_new_child->type->table_size) {
9184 var13 = 0;
9185 } else {
9186 var13 = var_new_child->type->type_table[cltype14] == idtype15;
9187 }
9188 }
9189 if (unlikely(!var13)) {
9190 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
9191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name16);
9192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4748);
9193 show_backtrace(1);
9194 }
9195 {
9196 nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_assign= on <self:AVarAssignExpr>*/
9197 }
9198 goto RET_LABEL;
9199 } else {
9200 }
9201 var17 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
9202 if (unlikely(var17 == NULL)) {
9203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
9204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4751);
9205 show_backtrace(1);
9206 }
9207 {
9208 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
9209 var_other = var_old_child;
9210 {
9211 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
9212 var22 = var17 == var_other;
9213 var20 = var22;
9214 goto RET_LABEL21;
9215 RET_LABEL21:(void)0;
9216 }
9217 }
9218 var18 = var20;
9219 goto RET_LABEL19;
9220 RET_LABEL19:(void)0;
9221 }
9222 }
9223 if (var18){
9224 /* <var_new_child:nullable ANode> isa AExpr */
9225 cltype24 = type_nit__AExpr.color;
9226 idtype25 = type_nit__AExpr.id;
9227 if(var_new_child == NULL) {
9228 var23 = 0;
9229 } else {
9230 if(cltype24 >= var_new_child->type->table_size) {
9231 var23 = 0;
9232 } else {
9233 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9234 }
9235 }
9236 if (unlikely(!var23)) {
9237 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
9238 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
9239 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4752);
9240 show_backtrace(1);
9241 }
9242 {
9243 nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_value= on <self:AVarAssignExpr>*/
9244 }
9245 goto RET_LABEL;
9246 } else {
9247 }
9248 RET_LABEL:;
9249 }
9250 /* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */
9251 void nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(val* self, val* p0) {
9252 val* var_node /* var node: TId */;
9253 var_node = p0;
9254 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarAssignExpr> */
9255 {
9256 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
9257 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
9258 RET_LABEL1:(void)0;
9259 }
9260 }
9261 RET_LABEL:;
9262 }
9263 /* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */
9264 void nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AAssignFormExpr__n_assign_61d(val* self, val* p0) {
9265 val* var_node /* var node: TAssign */;
9266 var_node = p0;
9267 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AVarAssignExpr> */
9268 {
9269 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
9270 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
9271 RET_LABEL1:(void)0;
9272 }
9273 }
9274 RET_LABEL:;
9275 }
9276 /* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */
9277 void nit__parser_prod___AVarAssignExpr___nit__parser_nodes__AAssignFormExpr__n_value_61d(val* self, val* p0) {
9278 val* var_node /* var node: AExpr */;
9279 var_node = p0;
9280 self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarAssignExpr> */
9281 {
9282 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9283 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
9284 RET_LABEL1:(void)0;
9285 }
9286 }
9287 RET_LABEL:;
9288 }
9289 /* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */
9290 void nit__parser_prod___AVarAssignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
9291 val* var_v /* var v: Visitor */;
9292 val* var /* : TId */;
9293 val* var1 /* : TAssign */;
9294 val* var2 /* : AExpr */;
9295 var_v = p0;
9296 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarAssignExpr> */
9297 if (unlikely(var == NULL)) {
9298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
9299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4776);
9300 show_backtrace(1);
9301 }
9302 {
9303 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9304 }
9305 var1 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AVarAssignExpr> */
9306 if (unlikely(var1 == NULL)) {
9307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
9308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4777);
9309 show_backtrace(1);
9310 }
9311 {
9312 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9313 }
9314 var2 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AVarAssignExpr> */
9315 if (unlikely(var2 == NULL)) {
9316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
9317 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4778);
9318 show_backtrace(1);
9319 }
9320 {
9321 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9322 }
9323 RET_LABEL:;
9324 }
9325 /* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */
9326 void nit__parser_prod___AVarReassignExpr___init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) {
9327 val* var_n_id /* var n_id: nullable TId */;
9328 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
9329 val* var_n_value /* var n_value: nullable AExpr */;
9330 var_n_id = p0;
9331 var_n_assign_op = p1;
9332 var_n_value = p2;
9333 if (unlikely(var_n_id == NULL)) {
9334 PRINT_ERROR("Runtime error: %s", "Cast failed");
9335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4788);
9336 show_backtrace(1);
9337 }
9338 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on <self:AVarReassignExpr> */
9339 if (var_n_id == NULL) {
9340 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4789);
9342 show_backtrace(1);
9343 } else {
9344 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
9345 if (unlikely(var_n_id == NULL)) {
9346 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9348 show_backtrace(1);
9349 }
9350 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
9351 RET_LABEL1:(void)0;
9352 }
9353 }
9354 if (unlikely(var_n_assign_op == NULL)) {
9355 PRINT_ERROR("Runtime error: %s", "Cast failed");
9356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4790);
9357 show_backtrace(1);
9358 }
9359 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AVarReassignExpr> */
9360 if (var_n_assign_op == NULL) {
9361 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4791);
9363 show_backtrace(1);
9364 } else {
9365 { /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
9366 if (unlikely(var_n_assign_op == NULL)) {
9367 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9369 show_backtrace(1);
9370 }
9371 var_n_assign_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
9372 RET_LABEL2:(void)0;
9373 }
9374 }
9375 if (unlikely(var_n_value == NULL)) {
9376 PRINT_ERROR("Runtime error: %s", "Cast failed");
9377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4792);
9378 show_backtrace(1);
9379 }
9380 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AVarReassignExpr> */
9381 if (var_n_value == NULL) {
9382 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9383 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4793);
9384 show_backtrace(1);
9385 } else {
9386 { /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
9387 if (unlikely(var_n_value == NULL)) {
9388 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9389 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9390 show_backtrace(1);
9391 }
9392 var_n_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
9393 RET_LABEL3:(void)0;
9394 }
9395 }
9396 RET_LABEL:;
9397 }
9398 /* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */
9399 void nit__parser_prod___AVarReassignExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
9400 val* var_old_child /* var old_child: ANode */;
9401 val* var_new_child /* var new_child: nullable ANode */;
9402 val* var /* : TId */;
9403 short int var1 /* : Bool */;
9404 val* var_other /* var other: nullable Object */;
9405 short int var3 /* : Bool */;
9406 short int var5 /* : Bool */;
9407 short int var6 /* : Bool */;
9408 int cltype;
9409 int idtype;
9410 const char* var_class_name;
9411 val* var7 /* : AAssignOp */;
9412 short int var8 /* : Bool */;
9413 short int var10 /* : Bool */;
9414 short int var12 /* : Bool */;
9415 short int var13 /* : Bool */;
9416 int cltype14;
9417 int idtype15;
9418 const char* var_class_name16;
9419 val* var17 /* : AExpr */;
9420 short int var18 /* : Bool */;
9421 short int var20 /* : Bool */;
9422 short int var22 /* : Bool */;
9423 short int var23 /* : Bool */;
9424 int cltype24;
9425 int idtype25;
9426 const char* var_class_name26;
9427 var_old_child = p0;
9428 var_new_child = p1;
9429 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
9430 if (unlikely(var == NULL)) {
9431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
9432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4798);
9433 show_backtrace(1);
9434 }
9435 {
9436 { /* Inline kernel#Object#== (var,var_old_child) on <var:TId> */
9437 var_other = var_old_child;
9438 {
9439 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TId> */
9440 var5 = var == var_other;
9441 var3 = var5;
9442 goto RET_LABEL4;
9443 RET_LABEL4:(void)0;
9444 }
9445 }
9446 var1 = var3;
9447 goto RET_LABEL2;
9448 RET_LABEL2:(void)0;
9449 }
9450 }
9451 if (var1){
9452 /* <var_new_child:nullable ANode> isa TId */
9453 cltype = type_nit__TId.color;
9454 idtype = type_nit__TId.id;
9455 if(var_new_child == NULL) {
9456 var6 = 0;
9457 } else {
9458 if(cltype >= var_new_child->type->table_size) {
9459 var6 = 0;
9460 } else {
9461 var6 = var_new_child->type->type_table[cltype] == idtype;
9462 }
9463 }
9464 if (unlikely(!var6)) {
9465 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
9466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name);
9467 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4799);
9468 show_backtrace(1);
9469 }
9470 {
9471 nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_id= on <self:AVarReassignExpr>*/
9472 }
9473 goto RET_LABEL;
9474 } else {
9475 }
9476 var7 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
9477 if (unlikely(var7 == NULL)) {
9478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
9479 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4802);
9480 show_backtrace(1);
9481 }
9482 {
9483 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AAssignOp> */
9484 var_other = var_old_child;
9485 {
9486 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AAssignOp> */
9487 var12 = var7 == var_other;
9488 var10 = var12;
9489 goto RET_LABEL11;
9490 RET_LABEL11:(void)0;
9491 }
9492 }
9493 var8 = var10;
9494 goto RET_LABEL9;
9495 RET_LABEL9:(void)0;
9496 }
9497 }
9498 if (var8){
9499 /* <var_new_child:nullable ANode> isa AAssignOp */
9500 cltype14 = type_nit__AAssignOp.color;
9501 idtype15 = type_nit__AAssignOp.id;
9502 if(var_new_child == NULL) {
9503 var13 = 0;
9504 } else {
9505 if(cltype14 >= var_new_child->type->table_size) {
9506 var13 = 0;
9507 } else {
9508 var13 = var_new_child->type->type_table[cltype14] == idtype15;
9509 }
9510 }
9511 if (unlikely(!var13)) {
9512 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
9513 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name16);
9514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4803);
9515 show_backtrace(1);
9516 }
9517 {
9518 nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_assign_op= on <self:AVarReassignExpr>*/
9519 }
9520 goto RET_LABEL;
9521 } else {
9522 }
9523 var17 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
9524 if (unlikely(var17 == NULL)) {
9525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
9526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4806);
9527 show_backtrace(1);
9528 }
9529 {
9530 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
9531 var_other = var_old_child;
9532 {
9533 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
9534 var22 = var17 == var_other;
9535 var20 = var22;
9536 goto RET_LABEL21;
9537 RET_LABEL21:(void)0;
9538 }
9539 }
9540 var18 = var20;
9541 goto RET_LABEL19;
9542 RET_LABEL19:(void)0;
9543 }
9544 }
9545 if (var18){
9546 /* <var_new_child:nullable ANode> isa AExpr */
9547 cltype24 = type_nit__AExpr.color;
9548 idtype25 = type_nit__AExpr.id;
9549 if(var_new_child == NULL) {
9550 var23 = 0;
9551 } else {
9552 if(cltype24 >= var_new_child->type->table_size) {
9553 var23 = 0;
9554 } else {
9555 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9556 }
9557 }
9558 if (unlikely(!var23)) {
9559 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
9560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
9561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4807);
9562 show_backtrace(1);
9563 }
9564 {
9565 nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_value= on <self:AVarReassignExpr>*/
9566 }
9567 goto RET_LABEL;
9568 } else {
9569 }
9570 RET_LABEL:;
9571 }
9572 /* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */
9573 void nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AVarFormExpr__n_id_61d(val* self, val* p0) {
9574 val* var_node /* var node: TId */;
9575 var_node = p0;
9576 self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on <self:AVarReassignExpr> */
9577 {
9578 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
9579 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
9580 RET_LABEL1:(void)0;
9581 }
9582 }
9583 RET_LABEL:;
9584 }
9585 /* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */
9586 void nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AReassignFormExpr__n_assign_op_61d(val* self, val* p0) {
9587 val* var_node /* var node: AAssignOp */;
9588 var_node = p0;
9589 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AVarReassignExpr> */
9590 {
9591 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAssignOp> */
9592 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAssignOp> */
9593 RET_LABEL1:(void)0;
9594 }
9595 }
9596 RET_LABEL:;
9597 }
9598 /* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */
9599 void nit__parser_prod___AVarReassignExpr___nit__parser_nodes__AReassignFormExpr__n_value_61d(val* self, val* p0) {
9600 val* var_node /* var node: AExpr */;
9601 var_node = p0;
9602 self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AVarReassignExpr> */
9603 {
9604 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9605 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
9606 RET_LABEL1:(void)0;
9607 }
9608 }
9609 RET_LABEL:;
9610 }
9611 /* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */
9612 void nit__parser_prod___AVarReassignExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
9613 val* var_v /* var v: Visitor */;
9614 val* var /* : TId */;
9615 val* var1 /* : AAssignOp */;
9616 val* var2 /* : AExpr */;
9617 var_v = p0;
9618 var = self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val; /* _n_id on <self:AVarReassignExpr> */
9619 if (unlikely(var == NULL)) {
9620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
9621 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4831);
9622 show_backtrace(1);
9623 }
9624 {
9625 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9626 }
9627 var1 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AVarReassignExpr> */
9628 if (unlikely(var1 == NULL)) {
9629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
9630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4832);
9631 show_backtrace(1);
9632 }
9633 {
9634 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9635 }
9636 var2 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
9637 if (unlikely(var2 == NULL)) {
9638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
9639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4833);
9640 show_backtrace(1);
9641 }
9642 {
9643 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9644 }
9645 RET_LABEL:;
9646 }
9647 /* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */
9648 void nit__parser_prod___ACrangeExpr___init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9649 val* var_n_obra /* var n_obra: nullable TObra */;
9650 val* var_n_expr /* var n_expr: nullable AExpr */;
9651 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
9652 val* var_n_cbra /* var n_cbra: nullable TCbra */;
9653 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9654 val* var /* : null */;
9655 short int var5 /* : Bool */;
9656 short int var6 /* : Bool */;
9657 val* var_other /* var other: nullable Object */;
9658 short int var8 /* : Bool */;
9659 short int var9 /* : Bool */;
9660 var_n_obra = p0;
9661 var_n_expr = p1;
9662 var_n_expr2 = p2;
9663 var_n_cbra = p3;
9664 var_n_annotations = p4;
9665 if (unlikely(var_n_obra == NULL)) {
9666 PRINT_ERROR("Runtime error: %s", "Cast failed");
9667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4900);
9668 show_backtrace(1);
9669 }
9670 self->attrs[COLOR_nit__parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on <self:ACrangeExpr> */
9671 if (var_n_obra == NULL) {
9672 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9673 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4901);
9674 show_backtrace(1);
9675 } else {
9676 { /* Inline parser_nodes#ANode#parent= (var_n_obra,self) on <var_n_obra:nullable TObra> */
9677 if (unlikely(var_n_obra == NULL)) {
9678 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9680 show_backtrace(1);
9681 }
9682 var_n_obra->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_obra:nullable TObra> */
9683 RET_LABEL1:(void)0;
9684 }
9685 }
9686 if (unlikely(var_n_expr == NULL)) {
9687 PRINT_ERROR("Runtime error: %s", "Cast failed");
9688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4902);
9689 show_backtrace(1);
9690 }
9691 self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACrangeExpr> */
9692 if (var_n_expr == NULL) {
9693 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9694 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4903);
9695 show_backtrace(1);
9696 } else {
9697 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9698 if (unlikely(var_n_expr == NULL)) {
9699 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9701 show_backtrace(1);
9702 }
9703 var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
9704 RET_LABEL2:(void)0;
9705 }
9706 }
9707 if (unlikely(var_n_expr2 == NULL)) {
9708 PRINT_ERROR("Runtime error: %s", "Cast failed");
9709 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4904);
9710 show_backtrace(1);
9711 }
9712 self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ACrangeExpr> */
9713 if (var_n_expr2 == NULL) {
9714 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4905);
9716 show_backtrace(1);
9717 } else {
9718 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
9719 if (unlikely(var_n_expr2 == NULL)) {
9720 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9722 show_backtrace(1);
9723 }
9724 var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
9725 RET_LABEL3:(void)0;
9726 }
9727 }
9728 if (unlikely(var_n_cbra == NULL)) {
9729 PRINT_ERROR("Runtime error: %s", "Cast failed");
9730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4906);
9731 show_backtrace(1);
9732 }
9733 self->attrs[COLOR_nit__parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on <self:ACrangeExpr> */
9734 if (var_n_cbra == NULL) {
9735 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9736 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4907);
9737 show_backtrace(1);
9738 } else {
9739 { /* Inline parser_nodes#ANode#parent= (var_n_cbra,self) on <var_n_cbra:nullable TCbra> */
9740 if (unlikely(var_n_cbra == NULL)) {
9741 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9742 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
9743 show_backtrace(1);
9744 }
9745 var_n_cbra->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_cbra:nullable TCbra> */
9746 RET_LABEL4:(void)0;
9747 }
9748 }
9749 self->attrs[COLOR_nit__parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ACrangeExpr> */
9750 var = NULL;
9751 if (var_n_annotations == NULL) {
9752 var5 = 0; /* is null */
9753 } else {
9754 var5 = 1; /* arg is null and recv is not */
9755 }
9756 if (0) {
9757 { /* Inline kernel#Object#!= (var_n_annotations,var) on <var_n_annotations:nullable AAnnotations> */
9758 var_other = var;
9759 {
9760 var8 = ((short int (*)(val* self, val* p0))(var_n_annotations->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
9761 }
9762 var9 = !var8;
9763 var6 = var9;
9764 goto RET_LABEL7;
9765 RET_LABEL7:(void)0;
9766 }
9767 var5 = var6;
9768 }
9769 if (var5){
9770 {
9771 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
9772 var_n_annotations->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
9773 RET_LABEL10:(void)0;
9774 }
9775 }
9776 } else {
9777 }
9778 RET_LABEL:;
9779 }