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