NOTICE: Update author list and years
[nit.git] / c_src / nitc__parser_prod.sep.2.c
1 #include "nitc__parser_prod.sep.0.h"
2 /* method parser_prod#ASuperPropdef#n_doc= for (self: ASuperPropdef, nullable ADoc) */
3 void nitc__parser_prod___ASuperPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___ASuperPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___ASuperPropdef___nitc__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_nitc__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_nitc__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_nitc__parser_nodes, 46);
94 fatal_exit(1);
95 }
96 var_node->attrs[COLOR_nitc__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 nitc__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_nitc__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_nitc__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 nitc__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_nitc__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_nitc__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 nitc__parser_prod___ASuperPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___ASuperPropdef___nitc__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_nitc__parser_nodes__ADefinition___n_doc].val; /* _n_doc on <self:ASuperPropdef> */
178 {
179 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
180 }
181 var1 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:ASuperPropdef> */
182 {
183 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
184 }
185 var2 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:ASuperPropdef> */
186 {
187 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
188 }
189 var3 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 1398);
193 fatal_exit(1);
194 }
195 {
196 nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
197 }
198 var4 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 1399);
202 fatal_exit(1);
203 }
204 {
205 nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
206 }
207 var5 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperPropdef> */
208 {
209 nitc___nitc__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 nitc__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_nitc__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_core__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_nitc__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_nitc__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_core__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_nitc__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_nitc__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_core__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_nitc__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_nitc__parser_prod, 1421);
350 fatal_exit(1);
351 }
352 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
362 fatal_exit(1);
363 }
364 var_n_atid->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_atid:nullable AAtid> */
365 RET_LABEL19:(void)0;
366 }
367 }
368 self->attrs[COLOR_nitc__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_core__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_nitc__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_nitc__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_nitc__parser_nodes, 2926);
402 fatal_exit(1);
403 }
404 var26 = var28;
405 RET_LABEL27:(void)0;
406 }
407 }
408 {
409 nitc___nitc__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_nitc__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_core__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_nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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__nitc__ADoc.color;
564 idtype = type_nullable__nitc__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_nitc__parser_prod, 1435);
578 fatal_exit(1);
579 }
580 {
581 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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__nitc__TKwredef.color;
609 idtype17 = type_nullable__nitc__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_nitc__parser_prod, 1439);
623 fatal_exit(1);
624 }
625 {
626 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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__nitc__AVisibility.color;
654 idtype28 = type_nullable__nitc__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_nitc__parser_prod, 1443);
668 fatal_exit(1);
669 }
670 {
671 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_nitc__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_nitc__AAtid.color;
701 idtype38 = type_nitc__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_nitc__parser_prod, 1447);
715 fatal_exit(1);
716 }
717 {
718 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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__nitc__TOpar.color;
746 idtype49 = type_nullable__nitc__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_nitc__parser_prod, 1451);
760 fatal_exit(1);
761 }
762 {
763 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_nitc__parser_nodes, 2926);
774 fatal_exit(1);
775 }
776 var51 = var53;
777 RET_LABEL52:(void)0;
778 }
779 }
780 {
781 var54 = nitc___nitc__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_nitc__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__nitc__TCpar.color;
810 idtype64 = type_nullable__nitc__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_nitc__parser_prod, 1456);
824 fatal_exit(1);
825 }
826 {
827 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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__nitc__AAnnotations.color;
855 idtype75 = type_nullable__nitc__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_nitc__parser_prod, 1460);
869 fatal_exit(1);
870 }
871 {
872 nitc__parser_prod___AAnnotPropdef___nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__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_core__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_nitc__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 nitc__parser_prod___AAnnotPropdef___nitc__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_nitc__parser_nodes__ADefinition___n_doc].val; /* _n_doc on <self:AAnnotPropdef> */
1140 {
1141 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1142 }
1143 var1 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAnnotPropdef> */
1144 {
1145 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1146 }
1147 var2 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:AAnnotPropdef> */
1148 {
1149 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1150 }
1151 var3 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 1507);
1155 fatal_exit(1);
1156 }
1157 {
1158 nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1159 }
1160 var4 = self->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotPropdef> */
1161 {
1162 nitc___nitc__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_nitc__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_nitc__parser_nodes, 2926);
1170 fatal_exit(1);
1171 }
1172 var5 = var7;
1173 RET_LABEL6:(void)0;
1174 }
1175 }
1176 {
1177 nitc___nitc__ANodes___visit_all(var5, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var5:ANodes[AExpr]>*/
1178 }
1179 var8 = self->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotPropdef> */
1180 {
1181 nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1182 }
1183 var9 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotPropdef> */
1184 {
1185 nitc___nitc__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 nitc__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_nitc__parser_prod, 1519);
1201 fatal_exit(1);
1202 }
1203 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1213 fatal_exit(1);
1214 }
1215 var_n_id->attrs[COLOR_nitc__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 nitc__parser_prod___AIdMethid___nitc__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_nitc__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_nitc__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_nitc__TId.color;
1261 idtype = type_nitc__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_nitc__parser_prod, 1526);
1275 fatal_exit(1);
1276 }
1277 {
1278 nitc__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 nitc__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_nitc__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_nitc__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 nitc__parser_prod___AIdMethid___nitc__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_nitc__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_nitc__parser_prod, 1540);
1307 fatal_exit(1);
1308 }
1309 {
1310 nitc___nitc__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 nitc__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_nitc__parser_prod, 1548);
1326 fatal_exit(1);
1327 }
1328 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1338 fatal_exit(1);
1339 }
1340 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___APlusMethid___nitc__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_nitc__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_nitc__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_nitc__TPlus.color;
1386 idtype = type_nitc__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_nitc__parser_prod, 1555);
1400 fatal_exit(1);
1401 }
1402 {
1403 nitc__parser_prod___APlusMethid___nitc__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 nitc__parser_prod___APlusMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___APlusMethid___nitc__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_nitc__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_nitc__parser_prod, 1569);
1432 fatal_exit(1);
1433 }
1434 {
1435 nitc___nitc__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 nitc__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_nitc__parser_prod, 1577);
1451 fatal_exit(1);
1452 }
1453 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1463 fatal_exit(1);
1464 }
1465 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AMinusMethid___nitc__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_nitc__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_nitc__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_nitc__TMinus.color;
1511 idtype = type_nitc__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_nitc__parser_prod, 1584);
1525 fatal_exit(1);
1526 }
1527 {
1528 nitc__parser_prod___AMinusMethid___nitc__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 nitc__parser_prod___AMinusMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AMinusMethid___nitc__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_nitc__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_nitc__parser_prod, 1598);
1557 fatal_exit(1);
1558 }
1559 {
1560 nitc___nitc__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 nitc__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_nitc__parser_prod, 1606);
1576 fatal_exit(1);
1577 }
1578 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1588 fatal_exit(1);
1589 }
1590 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AStarMethid___nitc__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_nitc__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_nitc__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_nitc__TStar.color;
1636 idtype = type_nitc__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_nitc__parser_prod, 1613);
1650 fatal_exit(1);
1651 }
1652 {
1653 nitc__parser_prod___AStarMethid___nitc__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 nitc__parser_prod___AStarMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AStarMethid___nitc__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_nitc__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_nitc__parser_prod, 1627);
1682 fatal_exit(1);
1683 }
1684 {
1685 nitc___nitc__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 nitc__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_nitc__parser_prod, 1635);
1701 fatal_exit(1);
1702 }
1703 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1713 fatal_exit(1);
1714 }
1715 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AStarstarMethid___nitc__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_nitc__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_nitc__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_nitc__TStarstar.color;
1761 idtype = type_nitc__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_nitc__parser_prod, 1642);
1775 fatal_exit(1);
1776 }
1777 {
1778 nitc__parser_prod___AStarstarMethid___nitc__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 nitc__parser_prod___AStarstarMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AStarstarMethid___nitc__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_nitc__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_nitc__parser_prod, 1656);
1807 fatal_exit(1);
1808 }
1809 {
1810 nitc___nitc__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 nitc__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_nitc__parser_prod, 1664);
1826 fatal_exit(1);
1827 }
1828 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1838 fatal_exit(1);
1839 }
1840 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ASlashMethid___nitc__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_nitc__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_nitc__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_nitc__TSlash.color;
1886 idtype = type_nitc__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_nitc__parser_prod, 1671);
1900 fatal_exit(1);
1901 }
1902 {
1903 nitc__parser_prod___ASlashMethid___nitc__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 nitc__parser_prod___ASlashMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ASlashMethid___nitc__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_nitc__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_nitc__parser_prod, 1685);
1932 fatal_exit(1);
1933 }
1934 {
1935 nitc___nitc__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 nitc__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_nitc__parser_prod, 1693);
1951 fatal_exit(1);
1952 }
1953 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
1963 fatal_exit(1);
1964 }
1965 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___APercentMethid___nitc__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_nitc__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_nitc__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_nitc__TPercent.color;
2011 idtype = type_nitc__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_nitc__parser_prod, 1700);
2025 fatal_exit(1);
2026 }
2027 {
2028 nitc__parser_prod___APercentMethid___nitc__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 nitc__parser_prod___APercentMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___APercentMethid___nitc__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_nitc__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_nitc__parser_prod, 1714);
2057 fatal_exit(1);
2058 }
2059 {
2060 nitc___nitc__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 nitc__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_nitc__parser_prod, 1722);
2076 fatal_exit(1);
2077 }
2078 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2088 fatal_exit(1);
2089 }
2090 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AEqMethid___nitc__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_nitc__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_nitc__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_nitc__TEq.color;
2136 idtype = type_nitc__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_nitc__parser_prod, 1729);
2150 fatal_exit(1);
2151 }
2152 {
2153 nitc__parser_prod___AEqMethid___nitc__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 nitc__parser_prod___AEqMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AEqMethid___nitc__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_nitc__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_nitc__parser_prod, 1743);
2182 fatal_exit(1);
2183 }
2184 {
2185 nitc___nitc__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 nitc__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_nitc__parser_prod, 1751);
2201 fatal_exit(1);
2202 }
2203 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2213 fatal_exit(1);
2214 }
2215 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ANeMethid___nitc__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_nitc__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_nitc__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_nitc__TNe.color;
2261 idtype = type_nitc__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_nitc__parser_prod, 1758);
2275 fatal_exit(1);
2276 }
2277 {
2278 nitc__parser_prod___ANeMethid___nitc__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 nitc__parser_prod___ANeMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ANeMethid___nitc__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_nitc__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_nitc__parser_prod, 1772);
2307 fatal_exit(1);
2308 }
2309 {
2310 nitc___nitc__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 nitc__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_nitc__parser_prod, 1780);
2326 fatal_exit(1);
2327 }
2328 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2338 fatal_exit(1);
2339 }
2340 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ALeMethid___nitc__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_nitc__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_nitc__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_nitc__TLe.color;
2386 idtype = type_nitc__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_nitc__parser_prod, 1787);
2400 fatal_exit(1);
2401 }
2402 {
2403 nitc__parser_prod___ALeMethid___nitc__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 nitc__parser_prod___ALeMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ALeMethid___nitc__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_nitc__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_nitc__parser_prod, 1801);
2432 fatal_exit(1);
2433 }
2434 {
2435 nitc___nitc__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 nitc__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_nitc__parser_prod, 1809);
2451 fatal_exit(1);
2452 }
2453 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2463 fatal_exit(1);
2464 }
2465 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AGeMethid___nitc__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_nitc__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_nitc__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_nitc__TGe.color;
2511 idtype = type_nitc__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_nitc__parser_prod, 1816);
2525 fatal_exit(1);
2526 }
2527 {
2528 nitc__parser_prod___AGeMethid___nitc__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 nitc__parser_prod___AGeMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AGeMethid___nitc__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_nitc__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_nitc__parser_prod, 1830);
2557 fatal_exit(1);
2558 }
2559 {
2560 nitc___nitc__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 nitc__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_nitc__parser_prod, 1838);
2576 fatal_exit(1);
2577 }
2578 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2588 fatal_exit(1);
2589 }
2590 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ALtMethid___nitc__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_nitc__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_nitc__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_nitc__TLt.color;
2636 idtype = type_nitc__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_nitc__parser_prod, 1845);
2650 fatal_exit(1);
2651 }
2652 {
2653 nitc__parser_prod___ALtMethid___nitc__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 nitc__parser_prod___ALtMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ALtMethid___nitc__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_nitc__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_nitc__parser_prod, 1859);
2682 fatal_exit(1);
2683 }
2684 {
2685 nitc___nitc__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 nitc__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_nitc__parser_prod, 1867);
2701 fatal_exit(1);
2702 }
2703 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2713 fatal_exit(1);
2714 }
2715 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AGtMethid___nitc__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_nitc__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_nitc__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_nitc__TGt.color;
2761 idtype = type_nitc__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_nitc__parser_prod, 1874);
2775 fatal_exit(1);
2776 }
2777 {
2778 nitc__parser_prod___AGtMethid___nitc__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 nitc__parser_prod___AGtMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AGtMethid___nitc__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_nitc__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_nitc__parser_prod, 1888);
2807 fatal_exit(1);
2808 }
2809 {
2810 nitc___nitc__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 nitc__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_nitc__parser_prod, 1896);
2826 fatal_exit(1);
2827 }
2828 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2838 fatal_exit(1);
2839 }
2840 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ALlMethid___nitc__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_nitc__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_nitc__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_nitc__TLl.color;
2886 idtype = type_nitc__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_nitc__parser_prod, 1903);
2900 fatal_exit(1);
2901 }
2902 {
2903 nitc__parser_prod___ALlMethid___nitc__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 nitc__parser_prod___ALlMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ALlMethid___nitc__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_nitc__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_nitc__parser_prod, 1917);
2932 fatal_exit(1);
2933 }
2934 {
2935 nitc___nitc__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 nitc__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_nitc__parser_prod, 1925);
2951 fatal_exit(1);
2952 }
2953 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
2963 fatal_exit(1);
2964 }
2965 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AGgMethid___nitc__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_nitc__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_nitc__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_nitc__TGg.color;
3011 idtype = type_nitc__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_nitc__parser_prod, 1932);
3025 fatal_exit(1);
3026 }
3027 {
3028 nitc__parser_prod___AGgMethid___nitc__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 nitc__parser_prod___AGgMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AGgMethid___nitc__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_nitc__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_nitc__parser_prod, 1946);
3057 fatal_exit(1);
3058 }
3059 {
3060 nitc___nitc__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 nitc__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_nitc__parser_prod, 1954);
3076 fatal_exit(1);
3077 }
3078 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3088 fatal_exit(1);
3089 }
3090 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AStarshipMethid___nitc__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_nitc__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_nitc__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_nitc__TStarship.color;
3136 idtype = type_nitc__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_nitc__parser_prod, 1961);
3150 fatal_exit(1);
3151 }
3152 {
3153 nitc__parser_prod___AStarshipMethid___nitc__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 nitc__parser_prod___AStarshipMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AStarshipMethid___nitc__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_nitc__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_nitc__parser_prod, 1975);
3182 fatal_exit(1);
3183 }
3184 {
3185 nitc___nitc__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 nitc__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_nitc__parser_prod, 1983);
3201 fatal_exit(1);
3202 }
3203 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3213 fatal_exit(1);
3214 }
3215 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___APipeMethid___nitc__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_nitc__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_nitc__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_nitc__TPipe.color;
3261 idtype = type_nitc__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_nitc__parser_prod, 1990);
3275 fatal_exit(1);
3276 }
3277 {
3278 nitc__parser_prod___APipeMethid___nitc__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 nitc__parser_prod___APipeMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___APipeMethid___nitc__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_nitc__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_nitc__parser_prod, 2004);
3307 fatal_exit(1);
3308 }
3309 {
3310 nitc___nitc__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 nitc__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_nitc__parser_prod, 2012);
3326 fatal_exit(1);
3327 }
3328 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3338 fatal_exit(1);
3339 }
3340 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ACaretMethid___nitc__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_nitc__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_nitc__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_nitc__TCaret.color;
3386 idtype = type_nitc__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_nitc__parser_prod, 2019);
3400 fatal_exit(1);
3401 }
3402 {
3403 nitc__parser_prod___ACaretMethid___nitc__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 nitc__parser_prod___ACaretMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ACaretMethid___nitc__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_nitc__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_nitc__parser_prod, 2033);
3432 fatal_exit(1);
3433 }
3434 {
3435 nitc___nitc__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 nitc__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_nitc__parser_prod, 2041);
3451 fatal_exit(1);
3452 }
3453 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3463 fatal_exit(1);
3464 }
3465 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___AAmpMethid___nitc__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_nitc__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_nitc__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_nitc__TAmp.color;
3511 idtype = type_nitc__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_nitc__parser_prod, 2048);
3525 fatal_exit(1);
3526 }
3527 {
3528 nitc__parser_prod___AAmpMethid___nitc__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 nitc__parser_prod___AAmpMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___AAmpMethid___nitc__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_nitc__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_nitc__parser_prod, 2062);
3557 fatal_exit(1);
3558 }
3559 {
3560 nitc___nitc__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 nitc__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_nitc__parser_prod, 2070);
3576 fatal_exit(1);
3577 }
3578 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3588 fatal_exit(1);
3589 }
3590 var_n_op->attrs[COLOR_nitc__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 nitc__parser_prod___ATildeMethid___nitc__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_nitc__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_nitc__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_nitc__TTilde.color;
3636 idtype = type_nitc__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_nitc__parser_prod, 2077);
3650 fatal_exit(1);
3651 }
3652 {
3653 nitc__parser_prod___ATildeMethid___nitc__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 nitc__parser_prod___ATildeMethid___nitc__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_nitc__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_nitc__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 nitc__parser_prod___ATildeMethid___nitc__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_nitc__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_nitc__parser_prod, 2091);
3682 fatal_exit(1);
3683 }
3684 {
3685 nitc___nitc__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 nitc__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_nitc__parser_prod, 2100);
3703 fatal_exit(1);
3704 }
3705 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3715 fatal_exit(1);
3716 }
3717 var_n_obra->attrs[COLOR_nitc__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_nitc__parser_prod, 2102);
3724 fatal_exit(1);
3725 }
3726 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3736 fatal_exit(1);
3737 }
3738 var_n_cbra->attrs[COLOR_nitc__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 nitc__parser_prod___ABraMethid___nitc__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_nitc__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_nitc__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_nitc__TObra.color;
3792 idtype = type_nitc__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_nitc__parser_prod, 2109);
3806 fatal_exit(1);
3807 }
3808 {
3809 nitc__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_nitc__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_nitc__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_nitc__TCbra.color;
3839 idtype15 = type_nitc__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_nitc__parser_prod, 2113);
3853 fatal_exit(1);
3854 }
3855 {
3856 nitc__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 nitc__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_nitc__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_nitc__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 nitc__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_nitc__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_nitc__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 nitc__parser_prod___ABraMethid___nitc__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_nitc__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_nitc__parser_prod, 2132);
3899 fatal_exit(1);
3900 }
3901 {
3902 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3903 }
3904 var1 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 2133);
3908 fatal_exit(1);
3909 }
3910 {
3911 nitc___nitc__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 nitc__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_nitc__parser_prod, 2142);
3929 fatal_exit(1);
3930 }
3931 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3941 fatal_exit(1);
3942 }
3943 var_n_id->attrs[COLOR_nitc__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_nitc__parser_prod, 2144);
3950 fatal_exit(1);
3951 }
3952 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
3962 fatal_exit(1);
3963 }
3964 var_n_assign->attrs[COLOR_nitc__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 nitc__parser_prod___AAssignMethid___nitc__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_nitc__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_nitc__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_nitc__TId.color;
4018 idtype = type_nitc__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_nitc__parser_prod, 2151);
4032 fatal_exit(1);
4033 }
4034 {
4035 nitc__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_nitc__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_nitc__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_nitc__TAssign.color;
4065 idtype15 = type_nitc__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_nitc__parser_prod, 2155);
4079 fatal_exit(1);
4080 }
4081 {
4082 nitc__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 nitc__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_nitc__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_nitc__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 nitc__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_nitc__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_nitc__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 nitc__parser_prod___AAssignMethid___nitc__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_nitc__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_nitc__parser_prod, 2174);
4125 fatal_exit(1);
4126 }
4127 {
4128 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4129 }
4130 var1 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 2175);
4134 fatal_exit(1);
4135 }
4136 {
4137 nitc___nitc__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 nitc__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_nitc__parser_prod, 2185);
4157 fatal_exit(1);
4158 }
4159 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
4169 fatal_exit(1);
4170 }
4171 var_n_obra->attrs[COLOR_nitc__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_nitc__parser_prod, 2187);
4178 fatal_exit(1);
4179 }
4180 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
4190 fatal_exit(1);
4191 }
4192 var_n_cbra->attrs[COLOR_nitc__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_nitc__parser_prod, 2189);
4199 fatal_exit(1);
4200 }
4201 self->attrs[COLOR_nitc__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_nitc__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_nitc__parser_nodes, 46);
4211 fatal_exit(1);
4212 }
4213 var_n_assign->attrs[COLOR_nitc__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 nitc__parser_prod___ABraassignMethid___nitc__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_nitc__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_nitc__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_nitc__TObra.color;
4275 idtype = type_nitc__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_nitc__parser_prod, 2196);
4289 fatal_exit(1);
4290 }
4291 {
4292 nitc__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_nitc__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_nitc__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_nitc__TCbra.color;
4322 idtype15 = type_nitc__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_nitc__parser_prod, 2200);
4336 fatal_exit(1);
4337 }
4338 {
4339 nitc__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_nitc__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_nitc__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_nitc__TAssign.color;
4369 idtype25 = type_nitc__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_nitc__parser_prod, 2204);
4383 fatal_exit(1);
4384 }
4385 {
4386 nitc__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 nitc__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_nitc__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_nitc__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 nitc__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_nitc__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_nitc__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 nitc__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_nitc__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_nitc__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 nitc__parser_prod___ABraassignMethid___nitc__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_nitc__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_nitc__parser_prod, 2228);
4443 fatal_exit(1);
4444 }
4445 {
4446 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4447 }
4448 var1 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 2229);
4452 fatal_exit(1);
4453 }
4454 {
4455 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4456 }
4457 var2 = self->attrs[COLOR_nitc__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_nitc__parser_prod, 2230);
4461 fatal_exit(1);
4462 }
4463 {
4464 nitc___nitc__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#AQid#init_aqid for (self: AQid, nullable AQualified, nullable TId) */
4469 void nitc__parser_prod___AQid___init_aqid(val* self, val* p0, val* p1) {
4470 val* var_n_qualified /* var n_qualified: nullable AQualified */;
4471 val* var_n_id /* var n_id: nullable TId */;
4472 short int var /* : Bool */;
4473 short int var2 /* : Bool */;
4474 val* var_other /* var other: nullable Object */;
4475 short int var4 /* : Bool */;
4476 short int var5 /* : Bool */;
4477 {
4478 { /* Inline kernel#Object#init (self) on <self:AQid> */
4479 RET_LABEL1:(void)0;
4480 }
4481 }
4482 var_n_qualified = p0;
4483 var_n_id = p1;
4484 self->attrs[COLOR_nitc__parser_nodes__AQid___n_qualified].val = var_n_qualified; /* _n_qualified on <self:AQid> */
4485 if (var_n_qualified == NULL) {
4486 var = 0; /* is null */
4487 } else {
4488 var = 1; /* arg is null and recv is not */
4489 }
4490 if (0) {
4491 { /* Inline kernel#Object#!= (var_n_qualified,((val*)NULL)) on <var_n_qualified:nullable AQualified> */
4492 var_other = ((val*)NULL);
4493 {
4494 var4 = ((short int(*)(val* self, val* p0))(var_n_qualified->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_qualified, var_other); /* == on <var_n_qualified:nullable AQualified(AQualified)>*/
4495 }
4496 var5 = !var4;
4497 var2 = var5;
4498 goto RET_LABEL3;
4499 RET_LABEL3:(void)0;
4500 }
4501 var = var2;
4502 }
4503 if (var){
4504 {
4505 { /* Inline parser_nodes#ANode#parent= (var_n_qualified,self) on <var_n_qualified:nullable AQualified(AQualified)> */
4506 var_n_qualified->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_qualified:nullable AQualified(AQualified)> */
4507 RET_LABEL6:(void)0;
4508 }
4509 }
4510 } else {
4511 }
4512 if (unlikely(var_n_id == NULL)) {
4513 PRINT_ERROR("Runtime error: %s", "Cast failed");
4514 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2241);
4515 fatal_exit(1);
4516 }
4517 self->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val = var_n_id; /* _n_id on <self:AQid> */
4518 if (var_n_id == NULL) {
4519 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4520 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2242);
4521 fatal_exit(1);
4522 } else {
4523 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
4524 if (unlikely(var_n_id == NULL)) {
4525 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4526 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
4527 fatal_exit(1);
4528 }
4529 var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
4530 RET_LABEL7:(void)0;
4531 }
4532 }
4533 RET_LABEL:;
4534 }
4535 /* method parser_prod#AQid#replace_child for (self: AQid, ANode, nullable ANode) */
4536 void nitc__parser_prod___AQid___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4537 val* var_old_child /* var old_child: ANode */;
4538 val* var_new_child /* var new_child: nullable ANode */;
4539 val* var /* : nullable AQualified */;
4540 short int var1 /* : Bool */;
4541 short int var2 /* : Bool */;
4542 val* var_other /* var other: nullable Object */;
4543 short int var4 /* : Bool */;
4544 short int var6 /* : Bool */;
4545 short int var7 /* : Bool */;
4546 int cltype;
4547 int idtype;
4548 const char* var_class_name;
4549 val* var8 /* : TId */;
4550 short int var9 /* : Bool */;
4551 short int var11 /* : Bool */;
4552 short int var13 /* : Bool */;
4553 short int var14 /* : Bool */;
4554 int cltype15;
4555 int idtype16;
4556 const char* var_class_name17;
4557 var_old_child = p0;
4558 var_new_child = p1;
4559 var = self->attrs[COLOR_nitc__parser_nodes__AQid___n_qualified].val; /* _n_qualified on <self:AQid> */
4560 if (var == NULL) {
4561 var1 = 0; /* <var_old_child:ANode> cannot be null */
4562 } else {
4563 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable AQualified> */
4564 var_other = var_old_child;
4565 {
4566 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AQualified(AQualified)> */
4567 var6 = var == var_other;
4568 var4 = var6;
4569 goto RET_LABEL5;
4570 RET_LABEL5:(void)0;
4571 }
4572 }
4573 var2 = var4;
4574 goto RET_LABEL3;
4575 RET_LABEL3:(void)0;
4576 }
4577 var1 = var2;
4578 }
4579 if (var1){
4580 /* <var_new_child:nullable ANode> isa nullable AQualified */
4581 cltype = type_nullable__nitc__AQualified.color;
4582 idtype = type_nullable__nitc__AQualified.id;
4583 if(var_new_child == NULL) {
4584 var7 = 1;
4585 } else {
4586 if(cltype >= var_new_child->type->table_size) {
4587 var7 = 0;
4588 } else {
4589 var7 = var_new_child->type->type_table[cltype] == idtype;
4590 }
4591 }
4592 if (unlikely(!var7)) {
4593 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
4594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AQualified", var_class_name);
4595 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2248);
4596 fatal_exit(1);
4597 }
4598 {
4599 nitc__parser_prod___AQid___n_qualified_61d(self, var_new_child); /* Direct call parser_prod#AQid#n_qualified= on <self:AQid>*/
4600 }
4601 goto RET_LABEL;
4602 } else {
4603 }
4604 var8 = self->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <self:AQid> */
4605 if (unlikely(var8 == NULL)) {
4606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4607 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2251);
4608 fatal_exit(1);
4609 }
4610 {
4611 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TId> */
4612 var_other = var_old_child;
4613 {
4614 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TId> */
4615 var13 = var8 == var_other;
4616 var11 = var13;
4617 goto RET_LABEL12;
4618 RET_LABEL12:(void)0;
4619 }
4620 }
4621 var9 = var11;
4622 goto RET_LABEL10;
4623 RET_LABEL10:(void)0;
4624 }
4625 }
4626 if (var9){
4627 /* <var_new_child:nullable ANode> isa TId */
4628 cltype15 = type_nitc__TId.color;
4629 idtype16 = type_nitc__TId.id;
4630 if(var_new_child == NULL) {
4631 var14 = 0;
4632 } else {
4633 if(cltype15 >= var_new_child->type->table_size) {
4634 var14 = 0;
4635 } else {
4636 var14 = var_new_child->type->type_table[cltype15] == idtype16;
4637 }
4638 }
4639 if (unlikely(!var14)) {
4640 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
4641 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name17);
4642 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2252);
4643 fatal_exit(1);
4644 }
4645 {
4646 nitc__parser_prod___AQid___n_id_61d(self, var_new_child); /* Direct call parser_prod#AQid#n_id= on <self:AQid>*/
4647 }
4648 goto RET_LABEL;
4649 } else {
4650 }
4651 RET_LABEL:;
4652 }
4653 /* method parser_prod#AQid#n_qualified= for (self: AQid, nullable AQualified) */
4654 void nitc__parser_prod___AQid___n_qualified_61d(val* self, val* p0) {
4655 val* var_node /* var node: nullable AQualified */;
4656 short int var /* : Bool */;
4657 short int var1 /* : Bool */;
4658 val* var_other /* var other: nullable Object */;
4659 short int var3 /* : Bool */;
4660 short int var4 /* : Bool */;
4661 var_node = p0;
4662 self->attrs[COLOR_nitc__parser_nodes__AQid___n_qualified].val = var_node; /* _n_qualified on <self:AQid> */
4663 if (var_node == NULL) {
4664 var = 0; /* is null */
4665 } else {
4666 var = 1; /* arg is null and recv is not */
4667 }
4668 if (0) {
4669 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AQualified> */
4670 var_other = ((val*)NULL);
4671 {
4672 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AQualified(AQualified)>*/
4673 }
4674 var4 = !var3;
4675 var1 = var4;
4676 goto RET_LABEL2;
4677 RET_LABEL2:(void)0;
4678 }
4679 var = var1;
4680 }
4681 if (var){
4682 {
4683 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AQualified(AQualified)> */
4684 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AQualified(AQualified)> */
4685 RET_LABEL5:(void)0;
4686 }
4687 }
4688 } else {
4689 }
4690 RET_LABEL:;
4691 }
4692 /* method parser_prod#AQid#n_id= for (self: AQid, TId) */
4693 void nitc__parser_prod___AQid___n_id_61d(val* self, val* p0) {
4694 val* var_node /* var node: TId */;
4695 var_node = p0;
4696 self->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val = var_node; /* _n_id on <self:AQid> */
4697 {
4698 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
4699 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
4700 RET_LABEL1:(void)0;
4701 }
4702 }
4703 RET_LABEL:;
4704 }
4705 /* method parser_prod#AQid#visit_all for (self: AQid, Visitor) */
4706 void nitc__parser_prod___AQid___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
4707 val* var_v /* var v: Visitor */;
4708 val* var /* : nullable AQualified */;
4709 val* var1 /* : TId */;
4710 var_v = p0;
4711 var = self->attrs[COLOR_nitc__parser_nodes__AQid___n_qualified].val; /* _n_qualified on <self:AQid> */
4712 {
4713 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4714 }
4715 var1 = self->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <self:AQid> */
4716 if (unlikely(var1 == NULL)) {
4717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4718 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2272);
4719 fatal_exit(1);
4720 }
4721 {
4722 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4723 }
4724 RET_LABEL:;
4725 }
4726 /* method parser_prod#AQclassid#init_aqclassid for (self: AQclassid, nullable AQualified, nullable TClassid) */
4727 void nitc__parser_prod___AQclassid___init_aqclassid(val* self, val* p0, val* p1) {
4728 val* var_n_qualified /* var n_qualified: nullable AQualified */;
4729 val* var_n_id /* var n_id: nullable TClassid */;
4730 short int var /* : Bool */;
4731 short int var2 /* : Bool */;
4732 val* var_other /* var other: nullable Object */;
4733 short int var4 /* : Bool */;
4734 short int var5 /* : Bool */;
4735 {
4736 { /* Inline kernel#Object#init (self) on <self:AQclassid> */
4737 RET_LABEL1:(void)0;
4738 }
4739 }
4740 var_n_qualified = p0;
4741 var_n_id = p1;
4742 self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val = var_n_qualified; /* _n_qualified on <self:AQclassid> */
4743 if (var_n_qualified == NULL) {
4744 var = 0; /* is null */
4745 } else {
4746 var = 1; /* arg is null and recv is not */
4747 }
4748 if (0) {
4749 { /* Inline kernel#Object#!= (var_n_qualified,((val*)NULL)) on <var_n_qualified:nullable AQualified> */
4750 var_other = ((val*)NULL);
4751 {
4752 var4 = ((short int(*)(val* self, val* p0))(var_n_qualified->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_qualified, var_other); /* == on <var_n_qualified:nullable AQualified(AQualified)>*/
4753 }
4754 var5 = !var4;
4755 var2 = var5;
4756 goto RET_LABEL3;
4757 RET_LABEL3:(void)0;
4758 }
4759 var = var2;
4760 }
4761 if (var){
4762 {
4763 { /* Inline parser_nodes#ANode#parent= (var_n_qualified,self) on <var_n_qualified:nullable AQualified(AQualified)> */
4764 var_n_qualified->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_qualified:nullable AQualified(AQualified)> */
4765 RET_LABEL6:(void)0;
4766 }
4767 }
4768 } else {
4769 }
4770 if (unlikely(var_n_id == NULL)) {
4771 PRINT_ERROR("Runtime error: %s", "Cast failed");
4772 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2283);
4773 fatal_exit(1);
4774 }
4775 self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val = var_n_id; /* _n_id on <self:AQclassid> */
4776 if (var_n_id == NULL) {
4777 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2284);
4779 fatal_exit(1);
4780 } else {
4781 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TClassid> */
4782 if (unlikely(var_n_id == NULL)) {
4783 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4784 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
4785 fatal_exit(1);
4786 }
4787 var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TClassid> */
4788 RET_LABEL7:(void)0;
4789 }
4790 }
4791 RET_LABEL:;
4792 }
4793 /* method parser_prod#AQclassid#replace_child for (self: AQclassid, ANode, nullable ANode) */
4794 void nitc__parser_prod___AQclassid___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4795 val* var_old_child /* var old_child: ANode */;
4796 val* var_new_child /* var new_child: nullable ANode */;
4797 val* var /* : nullable AQualified */;
4798 short int var1 /* : Bool */;
4799 short int var2 /* : Bool */;
4800 val* var_other /* var other: nullable Object */;
4801 short int var4 /* : Bool */;
4802 short int var6 /* : Bool */;
4803 short int var7 /* : Bool */;
4804 int cltype;
4805 int idtype;
4806 const char* var_class_name;
4807 val* var8 /* : TClassid */;
4808 short int var9 /* : Bool */;
4809 short int var11 /* : Bool */;
4810 short int var13 /* : Bool */;
4811 short int var14 /* : Bool */;
4812 int cltype15;
4813 int idtype16;
4814 const char* var_class_name17;
4815 var_old_child = p0;
4816 var_new_child = p1;
4817 var = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val; /* _n_qualified on <self:AQclassid> */
4818 if (var == NULL) {
4819 var1 = 0; /* <var_old_child:ANode> cannot be null */
4820 } else {
4821 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable AQualified> */
4822 var_other = var_old_child;
4823 {
4824 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AQualified(AQualified)> */
4825 var6 = var == var_other;
4826 var4 = var6;
4827 goto RET_LABEL5;
4828 RET_LABEL5:(void)0;
4829 }
4830 }
4831 var2 = var4;
4832 goto RET_LABEL3;
4833 RET_LABEL3:(void)0;
4834 }
4835 var1 = var2;
4836 }
4837 if (var1){
4838 /* <var_new_child:nullable ANode> isa nullable AQualified */
4839 cltype = type_nullable__nitc__AQualified.color;
4840 idtype = type_nullable__nitc__AQualified.id;
4841 if(var_new_child == NULL) {
4842 var7 = 1;
4843 } else {
4844 if(cltype >= var_new_child->type->table_size) {
4845 var7 = 0;
4846 } else {
4847 var7 = var_new_child->type->type_table[cltype] == idtype;
4848 }
4849 }
4850 if (unlikely(!var7)) {
4851 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
4852 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AQualified", var_class_name);
4853 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2290);
4854 fatal_exit(1);
4855 }
4856 {
4857 nitc__parser_prod___AQclassid___n_qualified_61d(self, var_new_child); /* Direct call parser_prod#AQclassid#n_qualified= on <self:AQclassid>*/
4858 }
4859 goto RET_LABEL;
4860 } else {
4861 }
4862 var8 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on <self:AQclassid> */
4863 if (unlikely(var8 == NULL)) {
4864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4865 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2293);
4866 fatal_exit(1);
4867 }
4868 {
4869 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TClassid> */
4870 var_other = var_old_child;
4871 {
4872 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TClassid> */
4873 var13 = var8 == var_other;
4874 var11 = var13;
4875 goto RET_LABEL12;
4876 RET_LABEL12:(void)0;
4877 }
4878 }
4879 var9 = var11;
4880 goto RET_LABEL10;
4881 RET_LABEL10:(void)0;
4882 }
4883 }
4884 if (var9){
4885 /* <var_new_child:nullable ANode> isa TClassid */
4886 cltype15 = type_nitc__TClassid.color;
4887 idtype16 = type_nitc__TClassid.id;
4888 if(var_new_child == NULL) {
4889 var14 = 0;
4890 } else {
4891 if(cltype15 >= var_new_child->type->table_size) {
4892 var14 = 0;
4893 } else {
4894 var14 = var_new_child->type->type_table[cltype15] == idtype16;
4895 }
4896 }
4897 if (unlikely(!var14)) {
4898 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
4899 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name17);
4900 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2294);
4901 fatal_exit(1);
4902 }
4903 {
4904 nitc__parser_prod___AQclassid___n_id_61d(self, var_new_child); /* Direct call parser_prod#AQclassid#n_id= on <self:AQclassid>*/
4905 }
4906 goto RET_LABEL;
4907 } else {
4908 }
4909 RET_LABEL:;
4910 }
4911 /* method parser_prod#AQclassid#n_qualified= for (self: AQclassid, nullable AQualified) */
4912 void nitc__parser_prod___AQclassid___n_qualified_61d(val* self, val* p0) {
4913 val* var_node /* var node: nullable AQualified */;
4914 short int var /* : Bool */;
4915 short int var1 /* : Bool */;
4916 val* var_other /* var other: nullable Object */;
4917 short int var3 /* : Bool */;
4918 short int var4 /* : Bool */;
4919 var_node = p0;
4920 self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val = var_node; /* _n_qualified on <self:AQclassid> */
4921 if (var_node == NULL) {
4922 var = 0; /* is null */
4923 } else {
4924 var = 1; /* arg is null and recv is not */
4925 }
4926 if (0) {
4927 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AQualified> */
4928 var_other = ((val*)NULL);
4929 {
4930 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AQualified(AQualified)>*/
4931 }
4932 var4 = !var3;
4933 var1 = var4;
4934 goto RET_LABEL2;
4935 RET_LABEL2:(void)0;
4936 }
4937 var = var1;
4938 }
4939 if (var){
4940 {
4941 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AQualified(AQualified)> */
4942 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AQualified(AQualified)> */
4943 RET_LABEL5:(void)0;
4944 }
4945 }
4946 } else {
4947 }
4948 RET_LABEL:;
4949 }
4950 /* method parser_prod#AQclassid#n_id= for (self: AQclassid, TClassid) */
4951 void nitc__parser_prod___AQclassid___n_id_61d(val* self, val* p0) {
4952 val* var_node /* var node: TClassid */;
4953 var_node = p0;
4954 self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val = var_node; /* _n_id on <self:AQclassid> */
4955 {
4956 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TClassid> */
4957 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TClassid> */
4958 RET_LABEL1:(void)0;
4959 }
4960 }
4961 RET_LABEL:;
4962 }
4963 /* method parser_prod#AQclassid#visit_all for (self: AQclassid, Visitor) */
4964 void nitc__parser_prod___AQclassid___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
4965 val* var_v /* var v: Visitor */;
4966 val* var /* : nullable AQualified */;
4967 val* var1 /* : TClassid */;
4968 var_v = p0;
4969 var = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val; /* _n_qualified on <self:AQclassid> */
4970 {
4971 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4972 }
4973 var1 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on <self:AQclassid> */
4974 if (unlikely(var1 == NULL)) {
4975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4976 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2314);
4977 fatal_exit(1);
4978 }
4979 {
4980 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4981 }
4982 RET_LABEL:;
4983 }
4984 /* method parser_prod#ASignature#init_asignature for (self: ASignature, nullable TOpar, Collection[Object], nullable TCpar, nullable AType) */
4985 void nitc__parser_prod___ASignature___init_asignature(val* self, val* p0, val* p1, val* p2, val* p3) {
4986 val* var_n_opar /* var n_opar: nullable TOpar */;
4987 val* var_n_params /* var n_params: Collection[Object] */;
4988 val* var_n_cpar /* var n_cpar: nullable TCpar */;
4989 val* var_n_type /* var n_type: nullable AType */;
4990 short int var /* : Bool */;
4991 short int var2 /* : Bool */;
4992 val* var_other /* var other: nullable Object */;
4993 short int var4 /* : Bool */;
4994 short int var5 /* : Bool */;
4995 val* var7 /* : ANodes[AParam] */;
4996 val* var9 /* : ANodes[AParam] */;
4997 short int var10 /* : Bool */;
4998 short int var11 /* : Bool */;
4999 short int var13 /* : Bool */;
5000 short int var14 /* : Bool */;
5001 short int var16 /* : Bool */;
5002 short int var17 /* : Bool */;
5003 short int var19 /* : Bool */;
5004 short int var20 /* : Bool */;
5005 {
5006 { /* Inline kernel#Object#init (self) on <self:ASignature> */
5007 RET_LABEL1:(void)0;
5008 }
5009 }
5010 var_n_opar = p0;
5011 var_n_params = p1;
5012 var_n_cpar = p2;
5013 var_n_type = p3;
5014 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_opar].val = var_n_opar; /* _n_opar on <self:ASignature> */
5015 if (var_n_opar == NULL) {
5016 var = 0; /* is null */
5017 } else {
5018 var = 1; /* arg is null and recv is not */
5019 }
5020 if (0) {
5021 { /* Inline kernel#Object#!= (var_n_opar,((val*)NULL)) on <var_n_opar:nullable TOpar> */
5022 var_other = ((val*)NULL);
5023 {
5024 var4 = ((short int(*)(val* self, val* p0))(var_n_opar->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_opar, var_other); /* == on <var_n_opar:nullable TOpar(TOpar)>*/
5025 }
5026 var5 = !var4;
5027 var2 = var5;
5028 goto RET_LABEL3;
5029 RET_LABEL3:(void)0;
5030 }
5031 var = var2;
5032 }
5033 if (var){
5034 {
5035 { /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on <var_n_opar:nullable TOpar(TOpar)> */
5036 var_n_opar->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_opar:nullable TOpar(TOpar)> */
5037 RET_LABEL6:(void)0;
5038 }
5039 }
5040 } else {
5041 }
5042 {
5043 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
5044 var9 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on <self:ASignature> */
5045 if (unlikely(var9 == NULL)) {
5046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
5047 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679);
5048 fatal_exit(1);
5049 }
5050 var7 = var9;
5051 RET_LABEL8:(void)0;
5052 }
5053 }
5054 {
5055 nitc___nitc__ANodes___unsafe_add_all(var7, var_n_params); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var7:ANodes[AParam]>*/
5056 }
5057 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_cpar].val = var_n_cpar; /* _n_cpar on <self:ASignature> */
5058 if (var_n_cpar == NULL) {
5059 var10 = 0; /* is null */
5060 } else {
5061 var10 = 1; /* arg is null and recv is not */
5062 }
5063 if (0) {
5064 { /* Inline kernel#Object#!= (var_n_cpar,((val*)NULL)) on <var_n_cpar:nullable TCpar> */
5065 var_other = ((val*)NULL);
5066 {
5067 var13 = ((short int(*)(val* self, val* p0))(var_n_cpar->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_cpar, var_other); /* == on <var_n_cpar:nullable TCpar(TCpar)>*/
5068 }
5069 var14 = !var13;
5070 var11 = var14;
5071 goto RET_LABEL12;
5072 RET_LABEL12:(void)0;
5073 }
5074 var10 = var11;
5075 }
5076 if (var10){
5077 {
5078 { /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on <var_n_cpar:nullable TCpar(TCpar)> */
5079 var_n_cpar->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_cpar:nullable TCpar(TCpar)> */
5080 RET_LABEL15:(void)0;
5081 }
5082 }
5083 } else {
5084 }
5085 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_type].val = var_n_type; /* _n_type on <self:ASignature> */
5086 if (var_n_type == NULL) {
5087 var16 = 0; /* is null */
5088 } else {
5089 var16 = 1; /* arg is null and recv is not */
5090 }
5091 if (0) {
5092 { /* Inline kernel#Object#!= (var_n_type,((val*)NULL)) on <var_n_type:nullable AType> */
5093 var_other = ((val*)NULL);
5094 {
5095 var19 = ((short int(*)(val* self, val* p0))(var_n_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_type, var_other); /* == on <var_n_type:nullable AType(AType)>*/
5096 }
5097 var20 = !var19;
5098 var17 = var20;
5099 goto RET_LABEL18;
5100 RET_LABEL18:(void)0;
5101 }
5102 var16 = var17;
5103 }
5104 if (var16){
5105 {
5106 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType(AType)> */
5107 var_n_type->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType(AType)> */
5108 RET_LABEL21:(void)0;
5109 }
5110 }
5111 } else {
5112 }
5113 RET_LABEL:;
5114 }
5115 /* method parser_prod#ASignature#replace_child for (self: ASignature, ANode, nullable ANode) */
5116 void nitc__parser_prod___ASignature___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
5117 val* var_old_child /* var old_child: ANode */;
5118 val* var_new_child /* var new_child: nullable ANode */;
5119 val* var /* : nullable TOpar */;
5120 short int var1 /* : Bool */;
5121 short int var2 /* : Bool */;
5122 val* var_other /* var other: nullable Object */;
5123 short int var4 /* : Bool */;
5124 short int var6 /* : Bool */;
5125 short int var7 /* : Bool */;
5126 int cltype;
5127 int idtype;
5128 const char* var_class_name;
5129 val* var8 /* : ANodes[AParam] */;
5130 val* var10 /* : ANodes[AParam] */;
5131 short int var11 /* : Bool */;
5132 val* var12 /* : nullable TCpar */;
5133 short int var13 /* : Bool */;
5134 short int var14 /* : Bool */;
5135 short int var16 /* : Bool */;
5136 short int var18 /* : Bool */;
5137 short int var19 /* : Bool */;
5138 int cltype20;
5139 int idtype21;
5140 const char* var_class_name22;
5141 val* var23 /* : nullable AType */;
5142 short int var24 /* : Bool */;
5143 short int var25 /* : Bool */;
5144 short int var27 /* : Bool */;
5145 short int var29 /* : Bool */;
5146 short int var30 /* : Bool */;
5147 int cltype31;
5148 int idtype32;
5149 const char* var_class_name33;
5150 var_old_child = p0;
5151 var_new_child = p1;
5152 var = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_opar].val; /* _n_opar on <self:ASignature> */
5153 if (var == NULL) {
5154 var1 = 0; /* <var_old_child:ANode> cannot be null */
5155 } else {
5156 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TOpar> */
5157 var_other = var_old_child;
5158 {
5159 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TOpar(TOpar)> */
5160 var6 = var == var_other;
5161 var4 = var6;
5162 goto RET_LABEL5;
5163 RET_LABEL5:(void)0;
5164 }
5165 }
5166 var2 = var4;
5167 goto RET_LABEL3;
5168 RET_LABEL3:(void)0;
5169 }
5170 var1 = var2;
5171 }
5172 if (var1){
5173 /* <var_new_child:nullable ANode> isa nullable TOpar */
5174 cltype = type_nullable__nitc__TOpar.color;
5175 idtype = type_nullable__nitc__TOpar.id;
5176 if(var_new_child == NULL) {
5177 var7 = 1;
5178 } else {
5179 if(cltype >= var_new_child->type->table_size) {
5180 var7 = 0;
5181 } else {
5182 var7 = var_new_child->type->type_table[cltype] == idtype;
5183 }
5184 }
5185 if (unlikely(!var7)) {
5186 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
5187 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name);
5188 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2337);
5189 fatal_exit(1);
5190 }
5191 {
5192 nitc__parser_prod___ASignature___n_opar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_opar= on <self:ASignature>*/
5193 }
5194 goto RET_LABEL;
5195 } else {
5196 }
5197 {
5198 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
5199 var10 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on <self:ASignature> */
5200 if (unlikely(var10 == NULL)) {
5201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
5202 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679);
5203 fatal_exit(1);
5204 }
5205 var8 = var10;
5206 RET_LABEL9:(void)0;
5207 }
5208 }
5209 {
5210 var11 = nitc___nitc__ANodes___replace_child(var8, var_old_child, var_new_child);
5211 }
5212 if (var11){
5213 goto RET_LABEL;
5214 } else {
5215 }
5216 var12 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_cpar].val; /* _n_cpar on <self:ASignature> */
5217 if (var12 == NULL) {
5218 var13 = 0; /* <var_old_child:ANode> cannot be null */
5219 } else {
5220 { /* Inline kernel#Object#== (var12,var_old_child) on <var12:nullable TCpar> */
5221 var_other = var_old_child;
5222 {
5223 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:nullable TCpar(TCpar)> */
5224 var18 = var12 == var_other;
5225 var16 = var18;
5226 goto RET_LABEL17;
5227 RET_LABEL17:(void)0;
5228 }
5229 }
5230 var14 = var16;
5231 goto RET_LABEL15;
5232 RET_LABEL15:(void)0;
5233 }
5234 var13 = var14;
5235 }
5236 if (var13){
5237 /* <var_new_child:nullable ANode> isa nullable TCpar */
5238 cltype20 = type_nullable__nitc__TCpar.color;
5239 idtype21 = type_nullable__nitc__TCpar.id;
5240 if(var_new_child == NULL) {
5241 var19 = 1;
5242 } else {
5243 if(cltype20 >= var_new_child->type->table_size) {
5244 var19 = 0;
5245 } else {
5246 var19 = var_new_child->type->type_table[cltype20] == idtype21;
5247 }
5248 }
5249 if (unlikely(!var19)) {
5250 var_class_name22 = var_new_child == NULL ? "null" : var_new_child->type->name;
5251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name22);
5252 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2342);
5253 fatal_exit(1);
5254 }
5255 {
5256 nitc__parser_prod___ASignature___n_cpar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_cpar= on <self:ASignature>*/
5257 }
5258 goto RET_LABEL;
5259 } else {
5260 }
5261 var23 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_type].val; /* _n_type on <self:ASignature> */
5262 if (var23 == NULL) {
5263 var24 = 0; /* <var_old_child:ANode> cannot be null */
5264 } else {
5265 { /* Inline kernel#Object#== (var23,var_old_child) on <var23:nullable AType> */
5266 var_other = var_old_child;
5267 {
5268 { /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:nullable AType(AType)> */
5269 var29 = var23 == var_other;
5270 var27 = var29;
5271 goto RET_LABEL28;
5272 RET_LABEL28:(void)0;
5273 }
5274 }
5275 var25 = var27;
5276 goto RET_LABEL26;
5277 RET_LABEL26:(void)0;
5278 }
5279 var24 = var25;
5280 }
5281 if (var24){
5282 /* <var_new_child:nullable ANode> isa nullable AType */
5283 cltype31 = type_nullable__nitc__AType.color;
5284 idtype32 = type_nullable__nitc__AType.id;
5285 if(var_new_child == NULL) {
5286 var30 = 1;
5287 } else {
5288 if(cltype31 >= var_new_child->type->table_size) {
5289 var30 = 0;
5290 } else {
5291 var30 = var_new_child->type->type_table[cltype31] == idtype32;
5292 }
5293 }
5294 if (unlikely(!var30)) {
5295 var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name;
5296 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name33);
5297 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2346);
5298 fatal_exit(1);
5299 }
5300 {
5301 nitc__parser_prod___ASignature___n_type_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_type= on <self:ASignature>*/
5302 }
5303 goto RET_LABEL;
5304 } else {
5305 }
5306 RET_LABEL:;
5307 }
5308 /* method parser_prod#ASignature#n_opar= for (self: ASignature, nullable TOpar) */
5309 void nitc__parser_prod___ASignature___n_opar_61d(val* self, val* p0) {
5310 val* var_node /* var node: nullable TOpar */;
5311 short int var /* : Bool */;
5312 short int var1 /* : Bool */;
5313 val* var_other /* var other: nullable Object */;
5314 short int var3 /* : Bool */;
5315 short int var4 /* : Bool */;
5316 var_node = p0;
5317 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_opar].val = var_node; /* _n_opar on <self:ASignature> */
5318 if (var_node == NULL) {
5319 var = 0; /* is null */
5320 } else {
5321 var = 1; /* arg is null and recv is not */
5322 }
5323 if (0) {
5324 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TOpar> */
5325 var_other = ((val*)NULL);
5326 {
5327 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TOpar(TOpar)>*/
5328 }
5329 var4 = !var3;
5330 var1 = var4;
5331 goto RET_LABEL2;
5332 RET_LABEL2:(void)0;
5333 }
5334 var = var1;
5335 }
5336 if (var){
5337 {
5338 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TOpar(TOpar)> */
5339 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TOpar(TOpar)> */
5340 RET_LABEL5:(void)0;
5341 }
5342 }
5343 } else {
5344 }
5345 RET_LABEL:;
5346 }
5347 /* method parser_prod#ASignature#n_cpar= for (self: ASignature, nullable TCpar) */
5348 void nitc__parser_prod___ASignature___n_cpar_61d(val* self, val* p0) {
5349 val* var_node /* var node: nullable TCpar */;
5350 short int var /* : Bool */;
5351 short int var1 /* : Bool */;
5352 val* var_other /* var other: nullable Object */;
5353 short int var3 /* : Bool */;
5354 short int var4 /* : Bool */;
5355 var_node = p0;
5356 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_cpar].val = var_node; /* _n_cpar on <self:ASignature> */
5357 if (var_node == NULL) {
5358 var = 0; /* is null */
5359 } else {
5360 var = 1; /* arg is null and recv is not */
5361 }
5362 if (0) {
5363 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TCpar> */
5364 var_other = ((val*)NULL);
5365 {
5366 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TCpar(TCpar)>*/
5367 }
5368 var4 = !var3;
5369 var1 = var4;
5370 goto RET_LABEL2;
5371 RET_LABEL2:(void)0;
5372 }
5373 var = var1;
5374 }
5375 if (var){
5376 {
5377 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TCpar(TCpar)> */
5378 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TCpar(TCpar)> */
5379 RET_LABEL5:(void)0;
5380 }
5381 }
5382 } else {
5383 }
5384 RET_LABEL:;
5385 }
5386 /* method parser_prod#ASignature#n_type= for (self: ASignature, nullable AType) */
5387 void nitc__parser_prod___ASignature___n_type_61d(val* self, val* p0) {
5388 val* var_node /* var node: nullable AType */;
5389 short int var /* : Bool */;
5390 short int var1 /* : Bool */;
5391 val* var_other /* var other: nullable Object */;
5392 short int var3 /* : Bool */;
5393 short int var4 /* : Bool */;
5394 var_node = p0;
5395 self->attrs[COLOR_nitc__parser_nodes__ASignature___n_type].val = var_node; /* _n_type on <self:ASignature> */
5396 if (var_node == NULL) {
5397 var = 0; /* is null */
5398 } else {
5399 var = 1; /* arg is null and recv is not */
5400 }
5401 if (0) {
5402 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AType> */
5403 var_other = ((val*)NULL);
5404 {
5405 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AType(AType)>*/
5406 }
5407 var4 = !var3;
5408 var1 = var4;
5409 goto RET_LABEL2;
5410 RET_LABEL2:(void)0;
5411 }
5412 var = var1;
5413 }
5414 if (var){
5415 {
5416 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
5417 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AType(AType)> */
5418 RET_LABEL5:(void)0;
5419 }
5420 }
5421 } else {
5422 }
5423 RET_LABEL:;
5424 }
5425 /* method parser_prod#ASignature#visit_all for (self: ASignature, Visitor) */
5426 void nitc__parser_prod___ASignature___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
5427 val* var_v /* var v: Visitor */;
5428 val* var /* : nullable TOpar */;
5429 val* var1 /* : ANodes[AParam] */;
5430 val* var3 /* : ANodes[AParam] */;
5431 val* var4 /* : nullable TCpar */;
5432 val* var5 /* : nullable AType */;
5433 var_v = p0;
5434 var = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_opar].val; /* _n_opar on <self:ASignature> */
5435 {
5436 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5437 }
5438 {
5439 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
5440 var3 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on <self:ASignature> */
5441 if (unlikely(var3 == NULL)) {
5442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
5443 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679);
5444 fatal_exit(1);
5445 }
5446 var1 = var3;
5447 RET_LABEL2:(void)0;
5448 }
5449 }
5450 {
5451 nitc___nitc__ANodes___visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[AParam]>*/
5452 }
5453 var4 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_cpar].val; /* _n_cpar on <self:ASignature> */
5454 {
5455 nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5456 }
5457 var5 = self->attrs[COLOR_nitc__parser_nodes__ASignature___n_type].val; /* _n_type on <self:ASignature> */
5458 {
5459 nitc___nitc__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5460 }
5461 RET_LABEL:;
5462 }
5463 /* method parser_prod#AParam#init_aparam for (self: AParam, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */
5464 void nitc__parser_prod___AParam___init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) {
5465 val* var_n_id /* var n_id: nullable TId */;
5466 val* var_n_type /* var n_type: nullable AType */;
5467 val* var_n_dotdotdot /* var n_dotdotdot: nullable TDotdotdot */;
5468 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5469 short int var /* : Bool */;
5470 short int var3 /* : Bool */;
5471 val* var_other /* var other: nullable Object */;
5472 short int var5 /* : Bool */;
5473 short int var6 /* : Bool */;
5474 short int var8 /* : Bool */;
5475 short int var9 /* : Bool */;
5476 short int var11 /* : Bool */;
5477 short int var12 /* : Bool */;
5478 short int var14 /* : Bool */;
5479 short int var15 /* : Bool */;
5480 short int var17 /* : Bool */;
5481 short int var18 /* : Bool */;
5482 {
5483 { /* Inline kernel#Object#init (self) on <self:AParam> */
5484 RET_LABEL1:(void)0;
5485 }
5486 }
5487 var_n_id = p0;
5488 var_n_type = p1;
5489 var_n_dotdotdot = p2;
5490 var_n_annotations = p3;
5491 if (unlikely(var_n_id == NULL)) {
5492 PRINT_ERROR("Runtime error: %s", "Cast failed");
5493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2384);
5494 fatal_exit(1);
5495 }
5496 self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val = var_n_id; /* _n_id on <self:AParam> */
5497 if (var_n_id == NULL) {
5498 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2385);
5500 fatal_exit(1);
5501 } else {
5502 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
5503 if (unlikely(var_n_id == NULL)) {
5504 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5505 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
5506 fatal_exit(1);
5507 }
5508 var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
5509 RET_LABEL2:(void)0;
5510 }
5511 }
5512 self->attrs[COLOR_nitc__parser_nodes__AParam___n_type].val = var_n_type; /* _n_type on <self:AParam> */
5513 if (var_n_type == NULL) {
5514 var = 0; /* is null */
5515 } else {
5516 var = 1; /* arg is null and recv is not */
5517 }
5518 if (0) {
5519 { /* Inline kernel#Object#!= (var_n_type,((val*)NULL)) on <var_n_type:nullable AType> */
5520 var_other = ((val*)NULL);
5521 {
5522 var5 = ((short int(*)(val* self, val* p0))(var_n_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_type, var_other); /* == on <var_n_type:nullable AType(AType)>*/
5523 }
5524 var6 = !var5;
5525 var3 = var6;
5526 goto RET_LABEL4;
5527 RET_LABEL4:(void)0;
5528 }
5529 var = var3;
5530 }
5531 if (var){
5532 {
5533 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType(AType)> */
5534 var_n_type->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType(AType)> */
5535 RET_LABEL7:(void)0;
5536 }
5537 }
5538 } else {
5539 }
5540 self->attrs[COLOR_nitc__parser_nodes__AParam___n_dotdotdot].val = var_n_dotdotdot; /* _n_dotdotdot on <self:AParam> */
5541 if (var_n_dotdotdot == NULL) {
5542 var8 = 0; /* is null */
5543 } else {
5544 var8 = 1; /* arg is null and recv is not */
5545 }
5546 if (0) {
5547 { /* Inline kernel#Object#!= (var_n_dotdotdot,((val*)NULL)) on <var_n_dotdotdot:nullable TDotdotdot> */
5548 var_other = ((val*)NULL);
5549 {
5550 var11 = ((short int(*)(val* self, val* p0))(var_n_dotdotdot->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_dotdotdot, var_other); /* == on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)>*/
5551 }
5552 var12 = !var11;
5553 var9 = var12;
5554 goto RET_LABEL10;
5555 RET_LABEL10:(void)0;
5556 }
5557 var8 = var9;
5558 }
5559 if (var8){
5560 {
5561 { /* Inline parser_nodes#ANode#parent= (var_n_dotdotdot,self) on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)> */
5562 var_n_dotdotdot->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)> */
5563 RET_LABEL13:(void)0;
5564 }
5565 }
5566 } else {
5567 }
5568 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AParam> */
5569 if (var_n_annotations == NULL) {
5570 var14 = 0; /* is null */
5571 } else {
5572 var14 = 1; /* arg is null and recv is not */
5573 }
5574 if (0) {
5575 { /* Inline kernel#Object#!= (var_n_annotations,((val*)NULL)) on <var_n_annotations:nullable AAnnotations> */
5576 var_other = ((val*)NULL);
5577 {
5578 var17 = ((short int(*)(val* self, val* p0))(var_n_annotations->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_annotations, var_other); /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/
5579 }
5580 var18 = !var17;
5581 var15 = var18;
5582 goto RET_LABEL16;
5583 RET_LABEL16:(void)0;
5584 }
5585 var14 = var15;
5586 }
5587 if (var14){
5588 {
5589 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
5590 var_n_annotations->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
5591 RET_LABEL19:(void)0;
5592 }
5593 }
5594 } else {
5595 }
5596 RET_LABEL:;
5597 }
5598 /* method parser_prod#AParam#replace_child for (self: AParam, ANode, nullable ANode) */
5599 void nitc__parser_prod___AParam___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
5600 val* var_old_child /* var old_child: ANode */;
5601 val* var_new_child /* var new_child: nullable ANode */;
5602 val* var /* : TId */;
5603 short int var1 /* : Bool */;
5604 val* var_other /* var other: nullable Object */;
5605 short int var3 /* : Bool */;
5606 short int var5 /* : Bool */;
5607 short int var6 /* : Bool */;
5608 int cltype;
5609 int idtype;
5610 const char* var_class_name;
5611 val* var7 /* : nullable AType */;
5612 short int var8 /* : Bool */;
5613 short int var9 /* : Bool */;
5614 short int var11 /* : Bool */;
5615 short int var13 /* : Bool */;
5616 short int var14 /* : Bool */;
5617 int cltype15;
5618 int idtype16;
5619 const char* var_class_name17;
5620 val* var18 /* : nullable TDotdotdot */;
5621 short int var19 /* : Bool */;
5622 short int var20 /* : Bool */;
5623 short int var22 /* : Bool */;
5624 short int var24 /* : Bool */;
5625 short int var25 /* : Bool */;
5626 int cltype26;
5627 int idtype27;
5628 const char* var_class_name28;
5629 val* var29 /* : nullable AAnnotations */;
5630 short int var30 /* : Bool */;
5631 short int var31 /* : Bool */;
5632 short int var33 /* : Bool */;
5633 short int var35 /* : Bool */;
5634 short int var36 /* : Bool */;
5635 int cltype37;
5636 int idtype38;
5637 const char* var_class_name39;
5638 var_old_child = p0;
5639 var_new_child = p1;
5640 var = self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val; /* _n_id on <self:AParam> */
5641 if (unlikely(var == NULL)) {
5642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2396);
5644 fatal_exit(1);
5645 }
5646 {
5647 { /* Inline kernel#Object#== (var,var_old_child) on <var:TId> */
5648 var_other = var_old_child;
5649 {
5650 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TId> */
5651 var5 = var == var_other;
5652 var3 = var5;
5653 goto RET_LABEL4;
5654 RET_LABEL4:(void)0;
5655 }
5656 }
5657 var1 = var3;
5658 goto RET_LABEL2;
5659 RET_LABEL2:(void)0;
5660 }
5661 }
5662 if (var1){
5663 /* <var_new_child:nullable ANode> isa TId */
5664 cltype = type_nitc__TId.color;
5665 idtype = type_nitc__TId.id;
5666 if(var_new_child == NULL) {
5667 var6 = 0;
5668 } else {
5669 if(cltype >= var_new_child->type->table_size) {
5670 var6 = 0;
5671 } else {
5672 var6 = var_new_child->type->type_table[cltype] == idtype;
5673 }
5674 }
5675 if (unlikely(!var6)) {
5676 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
5677 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name);
5678 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2397);
5679 fatal_exit(1);
5680 }
5681 {
5682 nitc__parser_prod___AParam___n_id_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_id= on <self:AParam>*/
5683 }
5684 goto RET_LABEL;
5685 } else {
5686 }
5687 var7 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_type].val; /* _n_type on <self:AParam> */
5688 if (var7 == NULL) {
5689 var8 = 0; /* <var_old_child:ANode> cannot be null */
5690 } else {
5691 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable AType> */
5692 var_other = var_old_child;
5693 {
5694 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable AType(AType)> */
5695 var13 = var7 == var_other;
5696 var11 = var13;
5697 goto RET_LABEL12;
5698 RET_LABEL12:(void)0;
5699 }
5700 }
5701 var9 = var11;
5702 goto RET_LABEL10;
5703 RET_LABEL10:(void)0;
5704 }
5705 var8 = var9;
5706 }
5707 if (var8){
5708 /* <var_new_child:nullable ANode> isa nullable AType */
5709 cltype15 = type_nullable__nitc__AType.color;
5710 idtype16 = type_nullable__nitc__AType.id;
5711 if(var_new_child == NULL) {
5712 var14 = 1;
5713 } else {
5714 if(cltype15 >= var_new_child->type->table_size) {
5715 var14 = 0;
5716 } else {
5717 var14 = var_new_child->type->type_table[cltype15] == idtype16;
5718 }
5719 }
5720 if (unlikely(!var14)) {
5721 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
5722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name17);
5723 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2401);
5724 fatal_exit(1);
5725 }
5726 {
5727 nitc__parser_prod___AParam___n_type_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_type= on <self:AParam>*/
5728 }
5729 goto RET_LABEL;
5730 } else {
5731 }
5732 var18 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on <self:AParam> */
5733 if (var18 == NULL) {
5734 var19 = 0; /* <var_old_child:ANode> cannot be null */
5735 } else {
5736 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:nullable TDotdotdot> */
5737 var_other = var_old_child;
5738 {
5739 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable TDotdotdot(TDotdotdot)> */
5740 var24 = var18 == var_other;
5741 var22 = var24;
5742 goto RET_LABEL23;
5743 RET_LABEL23:(void)0;
5744 }
5745 }
5746 var20 = var22;
5747 goto RET_LABEL21;
5748 RET_LABEL21:(void)0;
5749 }
5750 var19 = var20;
5751 }
5752 if (var19){
5753 /* <var_new_child:nullable ANode> isa nullable TDotdotdot */
5754 cltype26 = type_nullable__nitc__TDotdotdot.color;
5755 idtype27 = type_nullable__nitc__TDotdotdot.id;
5756 if(var_new_child == NULL) {
5757 var25 = 1;
5758 } else {
5759 if(cltype26 >= var_new_child->type->table_size) {
5760 var25 = 0;
5761 } else {
5762 var25 = var_new_child->type->type_table[cltype26] == idtype27;
5763 }
5764 }
5765 if (unlikely(!var25)) {
5766 var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
5767 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TDotdotdot", var_class_name28);
5768 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2405);
5769 fatal_exit(1);
5770 }
5771 {
5772 nitc__parser_prod___AParam___n_dotdotdot_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_dotdotdot= on <self:AParam>*/
5773 }
5774 goto RET_LABEL;
5775 } else {
5776 }
5777 var29 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParam> */
5778 if (var29 == NULL) {
5779 var30 = 0; /* <var_old_child:ANode> cannot be null */
5780 } else {
5781 { /* Inline kernel#Object#== (var29,var_old_child) on <var29:nullable AAnnotations> */
5782 var_other = var_old_child;
5783 {
5784 { /* Inline kernel#Object#is_same_instance (var29,var_other) on <var29:nullable AAnnotations(AAnnotations)> */
5785 var35 = var29 == var_other;
5786 var33 = var35;
5787 goto RET_LABEL34;
5788 RET_LABEL34:(void)0;
5789 }
5790 }
5791 var31 = var33;
5792 goto RET_LABEL32;
5793 RET_LABEL32:(void)0;
5794 }
5795 var30 = var31;
5796 }
5797 if (var30){
5798 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
5799 cltype37 = type_nullable__nitc__AAnnotations.color;
5800 idtype38 = type_nullable__nitc__AAnnotations.id;
5801 if(var_new_child == NULL) {
5802 var36 = 1;
5803 } else {
5804 if(cltype37 >= var_new_child->type->table_size) {
5805 var36 = 0;
5806 } else {
5807 var36 = var_new_child->type->type_table[cltype37] == idtype38;
5808 }
5809 }
5810 if (unlikely(!var36)) {
5811 var_class_name39 = var_new_child == NULL ? "null" : var_new_child->type->name;
5812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name39);
5813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2409);
5814 fatal_exit(1);
5815 }
5816 {
5817 nitc__parser_prod___AParam___nitc__parser_nodes__Prod__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_annotations= on <self:AParam>*/
5818 }
5819 goto RET_LABEL;
5820 } else {
5821 }
5822 RET_LABEL:;
5823 }
5824 /* method parser_prod#AParam#n_id= for (self: AParam, TId) */
5825 void nitc__parser_prod___AParam___n_id_61d(val* self, val* p0) {
5826 val* var_node /* var node: TId */;
5827 var_node = p0;
5828 self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val = var_node; /* _n_id on <self:AParam> */
5829 {
5830 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
5831 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
5832 RET_LABEL1:(void)0;
5833 }
5834 }
5835 RET_LABEL:;
5836 }
5837 /* method parser_prod#AParam#n_type= for (self: AParam, nullable AType) */
5838 void nitc__parser_prod___AParam___n_type_61d(val* self, val* p0) {
5839 val* var_node /* var node: nullable AType */;
5840 short int var /* : Bool */;
5841 short int var1 /* : Bool */;
5842 val* var_other /* var other: nullable Object */;
5843 short int var3 /* : Bool */;
5844 short int var4 /* : Bool */;
5845 var_node = p0;
5846 self->attrs[COLOR_nitc__parser_nodes__AParam___n_type].val = var_node; /* _n_type on <self:AParam> */
5847 if (var_node == NULL) {
5848 var = 0; /* is null */
5849 } else {
5850 var = 1; /* arg is null and recv is not */
5851 }
5852 if (0) {
5853 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AType> */
5854 var_other = ((val*)NULL);
5855 {
5856 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AType(AType)>*/
5857 }
5858 var4 = !var3;
5859 var1 = var4;
5860 goto RET_LABEL2;
5861 RET_LABEL2:(void)0;
5862 }
5863 var = var1;
5864 }
5865 if (var){
5866 {
5867 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
5868 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AType(AType)> */
5869 RET_LABEL5:(void)0;
5870 }
5871 }
5872 } else {
5873 }
5874 RET_LABEL:;
5875 }
5876 /* method parser_prod#AParam#n_dotdotdot= for (self: AParam, nullable TDotdotdot) */
5877 void nitc__parser_prod___AParam___n_dotdotdot_61d(val* self, val* p0) {
5878 val* var_node /* var node: nullable TDotdotdot */;
5879 short int var /* : Bool */;
5880 short int var1 /* : Bool */;
5881 val* var_other /* var other: nullable Object */;
5882 short int var3 /* : Bool */;
5883 short int var4 /* : Bool */;
5884 var_node = p0;
5885 self->attrs[COLOR_nitc__parser_nodes__AParam___n_dotdotdot].val = var_node; /* _n_dotdotdot on <self:AParam> */
5886 if (var_node == NULL) {
5887 var = 0; /* is null */
5888 } else {
5889 var = 1; /* arg is null and recv is not */
5890 }
5891 if (0) {
5892 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TDotdotdot> */
5893 var_other = ((val*)NULL);
5894 {
5895 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TDotdotdot(TDotdotdot)>*/
5896 }
5897 var4 = !var3;
5898 var1 = var4;
5899 goto RET_LABEL2;
5900 RET_LABEL2:(void)0;
5901 }
5902 var = var1;
5903 }
5904 if (var){
5905 {
5906 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TDotdotdot(TDotdotdot)> */
5907 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TDotdotdot(TDotdotdot)> */
5908 RET_LABEL5:(void)0;
5909 }
5910 }
5911 } else {
5912 }
5913 RET_LABEL:;
5914 }
5915 /* method parser_prod#AParam#n_annotations= for (self: AParam, nullable AAnnotations) */
5916 void nitc__parser_prod___AParam___nitc__parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
5917 val* var_node /* var node: nullable AAnnotations */;
5918 short int var /* : Bool */;
5919 short int var1 /* : Bool */;
5920 val* var_other /* var other: nullable Object */;
5921 short int var3 /* : Bool */;
5922 short int var4 /* : Bool */;
5923 var_node = p0;
5924 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AParam> */
5925 if (var_node == NULL) {
5926 var = 0; /* is null */
5927 } else {
5928 var = 1; /* arg is null and recv is not */
5929 }
5930 if (0) {
5931 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AAnnotations> */
5932 var_other = ((val*)NULL);
5933 {
5934 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AAnnotations(AAnnotations)>*/
5935 }
5936 var4 = !var3;
5937 var1 = var4;
5938 goto RET_LABEL2;
5939 RET_LABEL2:(void)0;
5940 }
5941 var = var1;
5942 }
5943 if (var){
5944 {
5945 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
5946 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
5947 RET_LABEL5:(void)0;
5948 }
5949 }
5950 } else {
5951 }
5952 RET_LABEL:;
5953 }
5954 /* method parser_prod#AParam#visit_all for (self: AParam, Visitor) */
5955 void nitc__parser_prod___AParam___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
5956 val* var_v /* var v: Visitor */;
5957 val* var /* : TId */;
5958 val* var1 /* : nullable AType */;
5959 val* var2 /* : nullable TDotdotdot */;
5960 val* var3 /* : nullable AAnnotations */;
5961 var_v = p0;
5962 var = self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val; /* _n_id on <self:AParam> */
5963 if (unlikely(var == NULL)) {
5964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5965 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2438);
5966 fatal_exit(1);
5967 }
5968 {
5969 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5970 }
5971 var1 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_type].val; /* _n_type on <self:AParam> */
5972 {
5973 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5974 }
5975 var2 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on <self:AParam> */
5976 {
5977 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5978 }
5979 var3 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AParam> */
5980 {
5981 nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5982 }
5983 RET_LABEL:;
5984 }
5985 /* method parser_prod#AType#init_atype for (self: AType, nullable TKwnullable, nullable AQclassid, nullable TObra, Collection[Object], nullable TCbra, nullable AAnnotations) */
5986 void nitc__parser_prod___AType___init_atype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
5987 val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */;
5988 val* var_n_qid /* var n_qid: nullable AQclassid */;
5989 val* var_n_obra /* var n_obra: nullable TObra */;
5990 val* var_n_types /* var n_types: Collection[Object] */;
5991 val* var_n_cbra /* var n_cbra: nullable TCbra */;
5992 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5993 short int var /* : Bool */;
5994 short int var2 /* : Bool */;
5995 val* var_other /* var other: nullable Object */;
5996 short int var4 /* : Bool */;
5997 short int var5 /* : Bool */;
5998 short int var8 /* : Bool */;
5999 short int var9 /* : Bool */;
6000 short int var11 /* : Bool */;
6001 short int var12 /* : Bool */;
6002 val* var14 /* : ANodes[AType] */;
6003 val* var16 /* : ANodes[AType] */;
6004 short int var17 /* : Bool */;
6005 short int var18 /* : Bool */;
6006 short int var20 /* : Bool */;
6007 short int var21 /* : Bool */;
6008 short int var23 /* : Bool */;
6009 short int var24 /* : Bool */;
6010 short int var26 /* : Bool */;
6011 short int var27 /* : Bool */;
6012 {
6013 { /* Inline kernel#Object#init (self) on <self:AType> */
6014 RET_LABEL1:(void)0;
6015 }
6016 }
6017 var_n_kwnullable = p0;
6018 var_n_qid = p1;
6019 var_n_obra = p2;
6020 var_n_types = p3;
6021 var_n_cbra = p4;
6022 var_n_annotations = p5;
6023 self->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on <self:AType> */
6024 if (var_n_kwnullable == NULL) {
6025 var = 0; /* is null */
6026 } else {
6027 var = 1; /* arg is null and recv is not */
6028 }
6029 if (0) {
6030 { /* Inline kernel#Object#!= (var_n_kwnullable,((val*)NULL)) on <var_n_kwnullable:nullable TKwnullable> */
6031 var_other = ((val*)NULL);
6032 {
6033 var4 = ((short int(*)(val* self, val* p0))(var_n_kwnullable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwnullable, var_other); /* == on <var_n_kwnullable:nullable TKwnullable(TKwnullable)>*/
6034 }
6035 var5 = !var4;
6036 var2 = var5;
6037 goto RET_LABEL3;
6038 RET_LABEL3:(void)0;
6039 }
6040 var = var2;
6041 }
6042 if (var){
6043 {
6044 { /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on <var_n_kwnullable:nullable TKwnullable(TKwnullable)> */
6045 var_n_kwnullable->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnullable:nullable TKwnullable(TKwnullable)> */
6046 RET_LABEL6:(void)0;
6047 }
6048 }
6049 } else {
6050 }
6051 if (unlikely(var_n_qid == NULL)) {
6052 PRINT_ERROR("Runtime error: %s", "Cast failed");
6053 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2456);
6054 fatal_exit(1);
6055 }
6056 self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val = var_n_qid; /* _n_qid on <self:AType> */
6057 if (var_n_qid == NULL) {
6058 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6059 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2457);
6060 fatal_exit(1);
6061 } else {
6062 { /* Inline parser_nodes#ANode#parent= (var_n_qid,self) on <var_n_qid:nullable AQclassid> */
6063 if (unlikely(var_n_qid == NULL)) {
6064 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6065 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
6066 fatal_exit(1);
6067 }
6068 var_n_qid->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_qid:nullable AQclassid> */
6069 RET_LABEL7:(void)0;
6070 }
6071 }
6072 self->attrs[COLOR_nitc__parser_nodes__AType___n_obra].val = var_n_obra; /* _n_obra on <self:AType> */
6073 if (var_n_obra == NULL) {
6074 var8 = 0; /* is null */
6075 } else {
6076 var8 = 1; /* arg is null and recv is not */
6077 }
6078 if (0) {
6079 { /* Inline kernel#Object#!= (var_n_obra,((val*)NULL)) on <var_n_obra:nullable TObra> */
6080 var_other = ((val*)NULL);
6081 {
6082 var11 = ((short int(*)(val* self, val* p0))(var_n_obra->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_obra, var_other); /* == on <var_n_obra:nullable TObra(TObra)>*/
6083 }
6084 var12 = !var11;
6085 var9 = var12;
6086 goto RET_LABEL10;
6087 RET_LABEL10:(void)0;
6088 }
6089 var8 = var9;
6090 }
6091 if (var8){
6092 {
6093 { /* Inline parser_nodes#ANode#parent= (var_n_obra,self) on <var_n_obra:nullable TObra(TObra)> */
6094 var_n_obra->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_obra:nullable TObra(TObra)> */
6095 RET_LABEL13:(void)0;
6096 }
6097 }
6098 } else {
6099 }
6100 {
6101 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
6102 var16 = self->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on <self:AType> */
6103 if (unlikely(var16 == NULL)) {
6104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
6105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715);
6106 fatal_exit(1);
6107 }
6108 var14 = var16;
6109 RET_LABEL15:(void)0;
6110 }
6111 }
6112 {
6113 nitc___nitc__ANodes___unsafe_add_all(var14, var_n_types); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var14:ANodes[AType]>*/
6114 }
6115 self->attrs[COLOR_nitc__parser_nodes__AType___n_cbra].val = var_n_cbra; /* _n_cbra on <self:AType> */
6116 if (var_n_cbra == NULL) {
6117 var17 = 0; /* is null */
6118 } else {
6119 var17 = 1; /* arg is null and recv is not */
6120 }
6121 if (0) {
6122 { /* Inline kernel#Object#!= (var_n_cbra,((val*)NULL)) on <var_n_cbra:nullable TCbra> */
6123 var_other = ((val*)NULL);
6124 {
6125 var20 = ((short int(*)(val* self, val* p0))(var_n_cbra->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_cbra, var_other); /* == on <var_n_cbra:nullable TCbra(TCbra)>*/
6126 }
6127 var21 = !var20;
6128 var18 = var21;
6129 goto RET_LABEL19;
6130 RET_LABEL19:(void)0;
6131 }
6132 var17 = var18;
6133 }
6134 if (var17){
6135 {
6136 { /* Inline parser_nodes#ANode#parent= (var_n_cbra,self) on <var_n_cbra:nullable TCbra(TCbra)> */
6137 var_n_cbra->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_cbra:nullable TCbra(TCbra)> */
6138 RET_LABEL22:(void)0;
6139 }
6140 }
6141 } else {
6142 }
6143 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AType> */
6144 if (var_n_annotations == NULL) {
6145 var23 = 0; /* is null */
6146 } else {
6147 var23 = 1; /* arg is null and recv is not */
6148 }
6149 if (0) {
6150 { /* Inline kernel#Object#!= (var_n_annotations,((val*)NULL)) on <var_n_annotations:nullable AAnnotations> */
6151 var_other = ((val*)NULL);
6152 {
6153 var26 = ((short int(*)(val* self, val* p0))(var_n_annotations->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_annotations, var_other); /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/
6154 }
6155 var27 = !var26;
6156 var24 = var27;
6157 goto RET_LABEL25;
6158 RET_LABEL25:(void)0;
6159 }
6160 var23 = var24;
6161 }
6162 if (var23){
6163 {
6164 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
6165 var_n_annotations->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
6166 RET_LABEL28:(void)0;
6167 }
6168 }
6169 } else {
6170 }
6171 RET_LABEL:;
6172 }
6173 /* method parser_prod#AType#replace_child for (self: AType, ANode, nullable ANode) */
6174 void nitc__parser_prod___AType___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
6175 val* var_old_child /* var old_child: ANode */;
6176 val* var_new_child /* var new_child: nullable ANode */;
6177 val* var /* : nullable TKwnullable */;
6178 short int var1 /* : Bool */;
6179 short int var2 /* : Bool */;
6180 val* var_other /* var other: nullable Object */;
6181 short int var4 /* : Bool */;
6182 short int var6 /* : Bool */;
6183 short int var7 /* : Bool */;
6184 int cltype;
6185 int idtype;
6186 const char* var_class_name;
6187 val* var8 /* : AQclassid */;
6188 short int var9 /* : Bool */;
6189 short int var11 /* : Bool */;
6190 short int var13 /* : Bool */;
6191 short int var14 /* : Bool */;
6192 int cltype15;
6193 int idtype16;
6194 const char* var_class_name17;
6195 val* var18 /* : nullable TObra */;
6196 short int var19 /* : Bool */;
6197 short int var20 /* : Bool */;
6198 short int var22 /* : Bool */;
6199 short int var24 /* : Bool */;
6200 short int var25 /* : Bool */;
6201 int cltype26;
6202 int idtype27;
6203 const char* var_class_name28;
6204 val* var29 /* : ANodes[AType] */;
6205 val* var31 /* : ANodes[AType] */;
6206 short int var32 /* : Bool */;
6207 val* var33 /* : nullable TCbra */;
6208 short int var34 /* : Bool */;
6209 short int var35 /* : Bool */;
6210 short int var37 /* : Bool */;
6211 short int var39 /* : Bool */;
6212 short int var40 /* : Bool */;
6213 int cltype41;
6214 int idtype42;
6215 const char* var_class_name43;
6216 val* var44 /* : nullable AAnnotations */;
6217 short int var45 /* : Bool */;
6218 short int var46 /* : Bool */;
6219 short int var48 /* : Bool */;
6220 short int var50 /* : Bool */;
6221 short int var51 /* : Bool */;
6222 int cltype52;
6223 int idtype53;
6224 const char* var_class_name54;
6225 var_old_child = p0;
6226 var_new_child = p1;
6227 var = self->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on <self:AType> */
6228 if (var == NULL) {
6229 var1 = 0; /* <var_old_child:ANode> cannot be null */
6230 } else {
6231 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwnullable> */
6232 var_other = var_old_child;
6233 {
6234 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwnullable(TKwnullable)> */
6235 var6 = var == var_other;
6236 var4 = var6;
6237 goto RET_LABEL5;
6238 RET_LABEL5:(void)0;
6239 }
6240 }
6241 var2 = var4;
6242 goto RET_LABEL3;
6243 RET_LABEL3:(void)0;
6244 }
6245 var1 = var2;
6246 }
6247 if (var1){
6248 /* <var_new_child:nullable ANode> isa nullable TKwnullable */
6249 cltype = type_nullable__nitc__TKwnullable.color;
6250 idtype = type_nullable__nitc__TKwnullable.id;
6251 if(var_new_child == NULL) {
6252 var7 = 1;
6253 } else {
6254 if(cltype >= var_new_child->type->table_size) {
6255 var7 = 0;
6256 } else {
6257 var7 = var_new_child->type->type_table[cltype] == idtype;
6258 }
6259 }
6260 if (unlikely(!var7)) {
6261 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
6262 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwnullable", var_class_name);
6263 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2470);
6264 fatal_exit(1);
6265 }
6266 {
6267 nitc__parser_prod___AType___n_kwnullable_61d(self, var_new_child); /* Direct call parser_prod#AType#n_kwnullable= on <self:AType>*/
6268 }
6269 goto RET_LABEL;
6270 } else {
6271 }
6272 var8 = self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val; /* _n_qid on <self:AType> */
6273 if (unlikely(var8 == NULL)) {
6274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
6275 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2473);
6276 fatal_exit(1);
6277 }
6278 {
6279 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AQclassid> */
6280 var_other = var_old_child;
6281 {
6282 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AQclassid> */
6283 var13 = var8 == var_other;
6284 var11 = var13;
6285 goto RET_LABEL12;
6286 RET_LABEL12:(void)0;
6287 }
6288 }
6289 var9 = var11;
6290 goto RET_LABEL10;
6291 RET_LABEL10:(void)0;
6292 }
6293 }
6294 if (var9){
6295 /* <var_new_child:nullable ANode> isa AQclassid */
6296 cltype15 = type_nitc__AQclassid.color;
6297 idtype16 = type_nitc__AQclassid.id;
6298 if(var_new_child == NULL) {
6299 var14 = 0;
6300 } else {
6301 if(cltype15 >= var_new_child->type->table_size) {
6302 var14 = 0;
6303 } else {
6304 var14 = var_new_child->type->type_table[cltype15] == idtype16;
6305 }
6306 }
6307 if (unlikely(!var14)) {
6308 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
6309 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AQclassid", var_class_name17);
6310 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2474);
6311 fatal_exit(1);
6312 }
6313 {
6314 nitc__parser_prod___AType___n_qid_61d(self, var_new_child); /* Direct call parser_prod#AType#n_qid= on <self:AType>*/
6315 }
6316 goto RET_LABEL;
6317 } else {
6318 }
6319 var18 = self->attrs[COLOR_nitc__parser_nodes__AType___n_obra].val; /* _n_obra on <self:AType> */
6320 if (var18 == NULL) {
6321 var19 = 0; /* <var_old_child:ANode> cannot be null */
6322 } else {
6323 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:nullable TObra> */
6324 var_other = var_old_child;
6325 {
6326 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable TObra(TObra)> */
6327 var24 = var18 == var_other;
6328 var22 = var24;
6329 goto RET_LABEL23;
6330 RET_LABEL23:(void)0;
6331 }
6332 }
6333 var20 = var22;
6334 goto RET_LABEL21;
6335 RET_LABEL21:(void)0;
6336 }
6337 var19 = var20;
6338 }
6339 if (var19){
6340 /* <var_new_child:nullable ANode> isa nullable TObra */
6341 cltype26 = type_nullable__nitc__TObra.color;
6342 idtype27 = type_nullable__nitc__TObra.id;
6343 if(var_new_child == NULL) {
6344 var25 = 1;
6345 } else {
6346 if(cltype26 >= var_new_child->type->table_size) {
6347 var25 = 0;
6348 } else {
6349 var25 = var_new_child->type->type_table[cltype26] == idtype27;
6350 }
6351 }
6352 if (unlikely(!var25)) {
6353 var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
6354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TObra", var_class_name28);
6355 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2478);
6356 fatal_exit(1);
6357 }
6358 {
6359 nitc__parser_prod___AType___n_obra_61d(self, var_new_child); /* Direct call parser_prod#AType#n_obra= on <self:AType>*/
6360 }
6361 goto RET_LABEL;
6362 } else {
6363 }
6364 {
6365 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
6366 var31 = self->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on <self:AType> */
6367 if (unlikely(var31 == NULL)) {
6368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
6369 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715);
6370 fatal_exit(1);
6371 }
6372 var29 = var31;
6373 RET_LABEL30:(void)0;
6374 }
6375 }
6376 {
6377 var32 = nitc___nitc__ANodes___replace_child(var29, var_old_child, var_new_child);
6378 }
6379 if (var32){
6380 goto RET_LABEL;
6381 } else {
6382 }
6383 var33 = self->attrs[COLOR_nitc__parser_nodes__AType___n_cbra].val; /* _n_cbra on <self:AType> */
6384 if (var33 == NULL) {
6385 var34 = 0; /* <var_old_child:ANode> cannot be null */
6386 } else {
6387 { /* Inline kernel#Object#== (var33,var_old_child) on <var33:nullable TCbra> */
6388 var_other = var_old_child;
6389 {
6390 { /* Inline kernel#Object#is_same_instance (var33,var_other) on <var33:nullable TCbra(TCbra)> */
6391 var39 = var33 == var_other;
6392 var37 = var39;
6393 goto RET_LABEL38;
6394 RET_LABEL38:(void)0;
6395 }
6396 }
6397 var35 = var37;
6398 goto RET_LABEL36;
6399 RET_LABEL36:(void)0;
6400 }
6401 var34 = var35;
6402 }
6403 if (var34){
6404 /* <var_new_child:nullable ANode> isa nullable TCbra */
6405 cltype41 = type_nullable__nitc__TCbra.color;
6406 idtype42 = type_nullable__nitc__TCbra.id;
6407 if(var_new_child == NULL) {
6408 var40 = 1;
6409 } else {
6410 if(cltype41 >= var_new_child->type->table_size) {
6411 var40 = 0;
6412 } else {
6413 var40 = var_new_child->type->type_table[cltype41] == idtype42;
6414 }
6415 }
6416 if (unlikely(!var40)) {
6417 var_class_name43 = var_new_child == NULL ? "null" : var_new_child->type->name;
6418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCbra", var_class_name43);
6419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2483);
6420 fatal_exit(1);
6421 }
6422 {
6423 nitc__parser_prod___AType___n_cbra_61d(self, var_new_child); /* Direct call parser_prod#AType#n_cbra= on <self:AType>*/
6424 }
6425 goto RET_LABEL;
6426 } else {
6427 }
6428 var44 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AType> */
6429 if (var44 == NULL) {
6430 var45 = 0; /* <var_old_child:ANode> cannot be null */
6431 } else {
6432 { /* Inline kernel#Object#== (var44,var_old_child) on <var44:nullable AAnnotations> */
6433 var_other = var_old_child;
6434 {
6435 { /* Inline kernel#Object#is_same_instance (var44,var_other) on <var44:nullable AAnnotations(AAnnotations)> */
6436 var50 = var44 == var_other;
6437 var48 = var50;
6438 goto RET_LABEL49;
6439 RET_LABEL49:(void)0;
6440 }
6441 }
6442 var46 = var48;
6443 goto RET_LABEL47;
6444 RET_LABEL47:(void)0;
6445 }
6446 var45 = var46;
6447 }
6448 if (var45){
6449 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
6450 cltype52 = type_nullable__nitc__AAnnotations.color;
6451 idtype53 = type_nullable__nitc__AAnnotations.id;
6452 if(var_new_child == NULL) {
6453 var51 = 1;
6454 } else {
6455 if(cltype52 >= var_new_child->type->table_size) {
6456 var51 = 0;
6457 } else {
6458 var51 = var_new_child->type->type_table[cltype52] == idtype53;
6459 }
6460 }
6461 if (unlikely(!var51)) {
6462 var_class_name54 = var_new_child == NULL ? "null" : var_new_child->type->name;
6463 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name54);
6464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2487);
6465 fatal_exit(1);
6466 }
6467 {
6468 nitc__parser_prod___AType___nitc__parser_nodes__Prod__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AType#n_annotations= on <self:AType>*/
6469 }
6470 goto RET_LABEL;
6471 } else {
6472 }
6473 RET_LABEL:;
6474 }
6475 /* method parser_prod#AType#n_kwnullable= for (self: AType, nullable TKwnullable) */
6476 void nitc__parser_prod___AType___n_kwnullable_61d(val* self, val* p0) {
6477 val* var_node /* var node: nullable TKwnullable */;
6478 short int var /* : Bool */;
6479 short int var1 /* : Bool */;
6480 val* var_other /* var other: nullable Object */;
6481 short int var3 /* : Bool */;
6482 short int var4 /* : Bool */;
6483 var_node = p0;
6484 self->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val = var_node; /* _n_kwnullable on <self:AType> */
6485 if (var_node == NULL) {
6486 var = 0; /* is null */
6487 } else {
6488 var = 1; /* arg is null and recv is not */
6489 }
6490 if (0) {
6491 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwnullable> */
6492 var_other = ((val*)NULL);
6493 {
6494 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwnullable(TKwnullable)>*/
6495 }
6496 var4 = !var3;
6497 var1 = var4;
6498 goto RET_LABEL2;
6499 RET_LABEL2:(void)0;
6500 }
6501 var = var1;
6502 }
6503 if (var){
6504 {
6505 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwnullable(TKwnullable)> */
6506 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwnullable(TKwnullable)> */
6507 RET_LABEL5:(void)0;
6508 }
6509 }
6510 } else {
6511 }
6512 RET_LABEL:;
6513 }
6514 /* method parser_prod#AType#n_qid= for (self: AType, AQclassid) */
6515 void nitc__parser_prod___AType___n_qid_61d(val* self, val* p0) {
6516 val* var_node /* var node: AQclassid */;
6517 var_node = p0;
6518 self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val = var_node; /* _n_qid on <self:AType> */
6519 {
6520 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AQclassid> */
6521 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AQclassid> */
6522 RET_LABEL1:(void)0;
6523 }
6524 }
6525 RET_LABEL:;
6526 }
6527 /* method parser_prod#AType#n_obra= for (self: AType, nullable TObra) */
6528 void nitc__parser_prod___AType___n_obra_61d(val* self, val* p0) {
6529 val* var_node /* var node: nullable TObra */;
6530 short int var /* : Bool */;
6531 short int var1 /* : Bool */;
6532 val* var_other /* var other: nullable Object */;
6533 short int var3 /* : Bool */;
6534 short int var4 /* : Bool */;
6535 var_node = p0;
6536 self->attrs[COLOR_nitc__parser_nodes__AType___n_obra].val = var_node; /* _n_obra on <self:AType> */
6537 if (var_node == NULL) {
6538 var = 0; /* is null */
6539 } else {
6540 var = 1; /* arg is null and recv is not */
6541 }
6542 if (0) {
6543 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TObra> */
6544 var_other = ((val*)NULL);
6545 {
6546 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TObra(TObra)>*/
6547 }
6548 var4 = !var3;
6549 var1 = var4;
6550 goto RET_LABEL2;
6551 RET_LABEL2:(void)0;
6552 }
6553 var = var1;
6554 }
6555 if (var){
6556 {
6557 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TObra(TObra)> */
6558 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TObra(TObra)> */
6559 RET_LABEL5:(void)0;
6560 }
6561 }
6562 } else {
6563 }
6564 RET_LABEL:;
6565 }
6566 /* method parser_prod#AType#n_cbra= for (self: AType, nullable TCbra) */
6567 void nitc__parser_prod___AType___n_cbra_61d(val* self, val* p0) {
6568 val* var_node /* var node: nullable TCbra */;
6569 short int var /* : Bool */;
6570 short int var1 /* : Bool */;
6571 val* var_other /* var other: nullable Object */;
6572 short int var3 /* : Bool */;
6573 short int var4 /* : Bool */;
6574 var_node = p0;
6575 self->attrs[COLOR_nitc__parser_nodes__AType___n_cbra].val = var_node; /* _n_cbra on <self:AType> */
6576 if (var_node == NULL) {
6577 var = 0; /* is null */
6578 } else {
6579 var = 1; /* arg is null and recv is not */
6580 }
6581 if (0) {
6582 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TCbra> */
6583 var_other = ((val*)NULL);
6584 {
6585 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TCbra(TCbra)>*/
6586 }
6587 var4 = !var3;
6588 var1 = var4;
6589 goto RET_LABEL2;
6590 RET_LABEL2:(void)0;
6591 }
6592 var = var1;
6593 }
6594 if (var){
6595 {
6596 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TCbra(TCbra)> */
6597 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TCbra(TCbra)> */
6598 RET_LABEL5:(void)0;
6599 }
6600 }
6601 } else {
6602 }
6603 RET_LABEL:;
6604 }
6605 /* method parser_prod#AType#n_annotations= for (self: AType, nullable AAnnotations) */
6606 void nitc__parser_prod___AType___nitc__parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
6607 val* var_node /* var node: nullable AAnnotations */;
6608 short int var /* : Bool */;
6609 short int var1 /* : Bool */;
6610 val* var_other /* var other: nullable Object */;
6611 short int var3 /* : Bool */;
6612 short int var4 /* : Bool */;
6613 var_node = p0;
6614 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AType> */
6615 if (var_node == NULL) {
6616 var = 0; /* is null */
6617 } else {
6618 var = 1; /* arg is null and recv is not */
6619 }
6620 if (0) {
6621 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AAnnotations> */
6622 var_other = ((val*)NULL);
6623 {
6624 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AAnnotations(AAnnotations)>*/
6625 }
6626 var4 = !var3;
6627 var1 = var4;
6628 goto RET_LABEL2;
6629 RET_LABEL2:(void)0;
6630 }
6631 var = var1;
6632 }
6633 if (var){
6634 {
6635 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
6636 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
6637 RET_LABEL5:(void)0;
6638 }
6639 }
6640 } else {
6641 }
6642 RET_LABEL:;
6643 }
6644 /* method parser_prod#AType#visit_all for (self: AType, Visitor) */
6645 void nitc__parser_prod___AType___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
6646 val* var_v /* var v: Visitor */;
6647 val* var /* : nullable TKwnullable */;
6648 val* var1 /* : AQclassid */;
6649 val* var2 /* : nullable TObra */;
6650 val* var3 /* : ANodes[AType] */;
6651 val* var5 /* : ANodes[AType] */;
6652 val* var6 /* : nullable TCbra */;
6653 val* var7 /* : nullable AAnnotations */;
6654 var_v = p0;
6655 var = self->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on <self:AType> */
6656 {
6657 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6658 }
6659 var1 = self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val; /* _n_qid on <self:AType> */
6660 if (unlikely(var1 == NULL)) {
6661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
6662 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2522);
6663 fatal_exit(1);
6664 }
6665 {
6666 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6667 }
6668 var2 = self->attrs[COLOR_nitc__parser_nodes__AType___n_obra].val; /* _n_obra on <self:AType> */
6669 {
6670 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6671 }
6672 {
6673 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
6674 var5 = self->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on <self:AType> */
6675 if (unlikely(var5 == NULL)) {
6676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
6677 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715);
6678 fatal_exit(1);
6679 }
6680 var3 = var5;
6681 RET_LABEL4:(void)0;
6682 }
6683 }
6684 {
6685 nitc___nitc__ANodes___visit_all(var3, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var3:ANodes[AType]>*/
6686 }
6687 var6 = self->attrs[COLOR_nitc__parser_nodes__AType___n_cbra].val; /* _n_cbra on <self:AType> */
6688 {
6689 nitc___nitc__Visitor___enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6690 }
6691 var7 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AType> */
6692 {
6693 nitc___nitc__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6694 }
6695 RET_LABEL:;
6696 }
6697 /* method parser_prod#ALabel#init_alabel for (self: ALabel, nullable TKwlabel, nullable TId) */
6698 void nitc__parser_prod___ALabel___init_alabel(val* self, val* p0, val* p1) {
6699 val* var_n_kwlabel /* var n_kwlabel: nullable TKwlabel */;
6700 val* var_n_id /* var n_id: nullable TId */;
6701 short int var /* : Bool */;
6702 short int var3 /* : Bool */;
6703 val* var_other /* var other: nullable Object */;
6704 short int var5 /* : Bool */;
6705 short int var6 /* : Bool */;
6706 {
6707 { /* Inline kernel#Object#init (self) on <self:ALabel> */
6708 RET_LABEL1:(void)0;
6709 }
6710 }
6711 var_n_kwlabel = p0;
6712 var_n_id = p1;
6713 if (unlikely(var_n_kwlabel == NULL)) {
6714 PRINT_ERROR("Runtime error: %s", "Cast failed");
6715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2535);
6716 fatal_exit(1);
6717 }
6718 self->attrs[COLOR_nitc__parser_nodes__ALabel___n_kwlabel].val = var_n_kwlabel; /* _n_kwlabel on <self:ALabel> */
6719 if (var_n_kwlabel == NULL) {
6720 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6721 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2536);
6722 fatal_exit(1);
6723 } else {
6724 { /* Inline parser_nodes#ANode#parent= (var_n_kwlabel,self) on <var_n_kwlabel:nullable TKwlabel> */
6725 if (unlikely(var_n_kwlabel == NULL)) {
6726 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6727 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
6728 fatal_exit(1);
6729 }
6730 var_n_kwlabel->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwlabel:nullable TKwlabel> */
6731 RET_LABEL2:(void)0;
6732 }
6733 }
6734 self->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val = var_n_id; /* _n_id on <self:ALabel> */
6735 if (var_n_id == NULL) {
6736 var = 0; /* is null */
6737 } else {
6738 var = 1; /* arg is null and recv is not */
6739 }
6740 if (0) {
6741 { /* Inline kernel#Object#!= (var_n_id,((val*)NULL)) on <var_n_id:nullable TId> */
6742 var_other = ((val*)NULL);
6743 {
6744 var5 = ((short int(*)(val* self, val* p0))(var_n_id->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_id, var_other); /* == on <var_n_id:nullable TId(TId)>*/
6745 }
6746 var6 = !var5;
6747 var3 = var6;
6748 goto RET_LABEL4;
6749 RET_LABEL4:(void)0;
6750 }
6751 var = var3;
6752 }
6753 if (var){
6754 {
6755 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
6756 var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
6757 RET_LABEL7:(void)0;
6758 }
6759 }
6760 } else {
6761 }
6762 RET_LABEL:;
6763 }
6764 /* method parser_prod#ALabel#replace_child for (self: ALabel, ANode, nullable ANode) */
6765 void nitc__parser_prod___ALabel___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
6766 val* var_old_child /* var old_child: ANode */;
6767 val* var_new_child /* var new_child: nullable ANode */;
6768 val* var /* : TKwlabel */;
6769 short int var1 /* : Bool */;
6770 val* var_other /* var other: nullable Object */;
6771 short int var3 /* : Bool */;
6772 short int var5 /* : Bool */;
6773 short int var6 /* : Bool */;
6774 int cltype;
6775 int idtype;
6776 const char* var_class_name;
6777 val* var7 /* : nullable TId */;
6778 short int var8 /* : Bool */;
6779 short int var9 /* : Bool */;
6780 short int var11 /* : Bool */;
6781 short int var13 /* : Bool */;
6782 short int var14 /* : Bool */;
6783 int cltype15;
6784 int idtype16;
6785 const char* var_class_name17;
6786 var_old_child = p0;
6787 var_new_child = p1;
6788 var = self->attrs[COLOR_nitc__parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on <self:ALabel> */
6789 if (unlikely(var == NULL)) {
6790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel");
6791 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2543);
6792 fatal_exit(1);
6793 }
6794 {
6795 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwlabel> */
6796 var_other = var_old_child;
6797 {
6798 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwlabel> */
6799 var5 = var == var_other;
6800 var3 = var5;
6801 goto RET_LABEL4;
6802 RET_LABEL4:(void)0;
6803 }
6804 }
6805 var1 = var3;
6806 goto RET_LABEL2;
6807 RET_LABEL2:(void)0;
6808 }
6809 }
6810 if (var1){
6811 /* <var_new_child:nullable ANode> isa TKwlabel */
6812 cltype = type_nitc__TKwlabel.color;
6813 idtype = type_nitc__TKwlabel.id;
6814 if(var_new_child == NULL) {
6815 var6 = 0;
6816 } else {
6817 if(cltype >= var_new_child->type->table_size) {
6818 var6 = 0;
6819 } else {
6820 var6 = var_new_child->type->type_table[cltype] == idtype;
6821 }
6822 }
6823 if (unlikely(!var6)) {
6824 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
6825 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwlabel", var_class_name);
6826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2544);
6827 fatal_exit(1);
6828 }
6829 {
6830 nitc__parser_prod___ALabel___n_kwlabel_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_kwlabel= on <self:ALabel>*/
6831 }
6832 goto RET_LABEL;
6833 } else {
6834 }
6835 var7 = self->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on <self:ALabel> */
6836 if (var7 == NULL) {
6837 var8 = 0; /* <var_old_child:ANode> cannot be null */
6838 } else {
6839 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable TId> */
6840 var_other = var_old_child;
6841 {
6842 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable TId(TId)> */
6843 var13 = var7 == var_other;
6844 var11 = var13;
6845 goto RET_LABEL12;
6846 RET_LABEL12:(void)0;
6847 }
6848 }
6849 var9 = var11;
6850 goto RET_LABEL10;
6851 RET_LABEL10:(void)0;
6852 }
6853 var8 = var9;
6854 }
6855 if (var8){
6856 /* <var_new_child:nullable ANode> isa nullable TId */
6857 cltype15 = type_nullable__nitc__TId.color;
6858 idtype16 = type_nullable__nitc__TId.id;
6859 if(var_new_child == NULL) {
6860 var14 = 1;
6861 } else {
6862 if(cltype15 >= var_new_child->type->table_size) {
6863 var14 = 0;
6864 } else {
6865 var14 = var_new_child->type->type_table[cltype15] == idtype16;
6866 }
6867 }
6868 if (unlikely(!var14)) {
6869 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
6870 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name17);
6871 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2548);
6872 fatal_exit(1);
6873 }
6874 {
6875 nitc__parser_prod___ALabel___n_id_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_id= on <self:ALabel>*/
6876 }
6877 goto RET_LABEL;
6878 } else {
6879 }
6880 RET_LABEL:;
6881 }
6882 /* method parser_prod#ALabel#n_kwlabel= for (self: ALabel, TKwlabel) */
6883 void nitc__parser_prod___ALabel___n_kwlabel_61d(val* self, val* p0) {
6884 val* var_node /* var node: TKwlabel */;
6885 var_node = p0;
6886 self->attrs[COLOR_nitc__parser_nodes__ALabel___n_kwlabel].val = var_node; /* _n_kwlabel on <self:ALabel> */
6887 {
6888 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwlabel> */
6889 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwlabel> */
6890 RET_LABEL1:(void)0;
6891 }
6892 }
6893 RET_LABEL:;
6894 }
6895 /* method parser_prod#ALabel#n_id= for (self: ALabel, nullable TId) */
6896 void nitc__parser_prod___ALabel___n_id_61d(val* self, val* p0) {
6897 val* var_node /* var node: nullable TId */;
6898 short int var /* : Bool */;
6899 short int var1 /* : Bool */;
6900 val* var_other /* var other: nullable Object */;
6901 short int var3 /* : Bool */;
6902 short int var4 /* : Bool */;
6903 var_node = p0;
6904 self->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val = var_node; /* _n_id on <self:ALabel> */
6905 if (var_node == NULL) {
6906 var = 0; /* is null */
6907 } else {
6908 var = 1; /* arg is null and recv is not */
6909 }
6910 if (0) {
6911 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TId> */
6912 var_other = ((val*)NULL);
6913 {
6914 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TId(TId)>*/
6915 }
6916 var4 = !var3;
6917 var1 = var4;
6918 goto RET_LABEL2;
6919 RET_LABEL2:(void)0;
6920 }
6921 var = var1;
6922 }
6923 if (var){
6924 {
6925 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
6926 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
6927 RET_LABEL5:(void)0;
6928 }
6929 }
6930 } else {
6931 }
6932 RET_LABEL:;
6933 }
6934 /* method parser_prod#ALabel#visit_all for (self: ALabel, Visitor) */
6935 void nitc__parser_prod___ALabel___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
6936 val* var_v /* var v: Visitor */;
6937 val* var /* : TKwlabel */;
6938 val* var1 /* : nullable TId */;
6939 var_v = p0;
6940 var = self->attrs[COLOR_nitc__parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on <self:ALabel> */
6941 if (unlikely(var == NULL)) {
6942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel");
6943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2567);
6944 fatal_exit(1);
6945 }
6946 {
6947 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6948 }
6949 var1 = self->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on <self:ALabel> */
6950 {
6951 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6952 }
6953 RET_LABEL:;
6954 }
6955 /* method parser_prod#ABlockExpr#init_ablockexpr for (self: ABlockExpr, Collection[Object], nullable TKwend) */
6956 void nitc__parser_prod___ABlockExpr___init_ablockexpr(val* self, val* p0, val* p1) {
6957 val* var_n_expr /* var n_expr: Collection[Object] */;
6958 val* var_n_kwend /* var n_kwend: nullable TKwend */;
6959 val* var /* : ANodes[AExpr] */;
6960 val* var3 /* : ANodes[AExpr] */;
6961 short int var4 /* : Bool */;
6962 short int var5 /* : Bool */;
6963 val* var_other /* var other: nullable Object */;
6964 short int var7 /* : Bool */;
6965 short int var8 /* : Bool */;
6966 {
6967 { /* Inline kernel#Object#init (self) on <self:ABlockExpr> */
6968 RET_LABEL1:(void)0;
6969 }
6970 }
6971 var_n_expr = p0;
6972 var_n_kwend = p1;
6973 {
6974 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
6975 var3 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
6976 if (unlikely(var3 == NULL)) {
6977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6978 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744);
6979 fatal_exit(1);
6980 }
6981 var = var3;
6982 RET_LABEL2:(void)0;
6983 }
6984 }
6985 {
6986 nitc___nitc__ANodes___unsafe_add_all(var, var_n_expr); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[AExpr]>*/
6987 }
6988 self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_kwend].val = var_n_kwend; /* _n_kwend on <self:ABlockExpr> */
6989 if (var_n_kwend == NULL) {
6990 var4 = 0; /* is null */
6991 } else {
6992 var4 = 1; /* arg is null and recv is not */
6993 }
6994 if (0) {
6995 { /* Inline kernel#Object#!= (var_n_kwend,((val*)NULL)) on <var_n_kwend:nullable TKwend> */
6996 var_other = ((val*)NULL);
6997 {
6998 var7 = ((short int(*)(val* self, val* p0))(var_n_kwend->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwend, var_other); /* == on <var_n_kwend:nullable TKwend(TKwend)>*/
6999 }
7000 var8 = !var7;
7001 var5 = var8;
7002 goto RET_LABEL6;
7003 RET_LABEL6:(void)0;
7004 }
7005 var4 = var5;
7006 }
7007 if (var4){
7008 {
7009 { /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on <var_n_kwend:nullable TKwend(TKwend)> */
7010 var_n_kwend->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwend:nullable TKwend(TKwend)> */
7011 RET_LABEL9:(void)0;
7012 }
7013 }
7014 } else {
7015 }
7016 RET_LABEL:;
7017 }
7018 /* method parser_prod#ABlockExpr#replace_child for (self: ABlockExpr, ANode, nullable ANode) */
7019 void nitc__parser_prod___ABlockExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
7020 val* var_old_child /* var old_child: ANode */;
7021 val* var_new_child /* var new_child: nullable ANode */;
7022 val* var /* : ANodes[AExpr] */;
7023 val* var2 /* : ANodes[AExpr] */;
7024 short int var3 /* : Bool */;
7025 val* var4 /* : nullable TKwend */;
7026 short int var5 /* : Bool */;
7027 short int var6 /* : Bool */;
7028 val* var_other /* var other: nullable Object */;
7029 short int var8 /* : Bool */;
7030 short int var10 /* : Bool */;
7031 short int var11 /* : Bool */;
7032 int cltype;
7033 int idtype;
7034 const char* var_class_name;
7035 var_old_child = p0;
7036 var_new_child = p1;
7037 {
7038 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
7039 var2 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
7040 if (unlikely(var2 == NULL)) {
7041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7042 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744);
7043 fatal_exit(1);
7044 }
7045 var = var2;
7046 RET_LABEL1:(void)0;
7047 }
7048 }
7049 {
7050 var3 = nitc___nitc__ANodes___replace_child(var, var_old_child, var_new_child);
7051 }
7052 if (var3){
7053 goto RET_LABEL;
7054 } else {
7055 }
7056 var4 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on <self:ABlockExpr> */
7057 if (var4 == NULL) {
7058 var5 = 0; /* <var_old_child:ANode> cannot be null */
7059 } else {
7060 { /* Inline kernel#Object#== (var4,var_old_child) on <var4:nullable TKwend> */
7061 var_other = var_old_child;
7062 {
7063 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:nullable TKwend(TKwend)> */
7064 var10 = var4 == var_other;
7065 var8 = var10;
7066 goto RET_LABEL9;
7067 RET_LABEL9:(void)0;
7068 }
7069 }
7070 var6 = var8;
7071 goto RET_LABEL7;
7072 RET_LABEL7:(void)0;
7073 }
7074 var5 = var6;
7075 }
7076 if (var5){
7077 /* <var_new_child:nullable ANode> isa nullable TKwend */
7078 cltype = type_nullable__nitc__TKwend.color;
7079 idtype = type_nullable__nitc__TKwend.id;
7080 if(var_new_child == NULL) {
7081 var11 = 1;
7082 } else {
7083 if(cltype >= var_new_child->type->table_size) {
7084 var11 = 0;
7085 } else {
7086 var11 = var_new_child->type->type_table[cltype] == idtype;
7087 }
7088 }
7089 if (unlikely(!var11)) {
7090 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
7091 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwend", var_class_name);
7092 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2586);
7093 fatal_exit(1);
7094 }
7095 {
7096 nitc__parser_prod___ABlockExpr___n_kwend_61d(self, var_new_child); /* Direct call parser_prod#ABlockExpr#n_kwend= on <self:ABlockExpr>*/
7097 }
7098 goto RET_LABEL;
7099 } else {
7100 }
7101 RET_LABEL:;
7102 }
7103 /* method parser_prod#ABlockExpr#n_kwend= for (self: ABlockExpr, nullable TKwend) */
7104 void nitc__parser_prod___ABlockExpr___n_kwend_61d(val* self, val* p0) {
7105 val* var_node /* var node: nullable TKwend */;
7106 short int var /* : Bool */;
7107 short int var1 /* : Bool */;
7108 val* var_other /* var other: nullable Object */;
7109 short int var3 /* : Bool */;
7110 short int var4 /* : Bool */;
7111 var_node = p0;
7112 self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_kwend].val = var_node; /* _n_kwend on <self:ABlockExpr> */
7113 if (var_node == NULL) {
7114 var = 0; /* is null */
7115 } else {
7116 var = 1; /* arg is null and recv is not */
7117 }
7118 if (0) {
7119 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwend> */
7120 var_other = ((val*)NULL);
7121 {
7122 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwend(TKwend)>*/
7123 }
7124 var4 = !var3;
7125 var1 = var4;
7126 goto RET_LABEL2;
7127 RET_LABEL2:(void)0;
7128 }
7129 var = var1;
7130 }
7131 if (var){
7132 {
7133 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwend(TKwend)> */
7134 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwend(TKwend)> */
7135 RET_LABEL5:(void)0;
7136 }
7137 }
7138 } else {
7139 }
7140 RET_LABEL:;
7141 }
7142 /* method parser_prod#ABlockExpr#visit_all for (self: ABlockExpr, Visitor) */
7143 void nitc__parser_prod___ABlockExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
7144 val* var_v /* var v: Visitor */;
7145 val* var /* : ANodes[AExpr] */;
7146 val* var2 /* : ANodes[AExpr] */;
7147 val* var3 /* : nullable TKwend */;
7148 var_v = p0;
7149 {
7150 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
7151 var2 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
7152 if (unlikely(var2 == NULL)) {
7153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7154 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744);
7155 fatal_exit(1);
7156 }
7157 var = var2;
7158 RET_LABEL1:(void)0;
7159 }
7160 }
7161 {
7162 nitc___nitc__ANodes___visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var:ANodes[AExpr]>*/
7163 }
7164 var3 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on <self:ABlockExpr> */
7165 {
7166 nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7167 }
7168 RET_LABEL:;
7169 }
7170 /* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: AVardeclExpr, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */
7171 void nitc__parser_prod___AVardeclExpr___init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7172 val* var_n_kwvar /* var n_kwvar: nullable TKwvar */;
7173 val* var_n_id /* var n_id: nullable TId */;
7174 val* var_n_type /* var n_type: nullable AType */;
7175 val* var_n_assign /* var n_assign: nullable TAssign */;
7176 val* var_n_expr /* var n_expr: nullable AExpr */;
7177 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
7178 short int var /* : Bool */;
7179 short int var2 /* : Bool */;
7180 val* var_other /* var other: nullable Object */;
7181 short int var4 /* : Bool */;
7182 short int var5 /* : Bool */;
7183 short int var8 /* : Bool */;
7184 short int var9 /* : Bool */;
7185 short int var11 /* : Bool */;
7186 short int var12 /* : Bool */;
7187 short int var14 /* : Bool */;
7188 short int var15 /* : Bool */;
7189 short int var17 /* : Bool */;
7190 short int var18 /* : Bool */;
7191 short int var20 /* : Bool */;
7192 short int var21 /* : Bool */;
7193 short int var23 /* : Bool */;
7194 short int var24 /* : Bool */;
7195 short int var26 /* : Bool */;
7196 short int var27 /* : Bool */;
7197 short int var29 /* : Bool */;
7198 short int var30 /* : Bool */;
7199 {
7200 { /* Inline kernel#Object#init (self) on <self:AVardeclExpr> */
7201 RET_LABEL1:(void)0;
7202 }
7203 }
7204 var_n_kwvar = p0;
7205 var_n_id = p1;
7206 var_n_type = p2;
7207 var_n_assign = p3;
7208 var_n_expr = p4;
7209 var_n_annotations = p5;
7210 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_kwvar].val = var_n_kwvar; /* _n_kwvar on <self:AVardeclExpr> */
7211 if (var_n_kwvar == NULL) {
7212 var = 0; /* is null */
7213 } else {
7214 var = 1; /* arg is null and recv is not */
7215 }
7216 if (0) {
7217 { /* Inline kernel#Object#!= (var_n_kwvar,((val*)NULL)) on <var_n_kwvar:nullable TKwvar> */
7218 var_other = ((val*)NULL);
7219 {
7220 var4 = ((short int(*)(val* self, val* p0))(var_n_kwvar->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwvar, var_other); /* == on <var_n_kwvar:nullable TKwvar(TKwvar)>*/
7221 }
7222 var5 = !var4;
7223 var2 = var5;
7224 goto RET_LABEL3;
7225 RET_LABEL3:(void)0;
7226 }
7227 var = var2;
7228 }
7229 if (var){
7230 {
7231 { /* Inline parser_nodes#ANode#parent= (var_n_kwvar,self) on <var_n_kwvar:nullable TKwvar(TKwvar)> */
7232 var_n_kwvar->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwvar:nullable TKwvar(TKwvar)> */
7233 RET_LABEL6:(void)0;
7234 }
7235 }
7236 } else {
7237 }
7238 if (unlikely(var_n_id == NULL)) {
7239 PRINT_ERROR("Runtime error: %s", "Cast failed");
7240 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2616);
7241 fatal_exit(1);
7242 }
7243 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val = var_n_id; /* _n_id on <self:AVardeclExpr> */
7244 if (var_n_id == NULL) {
7245 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7246 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2617);
7247 fatal_exit(1);
7248 } else {
7249 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
7250 if (unlikely(var_n_id == NULL)) {
7251 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7252 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
7253 fatal_exit(1);
7254 }
7255 var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
7256 RET_LABEL7:(void)0;
7257 }
7258 }
7259 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_type].val = var_n_type; /* _n_type on <self:AVardeclExpr> */
7260 if (var_n_type == NULL) {
7261 var8 = 0; /* is null */
7262 } else {
7263 var8 = 1; /* arg is null and recv is not */
7264 }
7265 if (0) {
7266 { /* Inline kernel#Object#!= (var_n_type,((val*)NULL)) on <var_n_type:nullable AType> */
7267 var_other = ((val*)NULL);
7268 {
7269 var11 = ((short int(*)(val* self, val* p0))(var_n_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_type, var_other); /* == on <var_n_type:nullable AType(AType)>*/
7270 }
7271 var12 = !var11;
7272 var9 = var12;
7273 goto RET_LABEL10;
7274 RET_LABEL10:(void)0;
7275 }
7276 var8 = var9;
7277 }
7278 if (var8){
7279 {
7280 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType(AType)> */
7281 var_n_type->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType(AType)> */
7282 RET_LABEL13:(void)0;
7283 }
7284 }
7285 } else {
7286 }
7287 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AVardeclExpr> */
7288 if (var_n_assign == NULL) {
7289 var14 = 0; /* is null */
7290 } else {
7291 var14 = 1; /* arg is null and recv is not */
7292 }
7293 if (0) {
7294 { /* Inline kernel#Object#!= (var_n_assign,((val*)NULL)) on <var_n_assign:nullable TAssign> */
7295 var_other = ((val*)NULL);
7296 {
7297 var17 = ((short int(*)(val* self, val* p0))(var_n_assign->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_assign, var_other); /* == on <var_n_assign:nullable TAssign(TAssign)>*/
7298 }
7299 var18 = !var17;
7300 var15 = var18;
7301 goto RET_LABEL16;
7302 RET_LABEL16:(void)0;
7303 }
7304 var14 = var15;
7305 }
7306 if (var14){
7307 {
7308 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign(TAssign)> */
7309 var_n_assign->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign(TAssign)> */
7310 RET_LABEL19:(void)0;
7311 }
7312 }
7313 } else {
7314 }
7315 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AVardeclExpr> */
7316 if (var_n_expr == NULL) {
7317 var20 = 0; /* is null */
7318 } else {
7319 var20 = 1; /* arg is null and recv is not */
7320 }
7321 if (0) {
7322 { /* Inline kernel#Object#!= (var_n_expr,((val*)NULL)) on <var_n_expr:nullable AExpr> */
7323 var_other = ((val*)NULL);
7324 {
7325 var23 = ((short int(*)(val* self, val* p0))(var_n_expr->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_expr, var_other); /* == on <var_n_expr:nullable AExpr(AExpr)>*/
7326 }
7327 var24 = !var23;
7328 var21 = var24;
7329 goto RET_LABEL22;
7330 RET_LABEL22:(void)0;
7331 }
7332 var20 = var21;
7333 }
7334 if (var20){
7335 {
7336 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr(AExpr)> */
7337 var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr(AExpr)> */
7338 RET_LABEL25:(void)0;
7339 }
7340 }
7341 } else {
7342 }
7343 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AVardeclExpr> */
7344 if (var_n_annotations == NULL) {
7345 var26 = 0; /* is null */
7346 } else {
7347 var26 = 1; /* arg is null and recv is not */
7348 }
7349 if (0) {
7350 { /* Inline kernel#Object#!= (var_n_annotations,((val*)NULL)) on <var_n_annotations:nullable AAnnotations> */
7351 var_other = ((val*)NULL);
7352 {
7353 var29 = ((short int(*)(val* self, val* p0))(var_n_annotations->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_annotations, var_other); /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/
7354 }
7355 var30 = !var29;
7356 var27 = var30;
7357 goto RET_LABEL28;
7358 RET_LABEL28:(void)0;
7359 }
7360 var26 = var27;
7361 }
7362 if (var26){
7363 {
7364 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
7365 var_n_annotations->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
7366 RET_LABEL31:(void)0;
7367 }
7368 }
7369 } else {
7370 }
7371 RET_LABEL:;
7372 }
7373 /* method parser_prod#AVardeclExpr#replace_child for (self: AVardeclExpr, ANode, nullable ANode) */
7374 void nitc__parser_prod___AVardeclExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
7375 val* var_old_child /* var old_child: ANode */;
7376 val* var_new_child /* var new_child: nullable ANode */;
7377 val* var /* : nullable TKwvar */;
7378 short int var1 /* : Bool */;
7379 short int var2 /* : Bool */;
7380 val* var_other /* var other: nullable Object */;
7381 short int var4 /* : Bool */;
7382 short int var6 /* : Bool */;
7383 short int var7 /* : Bool */;
7384 int cltype;
7385 int idtype;
7386 const char* var_class_name;
7387 val* var8 /* : TId */;
7388 short int var9 /* : Bool */;
7389 short int var11 /* : Bool */;
7390 short int var13 /* : Bool */;
7391 short int var14 /* : Bool */;
7392 int cltype15;
7393 int idtype16;
7394 const char* var_class_name17;
7395 val* var18 /* : nullable AType */;
7396 short int var19 /* : Bool */;
7397 short int var20 /* : Bool */;
7398 short int var22 /* : Bool */;
7399 short int var24 /* : Bool */;
7400 short int var25 /* : Bool */;
7401 int cltype26;
7402 int idtype27;
7403 const char* var_class_name28;
7404 val* var29 /* : nullable TAssign */;
7405 short int var30 /* : Bool */;
7406 short int var31 /* : Bool */;
7407 short int var33 /* : Bool */;
7408 short int var35 /* : Bool */;
7409 short int var36 /* : Bool */;
7410 int cltype37;
7411 int idtype38;
7412 const char* var_class_name39;
7413 val* var40 /* : nullable AExpr */;
7414 short int var41 /* : Bool */;
7415 short int var42 /* : Bool */;
7416 short int var44 /* : Bool */;
7417 short int var46 /* : Bool */;
7418 short int var47 /* : Bool */;
7419 int cltype48;
7420 int idtype49;
7421 const char* var_class_name50;
7422 val* var51 /* : nullable AAnnotations */;
7423 short int var52 /* : Bool */;
7424 short int var53 /* : Bool */;
7425 short int var55 /* : Bool */;
7426 short int var57 /* : Bool */;
7427 short int var58 /* : Bool */;
7428 int cltype59;
7429 int idtype60;
7430 const char* var_class_name61;
7431 var_old_child = p0;
7432 var_new_child = p1;
7433 var = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on <self:AVardeclExpr> */
7434 if (var == NULL) {
7435 var1 = 0; /* <var_old_child:ANode> cannot be null */
7436 } else {
7437 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwvar> */
7438 var_other = var_old_child;
7439 {
7440 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwvar(TKwvar)> */
7441 var6 = var == var_other;
7442 var4 = var6;
7443 goto RET_LABEL5;
7444 RET_LABEL5:(void)0;
7445 }
7446 }
7447 var2 = var4;
7448 goto RET_LABEL3;
7449 RET_LABEL3:(void)0;
7450 }
7451 var1 = var2;
7452 }
7453 if (var1){
7454 /* <var_new_child:nullable ANode> isa nullable TKwvar */
7455 cltype = type_nullable__nitc__TKwvar.color;
7456 idtype = type_nullable__nitc__TKwvar.id;
7457 if(var_new_child == NULL) {
7458 var7 = 1;
7459 } else {
7460 if(cltype >= var_new_child->type->table_size) {
7461 var7 = 0;
7462 } else {
7463 var7 = var_new_child->type->type_table[cltype] == idtype;
7464 }
7465 }
7466 if (unlikely(!var7)) {
7467 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
7468 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwvar", var_class_name);
7469 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2631);
7470 fatal_exit(1);
7471 }
7472 {
7473 nitc__parser_prod___AVardeclExpr___n_kwvar_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on <self:AVardeclExpr>*/
7474 }
7475 goto RET_LABEL;
7476 } else {
7477 }
7478 var8 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val; /* _n_id on <self:AVardeclExpr> */
7479 if (unlikely(var8 == NULL)) {
7480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2634);
7482 fatal_exit(1);
7483 }
7484 {
7485 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TId> */
7486 var_other = var_old_child;
7487 {
7488 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TId> */
7489 var13 = var8 == var_other;
7490 var11 = var13;
7491 goto RET_LABEL12;
7492 RET_LABEL12:(void)0;
7493 }
7494 }
7495 var9 = var11;
7496 goto RET_LABEL10;
7497 RET_LABEL10:(void)0;
7498 }
7499 }
7500 if (var9){
7501 /* <var_new_child:nullable ANode> isa TId */
7502 cltype15 = type_nitc__TId.color;
7503 idtype16 = type_nitc__TId.id;
7504 if(var_new_child == NULL) {
7505 var14 = 0;
7506 } else {
7507 if(cltype15 >= var_new_child->type->table_size) {
7508 var14 = 0;
7509 } else {
7510 var14 = var_new_child->type->type_table[cltype15] == idtype16;
7511 }
7512 }
7513 if (unlikely(!var14)) {
7514 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
7515 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name17);
7516 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2635);
7517 fatal_exit(1);
7518 }
7519 {
7520 nitc__parser_prod___AVardeclExpr___n_id_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_id= on <self:AVardeclExpr>*/
7521 }
7522 goto RET_LABEL;
7523 } else {
7524 }
7525 var18 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_type].val; /* _n_type on <self:AVardeclExpr> */
7526 if (var18 == NULL) {
7527 var19 = 0; /* <var_old_child:ANode> cannot be null */
7528 } else {
7529 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:nullable AType> */
7530 var_other = var_old_child;
7531 {
7532 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable AType(AType)> */
7533 var24 = var18 == var_other;
7534 var22 = var24;
7535 goto RET_LABEL23;
7536 RET_LABEL23:(void)0;
7537 }
7538 }
7539 var20 = var22;
7540 goto RET_LABEL21;
7541 RET_LABEL21:(void)0;
7542 }
7543 var19 = var20;
7544 }
7545 if (var19){
7546 /* <var_new_child:nullable ANode> isa nullable AType */
7547 cltype26 = type_nullable__nitc__AType.color;
7548 idtype27 = type_nullable__nitc__AType.id;
7549 if(var_new_child == NULL) {
7550 var25 = 1;
7551 } else {
7552 if(cltype26 >= var_new_child->type->table_size) {
7553 var25 = 0;
7554 } else {
7555 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7556 }
7557 }
7558 if (unlikely(!var25)) {
7559 var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
7560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name28);
7561 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2639);
7562 fatal_exit(1);
7563 }
7564 {
7565 nitc__parser_prod___AVardeclExpr___n_type_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_type= on <self:AVardeclExpr>*/
7566 }
7567 goto RET_LABEL;
7568 } else {
7569 }
7570 var29 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on <self:AVardeclExpr> */
7571 if (var29 == NULL) {
7572 var30 = 0; /* <var_old_child:ANode> cannot be null */
7573 } else {
7574 { /* Inline kernel#Object#== (var29,var_old_child) on <var29:nullable TAssign> */
7575 var_other = var_old_child;
7576 {
7577 { /* Inline kernel#Object#is_same_instance (var29,var_other) on <var29:nullable TAssign(TAssign)> */
7578 var35 = var29 == var_other;
7579 var33 = var35;
7580 goto RET_LABEL34;
7581 RET_LABEL34:(void)0;
7582 }
7583 }
7584 var31 = var33;
7585 goto RET_LABEL32;
7586 RET_LABEL32:(void)0;
7587 }
7588 var30 = var31;
7589 }
7590 if (var30){
7591 /* <var_new_child:nullable ANode> isa nullable TAssign */
7592 cltype37 = type_nullable__nitc__TAssign.color;
7593 idtype38 = type_nullable__nitc__TAssign.id;
7594 if(var_new_child == NULL) {
7595 var36 = 1;
7596 } else {
7597 if(cltype37 >= var_new_child->type->table_size) {
7598 var36 = 0;
7599 } else {
7600 var36 = var_new_child->type->type_table[cltype37] == idtype38;
7601 }
7602 }
7603 if (unlikely(!var36)) {
7604 var_class_name39 = var_new_child == NULL ? "null" : var_new_child->type->name;
7605 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TAssign", var_class_name39);
7606 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2643);
7607 fatal_exit(1);
7608 }
7609 {
7610 nitc__parser_prod___AVardeclExpr___n_assign_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_assign= on <self:AVardeclExpr>*/
7611 }
7612 goto RET_LABEL;
7613 } else {
7614 }
7615 var40 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on <self:AVardeclExpr> */
7616 if (var40 == NULL) {
7617 var41 = 0; /* <var_old_child:ANode> cannot be null */
7618 } else {
7619 { /* Inline kernel#Object#== (var40,var_old_child) on <var40:nullable AExpr> */
7620 var_other = var_old_child;
7621 {
7622 { /* Inline kernel#Object#is_same_instance (var40,var_other) on <var40:nullable AExpr(AExpr)> */
7623 var46 = var40 == var_other;
7624 var44 = var46;
7625 goto RET_LABEL45;
7626 RET_LABEL45:(void)0;
7627 }
7628 }
7629 var42 = var44;
7630 goto RET_LABEL43;
7631 RET_LABEL43:(void)0;
7632 }
7633 var41 = var42;
7634 }
7635 if (var41){
7636 /* <var_new_child:nullable ANode> isa nullable AExpr */
7637 cltype48 = type_nullable__nitc__AExpr.color;
7638 idtype49 = type_nullable__nitc__AExpr.id;
7639 if(var_new_child == NULL) {
7640 var47 = 1;
7641 } else {
7642 if(cltype48 >= var_new_child->type->table_size) {
7643 var47 = 0;
7644 } else {
7645 var47 = var_new_child->type->type_table[cltype48] == idtype49;
7646 }
7647 }
7648 if (unlikely(!var47)) {
7649 var_class_name50 = var_new_child == NULL ? "null" : var_new_child->type->name;
7650 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name50);
7651 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2647);
7652 fatal_exit(1);
7653 }
7654 {
7655 nitc__parser_prod___AVardeclExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_expr= on <self:AVardeclExpr>*/
7656 }
7657 goto RET_LABEL;
7658 } else {
7659 }
7660 var51 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AVardeclExpr> */
7661 if (var51 == NULL) {
7662 var52 = 0; /* <var_old_child:ANode> cannot be null */
7663 } else {
7664 { /* Inline kernel#Object#== (var51,var_old_child) on <var51:nullable AAnnotations> */
7665 var_other = var_old_child;
7666 {
7667 { /* Inline kernel#Object#is_same_instance (var51,var_other) on <var51:nullable AAnnotations(AAnnotations)> */
7668 var57 = var51 == var_other;
7669 var55 = var57;
7670 goto RET_LABEL56;
7671 RET_LABEL56:(void)0;
7672 }
7673 }
7674 var53 = var55;
7675 goto RET_LABEL54;
7676 RET_LABEL54:(void)0;
7677 }
7678 var52 = var53;
7679 }
7680 if (var52){
7681 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
7682 cltype59 = type_nullable__nitc__AAnnotations.color;
7683 idtype60 = type_nullable__nitc__AAnnotations.id;
7684 if(var_new_child == NULL) {
7685 var58 = 1;
7686 } else {
7687 if(cltype59 >= var_new_child->type->table_size) {
7688 var58 = 0;
7689 } else {
7690 var58 = var_new_child->type->type_table[cltype59] == idtype60;
7691 }
7692 }
7693 if (unlikely(!var58)) {
7694 var_class_name61 = var_new_child == NULL ? "null" : var_new_child->type->name;
7695 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name61);
7696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2651);
7697 fatal_exit(1);
7698 }
7699 {
7700 nitc__parser_prod___AVardeclExpr___nitc__parser_nodes__Prod__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_annotations= on <self:AVardeclExpr>*/
7701 }
7702 goto RET_LABEL;
7703 } else {
7704 }
7705 RET_LABEL:;
7706 }
7707 /* method parser_prod#AVardeclExpr#n_kwvar= for (self: AVardeclExpr, nullable TKwvar) */
7708 void nitc__parser_prod___AVardeclExpr___n_kwvar_61d(val* self, val* p0) {
7709 val* var_node /* var node: nullable TKwvar */;
7710 short int var /* : Bool */;
7711 short int var1 /* : Bool */;
7712 val* var_other /* var other: nullable Object */;
7713 short int var3 /* : Bool */;
7714 short int var4 /* : Bool */;
7715 var_node = p0;
7716 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_kwvar].val = var_node; /* _n_kwvar on <self:AVardeclExpr> */
7717 if (var_node == NULL) {
7718 var = 0; /* is null */
7719 } else {
7720 var = 1; /* arg is null and recv is not */
7721 }
7722 if (0) {
7723 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwvar> */
7724 var_other = ((val*)NULL);
7725 {
7726 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwvar(TKwvar)>*/
7727 }
7728 var4 = !var3;
7729 var1 = var4;
7730 goto RET_LABEL2;
7731 RET_LABEL2:(void)0;
7732 }
7733 var = var1;
7734 }
7735 if (var){
7736 {
7737 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwvar(TKwvar)> */
7738 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwvar(TKwvar)> */
7739 RET_LABEL5:(void)0;
7740 }
7741 }
7742 } else {
7743 }
7744 RET_LABEL:;
7745 }
7746 /* method parser_prod#AVardeclExpr#n_id= for (self: AVardeclExpr, TId) */
7747 void nitc__parser_prod___AVardeclExpr___n_id_61d(val* self, val* p0) {
7748 val* var_node /* var node: TId */;
7749 var_node = p0;
7750 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val = var_node; /* _n_id on <self:AVardeclExpr> */
7751 {
7752 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
7753 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
7754 RET_LABEL1:(void)0;
7755 }
7756 }
7757 RET_LABEL:;
7758 }
7759 /* method parser_prod#AVardeclExpr#n_type= for (self: AVardeclExpr, nullable AType) */
7760 void nitc__parser_prod___AVardeclExpr___n_type_61d(val* self, val* p0) {
7761 val* var_node /* var node: nullable AType */;
7762 short int var /* : Bool */;
7763 short int var1 /* : Bool */;
7764 val* var_other /* var other: nullable Object */;
7765 short int var3 /* : Bool */;
7766 short int var4 /* : Bool */;
7767 var_node = p0;
7768 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_type].val = var_node; /* _n_type on <self:AVardeclExpr> */
7769 if (var_node == NULL) {
7770 var = 0; /* is null */
7771 } else {
7772 var = 1; /* arg is null and recv is not */
7773 }
7774 if (0) {
7775 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AType> */
7776 var_other = ((val*)NULL);
7777 {
7778 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AType(AType)>*/
7779 }
7780 var4 = !var3;
7781 var1 = var4;
7782 goto RET_LABEL2;
7783 RET_LABEL2:(void)0;
7784 }
7785 var = var1;
7786 }
7787 if (var){
7788 {
7789 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
7790 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AType(AType)> */
7791 RET_LABEL5:(void)0;
7792 }
7793 }
7794 } else {
7795 }
7796 RET_LABEL:;
7797 }
7798 /* method parser_prod#AVardeclExpr#n_assign= for (self: AVardeclExpr, nullable TAssign) */
7799 void nitc__parser_prod___AVardeclExpr___n_assign_61d(val* self, val* p0) {
7800 val* var_node /* var node: nullable TAssign */;
7801 short int var /* : Bool */;
7802 short int var1 /* : Bool */;
7803 val* var_other /* var other: nullable Object */;
7804 short int var3 /* : Bool */;
7805 short int var4 /* : Bool */;
7806 var_node = p0;
7807 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_assign].val = var_node; /* _n_assign on <self:AVardeclExpr> */
7808 if (var_node == NULL) {
7809 var = 0; /* is null */
7810 } else {
7811 var = 1; /* arg is null and recv is not */
7812 }
7813 if (0) {
7814 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TAssign> */
7815 var_other = ((val*)NULL);
7816 {
7817 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TAssign(TAssign)>*/
7818 }
7819 var4 = !var3;
7820 var1 = var4;
7821 goto RET_LABEL2;
7822 RET_LABEL2:(void)0;
7823 }
7824 var = var1;
7825 }
7826 if (var){
7827 {
7828 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TAssign(TAssign)> */
7829 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TAssign(TAssign)> */
7830 RET_LABEL5:(void)0;
7831 }
7832 }
7833 } else {
7834 }
7835 RET_LABEL:;
7836 }
7837 /* method parser_prod#AVardeclExpr#n_expr= for (self: AVardeclExpr, nullable AExpr) */
7838 void nitc__parser_prod___AVardeclExpr___n_expr_61d(val* self, val* p0) {
7839 val* var_node /* var node: nullable AExpr */;
7840 short int var /* : Bool */;
7841 short int var1 /* : Bool */;
7842 val* var_other /* var other: nullable Object */;
7843 short int var3 /* : Bool */;
7844 short int var4 /* : Bool */;
7845 var_node = p0;
7846 self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val = var_node; /* _n_expr on <self:AVardeclExpr> */
7847 if (var_node == NULL) {
7848 var = 0; /* is null */
7849 } else {
7850 var = 1; /* arg is null and recv is not */
7851 }
7852 if (0) {
7853 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
7854 var_other = ((val*)NULL);
7855 {
7856 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
7857 }
7858 var4 = !var3;
7859 var1 = var4;
7860 goto RET_LABEL2;
7861 RET_LABEL2:(void)0;
7862 }
7863 var = var1;
7864 }
7865 if (var){
7866 {
7867 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
7868 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
7869 RET_LABEL5:(void)0;
7870 }
7871 }
7872 } else {
7873 }
7874 RET_LABEL:;
7875 }
7876 /* method parser_prod#AVardeclExpr#n_annotations= for (self: AVardeclExpr, nullable AAnnotations) */
7877 void nitc__parser_prod___AVardeclExpr___nitc__parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
7878 val* var_node /* var node: nullable AAnnotations */;
7879 short int var /* : Bool */;
7880 short int var1 /* : Bool */;
7881 val* var_other /* var other: nullable Object */;
7882 short int var3 /* : Bool */;
7883 short int var4 /* : Bool */;
7884 var_node = p0;
7885 self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AVardeclExpr> */
7886 if (var_node == NULL) {
7887 var = 0; /* is null */
7888 } else {
7889 var = 1; /* arg is null and recv is not */
7890 }
7891 if (0) {
7892 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AAnnotations> */
7893 var_other = ((val*)NULL);
7894 {
7895 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AAnnotations(AAnnotations)>*/
7896 }
7897 var4 = !var3;
7898 var1 = var4;
7899 goto RET_LABEL2;
7900 RET_LABEL2:(void)0;
7901 }
7902 var = var1;
7903 }
7904 if (var){
7905 {
7906 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
7907 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
7908 RET_LABEL5:(void)0;
7909 }
7910 }
7911 } else {
7912 }
7913 RET_LABEL:;
7914 }
7915 /* method parser_prod#AVardeclExpr#visit_all for (self: AVardeclExpr, Visitor) */
7916 void nitc__parser_prod___AVardeclExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
7917 val* var_v /* var v: Visitor */;
7918 val* var /* : nullable TKwvar */;
7919 val* var1 /* : TId */;
7920 val* var2 /* : nullable AType */;
7921 val* var3 /* : nullable TAssign */;
7922 val* var4 /* : nullable AExpr */;
7923 val* var5 /* : nullable AAnnotations */;
7924 var_v = p0;
7925 var = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on <self:AVardeclExpr> */
7926 {
7927 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7928 }
7929 var1 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val; /* _n_id on <self:AVardeclExpr> */
7930 if (unlikely(var1 == NULL)) {
7931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7932 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2691);
7933 fatal_exit(1);
7934 }
7935 {
7936 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7937 }
7938 var2 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_type].val; /* _n_type on <self:AVardeclExpr> */
7939 {
7940 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7941 }
7942 var3 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on <self:AVardeclExpr> */
7943 {
7944 nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7945 }
7946 var4 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on <self:AVardeclExpr> */
7947 {
7948 nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7949 }
7950 var5 = self->attrs[COLOR_nitc__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AVardeclExpr> */
7951 {
7952 nitc___nitc__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7953 }
7954 RET_LABEL:;
7955 }
7956 /* method parser_prod#AReturnExpr#init_areturnexpr for (self: AReturnExpr, nullable TKwreturn, nullable AExpr) */
7957 void nitc__parser_prod___AReturnExpr___init_areturnexpr(val* self, val* p0, val* p1) {
7958 val* var_n_kwreturn /* var n_kwreturn: nullable TKwreturn */;
7959 val* var_n_expr /* var n_expr: nullable AExpr */;
7960 short int var /* : Bool */;
7961 short int var2 /* : Bool */;
7962 val* var_other /* var other: nullable Object */;
7963 short int var4 /* : Bool */;
7964 short int var5 /* : Bool */;
7965 short int var7 /* : Bool */;
7966 short int var8 /* : Bool */;
7967 short int var10 /* : Bool */;
7968 short int var11 /* : Bool */;
7969 {
7970 { /* Inline kernel#Object#init (self) on <self:AReturnExpr> */
7971 RET_LABEL1:(void)0;
7972 }
7973 }
7974 var_n_kwreturn = p0;
7975 var_n_expr = p1;
7976 self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_kwreturn].val = var_n_kwreturn; /* _n_kwreturn on <self:AReturnExpr> */
7977 if (var_n_kwreturn == NULL) {
7978 var = 0; /* is null */
7979 } else {
7980 var = 1; /* arg is null and recv is not */
7981 }
7982 if (0) {
7983 { /* Inline kernel#Object#!= (var_n_kwreturn,((val*)NULL)) on <var_n_kwreturn:nullable TKwreturn> */
7984 var_other = ((val*)NULL);
7985 {
7986 var4 = ((short int(*)(val* self, val* p0))(var_n_kwreturn->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwreturn, var_other); /* == on <var_n_kwreturn:nullable TKwreturn(TKwreturn)>*/
7987 }
7988 var5 = !var4;
7989 var2 = var5;
7990 goto RET_LABEL3;
7991 RET_LABEL3:(void)0;
7992 }
7993 var = var2;
7994 }
7995 if (var){
7996 {
7997 { /* Inline parser_nodes#ANode#parent= (var_n_kwreturn,self) on <var_n_kwreturn:nullable TKwreturn(TKwreturn)> */
7998 var_n_kwreturn->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwreturn:nullable TKwreturn(TKwreturn)> */
7999 RET_LABEL6:(void)0;
8000 }
8001 }
8002 } else {
8003 }
8004 self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AReturnExpr> */
8005 if (var_n_expr == NULL) {
8006 var7 = 0; /* is null */
8007 } else {
8008 var7 = 1; /* arg is null and recv is not */
8009 }
8010 if (0) {
8011 { /* Inline kernel#Object#!= (var_n_expr,((val*)NULL)) on <var_n_expr:nullable AExpr> */
8012 var_other = ((val*)NULL);
8013 {
8014 var10 = ((short int(*)(val* self, val* p0))(var_n_expr->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_expr, var_other); /* == on <var_n_expr:nullable AExpr(AExpr)>*/
8015 }
8016 var11 = !var10;
8017 var8 = var11;
8018 goto RET_LABEL9;
8019 RET_LABEL9:(void)0;
8020 }
8021 var7 = var8;
8022 }
8023 if (var7){
8024 {
8025 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr(AExpr)> */
8026 var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr(AExpr)> */
8027 RET_LABEL12:(void)0;
8028 }
8029 }
8030 } else {
8031 }
8032 RET_LABEL:;
8033 }
8034 /* method parser_prod#AReturnExpr#replace_child for (self: AReturnExpr, ANode, nullable ANode) */
8035 void nitc__parser_prod___AReturnExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8036 val* var_old_child /* var old_child: ANode */;
8037 val* var_new_child /* var new_child: nullable ANode */;
8038 val* var /* : nullable TKwreturn */;
8039 short int var1 /* : Bool */;
8040 short int var2 /* : Bool */;
8041 val* var_other /* var other: nullable Object */;
8042 short int var4 /* : Bool */;
8043 short int var6 /* : Bool */;
8044 short int var7 /* : Bool */;
8045 int cltype;
8046 int idtype;
8047 const char* var_class_name;
8048 val* var8 /* : nullable AExpr */;
8049 short int var9 /* : Bool */;
8050 short int var10 /* : Bool */;
8051 short int var12 /* : Bool */;
8052 short int var14 /* : Bool */;
8053 short int var15 /* : Bool */;
8054 int cltype16;
8055 int idtype17;
8056 const char* var_class_name18;
8057 var_old_child = p0;
8058 var_new_child = p1;
8059 var = self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on <self:AReturnExpr> */
8060 if (var == NULL) {
8061 var1 = 0; /* <var_old_child:ANode> cannot be null */
8062 } else {
8063 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwreturn> */
8064 var_other = var_old_child;
8065 {
8066 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwreturn(TKwreturn)> */
8067 var6 = var == var_other;
8068 var4 = var6;
8069 goto RET_LABEL5;
8070 RET_LABEL5:(void)0;
8071 }
8072 }
8073 var2 = var4;
8074 goto RET_LABEL3;
8075 RET_LABEL3:(void)0;
8076 }
8077 var1 = var2;
8078 }
8079 if (var1){
8080 /* <var_new_child:nullable ANode> isa nullable TKwreturn */
8081 cltype = type_nullable__nitc__TKwreturn.color;
8082 idtype = type_nullable__nitc__TKwreturn.id;
8083 if(var_new_child == NULL) {
8084 var7 = 1;
8085 } else {
8086 if(cltype >= var_new_child->type->table_size) {
8087 var7 = 0;
8088 } else {
8089 var7 = var_new_child->type->type_table[cltype] == idtype;
8090 }
8091 }
8092 if (unlikely(!var7)) {
8093 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8094 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwreturn", var_class_name);
8095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2713);
8096 fatal_exit(1);
8097 }
8098 {
8099 nitc__parser_prod___AReturnExpr___n_kwreturn_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on <self:AReturnExpr>*/
8100 }
8101 goto RET_LABEL;
8102 } else {
8103 }
8104 var8 = self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on <self:AReturnExpr> */
8105 if (var8 == NULL) {
8106 var9 = 0; /* <var_old_child:ANode> cannot be null */
8107 } else {
8108 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable AExpr> */
8109 var_other = var_old_child;
8110 {
8111 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable AExpr(AExpr)> */
8112 var14 = var8 == var_other;
8113 var12 = var14;
8114 goto RET_LABEL13;
8115 RET_LABEL13:(void)0;
8116 }
8117 }
8118 var10 = var12;
8119 goto RET_LABEL11;
8120 RET_LABEL11:(void)0;
8121 }
8122 var9 = var10;
8123 }
8124 if (var9){
8125 /* <var_new_child:nullable ANode> isa nullable AExpr */
8126 cltype16 = type_nullable__nitc__AExpr.color;
8127 idtype17 = type_nullable__nitc__AExpr.id;
8128 if(var_new_child == NULL) {
8129 var15 = 1;
8130 } else {
8131 if(cltype16 >= var_new_child->type->table_size) {
8132 var15 = 0;
8133 } else {
8134 var15 = var_new_child->type->type_table[cltype16] == idtype17;
8135 }
8136 }
8137 if (unlikely(!var15)) {
8138 var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
8139 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18);
8140 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2717);
8141 fatal_exit(1);
8142 }
8143 {
8144 nitc__parser_prod___AReturnExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_expr= on <self:AReturnExpr>*/
8145 }
8146 goto RET_LABEL;
8147 } else {
8148 }
8149 RET_LABEL:;
8150 }
8151 /* method parser_prod#AReturnExpr#n_kwreturn= for (self: AReturnExpr, nullable TKwreturn) */
8152 void nitc__parser_prod___AReturnExpr___n_kwreturn_61d(val* self, val* p0) {
8153 val* var_node /* var node: nullable TKwreturn */;
8154 short int var /* : Bool */;
8155 short int var1 /* : Bool */;
8156 val* var_other /* var other: nullable Object */;
8157 short int var3 /* : Bool */;
8158 short int var4 /* : Bool */;
8159 var_node = p0;
8160 self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_kwreturn].val = var_node; /* _n_kwreturn on <self:AReturnExpr> */
8161 if (var_node == NULL) {
8162 var = 0; /* is null */
8163 } else {
8164 var = 1; /* arg is null and recv is not */
8165 }
8166 if (0) {
8167 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwreturn> */
8168 var_other = ((val*)NULL);
8169 {
8170 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwreturn(TKwreturn)>*/
8171 }
8172 var4 = !var3;
8173 var1 = var4;
8174 goto RET_LABEL2;
8175 RET_LABEL2:(void)0;
8176 }
8177 var = var1;
8178 }
8179 if (var){
8180 {
8181 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwreturn(TKwreturn)> */
8182 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwreturn(TKwreturn)> */
8183 RET_LABEL5:(void)0;
8184 }
8185 }
8186 } else {
8187 }
8188 RET_LABEL:;
8189 }
8190 /* method parser_prod#AReturnExpr#n_expr= for (self: AReturnExpr, nullable AExpr) */
8191 void nitc__parser_prod___AReturnExpr___n_expr_61d(val* self, val* p0) {
8192 val* var_node /* var node: nullable AExpr */;
8193 short int var /* : Bool */;
8194 short int var1 /* : Bool */;
8195 val* var_other /* var other: nullable Object */;
8196 short int var3 /* : Bool */;
8197 short int var4 /* : Bool */;
8198 var_node = p0;
8199 self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_expr].val = var_node; /* _n_expr on <self:AReturnExpr> */
8200 if (var_node == NULL) {
8201 var = 0; /* is null */
8202 } else {
8203 var = 1; /* arg is null and recv is not */
8204 }
8205 if (0) {
8206 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
8207 var_other = ((val*)NULL);
8208 {
8209 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
8210 }
8211 var4 = !var3;
8212 var1 = var4;
8213 goto RET_LABEL2;
8214 RET_LABEL2:(void)0;
8215 }
8216 var = var1;
8217 }
8218 if (var){
8219 {
8220 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
8221 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
8222 RET_LABEL5:(void)0;
8223 }
8224 }
8225 } else {
8226 }
8227 RET_LABEL:;
8228 }
8229 /* method parser_prod#AReturnExpr#visit_all for (self: AReturnExpr, Visitor) */
8230 void nitc__parser_prod___AReturnExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
8231 val* var_v /* var v: Visitor */;
8232 val* var /* : nullable TKwreturn */;
8233 val* var1 /* : nullable AExpr */;
8234 var_v = p0;
8235 var = self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on <self:AReturnExpr> */
8236 {
8237 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8238 }
8239 var1 = self->attrs[COLOR_nitc__parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on <self:AReturnExpr> */
8240 {
8241 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8242 }
8243 RET_LABEL:;
8244 }
8245 /* method parser_prod#ABreakExpr#init_abreakexpr for (self: ABreakExpr, nullable TKwbreak, nullable ALabel) */
8246 void nitc__parser_prod___ABreakExpr___init_abreakexpr(val* self, val* p0, val* p1) {
8247 val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */;
8248 val* var_n_label /* var n_label: nullable ALabel */;
8249 short int var /* : Bool */;
8250 short int var3 /* : Bool */;
8251 val* var_other /* var other: nullable Object */;
8252 short int var5 /* : Bool */;
8253 short int var6 /* : Bool */;
8254 {
8255 { /* Inline kernel#Object#init (self) on <self:ABreakExpr> */
8256 RET_LABEL1:(void)0;
8257 }
8258 }
8259 var_n_kwbreak = p0;
8260 var_n_label = p1;
8261 if (unlikely(var_n_kwbreak == NULL)) {
8262 PRINT_ERROR("Runtime error: %s", "Cast failed");
8263 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2746);
8264 fatal_exit(1);
8265 }
8266 self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on <self:ABreakExpr> */
8267 if (var_n_kwbreak == NULL) {
8268 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8269 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2747);
8270 fatal_exit(1);
8271 } else {
8272 { /* Inline parser_nodes#ANode#parent= (var_n_kwbreak,self) on <var_n_kwbreak:nullable TKwbreak> */
8273 if (unlikely(var_n_kwbreak == NULL)) {
8274 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8275 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
8276 fatal_exit(1);
8277 }
8278 var_n_kwbreak->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwbreak:nullable TKwbreak> */
8279 RET_LABEL2:(void)0;
8280 }
8281 }
8282 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ABreakExpr> */
8283 if (var_n_label == NULL) {
8284 var = 0; /* is null */
8285 } else {
8286 var = 1; /* arg is null and recv is not */
8287 }
8288 if (0) {
8289 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
8290 var_other = ((val*)NULL);
8291 {
8292 var5 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
8293 }
8294 var6 = !var5;
8295 var3 = var6;
8296 goto RET_LABEL4;
8297 RET_LABEL4:(void)0;
8298 }
8299 var = var3;
8300 }
8301 if (var){
8302 {
8303 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
8304 var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
8305 RET_LABEL7:(void)0;
8306 }
8307 }
8308 } else {
8309 }
8310 RET_LABEL:;
8311 }
8312 /* method parser_prod#ABreakExpr#replace_child for (self: ABreakExpr, ANode, nullable ANode) */
8313 void nitc__parser_prod___ABreakExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8314 val* var_old_child /* var old_child: ANode */;
8315 val* var_new_child /* var new_child: nullable ANode */;
8316 val* var /* : TKwbreak */;
8317 short int var1 /* : Bool */;
8318 val* var_other /* var other: nullable Object */;
8319 short int var3 /* : Bool */;
8320 short int var5 /* : Bool */;
8321 short int var6 /* : Bool */;
8322 int cltype;
8323 int idtype;
8324 const char* var_class_name;
8325 val* var7 /* : nullable ALabel */;
8326 short int var8 /* : Bool */;
8327 short int var9 /* : Bool */;
8328 short int var11 /* : Bool */;
8329 short int var13 /* : Bool */;
8330 short int var14 /* : Bool */;
8331 int cltype15;
8332 int idtype16;
8333 const char* var_class_name17;
8334 var_old_child = p0;
8335 var_new_child = p1;
8336 var = self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on <self:ABreakExpr> */
8337 if (unlikely(var == NULL)) {
8338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak");
8339 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2754);
8340 fatal_exit(1);
8341 }
8342 {
8343 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwbreak> */
8344 var_other = var_old_child;
8345 {
8346 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwbreak> */
8347 var5 = var == var_other;
8348 var3 = var5;
8349 goto RET_LABEL4;
8350 RET_LABEL4:(void)0;
8351 }
8352 }
8353 var1 = var3;
8354 goto RET_LABEL2;
8355 RET_LABEL2:(void)0;
8356 }
8357 }
8358 if (var1){
8359 /* <var_new_child:nullable ANode> isa TKwbreak */
8360 cltype = type_nitc__TKwbreak.color;
8361 idtype = type_nitc__TKwbreak.id;
8362 if(var_new_child == NULL) {
8363 var6 = 0;
8364 } else {
8365 if(cltype >= var_new_child->type->table_size) {
8366 var6 = 0;
8367 } else {
8368 var6 = var_new_child->type->type_table[cltype] == idtype;
8369 }
8370 }
8371 if (unlikely(!var6)) {
8372 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8373 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwbreak", var_class_name);
8374 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2755);
8375 fatal_exit(1);
8376 }
8377 {
8378 nitc__parser_prod___ABreakExpr___n_kwbreak_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on <self:ABreakExpr>*/
8379 }
8380 goto RET_LABEL;
8381 } else {
8382 }
8383 var7 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ABreakExpr> */
8384 if (var7 == NULL) {
8385 var8 = 0; /* <var_old_child:ANode> cannot be null */
8386 } else {
8387 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable ALabel> */
8388 var_other = var_old_child;
8389 {
8390 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable ALabel(ALabel)> */
8391 var13 = var7 == var_other;
8392 var11 = var13;
8393 goto RET_LABEL12;
8394 RET_LABEL12:(void)0;
8395 }
8396 }
8397 var9 = var11;
8398 goto RET_LABEL10;
8399 RET_LABEL10:(void)0;
8400 }
8401 var8 = var9;
8402 }
8403 if (var8){
8404 /* <var_new_child:nullable ANode> isa nullable ALabel */
8405 cltype15 = type_nullable__nitc__ALabel.color;
8406 idtype16 = type_nullable__nitc__ALabel.id;
8407 if(var_new_child == NULL) {
8408 var14 = 1;
8409 } else {
8410 if(cltype15 >= var_new_child->type->table_size) {
8411 var14 = 0;
8412 } else {
8413 var14 = var_new_child->type->type_table[cltype15] == idtype16;
8414 }
8415 }
8416 if (unlikely(!var14)) {
8417 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
8418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name17);
8419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2759);
8420 fatal_exit(1);
8421 }
8422 {
8423 nitc__parser_prod___ABreakExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_label= on <self:ABreakExpr>*/
8424 }
8425 goto RET_LABEL;
8426 } else {
8427 }
8428 RET_LABEL:;
8429 }
8430 /* method parser_prod#ABreakExpr#n_kwbreak= for (self: ABreakExpr, TKwbreak) */
8431 void nitc__parser_prod___ABreakExpr___n_kwbreak_61d(val* self, val* p0) {
8432 val* var_node /* var node: TKwbreak */;
8433 var_node = p0;
8434 self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val = var_node; /* _n_kwbreak on <self:ABreakExpr> */
8435 {
8436 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwbreak> */
8437 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwbreak> */
8438 RET_LABEL1:(void)0;
8439 }
8440 }
8441 RET_LABEL:;
8442 }
8443 /* method parser_prod#ABreakExpr#n_label= for (self: ABreakExpr, nullable ALabel) */
8444 void nitc__parser_prod___ABreakExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
8445 val* var_node /* var node: nullable ALabel */;
8446 short int var /* : Bool */;
8447 short int var1 /* : Bool */;
8448 val* var_other /* var other: nullable Object */;
8449 short int var3 /* : Bool */;
8450 short int var4 /* : Bool */;
8451 var_node = p0;
8452 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ABreakExpr> */
8453 if (var_node == NULL) {
8454 var = 0; /* is null */
8455 } else {
8456 var = 1; /* arg is null and recv is not */
8457 }
8458 if (0) {
8459 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
8460 var_other = ((val*)NULL);
8461 {
8462 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
8463 }
8464 var4 = !var3;
8465 var1 = var4;
8466 goto RET_LABEL2;
8467 RET_LABEL2:(void)0;
8468 }
8469 var = var1;
8470 }
8471 if (var){
8472 {
8473 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
8474 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
8475 RET_LABEL5:(void)0;
8476 }
8477 }
8478 } else {
8479 }
8480 RET_LABEL:;
8481 }
8482 /* method parser_prod#ABreakExpr#visit_all for (self: ABreakExpr, Visitor) */
8483 void nitc__parser_prod___ABreakExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
8484 val* var_v /* var v: Visitor */;
8485 val* var /* : TKwbreak */;
8486 val* var1 /* : nullable ALabel */;
8487 var_v = p0;
8488 var = self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on <self:ABreakExpr> */
8489 if (unlikely(var == NULL)) {
8490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak");
8491 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2778);
8492 fatal_exit(1);
8493 }
8494 {
8495 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8496 }
8497 var1 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ABreakExpr> */
8498 {
8499 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8500 }
8501 RET_LABEL:;
8502 }
8503 /* method parser_prod#AAbortExpr#init_aabortexpr for (self: AAbortExpr, nullable TKwabort) */
8504 void nitc__parser_prod___AAbortExpr___init_aabortexpr(val* self, val* p0) {
8505 val* var_n_kwabort /* var n_kwabort: nullable TKwabort */;
8506 {
8507 { /* Inline kernel#Object#init (self) on <self:AAbortExpr> */
8508 RET_LABEL1:(void)0;
8509 }
8510 }
8511 var_n_kwabort = p0;
8512 if (unlikely(var_n_kwabort == NULL)) {
8513 PRINT_ERROR("Runtime error: %s", "Cast failed");
8514 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2787);
8515 fatal_exit(1);
8516 }
8517 self->attrs[COLOR_nitc__parser_nodes__AAbortExpr___n_kwabort].val = var_n_kwabort; /* _n_kwabort on <self:AAbortExpr> */
8518 if (var_n_kwabort == NULL) {
8519 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8520 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2788);
8521 fatal_exit(1);
8522 } else {
8523 { /* Inline parser_nodes#ANode#parent= (var_n_kwabort,self) on <var_n_kwabort:nullable TKwabort> */
8524 if (unlikely(var_n_kwabort == NULL)) {
8525 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8526 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
8527 fatal_exit(1);
8528 }
8529 var_n_kwabort->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwabort:nullable TKwabort> */
8530 RET_LABEL2:(void)0;
8531 }
8532 }
8533 RET_LABEL:;
8534 }
8535 /* method parser_prod#AAbortExpr#replace_child for (self: AAbortExpr, ANode, nullable ANode) */
8536 void nitc__parser_prod___AAbortExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8537 val* var_old_child /* var old_child: ANode */;
8538 val* var_new_child /* var new_child: nullable ANode */;
8539 val* var /* : TKwabort */;
8540 short int var1 /* : Bool */;
8541 val* var_other /* var other: nullable Object */;
8542 short int var3 /* : Bool */;
8543 short int var5 /* : Bool */;
8544 short int var6 /* : Bool */;
8545 int cltype;
8546 int idtype;
8547 const char* var_class_name;
8548 var_old_child = p0;
8549 var_new_child = p1;
8550 var = self->attrs[COLOR_nitc__parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on <self:AAbortExpr> */
8551 if (unlikely(var == NULL)) {
8552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort");
8553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2793);
8554 fatal_exit(1);
8555 }
8556 {
8557 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwabort> */
8558 var_other = var_old_child;
8559 {
8560 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwabort> */
8561 var5 = var == var_other;
8562 var3 = var5;
8563 goto RET_LABEL4;
8564 RET_LABEL4:(void)0;
8565 }
8566 }
8567 var1 = var3;
8568 goto RET_LABEL2;
8569 RET_LABEL2:(void)0;
8570 }
8571 }
8572 if (var1){
8573 /* <var_new_child:nullable ANode> isa TKwabort */
8574 cltype = type_nitc__TKwabort.color;
8575 idtype = type_nitc__TKwabort.id;
8576 if(var_new_child == NULL) {
8577 var6 = 0;
8578 } else {
8579 if(cltype >= var_new_child->type->table_size) {
8580 var6 = 0;
8581 } else {
8582 var6 = var_new_child->type->type_table[cltype] == idtype;
8583 }
8584 }
8585 if (unlikely(!var6)) {
8586 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabort", var_class_name);
8588 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2794);
8589 fatal_exit(1);
8590 }
8591 {
8592 nitc__parser_prod___AAbortExpr___n_kwabort_61d(self, var_new_child); /* Direct call parser_prod#AAbortExpr#n_kwabort= on <self:AAbortExpr>*/
8593 }
8594 goto RET_LABEL;
8595 } else {
8596 }
8597 RET_LABEL:;
8598 }
8599 /* method parser_prod#AAbortExpr#n_kwabort= for (self: AAbortExpr, TKwabort) */
8600 void nitc__parser_prod___AAbortExpr___n_kwabort_61d(val* self, val* p0) {
8601 val* var_node /* var node: TKwabort */;
8602 var_node = p0;
8603 self->attrs[COLOR_nitc__parser_nodes__AAbortExpr___n_kwabort].val = var_node; /* _n_kwabort on <self:AAbortExpr> */
8604 {
8605 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwabort> */
8606 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwabort> */
8607 RET_LABEL1:(void)0;
8608 }
8609 }
8610 RET_LABEL:;
8611 }
8612 /* method parser_prod#AAbortExpr#visit_all for (self: AAbortExpr, Visitor) */
8613 void nitc__parser_prod___AAbortExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
8614 val* var_v /* var v: Visitor */;
8615 val* var /* : TKwabort */;
8616 var_v = p0;
8617 var = self->attrs[COLOR_nitc__parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on <self:AAbortExpr> */
8618 if (unlikely(var == NULL)) {
8619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort");
8620 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2808);
8621 fatal_exit(1);
8622 }
8623 {
8624 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8625 }
8626 RET_LABEL:;
8627 }
8628 /* method parser_prod#AContinueExpr#init_acontinueexpr for (self: AContinueExpr, nullable TKwcontinue, nullable ALabel) */
8629 void nitc__parser_prod___AContinueExpr___init_acontinueexpr(val* self, val* p0, val* p1) {
8630 val* var_n_kwcontinue /* var n_kwcontinue: nullable TKwcontinue */;
8631 val* var_n_label /* var n_label: nullable ALabel */;
8632 short int var /* : Bool */;
8633 short int var2 /* : Bool */;
8634 val* var_other /* var other: nullable Object */;
8635 short int var4 /* : Bool */;
8636 short int var5 /* : Bool */;
8637 short int var7 /* : Bool */;
8638 short int var8 /* : Bool */;
8639 short int var10 /* : Bool */;
8640 short int var11 /* : Bool */;
8641 {
8642 { /* Inline kernel#Object#init (self) on <self:AContinueExpr> */
8643 RET_LABEL1:(void)0;
8644 }
8645 }
8646 var_n_kwcontinue = p0;
8647 var_n_label = p1;
8648 self->attrs[COLOR_nitc__parser_nodes__AContinueExpr___n_kwcontinue].val = var_n_kwcontinue; /* _n_kwcontinue on <self:AContinueExpr> */
8649 if (var_n_kwcontinue == NULL) {
8650 var = 0; /* is null */
8651 } else {
8652 var = 1; /* arg is null and recv is not */
8653 }
8654 if (0) {
8655 { /* Inline kernel#Object#!= (var_n_kwcontinue,((val*)NULL)) on <var_n_kwcontinue:nullable TKwcontinue> */
8656 var_other = ((val*)NULL);
8657 {
8658 var4 = ((short int(*)(val* self, val* p0))(var_n_kwcontinue->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwcontinue, var_other); /* == on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)>*/
8659 }
8660 var5 = !var4;
8661 var2 = var5;
8662 goto RET_LABEL3;
8663 RET_LABEL3:(void)0;
8664 }
8665 var = var2;
8666 }
8667 if (var){
8668 {
8669 { /* Inline parser_nodes#ANode#parent= (var_n_kwcontinue,self) on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)> */
8670 var_n_kwcontinue->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)> */
8671 RET_LABEL6:(void)0;
8672 }
8673 }
8674 } else {
8675 }
8676 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AContinueExpr> */
8677 if (var_n_label == NULL) {
8678 var7 = 0; /* is null */
8679 } else {
8680 var7 = 1; /* arg is null and recv is not */
8681 }
8682 if (0) {
8683 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
8684 var_other = ((val*)NULL);
8685 {
8686 var10 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
8687 }
8688 var11 = !var10;
8689 var8 = var11;
8690 goto RET_LABEL9;
8691 RET_LABEL9:(void)0;
8692 }
8693 var7 = var8;
8694 }
8695 if (var7){
8696 {
8697 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
8698 var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
8699 RET_LABEL12:(void)0;
8700 }
8701 }
8702 } else {
8703 }
8704 RET_LABEL:;
8705 }
8706 /* method parser_prod#AContinueExpr#replace_child for (self: AContinueExpr, ANode, nullable ANode) */
8707 void nitc__parser_prod___AContinueExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
8708 val* var_old_child /* var old_child: ANode */;
8709 val* var_new_child /* var new_child: nullable ANode */;
8710 val* var /* : nullable TKwcontinue */;
8711 short int var1 /* : Bool */;
8712 short int var2 /* : Bool */;
8713 val* var_other /* var other: nullable Object */;
8714 short int var4 /* : Bool */;
8715 short int var6 /* : Bool */;
8716 short int var7 /* : Bool */;
8717 int cltype;
8718 int idtype;
8719 const char* var_class_name;
8720 val* var8 /* : nullable ALabel */;
8721 short int var9 /* : Bool */;
8722 short int var10 /* : Bool */;
8723 short int var12 /* : Bool */;
8724 short int var14 /* : Bool */;
8725 short int var15 /* : Bool */;
8726 int cltype16;
8727 int idtype17;
8728 const char* var_class_name18;
8729 var_old_child = p0;
8730 var_new_child = p1;
8731 var = self->attrs[COLOR_nitc__parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on <self:AContinueExpr> */
8732 if (var == NULL) {
8733 var1 = 0; /* <var_old_child:ANode> cannot be null */
8734 } else {
8735 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwcontinue> */
8736 var_other = var_old_child;
8737 {
8738 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwcontinue(TKwcontinue)> */
8739 var6 = var == var_other;
8740 var4 = var6;
8741 goto RET_LABEL5;
8742 RET_LABEL5:(void)0;
8743 }
8744 }
8745 var2 = var4;
8746 goto RET_LABEL3;
8747 RET_LABEL3:(void)0;
8748 }
8749 var1 = var2;
8750 }
8751 if (var1){
8752 /* <var_new_child:nullable ANode> isa nullable TKwcontinue */
8753 cltype = type_nullable__nitc__TKwcontinue.color;
8754 idtype = type_nullable__nitc__TKwcontinue.id;
8755 if(var_new_child == NULL) {
8756 var7 = 1;
8757 } else {
8758 if(cltype >= var_new_child->type->table_size) {
8759 var7 = 0;
8760 } else {
8761 var7 = var_new_child->type->type_table[cltype] == idtype;
8762 }
8763 }
8764 if (unlikely(!var7)) {
8765 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
8766 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwcontinue", var_class_name);
8767 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2826);
8768 fatal_exit(1);
8769 }
8770 {
8771 nitc__parser_prod___AContinueExpr___n_kwcontinue_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on <self:AContinueExpr>*/
8772 }
8773 goto RET_LABEL;
8774 } else {
8775 }
8776 var8 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AContinueExpr> */
8777 if (var8 == NULL) {
8778 var9 = 0; /* <var_old_child:ANode> cannot be null */
8779 } else {
8780 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable ALabel> */
8781 var_other = var_old_child;
8782 {
8783 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable ALabel(ALabel)> */
8784 var14 = var8 == var_other;
8785 var12 = var14;
8786 goto RET_LABEL13;
8787 RET_LABEL13:(void)0;
8788 }
8789 }
8790 var10 = var12;
8791 goto RET_LABEL11;
8792 RET_LABEL11:(void)0;
8793 }
8794 var9 = var10;
8795 }
8796 if (var9){
8797 /* <var_new_child:nullable ANode> isa nullable ALabel */
8798 cltype16 = type_nullable__nitc__ALabel.color;
8799 idtype17 = type_nullable__nitc__ALabel.id;
8800 if(var_new_child == NULL) {
8801 var15 = 1;
8802 } else {
8803 if(cltype16 >= var_new_child->type->table_size) {
8804 var15 = 0;
8805 } else {
8806 var15 = var_new_child->type->type_table[cltype16] == idtype17;
8807 }
8808 }
8809 if (unlikely(!var15)) {
8810 var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
8811 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18);
8812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2830);
8813 fatal_exit(1);
8814 }
8815 {
8816 nitc__parser_prod___AContinueExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_label= on <self:AContinueExpr>*/
8817 }
8818 goto RET_LABEL;
8819 } else {
8820 }
8821 RET_LABEL:;
8822 }
8823 /* method parser_prod#AContinueExpr#n_kwcontinue= for (self: AContinueExpr, nullable TKwcontinue) */
8824 void nitc__parser_prod___AContinueExpr___n_kwcontinue_61d(val* self, val* p0) {
8825 val* var_node /* var node: nullable TKwcontinue */;
8826 short int var /* : Bool */;
8827 short int var1 /* : Bool */;
8828 val* var_other /* var other: nullable Object */;
8829 short int var3 /* : Bool */;
8830 short int var4 /* : Bool */;
8831 var_node = p0;
8832 self->attrs[COLOR_nitc__parser_nodes__AContinueExpr___n_kwcontinue].val = var_node; /* _n_kwcontinue on <self:AContinueExpr> */
8833 if (var_node == NULL) {
8834 var = 0; /* is null */
8835 } else {
8836 var = 1; /* arg is null and recv is not */
8837 }
8838 if (0) {
8839 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwcontinue> */
8840 var_other = ((val*)NULL);
8841 {
8842 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwcontinue(TKwcontinue)>*/
8843 }
8844 var4 = !var3;
8845 var1 = var4;
8846 goto RET_LABEL2;
8847 RET_LABEL2:(void)0;
8848 }
8849 var = var1;
8850 }
8851 if (var){
8852 {
8853 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwcontinue(TKwcontinue)> */
8854 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwcontinue(TKwcontinue)> */
8855 RET_LABEL5:(void)0;
8856 }
8857 }
8858 } else {
8859 }
8860 RET_LABEL:;
8861 }
8862 /* method parser_prod#AContinueExpr#n_label= for (self: AContinueExpr, nullable ALabel) */
8863 void nitc__parser_prod___AContinueExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
8864 val* var_node /* var node: nullable ALabel */;
8865 short int var /* : Bool */;
8866 short int var1 /* : Bool */;
8867 val* var_other /* var other: nullable Object */;
8868 short int var3 /* : Bool */;
8869 short int var4 /* : Bool */;
8870 var_node = p0;
8871 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AContinueExpr> */
8872 if (var_node == NULL) {
8873 var = 0; /* is null */
8874 } else {
8875 var = 1; /* arg is null and recv is not */
8876 }
8877 if (0) {
8878 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
8879 var_other = ((val*)NULL);
8880 {
8881 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
8882 }
8883 var4 = !var3;
8884 var1 = var4;
8885 goto RET_LABEL2;
8886 RET_LABEL2:(void)0;
8887 }
8888 var = var1;
8889 }
8890 if (var){
8891 {
8892 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
8893 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
8894 RET_LABEL5:(void)0;
8895 }
8896 }
8897 } else {
8898 }
8899 RET_LABEL:;
8900 }
8901 /* method parser_prod#AContinueExpr#visit_all for (self: AContinueExpr, Visitor) */
8902 void nitc__parser_prod___AContinueExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
8903 val* var_v /* var v: Visitor */;
8904 val* var /* : nullable TKwcontinue */;
8905 val* var1 /* : nullable ALabel */;
8906 var_v = p0;
8907 var = self->attrs[COLOR_nitc__parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on <self:AContinueExpr> */
8908 {
8909 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8910 }
8911 var1 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AContinueExpr> */
8912 {
8913 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8914 }
8915 RET_LABEL:;
8916 }
8917 /* method parser_prod#ADoExpr#init_adoexpr for (self: ADoExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
8918 void nitc__parser_prod___ADoExpr___init_adoexpr(val* self, val* p0, val* p1, val* p2) {
8919 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
8920 val* var_n_block /* var n_block: nullable AExpr */;
8921 val* var_n_label /* var n_label: nullable ALabel */;
8922 short int var /* : Bool */;
8923 short int var3 /* : Bool */;
8924 val* var_other /* var other: nullable Object */;
8925 short int var5 /* : Bool */;
8926 short int var6 /* : Bool */;
8927 short int var8 /* : Bool */;
8928 short int var9 /* : Bool */;
8929 short int var11 /* : Bool */;
8930 short int var12 /* : Bool */;
8931 {
8932 { /* Inline kernel#Object#init (self) on <self:ADoExpr> */
8933 RET_LABEL1:(void)0;
8934 }
8935 }
8936 var_n_kwdo = p0;
8937 var_n_block = p1;
8938 var_n_label = p2;
8939 if (unlikely(var_n_kwdo == NULL)) {
8940 PRINT_ERROR("Runtime error: %s", "Cast failed");
8941 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2860);
8942 fatal_exit(1);
8943 }
8944 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:ADoExpr> */
8945 if (var_n_kwdo == NULL) {
8946 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8947 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2861);
8948 fatal_exit(1);
8949 } else {
8950 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
8951 if (unlikely(var_n_kwdo == NULL)) {
8952 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8953 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
8954 fatal_exit(1);
8955 }
8956 var_n_kwdo->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
8957 RET_LABEL2:(void)0;
8958 }
8959 }
8960 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val = var_n_block; /* _n_block on <self:ADoExpr> */
8961 if (var_n_block == NULL) {
8962 var = 0; /* is null */
8963 } else {
8964 var = 1; /* arg is null and recv is not */
8965 }
8966 if (0) {
8967 { /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
8968 var_other = ((val*)NULL);
8969 {
8970 var5 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
8971 }
8972 var6 = !var5;
8973 var3 = var6;
8974 goto RET_LABEL4;
8975 RET_LABEL4:(void)0;
8976 }
8977 var = var3;
8978 }
8979 if (var){
8980 {
8981 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
8982 var_n_block->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
8983 RET_LABEL7:(void)0;
8984 }
8985 }
8986 } else {
8987 }
8988 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ADoExpr> */
8989 if (var_n_label == NULL) {
8990 var8 = 0; /* is null */
8991 } else {
8992 var8 = 1; /* arg is null and recv is not */
8993 }
8994 if (0) {
8995 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
8996 var_other = ((val*)NULL);
8997 {
8998 var11 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
8999 }
9000 var12 = !var11;
9001 var9 = var12;
9002 goto RET_LABEL10;
9003 RET_LABEL10:(void)0;
9004 }
9005 var8 = var9;
9006 }
9007 if (var8){
9008 {
9009 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
9010 var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
9011 RET_LABEL13:(void)0;
9012 }
9013 }
9014 } else {
9015 }
9016 RET_LABEL:;
9017 }
9018 /* method parser_prod#ADoExpr#replace_child for (self: ADoExpr, ANode, nullable ANode) */
9019 void nitc__parser_prod___ADoExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
9020 val* var_old_child /* var old_child: ANode */;
9021 val* var_new_child /* var new_child: nullable ANode */;
9022 val* var /* : TKwdo */;
9023 short int var1 /* : Bool */;
9024 val* var_other /* var other: nullable Object */;
9025 short int var3 /* : Bool */;
9026 short int var5 /* : Bool */;
9027 short int var6 /* : Bool */;
9028 int cltype;
9029 int idtype;
9030 const char* var_class_name;
9031 val* var7 /* : nullable AExpr */;
9032 short int var8 /* : Bool */;
9033 short int var9 /* : Bool */;
9034 short int var11 /* : Bool */;
9035 short int var13 /* : Bool */;
9036 short int var14 /* : Bool */;
9037 int cltype15;
9038 int idtype16;
9039 const char* var_class_name17;
9040 val* var18 /* : nullable ALabel */;
9041 short int var19 /* : Bool */;
9042 short int var20 /* : Bool */;
9043 short int var22 /* : Bool */;
9044 short int var24 /* : Bool */;
9045 short int var25 /* : Bool */;
9046 int cltype26;
9047 int idtype27;
9048 const char* var_class_name28;
9049 var_old_child = p0;
9050 var_new_child = p1;
9051 var = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on <self:ADoExpr> */
9052 if (unlikely(var == NULL)) {
9053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
9054 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2870);
9055 fatal_exit(1);
9056 }
9057 {
9058 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwdo> */
9059 var_other = var_old_child;
9060 {
9061 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwdo> */
9062 var5 = var == var_other;
9063 var3 = var5;
9064 goto RET_LABEL4;
9065 RET_LABEL4:(void)0;
9066 }
9067 }
9068 var1 = var3;
9069 goto RET_LABEL2;
9070 RET_LABEL2:(void)0;
9071 }
9072 }
9073 if (var1){
9074 /* <var_new_child:nullable ANode> isa TKwdo */
9075 cltype = type_nitc__TKwdo.color;
9076 idtype = type_nitc__TKwdo.id;
9077 if(var_new_child == NULL) {
9078 var6 = 0;
9079 } else {
9080 if(cltype >= var_new_child->type->table_size) {
9081 var6 = 0;
9082 } else {
9083 var6 = var_new_child->type->type_table[cltype] == idtype;
9084 }
9085 }
9086 if (unlikely(!var6)) {
9087 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
9088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name);
9089 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2871);
9090 fatal_exit(1);
9091 }
9092 {
9093 nitc__parser_prod___ADoExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_kwdo= on <self:ADoExpr>*/
9094 }
9095 goto RET_LABEL;
9096 } else {
9097 }
9098 var7 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
9099 if (var7 == NULL) {
9100 var8 = 0; /* <var_old_child:ANode> cannot be null */
9101 } else {
9102 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable AExpr> */
9103 var_other = var_old_child;
9104 {
9105 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable AExpr(AExpr)> */
9106 var13 = var7 == var_other;
9107 var11 = var13;
9108 goto RET_LABEL12;
9109 RET_LABEL12:(void)0;
9110 }
9111 }
9112 var9 = var11;
9113 goto RET_LABEL10;
9114 RET_LABEL10:(void)0;
9115 }
9116 var8 = var9;
9117 }
9118 if (var8){
9119 /* <var_new_child:nullable ANode> isa nullable AExpr */
9120 cltype15 = type_nullable__nitc__AExpr.color;
9121 idtype16 = type_nullable__nitc__AExpr.id;
9122 if(var_new_child == NULL) {
9123 var14 = 1;
9124 } else {
9125 if(cltype15 >= var_new_child->type->table_size) {
9126 var14 = 0;
9127 } else {
9128 var14 = var_new_child->type->type_table[cltype15] == idtype16;
9129 }
9130 }
9131 if (unlikely(!var14)) {
9132 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
9133 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name17);
9134 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2875);
9135 fatal_exit(1);
9136 }
9137 {
9138 nitc__parser_prod___ADoExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
9139 }
9140 goto RET_LABEL;
9141 } else {
9142 }
9143 var18 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ADoExpr> */
9144 if (var18 == NULL) {
9145 var19 = 0; /* <var_old_child:ANode> cannot be null */
9146 } else {
9147 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:nullable ALabel> */
9148 var_other = var_old_child;
9149 {
9150 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable ALabel(ALabel)> */
9151 var24 = var18 == var_other;
9152 var22 = var24;
9153 goto RET_LABEL23;
9154 RET_LABEL23:(void)0;
9155 }
9156 }
9157 var20 = var22;
9158 goto RET_LABEL21;
9159 RET_LABEL21:(void)0;
9160 }
9161 var19 = var20;
9162 }
9163 if (var19){
9164 /* <var_new_child:nullable ANode> isa nullable ALabel */
9165 cltype26 = type_nullable__nitc__ALabel.color;
9166 idtype27 = type_nullable__nitc__ALabel.id;
9167 if(var_new_child == NULL) {
9168 var25 = 1;
9169 } else {
9170 if(cltype26 >= var_new_child->type->table_size) {
9171 var25 = 0;
9172 } else {
9173 var25 = var_new_child->type->type_table[cltype26] == idtype27;
9174 }
9175 }
9176 if (unlikely(!var25)) {
9177 var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
9178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name28);
9179 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2879);
9180 fatal_exit(1);
9181 }
9182 {
9183 nitc__parser_prod___ADoExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_label= on <self:ADoExpr>*/
9184 }
9185 goto RET_LABEL;
9186 } else {
9187 }
9188 RET_LABEL:;
9189 }
9190 /* method parser_prod#ADoExpr#n_kwdo= for (self: ADoExpr, TKwdo) */
9191 void nitc__parser_prod___ADoExpr___n_kwdo_61d(val* self, val* p0) {
9192 val* var_node /* var node: TKwdo */;
9193 var_node = p0;
9194 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:ADoExpr> */
9195 {
9196 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
9197 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
9198 RET_LABEL1:(void)0;
9199 }
9200 }
9201 RET_LABEL:;
9202 }
9203 /* method parser_prod#ADoExpr#n_block= for (self: ADoExpr, nullable AExpr) */
9204 void nitc__parser_prod___ADoExpr___n_block_61d(val* self, val* p0) {
9205 val* var_node /* var node: nullable AExpr */;
9206 short int var /* : Bool */;
9207 short int var1 /* : Bool */;
9208 val* var_other /* var other: nullable Object */;
9209 short int var3 /* : Bool */;
9210 short int var4 /* : Bool */;
9211 var_node = p0;
9212 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val = var_node; /* _n_block on <self:ADoExpr> */
9213 if (var_node == NULL) {
9214 var = 0; /* is null */
9215 } else {
9216 var = 1; /* arg is null and recv is not */
9217 }
9218 if (0) {
9219 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
9220 var_other = ((val*)NULL);
9221 {
9222 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
9223 }
9224 var4 = !var3;
9225 var1 = var4;
9226 goto RET_LABEL2;
9227 RET_LABEL2:(void)0;
9228 }
9229 var = var1;
9230 }
9231 if (var){
9232 {
9233 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
9234 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
9235 RET_LABEL5:(void)0;
9236 }
9237 }
9238 } else {
9239 }
9240 RET_LABEL:;
9241 }
9242 /* method parser_prod#ADoExpr#n_label= for (self: ADoExpr, nullable ALabel) */
9243 void nitc__parser_prod___ADoExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
9244 val* var_node /* var node: nullable ALabel */;
9245 short int var /* : Bool */;
9246 short int var1 /* : Bool */;
9247 val* var_other /* var other: nullable Object */;
9248 short int var3 /* : Bool */;
9249 short int var4 /* : Bool */;
9250 var_node = p0;
9251 self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ADoExpr> */
9252 if (var_node == NULL) {
9253 var = 0; /* is null */
9254 } else {
9255 var = 1; /* arg is null and recv is not */
9256 }
9257 if (0) {
9258 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
9259 var_other = ((val*)NULL);
9260 {
9261 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
9262 }
9263 var4 = !var3;
9264 var1 = var4;
9265 goto RET_LABEL2;
9266 RET_LABEL2:(void)0;
9267 }
9268 var = var1;
9269 }
9270 if (var){
9271 {
9272 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
9273 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
9274 RET_LABEL5:(void)0;
9275 }
9276 }
9277 } else {
9278 }
9279 RET_LABEL:;
9280 }
9281 /* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */
9282 void nitc__parser_prod___ADoExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
9283 val* var_v /* var v: Visitor */;
9284 val* var /* : TKwdo */;
9285 val* var1 /* : nullable AExpr */;
9286 val* var2 /* : nullable ALabel */;
9287 var_v = p0;
9288 var = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on <self:ADoExpr> */
9289 if (unlikely(var == NULL)) {
9290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
9291 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2903);
9292 fatal_exit(1);
9293 }
9294 {
9295 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9296 }
9297 var1 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
9298 {
9299 nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9300 }
9301 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ADoExpr> */
9302 {
9303 nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9304 }
9305 RET_LABEL:;
9306 }
9307 /* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
9308 void nitc__parser_prod___AIfExpr___init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
9309 val* var_n_kwif /* var n_kwif: nullable TKwif */;
9310 val* var_n_expr /* var n_expr: nullable AExpr */;
9311 val* var_n_kwthen /* var n_kwthen: nullable TKwthen */;
9312 val* var_n_then /* var n_then: nullable AExpr */;
9313 val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
9314 val* var_n_else /* var n_else: nullable AExpr */;
9315 short int var /* : Bool */;
9316 short int var5 /* : Bool */;
9317 val* var_other /* var other: nullable Object */;
9318 short int var7 /* : Bool */;
9319 short int var8 /* : Bool */;
9320 short int var10 /* : Bool */;
9321 short int var11 /* : Bool */;
9322 short int var13 /* : Bool */;
9323 short int var14 /* : Bool */;
9324 short int var16 /* : Bool */;
9325 short int var17 /* : Bool */;
9326 short int var19 /* : Bool */;
9327 short int var20 /* : Bool */;
9328 {
9329 { /* Inline kernel#Object#init (self) on <self:AIfExpr> */
9330 RET_LABEL1:(void)0;
9331 }
9332 }
9333 var_n_kwif = p0;
9334 var_n_expr = p1;
9335 var_n_kwthen = p2;
9336 var_n_then = p3;
9337 var_n_kwelse = p4;
9338 var_n_else = p5;
9339 if (unlikely(var_n_kwif == NULL)) {
9340 PRINT_ERROR("Runtime error: %s", "Cast failed");
9341 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2918);
9342 fatal_exit(1);
9343 }
9344 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val = var_n_kwif; /* _n_kwif on <self:AIfExpr> */
9345 if (var_n_kwif == NULL) {
9346 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2919);
9348 fatal_exit(1);
9349 } else {
9350 { /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on <var_n_kwif:nullable TKwif> */
9351 if (unlikely(var_n_kwif == NULL)) {
9352 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9353 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
9354 fatal_exit(1);
9355 }
9356 var_n_kwif->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwif:nullable TKwif> */
9357 RET_LABEL2:(void)0;
9358 }
9359 }
9360 if (unlikely(var_n_expr == NULL)) {
9361 PRINT_ERROR("Runtime error: %s", "Cast failed");
9362 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2920);
9363 fatal_exit(1);
9364 }
9365 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIfExpr> */
9366 if (var_n_expr == NULL) {
9367 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9368 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2921);
9369 fatal_exit(1);
9370 } else {
9371 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9372 if (unlikely(var_n_expr == NULL)) {
9373 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9374 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
9375 fatal_exit(1);
9376 }
9377 var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
9378 RET_LABEL3:(void)0;
9379 }
9380 }
9381 if (unlikely(var_n_kwthen == NULL)) {
9382 PRINT_ERROR("Runtime error: %s", "Cast failed");
9383 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2922);
9384 fatal_exit(1);
9385 }
9386 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on <self:AIfExpr> */
9387 if (var_n_kwthen == NULL) {
9388 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9389 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2923);
9390 fatal_exit(1);
9391 } else {
9392 { /* Inline parser_nodes#ANode#parent= (var_n_kwthen,self) on <var_n_kwthen:nullable TKwthen> */
9393 if (unlikely(var_n_kwthen == NULL)) {
9394 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9395 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
9396 fatal_exit(1);
9397 }
9398 var_n_kwthen->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwthen:nullable TKwthen> */
9399 RET_LABEL4:(void)0;
9400 }
9401 }
9402 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val = var_n_then; /* _n_then on <self:AIfExpr> */
9403 if (var_n_then == NULL) {
9404 var = 0; /* is null */
9405 } else {
9406 var = 1; /* arg is null and recv is not */
9407 }
9408 if (0) {
9409 { /* Inline kernel#Object#!= (var_n_then,((val*)NULL)) on <var_n_then:nullable AExpr> */
9410 var_other = ((val*)NULL);
9411 {
9412 var7 = ((short int(*)(val* self, val* p0))(var_n_then->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_then, var_other); /* == on <var_n_then:nullable AExpr(AExpr)>*/
9413 }
9414 var8 = !var7;
9415 var5 = var8;
9416 goto RET_LABEL6;
9417 RET_LABEL6:(void)0;
9418 }
9419 var = var5;
9420 }
9421 if (var){
9422 {
9423 { /* Inline parser_nodes#ANode#parent= (var_n_then,self) on <var_n_then:nullable AExpr(AExpr)> */
9424 var_n_then->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_then:nullable AExpr(AExpr)> */
9425 RET_LABEL9:(void)0;
9426 }
9427 }
9428 } else {
9429 }
9430 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AIfExpr> */
9431 if (var_n_kwelse == NULL) {
9432 var10 = 0; /* is null */
9433 } else {
9434 var10 = 1; /* arg is null and recv is not */
9435 }
9436 if (0) {
9437 { /* Inline kernel#Object#!= (var_n_kwelse,((val*)NULL)) on <var_n_kwelse:nullable TKwelse> */
9438 var_other = ((val*)NULL);
9439 {
9440 var13 = ((short int(*)(val* self, val* p0))(var_n_kwelse->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwelse, var_other); /* == on <var_n_kwelse:nullable TKwelse(TKwelse)>*/
9441 }
9442 var14 = !var13;
9443 var11 = var14;
9444 goto RET_LABEL12;
9445 RET_LABEL12:(void)0;
9446 }
9447 var10 = var11;
9448 }
9449 if (var10){
9450 {
9451 { /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse(TKwelse)> */
9452 var_n_kwelse->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse(TKwelse)> */
9453 RET_LABEL15:(void)0;
9454 }
9455 }
9456 } else {
9457 }
9458 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val = var_n_else; /* _n_else on <self:AIfExpr> */
9459 if (var_n_else == NULL) {
9460 var16 = 0; /* is null */
9461 } else {
9462 var16 = 1; /* arg is null and recv is not */
9463 }
9464 if (0) {
9465 { /* Inline kernel#Object#!= (var_n_else,((val*)NULL)) on <var_n_else:nullable AExpr> */
9466 var_other = ((val*)NULL);
9467 {
9468 var19 = ((short int(*)(val* self, val* p0))(var_n_else->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_else, var_other); /* == on <var_n_else:nullable AExpr(AExpr)>*/
9469 }
9470 var20 = !var19;
9471 var17 = var20;
9472 goto RET_LABEL18;
9473 RET_LABEL18:(void)0;
9474 }
9475 var16 = var17;
9476 }
9477 if (var16){
9478 {
9479 { /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
9480 var_n_else->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
9481 RET_LABEL21:(void)0;
9482 }
9483 }
9484 } else {
9485 }
9486 RET_LABEL:;
9487 }
9488 /* method parser_prod#AIfExpr#replace_child for (self: AIfExpr, ANode, nullable ANode) */
9489 void nitc__parser_prod___AIfExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
9490 val* var_old_child /* var old_child: ANode */;
9491 val* var_new_child /* var new_child: nullable ANode */;
9492 val* var /* : TKwif */;
9493 short int var1 /* : Bool */;
9494 val* var_other /* var other: nullable Object */;
9495 short int var3 /* : Bool */;
9496 short int var5 /* : Bool */;
9497 short int var6 /* : Bool */;
9498 int cltype;
9499 int idtype;
9500 const char* var_class_name;
9501 val* var7 /* : AExpr */;
9502 short int var8 /* : Bool */;
9503 short int var10 /* : Bool */;
9504 short int var12 /* : Bool */;
9505 short int var13 /* : Bool */;
9506 int cltype14;
9507 int idtype15;
9508 const char* var_class_name16;
9509 val* var17 /* : TKwthen */;
9510 short int var18 /* : Bool */;
9511 short int var20 /* : Bool */;
9512 short int var22 /* : Bool */;
9513 short int var23 /* : Bool */;
9514 int cltype24;
9515 int idtype25;
9516 const char* var_class_name26;
9517 val* var27 /* : nullable AExpr */;
9518 short int var28 /* : Bool */;
9519 short int var29 /* : Bool */;
9520 short int var31 /* : Bool */;
9521 short int var33 /* : Bool */;
9522 short int var34 /* : Bool */;
9523 int cltype35;
9524 int idtype36;
9525 const char* var_class_name37;
9526 val* var38 /* : nullable TKwelse */;
9527 short int var39 /* : Bool */;
9528 short int var40 /* : Bool */;
9529 short int var42 /* : Bool */;
9530 short int var44 /* : Bool */;
9531 short int var45 /* : Bool */;
9532 int cltype46;
9533 int idtype47;
9534 const char* var_class_name48;
9535 val* var49 /* : nullable AExpr */;
9536 short int var50 /* : Bool */;
9537 short int var51 /* : Bool */;
9538 short int var53 /* : Bool */;
9539 short int var55 /* : Bool */;
9540 short int var56 /* : Bool */;
9541 int cltype57;
9542 int idtype58;
9543 const char* var_class_name59;
9544 var_old_child = p0;
9545 var_new_child = p1;
9546 var = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on <self:AIfExpr> */
9547 if (unlikely(var == NULL)) {
9548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
9549 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2934);
9550 fatal_exit(1);
9551 }
9552 {
9553 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwif> */
9554 var_other = var_old_child;
9555 {
9556 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwif> */
9557 var5 = var == var_other;
9558 var3 = var5;
9559 goto RET_LABEL4;
9560 RET_LABEL4:(void)0;
9561 }
9562 }
9563 var1 = var3;
9564 goto RET_LABEL2;
9565 RET_LABEL2:(void)0;
9566 }
9567 }
9568 if (var1){
9569 /* <var_new_child:nullable ANode> isa TKwif */
9570 cltype = type_nitc__TKwif.color;
9571 idtype = type_nitc__TKwif.id;
9572 if(var_new_child == NULL) {
9573 var6 = 0;
9574 } else {
9575 if(cltype >= var_new_child->type->table_size) {
9576 var6 = 0;
9577 } else {
9578 var6 = var_new_child->type->type_table[cltype] == idtype;
9579 }
9580 }
9581 if (unlikely(!var6)) {
9582 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
9583 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name);
9584 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2935);
9585 fatal_exit(1);
9586 }
9587 {
9588 nitc__parser_prod___AIfExpr___n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_kwif= on <self:AIfExpr>*/
9589 }
9590 goto RET_LABEL;
9591 } else {
9592 }
9593 var7 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
9594 if (unlikely(var7 == NULL)) {
9595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9596 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2938);
9597 fatal_exit(1);
9598 }
9599 {
9600 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
9601 var_other = var_old_child;
9602 {
9603 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
9604 var12 = var7 == var_other;
9605 var10 = var12;
9606 goto RET_LABEL11;
9607 RET_LABEL11:(void)0;
9608 }
9609 }
9610 var8 = var10;
9611 goto RET_LABEL9;
9612 RET_LABEL9:(void)0;
9613 }
9614 }
9615 if (var8){
9616 /* <var_new_child:nullable ANode> isa AExpr */
9617 cltype14 = type_nitc__AExpr.color;
9618 idtype15 = type_nitc__AExpr.id;
9619 if(var_new_child == NULL) {
9620 var13 = 0;
9621 } else {
9622 if(cltype14 >= var_new_child->type->table_size) {
9623 var13 = 0;
9624 } else {
9625 var13 = var_new_child->type->type_table[cltype14] == idtype15;
9626 }
9627 }
9628 if (unlikely(!var13)) {
9629 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
9630 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
9631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2939);
9632 fatal_exit(1);
9633 }
9634 {
9635 nitc__parser_prod___AIfExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_expr= on <self:AIfExpr>*/
9636 }
9637 goto RET_LABEL;
9638 } else {
9639 }
9640 var17 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val; /* _n_kwthen on <self:AIfExpr> */
9641 if (unlikely(var17 == NULL)) {
9642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
9643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2942);
9644 fatal_exit(1);
9645 }
9646 {
9647 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwthen> */
9648 var_other = var_old_child;
9649 {
9650 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwthen> */
9651 var22 = var17 == var_other;
9652 var20 = var22;
9653 goto RET_LABEL21;
9654 RET_LABEL21:(void)0;
9655 }
9656 }
9657 var18 = var20;
9658 goto RET_LABEL19;
9659 RET_LABEL19:(void)0;
9660 }
9661 }
9662 if (var18){
9663 /* <var_new_child:nullable ANode> isa TKwthen */
9664 cltype24 = type_nitc__TKwthen.color;
9665 idtype25 = type_nitc__TKwthen.id;
9666 if(var_new_child == NULL) {
9667 var23 = 0;
9668 } else {
9669 if(cltype24 >= var_new_child->type->table_size) {
9670 var23 = 0;
9671 } else {
9672 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9673 }
9674 }
9675 if (unlikely(!var23)) {
9676 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
9677 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwthen", var_class_name26);
9678 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2943);
9679 fatal_exit(1);
9680 }
9681 {
9682 nitc__parser_prod___AIfExpr___n_kwthen_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_kwthen= on <self:AIfExpr>*/
9683 }
9684 goto RET_LABEL;
9685 } else {
9686 }
9687 var27 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val; /* _n_then on <self:AIfExpr> */
9688 if (var27 == NULL) {
9689 var28 = 0; /* <var_old_child:ANode> cannot be null */
9690 } else {
9691 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:nullable AExpr> */
9692 var_other = var_old_child;
9693 {
9694 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:nullable AExpr(AExpr)> */
9695 var33 = var27 == var_other;
9696 var31 = var33;
9697 goto RET_LABEL32;
9698 RET_LABEL32:(void)0;
9699 }
9700 }
9701 var29 = var31;
9702 goto RET_LABEL30;
9703 RET_LABEL30:(void)0;
9704 }
9705 var28 = var29;
9706 }
9707 if (var28){
9708 /* <var_new_child:nullable ANode> isa nullable AExpr */
9709 cltype35 = type_nullable__nitc__AExpr.color;
9710 idtype36 = type_nullable__nitc__AExpr.id;
9711 if(var_new_child == NULL) {
9712 var34 = 1;
9713 } else {
9714 if(cltype35 >= var_new_child->type->table_size) {
9715 var34 = 0;
9716 } else {
9717 var34 = var_new_child->type->type_table[cltype35] == idtype36;
9718 }
9719 }
9720 if (unlikely(!var34)) {
9721 var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
9722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name37);
9723 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2947);
9724 fatal_exit(1);
9725 }
9726 {
9727 nitc__parser_prod___AIfExpr___n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_then= on <self:AIfExpr>*/
9728 }
9729 goto RET_LABEL;
9730 } else {
9731 }
9732 var38 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val; /* _n_kwelse on <self:AIfExpr> */
9733 if (var38 == NULL) {
9734 var39 = 0; /* <var_old_child:ANode> cannot be null */
9735 } else {
9736 { /* Inline kernel#Object#== (var38,var_old_child) on <var38:nullable TKwelse> */
9737 var_other = var_old_child;
9738 {
9739 { /* Inline kernel#Object#is_same_instance (var38,var_other) on <var38:nullable TKwelse(TKwelse)> */
9740 var44 = var38 == var_other;
9741 var42 = var44;
9742 goto RET_LABEL43;
9743 RET_LABEL43:(void)0;
9744 }
9745 }
9746 var40 = var42;
9747 goto RET_LABEL41;
9748 RET_LABEL41:(void)0;
9749 }
9750 var39 = var40;
9751 }
9752 if (var39){
9753 /* <var_new_child:nullable ANode> isa nullable TKwelse */
9754 cltype46 = type_nullable__nitc__TKwelse.color;
9755 idtype47 = type_nullable__nitc__TKwelse.id;
9756 if(var_new_child == NULL) {
9757 var45 = 1;
9758 } else {
9759 if(cltype46 >= var_new_child->type->table_size) {
9760 var45 = 0;
9761 } else {
9762 var45 = var_new_child->type->type_table[cltype46] == idtype47;
9763 }
9764 }
9765 if (unlikely(!var45)) {
9766 var_class_name48 = var_new_child == NULL ? "null" : var_new_child->type->name;
9767 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwelse", var_class_name48);
9768 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2951);
9769 fatal_exit(1);
9770 }
9771 {
9772 nitc__parser_prod___AIfExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_kwelse= on <self:AIfExpr>*/
9773 }
9774 goto RET_LABEL;
9775 } else {
9776 }
9777 var49 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val; /* _n_else on <self:AIfExpr> */
9778 if (var49 == NULL) {
9779 var50 = 0; /* <var_old_child:ANode> cannot be null */
9780 } else {
9781 { /* Inline kernel#Object#== (var49,var_old_child) on <var49:nullable AExpr> */
9782 var_other = var_old_child;
9783 {
9784 { /* Inline kernel#Object#is_same_instance (var49,var_other) on <var49:nullable AExpr(AExpr)> */
9785 var55 = var49 == var_other;
9786 var53 = var55;
9787 goto RET_LABEL54;
9788 RET_LABEL54:(void)0;
9789 }
9790 }
9791 var51 = var53;
9792 goto RET_LABEL52;
9793 RET_LABEL52:(void)0;
9794 }
9795 var50 = var51;
9796 }
9797 if (var50){
9798 /* <var_new_child:nullable ANode> isa nullable AExpr */
9799 cltype57 = type_nullable__nitc__AExpr.color;
9800 idtype58 = type_nullable__nitc__AExpr.id;
9801 if(var_new_child == NULL) {
9802 var56 = 1;
9803 } else {
9804 if(cltype57 >= var_new_child->type->table_size) {
9805 var56 = 0;
9806 } else {
9807 var56 = var_new_child->type->type_table[cltype57] == idtype58;
9808 }
9809 }
9810 if (unlikely(!var56)) {
9811 var_class_name59 = var_new_child == NULL ? "null" : var_new_child->type->name;
9812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name59);
9813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2955);
9814 fatal_exit(1);
9815 }
9816 {
9817 nitc__parser_prod___AIfExpr___n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_else= on <self:AIfExpr>*/
9818 }
9819 goto RET_LABEL;
9820 } else {
9821 }
9822 RET_LABEL:;
9823 }
9824 /* method parser_prod#AIfExpr#n_kwif= for (self: AIfExpr, TKwif) */
9825 void nitc__parser_prod___AIfExpr___n_kwif_61d(val* self, val* p0) {
9826 val* var_node /* var node: TKwif */;
9827 var_node = p0;
9828 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfExpr> */
9829 {
9830 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwif> */
9831 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwif> */
9832 RET_LABEL1:(void)0;
9833 }
9834 }
9835 RET_LABEL:;
9836 }
9837 /* method parser_prod#AIfExpr#n_expr= for (self: AIfExpr, AExpr) */
9838 void nitc__parser_prod___AIfExpr___n_expr_61d(val* self, val* p0) {
9839 val* var_node /* var node: AExpr */;
9840 var_node = p0;
9841 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val = var_node; /* _n_expr on <self:AIfExpr> */
9842 {
9843 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9844 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
9845 RET_LABEL1:(void)0;
9846 }
9847 }
9848 RET_LABEL:;
9849 }
9850 /* method parser_prod#AIfExpr#n_kwthen= for (self: AIfExpr, TKwthen) */
9851 void nitc__parser_prod___AIfExpr___n_kwthen_61d(val* self, val* p0) {
9852 val* var_node /* var node: TKwthen */;
9853 var_node = p0;
9854 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfExpr> */
9855 {
9856 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwthen> */
9857 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwthen> */
9858 RET_LABEL1:(void)0;
9859 }
9860 }
9861 RET_LABEL:;
9862 }
9863 /* method parser_prod#AIfExpr#n_then= for (self: AIfExpr, nullable AExpr) */
9864 void nitc__parser_prod___AIfExpr___n_then_61d(val* self, val* p0) {
9865 val* var_node /* var node: nullable AExpr */;
9866 short int var /* : Bool */;
9867 short int var1 /* : Bool */;
9868 val* var_other /* var other: nullable Object */;
9869 short int var3 /* : Bool */;
9870 short int var4 /* : Bool */;
9871 var_node = p0;
9872 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val = var_node; /* _n_then on <self:AIfExpr> */
9873 if (var_node == NULL) {
9874 var = 0; /* is null */
9875 } else {
9876 var = 1; /* arg is null and recv is not */
9877 }
9878 if (0) {
9879 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
9880 var_other = ((val*)NULL);
9881 {
9882 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
9883 }
9884 var4 = !var3;
9885 var1 = var4;
9886 goto RET_LABEL2;
9887 RET_LABEL2:(void)0;
9888 }
9889 var = var1;
9890 }
9891 if (var){
9892 {
9893 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
9894 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
9895 RET_LABEL5:(void)0;
9896 }
9897 }
9898 } else {
9899 }
9900 RET_LABEL:;
9901 }
9902 /* method parser_prod#AIfExpr#n_kwelse= for (self: AIfExpr, nullable TKwelse) */
9903 void nitc__parser_prod___AIfExpr___n_kwelse_61d(val* self, val* p0) {
9904 val* var_node /* var node: nullable TKwelse */;
9905 short int var /* : Bool */;
9906 short int var1 /* : Bool */;
9907 val* var_other /* var other: nullable Object */;
9908 short int var3 /* : Bool */;
9909 short int var4 /* : Bool */;
9910 var_node = p0;
9911 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfExpr> */
9912 if (var_node == NULL) {
9913 var = 0; /* is null */
9914 } else {
9915 var = 1; /* arg is null and recv is not */
9916 }
9917 if (0) {
9918 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwelse> */
9919 var_other = ((val*)NULL);
9920 {
9921 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwelse(TKwelse)>*/
9922 }
9923 var4 = !var3;
9924 var1 = var4;
9925 goto RET_LABEL2;
9926 RET_LABEL2:(void)0;
9927 }
9928 var = var1;
9929 }
9930 if (var){
9931 {
9932 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwelse(TKwelse)> */
9933 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwelse(TKwelse)> */
9934 RET_LABEL5:(void)0;
9935 }
9936 }
9937 } else {
9938 }
9939 RET_LABEL:;
9940 }
9941 /* method parser_prod#AIfExpr#n_else= for (self: AIfExpr, nullable AExpr) */
9942 void nitc__parser_prod___AIfExpr___n_else_61d(val* self, val* p0) {
9943 val* var_node /* var node: nullable AExpr */;
9944 short int var /* : Bool */;
9945 short int var1 /* : Bool */;
9946 val* var_other /* var other: nullable Object */;
9947 short int var3 /* : Bool */;
9948 short int var4 /* : Bool */;
9949 var_node = p0;
9950 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val = var_node; /* _n_else on <self:AIfExpr> */
9951 if (var_node == NULL) {
9952 var = 0; /* is null */
9953 } else {
9954 var = 1; /* arg is null and recv is not */
9955 }
9956 if (0) {
9957 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
9958 var_other = ((val*)NULL);
9959 {
9960 var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
9961 }
9962 var4 = !var3;
9963 var1 = var4;
9964 goto RET_LABEL2;
9965 RET_LABEL2:(void)0;
9966 }
9967 var = var1;
9968 }
9969 if (var){
9970 {
9971 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
9972 var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
9973 RET_LABEL5:(void)0;
9974 }
9975 }
9976 } else {
9977 }
9978 RET_LABEL:;
9979 }