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