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