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