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