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