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