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