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