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