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