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