misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__parser_prod.sep.5.c
1 #include "nit__parser_prod.sep.0.h"
2 /* method parser_prod#ACastAsExternCall#replace_child for (self: ACastAsExternCall, ANode, nullable ANode) */
3 void nit__parser_prod___ACastAsExternCall___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
4 val* var_old_child /* var old_child: ANode */;
5 val* var_new_child /* var new_child: nullable ANode */;
6 val* var /* : AType */;
7 short int var1 /* : Bool */;
8 val* var_other /* var other: nullable Object */;
9 short int var3 /* : Bool */;
10 short int var5 /* : Bool */;
11 short int var6 /* : Bool */;
12 int cltype;
13 int idtype;
14 const char* var_class_name;
15 val* var7 /* : nullable TDot */;
16 short int var8 /* : Bool */;
17 short int var9 /* : Bool */;
18 short int var11 /* : Bool */;
19 short int var13 /* : Bool */;
20 short int var14 /* : Bool */;
21 int cltype15;
22 int idtype16;
23 const char* var_class_name17;
24 val* var18 /* : TKwas */;
25 short int var19 /* : Bool */;
26 short int var21 /* : Bool */;
27 short int var23 /* : Bool */;
28 short int var24 /* : Bool */;
29 int cltype25;
30 int idtype26;
31 const char* var_class_name27;
32 val* var28 /* : AType */;
33 short int var29 /* : Bool */;
34 short int var31 /* : Bool */;
35 short int var33 /* : Bool */;
36 short int var34 /* : Bool */;
37 int cltype35;
38 int idtype36;
39 const char* var_class_name37;
40 var_old_child = p0;
41 var_new_child = p1;
42 var = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_from_type].val; /* _n_from_type on <self:ACastAsExternCall> */
43 if (unlikely(var == NULL)) {
44 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_from_type");
45 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6592);
46 show_backtrace(1);
47 }
48 {
49 { /* Inline kernel#Object#== (var,var_old_child) on <var:AType> */
50 var_other = var_old_child;
51 {
52 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AType> */
53 var5 = var == var_other;
54 var3 = var5;
55 goto RET_LABEL4;
56 RET_LABEL4:(void)0;
57 }
58 }
59 var1 = var3;
60 goto RET_LABEL2;
61 RET_LABEL2:(void)0;
62 }
63 }
64 if (var1){
65 /* <var_new_child:nullable ANode> isa AType */
66 cltype = type_nit__AType.color;
67 idtype = type_nit__AType.id;
68 if(var_new_child == NULL) {
69 var6 = 0;
70 } else {
71 if(cltype >= var_new_child->type->table_size) {
72 var6 = 0;
73 } else {
74 var6 = var_new_child->type->type_table[cltype] == idtype;
75 }
76 }
77 if (unlikely(!var6)) {
78 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
79 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name);
80 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6593);
81 show_backtrace(1);
82 }
83 {
84 nit__parser_prod___ACastAsExternCall___n_from_type_61d(self, var_new_child); /* Direct call parser_prod#ACastAsExternCall#n_from_type= on <self:ACastAsExternCall>*/
85 }
86 goto RET_LABEL;
87 } else {
88 }
89 var7 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_dot].val; /* _n_dot on <self:ACastAsExternCall> */
90 if (var7 == NULL) {
91 var8 = 0; /* <var_old_child:ANode> cannot be null */
92 } else {
93 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable TDot> */
94 var_other = var_old_child;
95 {
96 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable TDot(TDot)> */
97 var13 = var7 == var_other;
98 var11 = var13;
99 goto RET_LABEL12;
100 RET_LABEL12:(void)0;
101 }
102 }
103 var9 = var11;
104 goto RET_LABEL10;
105 RET_LABEL10:(void)0;
106 }
107 var8 = var9;
108 }
109 if (var8){
110 /* <var_new_child:nullable ANode> isa nullable TDot */
111 cltype15 = type_nullable__nit__TDot.color;
112 idtype16 = type_nullable__nit__TDot.id;
113 if(var_new_child == NULL) {
114 var14 = 1;
115 } else {
116 if(cltype15 >= var_new_child->type->table_size) {
117 var14 = 0;
118 } else {
119 var14 = var_new_child->type->type_table[cltype15] == idtype16;
120 }
121 }
122 if (unlikely(!var14)) {
123 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
124 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TDot", var_class_name17);
125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6597);
126 show_backtrace(1);
127 }
128 {
129 nit__parser_prod___ACastAsExternCall___n_dot_61d(self, var_new_child); /* Direct call parser_prod#ACastAsExternCall#n_dot= on <self:ACastAsExternCall>*/
130 }
131 goto RET_LABEL;
132 } else {
133 }
134 var18 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_kwas].val; /* _n_kwas on <self:ACastAsExternCall> */
135 if (unlikely(var18 == NULL)) {
136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6600);
138 show_backtrace(1);
139 }
140 {
141 { /* Inline kernel#Object#== (var18,var_old_child) on <var18:TKwas> */
142 var_other = var_old_child;
143 {
144 { /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:TKwas> */
145 var23 = var18 == var_other;
146 var21 = var23;
147 goto RET_LABEL22;
148 RET_LABEL22:(void)0;
149 }
150 }
151 var19 = var21;
152 goto RET_LABEL20;
153 RET_LABEL20:(void)0;
154 }
155 }
156 if (var19){
157 /* <var_new_child:nullable ANode> isa TKwas */
158 cltype25 = type_nit__TKwas.color;
159 idtype26 = type_nit__TKwas.id;
160 if(var_new_child == NULL) {
161 var24 = 0;
162 } else {
163 if(cltype25 >= var_new_child->type->table_size) {
164 var24 = 0;
165 } else {
166 var24 = var_new_child->type->type_table[cltype25] == idtype26;
167 }
168 }
169 if (unlikely(!var24)) {
170 var_class_name27 = var_new_child == NULL ? "null" : var_new_child->type->name;
171 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwas", var_class_name27);
172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6601);
173 show_backtrace(1);
174 }
175 {
176 nit__parser_prod___ACastAsExternCall___n_kwas_61d(self, var_new_child); /* Direct call parser_prod#ACastAsExternCall#n_kwas= on <self:ACastAsExternCall>*/
177 }
178 goto RET_LABEL;
179 } else {
180 }
181 var28 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_to_type].val; /* _n_to_type on <self:ACastAsExternCall> */
182 if (unlikely(var28 == NULL)) {
183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_to_type");
184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6604);
185 show_backtrace(1);
186 }
187 {
188 { /* Inline kernel#Object#== (var28,var_old_child) on <var28:AType> */
189 var_other = var_old_child;
190 {
191 { /* Inline kernel#Object#is_same_instance (var28,var_other) on <var28:AType> */
192 var33 = var28 == var_other;
193 var31 = var33;
194 goto RET_LABEL32;
195 RET_LABEL32:(void)0;
196 }
197 }
198 var29 = var31;
199 goto RET_LABEL30;
200 RET_LABEL30:(void)0;
201 }
202 }
203 if (var29){
204 /* <var_new_child:nullable ANode> isa AType */
205 cltype35 = type_nit__AType.color;
206 idtype36 = type_nit__AType.id;
207 if(var_new_child == NULL) {
208 var34 = 0;
209 } else {
210 if(cltype35 >= var_new_child->type->table_size) {
211 var34 = 0;
212 } else {
213 var34 = var_new_child->type->type_table[cltype35] == idtype36;
214 }
215 }
216 if (unlikely(!var34)) {
217 var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
218 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name37);
219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6605);
220 show_backtrace(1);
221 }
222 {
223 nit__parser_prod___ACastAsExternCall___n_to_type_61d(self, var_new_child); /* Direct call parser_prod#ACastAsExternCall#n_to_type= on <self:ACastAsExternCall>*/
224 }
225 goto RET_LABEL;
226 } else {
227 }
228 RET_LABEL:;
229 }
230 /* method parser_prod#ACastAsExternCall#n_from_type= for (self: ACastAsExternCall, AType) */
231 void nit__parser_prod___ACastAsExternCall___n_from_type_61d(val* self, val* p0) {
232 val* var_node /* var node: AType */;
233 var_node = p0;
234 self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_from_type].val = var_node; /* _n_from_type on <self:ACastAsExternCall> */
235 {
236 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
237 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
238 RET_LABEL1:(void)0;
239 }
240 }
241 RET_LABEL:;
242 }
243 /* method parser_prod#ACastAsExternCall#n_dot= for (self: ACastAsExternCall, nullable TDot) */
244 void nit__parser_prod___ACastAsExternCall___n_dot_61d(val* self, val* p0) {
245 val* var_node /* var node: nullable TDot */;
246 val* var /* : null */;
247 short int var1 /* : Bool */;
248 short int var2 /* : Bool */;
249 val* var_other /* var other: nullable Object */;
250 short int var4 /* : Bool */;
251 short int var5 /* : Bool */;
252 var_node = p0;
253 self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_dot].val = var_node; /* _n_dot on <self:ACastAsExternCall> */
254 var = NULL;
255 if (var_node == NULL) {
256 var1 = 0; /* is null */
257 } else {
258 var1 = 1; /* arg is null and recv is not */
259 }
260 if (0) {
261 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TDot> */
262 var_other = var;
263 {
264 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TDot(TDot)>*/;
265 }
266 var5 = !var4;
267 var2 = var5;
268 goto RET_LABEL3;
269 RET_LABEL3:(void)0;
270 }
271 var1 = var2;
272 }
273 if (var1){
274 {
275 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TDot(TDot)> */
276 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TDot(TDot)> */
277 RET_LABEL6:(void)0;
278 }
279 }
280 } else {
281 }
282 RET_LABEL:;
283 }
284 /* method parser_prod#ACastAsExternCall#n_kwas= for (self: ACastAsExternCall, TKwas) */
285 void nit__parser_prod___ACastAsExternCall___n_kwas_61d(val* self, val* p0) {
286 val* var_node /* var node: TKwas */;
287 var_node = p0;
288 self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_kwas].val = var_node; /* _n_kwas on <self:ACastAsExternCall> */
289 {
290 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwas> */
291 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwas> */
292 RET_LABEL1:(void)0;
293 }
294 }
295 RET_LABEL:;
296 }
297 /* method parser_prod#ACastAsExternCall#n_to_type= for (self: ACastAsExternCall, AType) */
298 void nit__parser_prod___ACastAsExternCall___n_to_type_61d(val* self, val* p0) {
299 val* var_node /* var node: AType */;
300 var_node = p0;
301 self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_to_type].val = var_node; /* _n_to_type on <self:ACastAsExternCall> */
302 {
303 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
304 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
305 RET_LABEL1:(void)0;
306 }
307 }
308 RET_LABEL:;
309 }
310 /* method parser_prod#ACastAsExternCall#visit_all for (self: ACastAsExternCall, Visitor) */
311 void nit__parser_prod___ACastAsExternCall___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
312 val* var_v /* var v: Visitor */;
313 val* var /* : AType */;
314 val* var1 /* : nullable TDot */;
315 val* var2 /* : TKwas */;
316 val* var3 /* : AType */;
317 var_v = p0;
318 var = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_from_type].val; /* _n_from_type on <self:ACastAsExternCall> */
319 if (unlikely(var == NULL)) {
320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_from_type");
321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6634);
322 show_backtrace(1);
323 }
324 {
325 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
326 }
327 var1 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_dot].val; /* _n_dot on <self:ACastAsExternCall> */
328 {
329 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
330 }
331 var2 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_kwas].val; /* _n_kwas on <self:ACastAsExternCall> */
332 if (unlikely(var2 == NULL)) {
333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6636);
335 show_backtrace(1);
336 }
337 {
338 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
339 }
340 var3 = self->attrs[COLOR_nit__parser_nodes__ACastAsExternCall___n_to_type].val; /* _n_to_type on <self:ACastAsExternCall> */
341 if (unlikely(var3 == NULL)) {
342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_to_type");
343 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6637);
344 show_backtrace(1);
345 }
346 {
347 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
348 }
349 RET_LABEL:;
350 }
351 /* method parser_prod#AAsNullableExternCall#init_aasnullableexterncall for (self: AAsNullableExternCall, nullable AType, nullable TKwas, nullable TKwnullable) */
352 void nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(val* self, val* p0, val* p1, val* p2) {
353 val* var_n_type /* var n_type: nullable AType */;
354 val* var_n_kwas /* var n_kwas: nullable TKwas */;
355 val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */;
356 var_n_type = p0;
357 var_n_kwas = p1;
358 var_n_kwnullable = p2;
359 if (unlikely(var_n_type == NULL)) {
360 PRINT_ERROR("Runtime error: %s", "Cast failed");
361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6647);
362 show_backtrace(1);
363 }
364 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_type].val = var_n_type; /* _n_type on <self:AAsNullableExternCall> */
365 if (var_n_type == NULL) {
366 PRINT_ERROR("Runtime error: %s", "Receiver is null");
367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6648);
368 show_backtrace(1);
369 } else {
370 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
371 if (unlikely(var_n_type == NULL)) {
372 PRINT_ERROR("Runtime error: %s", "Receiver is null");
373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
374 show_backtrace(1);
375 }
376 var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
377 RET_LABEL1:(void)0;
378 }
379 }
380 if (unlikely(var_n_kwas == NULL)) {
381 PRINT_ERROR("Runtime error: %s", "Cast failed");
382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6649);
383 show_backtrace(1);
384 }
385 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNullableExternCall> */
386 if (var_n_kwas == NULL) {
387 PRINT_ERROR("Runtime error: %s", "Receiver is null");
388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6650);
389 show_backtrace(1);
390 } else {
391 { /* Inline parser_nodes#ANode#parent= (var_n_kwas,self) on <var_n_kwas:nullable TKwas> */
392 if (unlikely(var_n_kwas == NULL)) {
393 PRINT_ERROR("Runtime error: %s", "Receiver is null");
394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
395 show_backtrace(1);
396 }
397 var_n_kwas->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwas:nullable TKwas> */
398 RET_LABEL2:(void)0;
399 }
400 }
401 if (unlikely(var_n_kwnullable == NULL)) {
402 PRINT_ERROR("Runtime error: %s", "Cast failed");
403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6651);
404 show_backtrace(1);
405 }
406 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on <self:AAsNullableExternCall> */
407 if (var_n_kwnullable == NULL) {
408 PRINT_ERROR("Runtime error: %s", "Receiver is null");
409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6652);
410 show_backtrace(1);
411 } else {
412 { /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on <var_n_kwnullable:nullable TKwnullable> */
413 if (unlikely(var_n_kwnullable == NULL)) {
414 PRINT_ERROR("Runtime error: %s", "Receiver is null");
415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
416 show_backtrace(1);
417 }
418 var_n_kwnullable->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnullable:nullable TKwnullable> */
419 RET_LABEL3:(void)0;
420 }
421 }
422 RET_LABEL:;
423 }
424 /* method parser_prod#AAsNullableExternCall#replace_child for (self: AAsNullableExternCall, ANode, nullable ANode) */
425 void nit__parser_prod___AAsNullableExternCall___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
426 val* var_old_child /* var old_child: ANode */;
427 val* var_new_child /* var new_child: nullable ANode */;
428 val* var /* : AType */;
429 short int var1 /* : Bool */;
430 val* var_other /* var other: nullable Object */;
431 short int var3 /* : Bool */;
432 short int var5 /* : Bool */;
433 short int var6 /* : Bool */;
434 int cltype;
435 int idtype;
436 const char* var_class_name;
437 val* var7 /* : TKwas */;
438 short int var8 /* : Bool */;
439 short int var10 /* : Bool */;
440 short int var12 /* : Bool */;
441 short int var13 /* : Bool */;
442 int cltype14;
443 int idtype15;
444 const char* var_class_name16;
445 val* var17 /* : TKwnullable */;
446 short int var18 /* : Bool */;
447 short int var20 /* : Bool */;
448 short int var22 /* : Bool */;
449 short int var23 /* : Bool */;
450 int cltype24;
451 int idtype25;
452 const char* var_class_name26;
453 var_old_child = p0;
454 var_new_child = p1;
455 var = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_type].val; /* _n_type on <self:AAsNullableExternCall> */
456 if (unlikely(var == NULL)) {
457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6657);
459 show_backtrace(1);
460 }
461 {
462 { /* Inline kernel#Object#== (var,var_old_child) on <var:AType> */
463 var_other = var_old_child;
464 {
465 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AType> */
466 var5 = var == var_other;
467 var3 = var5;
468 goto RET_LABEL4;
469 RET_LABEL4:(void)0;
470 }
471 }
472 var1 = var3;
473 goto RET_LABEL2;
474 RET_LABEL2:(void)0;
475 }
476 }
477 if (var1){
478 /* <var_new_child:nullable ANode> isa AType */
479 cltype = type_nit__AType.color;
480 idtype = type_nit__AType.id;
481 if(var_new_child == NULL) {
482 var6 = 0;
483 } else {
484 if(cltype >= var_new_child->type->table_size) {
485 var6 = 0;
486 } else {
487 var6 = var_new_child->type->type_table[cltype] == idtype;
488 }
489 }
490 if (unlikely(!var6)) {
491 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
492 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name);
493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6658);
494 show_backtrace(1);
495 }
496 {
497 nit__parser_prod___AAsNullableExternCall___n_type_61d(self, var_new_child); /* Direct call parser_prod#AAsNullableExternCall#n_type= on <self:AAsNullableExternCall>*/
498 }
499 goto RET_LABEL;
500 } else {
501 }
502 var7 = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNullableExternCall> */
503 if (unlikely(var7 == NULL)) {
504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6661);
506 show_backtrace(1);
507 }
508 {
509 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwas> */
510 var_other = var_old_child;
511 {
512 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwas> */
513 var12 = var7 == var_other;
514 var10 = var12;
515 goto RET_LABEL11;
516 RET_LABEL11:(void)0;
517 }
518 }
519 var8 = var10;
520 goto RET_LABEL9;
521 RET_LABEL9:(void)0;
522 }
523 }
524 if (var8){
525 /* <var_new_child:nullable ANode> isa TKwas */
526 cltype14 = type_nit__TKwas.color;
527 idtype15 = type_nit__TKwas.id;
528 if(var_new_child == NULL) {
529 var13 = 0;
530 } else {
531 if(cltype14 >= var_new_child->type->table_size) {
532 var13 = 0;
533 } else {
534 var13 = var_new_child->type->type_table[cltype14] == idtype15;
535 }
536 }
537 if (unlikely(!var13)) {
538 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
539 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwas", var_class_name16);
540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6662);
541 show_backtrace(1);
542 }
543 {
544 nit__parser_prod___AAsNullableExternCall___n_kwas_61d(self, var_new_child); /* Direct call parser_prod#AAsNullableExternCall#n_kwas= on <self:AAsNullableExternCall>*/
545 }
546 goto RET_LABEL;
547 } else {
548 }
549 var17 = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNullableExternCall> */
550 if (unlikely(var17 == NULL)) {
551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnullable");
552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6665);
553 show_backtrace(1);
554 }
555 {
556 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwnullable> */
557 var_other = var_old_child;
558 {
559 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwnullable> */
560 var22 = var17 == var_other;
561 var20 = var22;
562 goto RET_LABEL21;
563 RET_LABEL21:(void)0;
564 }
565 }
566 var18 = var20;
567 goto RET_LABEL19;
568 RET_LABEL19:(void)0;
569 }
570 }
571 if (var18){
572 /* <var_new_child:nullable ANode> isa TKwnullable */
573 cltype24 = type_nit__TKwnullable.color;
574 idtype25 = type_nit__TKwnullable.id;
575 if(var_new_child == NULL) {
576 var23 = 0;
577 } else {
578 if(cltype24 >= var_new_child->type->table_size) {
579 var23 = 0;
580 } else {
581 var23 = var_new_child->type->type_table[cltype24] == idtype25;
582 }
583 }
584 if (unlikely(!var23)) {
585 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
586 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnullable", var_class_name26);
587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6666);
588 show_backtrace(1);
589 }
590 {
591 nit__parser_prod___AAsNullableExternCall___n_kwnullable_61d(self, var_new_child); /* Direct call parser_prod#AAsNullableExternCall#n_kwnullable= on <self:AAsNullableExternCall>*/
592 }
593 goto RET_LABEL;
594 } else {
595 }
596 RET_LABEL:;
597 }
598 /* method parser_prod#AAsNullableExternCall#n_type= for (self: AAsNullableExternCall, AType) */
599 void nit__parser_prod___AAsNullableExternCall___n_type_61d(val* self, val* p0) {
600 val* var_node /* var node: AType */;
601 var_node = p0;
602 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_type].val = var_node; /* _n_type on <self:AAsNullableExternCall> */
603 {
604 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
605 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
606 RET_LABEL1:(void)0;
607 }
608 }
609 RET_LABEL:;
610 }
611 /* method parser_prod#AAsNullableExternCall#n_kwas= for (self: AAsNullableExternCall, TKwas) */
612 void nit__parser_prod___AAsNullableExternCall___n_kwas_61d(val* self, val* p0) {
613 val* var_node /* var node: TKwas */;
614 var_node = p0;
615 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwas].val = var_node; /* _n_kwas on <self:AAsNullableExternCall> */
616 {
617 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwas> */
618 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwas> */
619 RET_LABEL1:(void)0;
620 }
621 }
622 RET_LABEL:;
623 }
624 /* method parser_prod#AAsNullableExternCall#n_kwnullable= for (self: AAsNullableExternCall, TKwnullable) */
625 void nit__parser_prod___AAsNullableExternCall___n_kwnullable_61d(val* self, val* p0) {
626 val* var_node /* var node: TKwnullable */;
627 var_node = p0;
628 self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwnullable].val = var_node; /* _n_kwnullable on <self:AAsNullableExternCall> */
629 {
630 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnullable> */
631 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnullable> */
632 RET_LABEL1:(void)0;
633 }
634 }
635 RET_LABEL:;
636 }
637 /* method parser_prod#AAsNullableExternCall#visit_all for (self: AAsNullableExternCall, Visitor) */
638 void nit__parser_prod___AAsNullableExternCall___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
639 val* var_v /* var v: Visitor */;
640 val* var /* : AType */;
641 val* var1 /* : TKwas */;
642 val* var2 /* : TKwnullable */;
643 var_v = p0;
644 var = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_type].val; /* _n_type on <self:AAsNullableExternCall> */
645 if (unlikely(var == NULL)) {
646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6690);
648 show_backtrace(1);
649 }
650 {
651 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
652 }
653 var1 = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNullableExternCall> */
654 if (unlikely(var1 == NULL)) {
655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
656 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6691);
657 show_backtrace(1);
658 }
659 {
660 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
661 }
662 var2 = self->attrs[COLOR_nit__parser_nodes__AAsNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNullableExternCall> */
663 if (unlikely(var2 == NULL)) {
664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnullable");
665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6692);
666 show_backtrace(1);
667 }
668 {
669 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
670 }
671 RET_LABEL:;
672 }
673 /* method parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall for (self: AAsNotNullableExternCall, nullable AType, nullable TKwas, nullable TKwnot, nullable TKwnullable) */
674 void nit__parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(val* self, val* p0, val* p1, val* p2, val* p3) {
675 val* var_n_type /* var n_type: nullable AType */;
676 val* var_n_kwas /* var n_kwas: nullable TKwas */;
677 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
678 val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */;
679 var_n_type = p0;
680 var_n_kwas = p1;
681 var_n_kwnot = p2;
682 var_n_kwnullable = p3;
683 if (unlikely(var_n_type == NULL)) {
684 PRINT_ERROR("Runtime error: %s", "Cast failed");
685 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6703);
686 show_backtrace(1);
687 }
688 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_type].val = var_n_type; /* _n_type on <self:AAsNotNullableExternCall> */
689 if (var_n_type == NULL) {
690 PRINT_ERROR("Runtime error: %s", "Receiver is null");
691 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6704);
692 show_backtrace(1);
693 } else {
694 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
695 if (unlikely(var_n_type == NULL)) {
696 PRINT_ERROR("Runtime error: %s", "Receiver is null");
697 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
698 show_backtrace(1);
699 }
700 var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
701 RET_LABEL1:(void)0;
702 }
703 }
704 if (unlikely(var_n_kwas == NULL)) {
705 PRINT_ERROR("Runtime error: %s", "Cast failed");
706 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6705);
707 show_backtrace(1);
708 }
709 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNotNullableExternCall> */
710 if (var_n_kwas == NULL) {
711 PRINT_ERROR("Runtime error: %s", "Receiver is null");
712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6706);
713 show_backtrace(1);
714 } else {
715 { /* Inline parser_nodes#ANode#parent= (var_n_kwas,self) on <var_n_kwas:nullable TKwas> */
716 if (unlikely(var_n_kwas == NULL)) {
717 PRINT_ERROR("Runtime error: %s", "Receiver is null");
718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
719 show_backtrace(1);
720 }
721 var_n_kwas->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwas:nullable TKwas> */
722 RET_LABEL2:(void)0;
723 }
724 }
725 if (unlikely(var_n_kwnot == NULL)) {
726 PRINT_ERROR("Runtime error: %s", "Cast failed");
727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6707);
728 show_backtrace(1);
729 }
730 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:AAsNotNullableExternCall> */
731 if (var_n_kwnot == NULL) {
732 PRINT_ERROR("Runtime error: %s", "Receiver is null");
733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6708);
734 show_backtrace(1);
735 } else {
736 { /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on <var_n_kwnot:nullable TKwnot> */
737 if (unlikely(var_n_kwnot == NULL)) {
738 PRINT_ERROR("Runtime error: %s", "Receiver is null");
739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
740 show_backtrace(1);
741 }
742 var_n_kwnot->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
743 RET_LABEL3:(void)0;
744 }
745 }
746 if (unlikely(var_n_kwnullable == NULL)) {
747 PRINT_ERROR("Runtime error: %s", "Cast failed");
748 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6709);
749 show_backtrace(1);
750 }
751 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
752 if (var_n_kwnullable == NULL) {
753 PRINT_ERROR("Runtime error: %s", "Receiver is null");
754 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6710);
755 show_backtrace(1);
756 } else {
757 { /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on <var_n_kwnullable:nullable TKwnullable> */
758 if (unlikely(var_n_kwnullable == NULL)) {
759 PRINT_ERROR("Runtime error: %s", "Receiver is null");
760 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
761 show_backtrace(1);
762 }
763 var_n_kwnullable->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnullable:nullable TKwnullable> */
764 RET_LABEL4:(void)0;
765 }
766 }
767 RET_LABEL:;
768 }
769 /* method parser_prod#AAsNotNullableExternCall#replace_child for (self: AAsNotNullableExternCall, ANode, nullable ANode) */
770 void nit__parser_prod___AAsNotNullableExternCall___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
771 val* var_old_child /* var old_child: ANode */;
772 val* var_new_child /* var new_child: nullable ANode */;
773 val* var /* : AType */;
774 short int var1 /* : Bool */;
775 val* var_other /* var other: nullable Object */;
776 short int var3 /* : Bool */;
777 short int var5 /* : Bool */;
778 short int var6 /* : Bool */;
779 int cltype;
780 int idtype;
781 const char* var_class_name;
782 val* var7 /* : TKwas */;
783 short int var8 /* : Bool */;
784 short int var10 /* : Bool */;
785 short int var12 /* : Bool */;
786 short int var13 /* : Bool */;
787 int cltype14;
788 int idtype15;
789 const char* var_class_name16;
790 val* var17 /* : TKwnot */;
791 short int var18 /* : Bool */;
792 short int var20 /* : Bool */;
793 short int var22 /* : Bool */;
794 short int var23 /* : Bool */;
795 int cltype24;
796 int idtype25;
797 const char* var_class_name26;
798 val* var27 /* : TKwnullable */;
799 short int var28 /* : Bool */;
800 short int var30 /* : Bool */;
801 short int var32 /* : Bool */;
802 short int var33 /* : Bool */;
803 int cltype34;
804 int idtype35;
805 const char* var_class_name36;
806 var_old_child = p0;
807 var_new_child = p1;
808 var = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_type].val; /* _n_type on <self:AAsNotNullableExternCall> */
809 if (unlikely(var == NULL)) {
810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6715);
812 show_backtrace(1);
813 }
814 {
815 { /* Inline kernel#Object#== (var,var_old_child) on <var:AType> */
816 var_other = var_old_child;
817 {
818 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AType> */
819 var5 = var == var_other;
820 var3 = var5;
821 goto RET_LABEL4;
822 RET_LABEL4:(void)0;
823 }
824 }
825 var1 = var3;
826 goto RET_LABEL2;
827 RET_LABEL2:(void)0;
828 }
829 }
830 if (var1){
831 /* <var_new_child:nullable ANode> isa AType */
832 cltype = type_nit__AType.color;
833 idtype = type_nit__AType.id;
834 if(var_new_child == NULL) {
835 var6 = 0;
836 } else {
837 if(cltype >= var_new_child->type->table_size) {
838 var6 = 0;
839 } else {
840 var6 = var_new_child->type->type_table[cltype] == idtype;
841 }
842 }
843 if (unlikely(!var6)) {
844 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
845 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name);
846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6716);
847 show_backtrace(1);
848 }
849 {
850 nit__parser_prod___AAsNotNullableExternCall___n_type_61d(self, var_new_child); /* Direct call parser_prod#AAsNotNullableExternCall#n_type= on <self:AAsNotNullableExternCall>*/
851 }
852 goto RET_LABEL;
853 } else {
854 }
855 var7 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNotNullableExternCall> */
856 if (unlikely(var7 == NULL)) {
857 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
858 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6719);
859 show_backtrace(1);
860 }
861 {
862 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwas> */
863 var_other = var_old_child;
864 {
865 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwas> */
866 var12 = var7 == var_other;
867 var10 = var12;
868 goto RET_LABEL11;
869 RET_LABEL11:(void)0;
870 }
871 }
872 var8 = var10;
873 goto RET_LABEL9;
874 RET_LABEL9:(void)0;
875 }
876 }
877 if (var8){
878 /* <var_new_child:nullable ANode> isa TKwas */
879 cltype14 = type_nit__TKwas.color;
880 idtype15 = type_nit__TKwas.id;
881 if(var_new_child == NULL) {
882 var13 = 0;
883 } else {
884 if(cltype14 >= var_new_child->type->table_size) {
885 var13 = 0;
886 } else {
887 var13 = var_new_child->type->type_table[cltype14] == idtype15;
888 }
889 }
890 if (unlikely(!var13)) {
891 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
892 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwas", var_class_name16);
893 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6720);
894 show_backtrace(1);
895 }
896 {
897 nit__parser_prod___AAsNotNullableExternCall___n_kwas_61d(self, var_new_child); /* Direct call parser_prod#AAsNotNullableExternCall#n_kwas= on <self:AAsNotNullableExternCall>*/
898 }
899 goto RET_LABEL;
900 } else {
901 }
902 var17 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnot].val; /* _n_kwnot on <self:AAsNotNullableExternCall> */
903 if (unlikely(var17 == NULL)) {
904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
905 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6723);
906 show_backtrace(1);
907 }
908 {
909 { /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwnot> */
910 var_other = var_old_child;
911 {
912 { /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwnot> */
913 var22 = var17 == var_other;
914 var20 = var22;
915 goto RET_LABEL21;
916 RET_LABEL21:(void)0;
917 }
918 }
919 var18 = var20;
920 goto RET_LABEL19;
921 RET_LABEL19:(void)0;
922 }
923 }
924 if (var18){
925 /* <var_new_child:nullable ANode> isa TKwnot */
926 cltype24 = type_nit__TKwnot.color;
927 idtype25 = type_nit__TKwnot.id;
928 if(var_new_child == NULL) {
929 var23 = 0;
930 } else {
931 if(cltype24 >= var_new_child->type->table_size) {
932 var23 = 0;
933 } else {
934 var23 = var_new_child->type->type_table[cltype24] == idtype25;
935 }
936 }
937 if (unlikely(!var23)) {
938 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
939 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name26);
940 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6724);
941 show_backtrace(1);
942 }
943 {
944 nit__parser_prod___AAsNotNullableExternCall___n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#AAsNotNullableExternCall#n_kwnot= on <self:AAsNotNullableExternCall>*/
945 }
946 goto RET_LABEL;
947 } else {
948 }
949 var27 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
950 if (unlikely(var27 == NULL)) {
951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnullable");
952 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6727);
953 show_backtrace(1);
954 }
955 {
956 { /* Inline kernel#Object#== (var27,var_old_child) on <var27:TKwnullable> */
957 var_other = var_old_child;
958 {
959 { /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:TKwnullable> */
960 var32 = var27 == var_other;
961 var30 = var32;
962 goto RET_LABEL31;
963 RET_LABEL31:(void)0;
964 }
965 }
966 var28 = var30;
967 goto RET_LABEL29;
968 RET_LABEL29:(void)0;
969 }
970 }
971 if (var28){
972 /* <var_new_child:nullable ANode> isa TKwnullable */
973 cltype34 = type_nit__TKwnullable.color;
974 idtype35 = type_nit__TKwnullable.id;
975 if(var_new_child == NULL) {
976 var33 = 0;
977 } else {
978 if(cltype34 >= var_new_child->type->table_size) {
979 var33 = 0;
980 } else {
981 var33 = var_new_child->type->type_table[cltype34] == idtype35;
982 }
983 }
984 if (unlikely(!var33)) {
985 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
986 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnullable", var_class_name36);
987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6728);
988 show_backtrace(1);
989 }
990 {
991 nit__parser_prod___AAsNotNullableExternCall___n_kwnullable_61d(self, var_new_child); /* Direct call parser_prod#AAsNotNullableExternCall#n_kwnullable= on <self:AAsNotNullableExternCall>*/
992 }
993 goto RET_LABEL;
994 } else {
995 }
996 RET_LABEL:;
997 }
998 /* method parser_prod#AAsNotNullableExternCall#n_type= for (self: AAsNotNullableExternCall, AType) */
999 void nit__parser_prod___AAsNotNullableExternCall___n_type_61d(val* self, val* p0) {
1000 val* var_node /* var node: AType */;
1001 var_node = p0;
1002 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_type].val = var_node; /* _n_type on <self:AAsNotNullableExternCall> */
1003 {
1004 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
1005 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
1006 RET_LABEL1:(void)0;
1007 }
1008 }
1009 RET_LABEL:;
1010 }
1011 /* method parser_prod#AAsNotNullableExternCall#n_kwas= for (self: AAsNotNullableExternCall, TKwas) */
1012 void nit__parser_prod___AAsNotNullableExternCall___n_kwas_61d(val* self, val* p0) {
1013 val* var_node /* var node: TKwas */;
1014 var_node = p0;
1015 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwas].val = var_node; /* _n_kwas on <self:AAsNotNullableExternCall> */
1016 {
1017 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwas> */
1018 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwas> */
1019 RET_LABEL1:(void)0;
1020 }
1021 }
1022 RET_LABEL:;
1023 }
1024 /* method parser_prod#AAsNotNullableExternCall#n_kwnot= for (self: AAsNotNullableExternCall, TKwnot) */
1025 void nit__parser_prod___AAsNotNullableExternCall___n_kwnot_61d(val* self, val* p0) {
1026 val* var_node /* var node: TKwnot */;
1027 var_node = p0;
1028 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnot].val = var_node; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1029 {
1030 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
1031 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
1032 RET_LABEL1:(void)0;
1033 }
1034 }
1035 RET_LABEL:;
1036 }
1037 /* method parser_prod#AAsNotNullableExternCall#n_kwnullable= for (self: AAsNotNullableExternCall, TKwnullable) */
1038 void nit__parser_prod___AAsNotNullableExternCall___n_kwnullable_61d(val* self, val* p0) {
1039 val* var_node /* var node: TKwnullable */;
1040 var_node = p0;
1041 self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnullable].val = var_node; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1042 {
1043 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnullable> */
1044 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnullable> */
1045 RET_LABEL1:(void)0;
1046 }
1047 }
1048 RET_LABEL:;
1049 }
1050 /* method parser_prod#AAsNotNullableExternCall#visit_all for (self: AAsNotNullableExternCall, Visitor) */
1051 void nit__parser_prod___AAsNotNullableExternCall___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1052 val* var_v /* var v: Visitor */;
1053 val* var /* : AType */;
1054 val* var1 /* : TKwas */;
1055 val* var2 /* : TKwnot */;
1056 val* var3 /* : TKwnullable */;
1057 var_v = p0;
1058 var = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_type].val; /* _n_type on <self:AAsNotNullableExternCall> */
1059 if (unlikely(var == NULL)) {
1060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
1061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6757);
1062 show_backtrace(1);
1063 }
1064 {
1065 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1066 }
1067 var1 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNotNullableExternCall> */
1068 if (unlikely(var1 == NULL)) {
1069 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas");
1070 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6758);
1071 show_backtrace(1);
1072 }
1073 {
1074 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1075 }
1076 var2 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnot].val; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1077 if (unlikely(var2 == NULL)) {
1078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
1079 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6759);
1080 show_backtrace(1);
1081 }
1082 {
1083 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1084 }
1085 var3 = self->attrs[COLOR_nit__parser_nodes__AAsNotNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1086 if (unlikely(var3 == NULL)) {
1087 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnullable");
1088 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6760);
1089 show_backtrace(1);
1090 }
1091 {
1092 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1093 }
1094 RET_LABEL:;
1095 }
1096 /* method parser_prod#AInLanguage#init_ainlanguage for (self: AInLanguage, nullable TKwin, nullable TString) */
1097 void nit__parser_prod___AInLanguage___init_ainlanguage(val* self, val* p0, val* p1) {
1098 val* var_n_kwin /* var n_kwin: nullable TKwin */;
1099 val* var_n_string /* var n_string: nullable TString */;
1100 var_n_kwin = p0;
1101 var_n_string = p1;
1102 if (unlikely(var_n_kwin == NULL)) {
1103 PRINT_ERROR("Runtime error: %s", "Cast failed");
1104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6769);
1105 show_backtrace(1);
1106 }
1107 self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_kwin].val = var_n_kwin; /* _n_kwin on <self:AInLanguage> */
1108 if (var_n_kwin == NULL) {
1109 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6770);
1111 show_backtrace(1);
1112 } else {
1113 { /* Inline parser_nodes#ANode#parent= (var_n_kwin,self) on <var_n_kwin:nullable TKwin> */
1114 if (unlikely(var_n_kwin == NULL)) {
1115 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1116 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1117 show_backtrace(1);
1118 }
1119 var_n_kwin->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwin:nullable TKwin> */
1120 RET_LABEL1:(void)0;
1121 }
1122 }
1123 if (unlikely(var_n_string == NULL)) {
1124 PRINT_ERROR("Runtime error: %s", "Cast failed");
1125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6771);
1126 show_backtrace(1);
1127 }
1128 self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_string].val = var_n_string; /* _n_string on <self:AInLanguage> */
1129 if (var_n_string == NULL) {
1130 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1131 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6772);
1132 show_backtrace(1);
1133 } else {
1134 { /* Inline parser_nodes#ANode#parent= (var_n_string,self) on <var_n_string:nullable TString> */
1135 if (unlikely(var_n_string == NULL)) {
1136 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1138 show_backtrace(1);
1139 }
1140 var_n_string->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_string:nullable TString> */
1141 RET_LABEL2:(void)0;
1142 }
1143 }
1144 RET_LABEL:;
1145 }
1146 /* method parser_prod#AInLanguage#replace_child for (self: AInLanguage, ANode, nullable ANode) */
1147 void nit__parser_prod___AInLanguage___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1148 val* var_old_child /* var old_child: ANode */;
1149 val* var_new_child /* var new_child: nullable ANode */;
1150 val* var /* : TKwin */;
1151 short int var1 /* : Bool */;
1152 val* var_other /* var other: nullable Object */;
1153 short int var3 /* : Bool */;
1154 short int var5 /* : Bool */;
1155 short int var6 /* : Bool */;
1156 int cltype;
1157 int idtype;
1158 const char* var_class_name;
1159 val* var7 /* : TString */;
1160 short int var8 /* : Bool */;
1161 short int var10 /* : Bool */;
1162 short int var12 /* : Bool */;
1163 short int var13 /* : Bool */;
1164 int cltype14;
1165 int idtype15;
1166 const char* var_class_name16;
1167 var_old_child = p0;
1168 var_new_child = p1;
1169 var = self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_kwin].val; /* _n_kwin on <self:AInLanguage> */
1170 if (unlikely(var == NULL)) {
1171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
1172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6777);
1173 show_backtrace(1);
1174 }
1175 {
1176 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwin> */
1177 var_other = var_old_child;
1178 {
1179 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwin> */
1180 var5 = var == var_other;
1181 var3 = var5;
1182 goto RET_LABEL4;
1183 RET_LABEL4:(void)0;
1184 }
1185 }
1186 var1 = var3;
1187 goto RET_LABEL2;
1188 RET_LABEL2:(void)0;
1189 }
1190 }
1191 if (var1){
1192 /* <var_new_child:nullable ANode> isa TKwin */
1193 cltype = type_nit__TKwin.color;
1194 idtype = type_nit__TKwin.id;
1195 if(var_new_child == NULL) {
1196 var6 = 0;
1197 } else {
1198 if(cltype >= var_new_child->type->table_size) {
1199 var6 = 0;
1200 } else {
1201 var6 = var_new_child->type->type_table[cltype] == idtype;
1202 }
1203 }
1204 if (unlikely(!var6)) {
1205 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1206 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwin", var_class_name);
1207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6778);
1208 show_backtrace(1);
1209 }
1210 {
1211 nit__parser_prod___AInLanguage___n_kwin_61d(self, var_new_child); /* Direct call parser_prod#AInLanguage#n_kwin= on <self:AInLanguage>*/
1212 }
1213 goto RET_LABEL;
1214 } else {
1215 }
1216 var7 = self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_string].val; /* _n_string on <self:AInLanguage> */
1217 if (unlikely(var7 == NULL)) {
1218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
1219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6781);
1220 show_backtrace(1);
1221 }
1222 {
1223 { /* Inline kernel#Object#== (var7,var_old_child) on <var7:TString> */
1224 var_other = var_old_child;
1225 {
1226 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TString> */
1227 var12 = var7 == var_other;
1228 var10 = var12;
1229 goto RET_LABEL11;
1230 RET_LABEL11:(void)0;
1231 }
1232 }
1233 var8 = var10;
1234 goto RET_LABEL9;
1235 RET_LABEL9:(void)0;
1236 }
1237 }
1238 if (var8){
1239 /* <var_new_child:nullable ANode> isa TString */
1240 cltype14 = type_nit__TString.color;
1241 idtype15 = type_nit__TString.id;
1242 if(var_new_child == NULL) {
1243 var13 = 0;
1244 } else {
1245 if(cltype14 >= var_new_child->type->table_size) {
1246 var13 = 0;
1247 } else {
1248 var13 = var_new_child->type->type_table[cltype14] == idtype15;
1249 }
1250 }
1251 if (unlikely(!var13)) {
1252 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
1253 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TString", var_class_name16);
1254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6782);
1255 show_backtrace(1);
1256 }
1257 {
1258 nit__parser_prod___AInLanguage___n_string_61d(self, var_new_child); /* Direct call parser_prod#AInLanguage#n_string= on <self:AInLanguage>*/
1259 }
1260 goto RET_LABEL;
1261 } else {
1262 }
1263 RET_LABEL:;
1264 }
1265 /* method parser_prod#AInLanguage#n_kwin= for (self: AInLanguage, TKwin) */
1266 void nit__parser_prod___AInLanguage___n_kwin_61d(val* self, val* p0) {
1267 val* var_node /* var node: TKwin */;
1268 var_node = p0;
1269 self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_kwin].val = var_node; /* _n_kwin on <self:AInLanguage> */
1270 {
1271 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwin> */
1272 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwin> */
1273 RET_LABEL1:(void)0;
1274 }
1275 }
1276 RET_LABEL:;
1277 }
1278 /* method parser_prod#AInLanguage#n_string= for (self: AInLanguage, TString) */
1279 void nit__parser_prod___AInLanguage___n_string_61d(val* self, val* p0) {
1280 val* var_node /* var node: TString */;
1281 var_node = p0;
1282 self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_string].val = var_node; /* _n_string on <self:AInLanguage> */
1283 {
1284 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TString> */
1285 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TString> */
1286 RET_LABEL1:(void)0;
1287 }
1288 }
1289 RET_LABEL:;
1290 }
1291 /* method parser_prod#AInLanguage#visit_all for (self: AInLanguage, Visitor) */
1292 void nit__parser_prod___AInLanguage___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1293 val* var_v /* var v: Visitor */;
1294 val* var /* : TKwin */;
1295 val* var1 /* : TString */;
1296 var_v = p0;
1297 var = self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_kwin].val; /* _n_kwin on <self:AInLanguage> */
1298 if (unlikely(var == NULL)) {
1299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
1300 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6801);
1301 show_backtrace(1);
1302 }
1303 {
1304 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1305 }
1306 var1 = self->attrs[COLOR_nit__parser_nodes__AInLanguage___n_string].val; /* _n_string on <self:AInLanguage> */
1307 if (unlikely(var1 == NULL)) {
1308 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
1309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6802);
1310 show_backtrace(1);
1311 }
1312 {
1313 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1314 }
1315 RET_LABEL:;
1316 }
1317 /* method parser_prod#AExternCodeBlock#init_aexterncodeblock for (self: AExternCodeBlock, nullable AInLanguage, nullable TExternCodeSegment) */
1318 void nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(val* self, val* p0, val* p1) {
1319 val* var_n_in_language /* var n_in_language: nullable AInLanguage */;
1320 val* var_n_extern_code_segment /* var n_extern_code_segment: nullable TExternCodeSegment */;
1321 val* var /* : null */;
1322 short int var1 /* : Bool */;
1323 short int var2 /* : Bool */;
1324 val* var_other /* var other: nullable Object */;
1325 short int var4 /* : Bool */;
1326 short int var5 /* : Bool */;
1327 var_n_in_language = p0;
1328 var_n_extern_code_segment = p1;
1329 self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_in_language].val = var_n_in_language; /* _n_in_language on <self:AExternCodeBlock> */
1330 var = NULL;
1331 if (var_n_in_language == NULL) {
1332 var1 = 0; /* is null */
1333 } else {
1334 var1 = 1; /* arg is null and recv is not */
1335 }
1336 if (0) {
1337 { /* Inline kernel#Object#!= (var_n_in_language,var) on <var_n_in_language:nullable AInLanguage> */
1338 var_other = var;
1339 {
1340 var4 = ((short int (*)(val* self, val* p0))(var_n_in_language->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_in_language, var_other) /* == on <var_n_in_language:nullable AInLanguage(AInLanguage)>*/;
1341 }
1342 var5 = !var4;
1343 var2 = var5;
1344 goto RET_LABEL3;
1345 RET_LABEL3:(void)0;
1346 }
1347 var1 = var2;
1348 }
1349 if (var1){
1350 {
1351 { /* Inline parser_nodes#ANode#parent= (var_n_in_language,self) on <var_n_in_language:nullable AInLanguage(AInLanguage)> */
1352 var_n_in_language->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_in_language:nullable AInLanguage(AInLanguage)> */
1353 RET_LABEL6:(void)0;
1354 }
1355 }
1356 } else {
1357 }
1358 if (unlikely(var_n_extern_code_segment == NULL)) {
1359 PRINT_ERROR("Runtime error: %s", "Cast failed");
1360 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6813);
1361 show_backtrace(1);
1362 }
1363 self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_extern_code_segment].val = var_n_extern_code_segment; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1364 if (var_n_extern_code_segment == NULL) {
1365 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1366 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6814);
1367 show_backtrace(1);
1368 } else {
1369 { /* Inline parser_nodes#ANode#parent= (var_n_extern_code_segment,self) on <var_n_extern_code_segment:nullable TExternCodeSegment> */
1370 if (unlikely(var_n_extern_code_segment == NULL)) {
1371 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
1373 show_backtrace(1);
1374 }
1375 var_n_extern_code_segment->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_extern_code_segment:nullable TExternCodeSegment> */
1376 RET_LABEL7:(void)0;
1377 }
1378 }
1379 RET_LABEL:;
1380 }
1381 /* method parser_prod#AExternCodeBlock#replace_child for (self: AExternCodeBlock, ANode, nullable ANode) */
1382 void nit__parser_prod___AExternCodeBlock___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1383 val* var_old_child /* var old_child: ANode */;
1384 val* var_new_child /* var new_child: nullable ANode */;
1385 val* var /* : nullable AInLanguage */;
1386 short int var1 /* : Bool */;
1387 short int var2 /* : Bool */;
1388 val* var_other /* var other: nullable Object */;
1389 short int var4 /* : Bool */;
1390 short int var6 /* : Bool */;
1391 short int var7 /* : Bool */;
1392 int cltype;
1393 int idtype;
1394 const char* var_class_name;
1395 val* var8 /* : TExternCodeSegment */;
1396 short int var9 /* : Bool */;
1397 short int var11 /* : Bool */;
1398 short int var13 /* : Bool */;
1399 short int var14 /* : Bool */;
1400 int cltype15;
1401 int idtype16;
1402 const char* var_class_name17;
1403 var_old_child = p0;
1404 var_new_child = p1;
1405 var = self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_in_language].val; /* _n_in_language on <self:AExternCodeBlock> */
1406 if (var == NULL) {
1407 var1 = 0; /* <var_old_child:ANode> cannot be null */
1408 } else {
1409 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable AInLanguage> */
1410 var_other = var_old_child;
1411 {
1412 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AInLanguage(AInLanguage)> */
1413 var6 = var == var_other;
1414 var4 = var6;
1415 goto RET_LABEL5;
1416 RET_LABEL5:(void)0;
1417 }
1418 }
1419 var2 = var4;
1420 goto RET_LABEL3;
1421 RET_LABEL3:(void)0;
1422 }
1423 var1 = var2;
1424 }
1425 if (var1){
1426 /* <var_new_child:nullable ANode> isa nullable AInLanguage */
1427 cltype = type_nullable__nit__AInLanguage.color;
1428 idtype = type_nullable__nit__AInLanguage.id;
1429 if(var_new_child == NULL) {
1430 var7 = 1;
1431 } else {
1432 if(cltype >= var_new_child->type->table_size) {
1433 var7 = 0;
1434 } else {
1435 var7 = var_new_child->type->type_table[cltype] == idtype;
1436 }
1437 }
1438 if (unlikely(!var7)) {
1439 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1440 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AInLanguage", var_class_name);
1441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6820);
1442 show_backtrace(1);
1443 }
1444 {
1445 nit__parser_prod___AExternCodeBlock___n_in_language_61d(self, var_new_child); /* Direct call parser_prod#AExternCodeBlock#n_in_language= on <self:AExternCodeBlock>*/
1446 }
1447 goto RET_LABEL;
1448 } else {
1449 }
1450 var8 = self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_extern_code_segment].val; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1451 if (unlikely(var8 == NULL)) {
1452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_segment");
1453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6823);
1454 show_backtrace(1);
1455 }
1456 {
1457 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TExternCodeSegment> */
1458 var_other = var_old_child;
1459 {
1460 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TExternCodeSegment> */
1461 var13 = var8 == var_other;
1462 var11 = var13;
1463 goto RET_LABEL12;
1464 RET_LABEL12:(void)0;
1465 }
1466 }
1467 var9 = var11;
1468 goto RET_LABEL10;
1469 RET_LABEL10:(void)0;
1470 }
1471 }
1472 if (var9){
1473 /* <var_new_child:nullable ANode> isa TExternCodeSegment */
1474 cltype15 = type_nit__TExternCodeSegment.color;
1475 idtype16 = type_nit__TExternCodeSegment.id;
1476 if(var_new_child == NULL) {
1477 var14 = 0;
1478 } else {
1479 if(cltype15 >= var_new_child->type->table_size) {
1480 var14 = 0;
1481 } else {
1482 var14 = var_new_child->type->type_table[cltype15] == idtype16;
1483 }
1484 }
1485 if (unlikely(!var14)) {
1486 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
1487 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TExternCodeSegment", var_class_name17);
1488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6824);
1489 show_backtrace(1);
1490 }
1491 {
1492 nit__parser_prod___AExternCodeBlock___n_extern_code_segment_61d(self, var_new_child); /* Direct call parser_prod#AExternCodeBlock#n_extern_code_segment= on <self:AExternCodeBlock>*/
1493 }
1494 goto RET_LABEL;
1495 } else {
1496 }
1497 RET_LABEL:;
1498 }
1499 /* method parser_prod#AExternCodeBlock#n_in_language= for (self: AExternCodeBlock, nullable AInLanguage) */
1500 void nit__parser_prod___AExternCodeBlock___n_in_language_61d(val* self, val* p0) {
1501 val* var_node /* var node: nullable AInLanguage */;
1502 val* var /* : null */;
1503 short int var1 /* : Bool */;
1504 short int var2 /* : Bool */;
1505 val* var_other /* var other: nullable Object */;
1506 short int var4 /* : Bool */;
1507 short int var5 /* : Bool */;
1508 var_node = p0;
1509 self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_in_language].val = var_node; /* _n_in_language on <self:AExternCodeBlock> */
1510 var = NULL;
1511 if (var_node == NULL) {
1512 var1 = 0; /* is null */
1513 } else {
1514 var1 = 1; /* arg is null and recv is not */
1515 }
1516 if (0) {
1517 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AInLanguage> */
1518 var_other = var;
1519 {
1520 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AInLanguage(AInLanguage)>*/;
1521 }
1522 var5 = !var4;
1523 var2 = var5;
1524 goto RET_LABEL3;
1525 RET_LABEL3:(void)0;
1526 }
1527 var1 = var2;
1528 }
1529 if (var1){
1530 {
1531 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AInLanguage(AInLanguage)> */
1532 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AInLanguage(AInLanguage)> */
1533 RET_LABEL6:(void)0;
1534 }
1535 }
1536 } else {
1537 }
1538 RET_LABEL:;
1539 }
1540 /* method parser_prod#AExternCodeBlock#n_extern_code_segment= for (self: AExternCodeBlock, TExternCodeSegment) */
1541 void nit__parser_prod___AExternCodeBlock___n_extern_code_segment_61d(val* self, val* p0) {
1542 val* var_node /* var node: TExternCodeSegment */;
1543 var_node = p0;
1544 self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_extern_code_segment].val = var_node; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1545 {
1546 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TExternCodeSegment> */
1547 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TExternCodeSegment> */
1548 RET_LABEL1:(void)0;
1549 }
1550 }
1551 RET_LABEL:;
1552 }
1553 /* method parser_prod#AExternCodeBlock#visit_all for (self: AExternCodeBlock, Visitor) */
1554 void nit__parser_prod___AExternCodeBlock___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1555 val* var_v /* var v: Visitor */;
1556 val* var /* : nullable AInLanguage */;
1557 val* var1 /* : TExternCodeSegment */;
1558 var_v = p0;
1559 var = self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_in_language].val; /* _n_in_language on <self:AExternCodeBlock> */
1560 {
1561 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1562 }
1563 var1 = self->attrs[COLOR_nit__parser_nodes__AExternCodeBlock___n_extern_code_segment].val; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1564 if (unlikely(var1 == NULL)) {
1565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_segment");
1566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6844);
1567 show_backtrace(1);
1568 }
1569 {
1570 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1571 }
1572 RET_LABEL:;
1573 }
1574 /* method parser_prod#AQualified#init_aqualified for (self: AQualified, Collection[Object], nullable TClassid) */
1575 void nit__parser_prod___AQualified___init_aqualified(val* self, val* p0, val* p1) {
1576 val* var_n_id /* var n_id: Collection[Object] */;
1577 val* var_n_classid /* var n_classid: nullable TClassid */;
1578 val* var /* : ANodes[TId] */;
1579 val* var2 /* : ANodes[TId] */;
1580 val* var3 /* : null */;
1581 short int var4 /* : Bool */;
1582 short int var5 /* : Bool */;
1583 val* var_other /* var other: nullable Object */;
1584 short int var7 /* : Bool */;
1585 short int var8 /* : Bool */;
1586 var_n_id = p0;
1587 var_n_classid = p1;
1588 {
1589 { /* Inline parser_nodes#AQualified#n_id (self) on <self:AQualified> */
1590 var2 = self->attrs[COLOR_nit__parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
1591 if (unlikely(var2 == NULL)) {
1592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2503);
1594 show_backtrace(1);
1595 }
1596 var = var2;
1597 RET_LABEL1:(void)0;
1598 }
1599 }
1600 {
1601 nit___nit__ANodes___unsafe_add_all(var, var_n_id); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TId]>*/
1602 }
1603 self->attrs[COLOR_nit__parser_nodes__AQualified___n_classid].val = var_n_classid; /* _n_classid on <self:AQualified> */
1604 var3 = NULL;
1605 if (var_n_classid == NULL) {
1606 var4 = 0; /* is null */
1607 } else {
1608 var4 = 1; /* arg is null and recv is not */
1609 }
1610 if (0) {
1611 { /* Inline kernel#Object#!= (var_n_classid,var3) on <var_n_classid:nullable TClassid> */
1612 var_other = var3;
1613 {
1614 var7 = ((short int (*)(val* self, val* p0))(var_n_classid->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_classid, var_other) /* == on <var_n_classid:nullable TClassid(TClassid)>*/;
1615 }
1616 var8 = !var7;
1617 var5 = var8;
1618 goto RET_LABEL6;
1619 RET_LABEL6:(void)0;
1620 }
1621 var4 = var5;
1622 }
1623 if (var4){
1624 {
1625 { /* Inline parser_nodes#ANode#parent= (var_n_classid,self) on <var_n_classid:nullable TClassid(TClassid)> */
1626 var_n_classid->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_classid:nullable TClassid(TClassid)> */
1627 RET_LABEL9:(void)0;
1628 }
1629 }
1630 } else {
1631 }
1632 RET_LABEL:;
1633 }
1634 /* method parser_prod#AQualified#replace_child for (self: AQualified, ANode, nullable ANode) */
1635 void nit__parser_prod___AQualified___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1636 val* var_old_child /* var old_child: ANode */;
1637 val* var_new_child /* var new_child: nullable ANode */;
1638 val* var /* : ANodes[TId] */;
1639 val* var2 /* : ANodes[TId] */;
1640 short int var3 /* : Bool */;
1641 val* var4 /* : nullable TClassid */;
1642 short int var5 /* : Bool */;
1643 short int var6 /* : Bool */;
1644 val* var_other /* var other: nullable Object */;
1645 short int var8 /* : Bool */;
1646 short int var10 /* : Bool */;
1647 short int var11 /* : Bool */;
1648 int cltype;
1649 int idtype;
1650 const char* var_class_name;
1651 var_old_child = p0;
1652 var_new_child = p1;
1653 {
1654 { /* Inline parser_nodes#AQualified#n_id (self) on <self:AQualified> */
1655 var2 = self->attrs[COLOR_nit__parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
1656 if (unlikely(var2 == NULL)) {
1657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1658 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2503);
1659 show_backtrace(1);
1660 }
1661 var = var2;
1662 RET_LABEL1:(void)0;
1663 }
1664 }
1665 {
1666 var3 = nit___nit__ANodes___replace_child(var, var_old_child, var_new_child);
1667 }
1668 if (var3){
1669 goto RET_LABEL;
1670 } else {
1671 }
1672 var4 = self->attrs[COLOR_nit__parser_nodes__AQualified___n_classid].val; /* _n_classid on <self:AQualified> */
1673 if (var4 == NULL) {
1674 var5 = 0; /* <var_old_child:ANode> cannot be null */
1675 } else {
1676 { /* Inline kernel#Object#== (var4,var_old_child) on <var4:nullable TClassid> */
1677 var_other = var_old_child;
1678 {
1679 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:nullable TClassid(TClassid)> */
1680 var10 = var4 == var_other;
1681 var8 = var10;
1682 goto RET_LABEL9;
1683 RET_LABEL9:(void)0;
1684 }
1685 }
1686 var6 = var8;
1687 goto RET_LABEL7;
1688 RET_LABEL7:(void)0;
1689 }
1690 var5 = var6;
1691 }
1692 if (var5){
1693 /* <var_new_child:nullable ANode> isa nullable TClassid */
1694 cltype = type_nullable__nit__TClassid.color;
1695 idtype = type_nullable__nit__TClassid.id;
1696 if(var_new_child == NULL) {
1697 var11 = 1;
1698 } else {
1699 if(cltype >= var_new_child->type->table_size) {
1700 var11 = 0;
1701 } else {
1702 var11 = var_new_child->type->type_table[cltype] == idtype;
1703 }
1704 }
1705 if (unlikely(!var11)) {
1706 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
1707 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TClassid", var_class_name);
1708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6862);
1709 show_backtrace(1);
1710 }
1711 {
1712 nit__parser_prod___AQualified___n_classid_61d(self, var_new_child); /* Direct call parser_prod#AQualified#n_classid= on <self:AQualified>*/
1713 }
1714 goto RET_LABEL;
1715 } else {
1716 }
1717 RET_LABEL:;
1718 }
1719 /* method parser_prod#AQualified#n_classid= for (self: AQualified, nullable TClassid) */
1720 void nit__parser_prod___AQualified___n_classid_61d(val* self, val* p0) {
1721 val* var_node /* var node: nullable TClassid */;
1722 val* var /* : null */;
1723 short int var1 /* : Bool */;
1724 short int var2 /* : Bool */;
1725 val* var_other /* var other: nullable Object */;
1726 short int var4 /* : Bool */;
1727 short int var5 /* : Bool */;
1728 var_node = p0;
1729 self->attrs[COLOR_nit__parser_nodes__AQualified___n_classid].val = var_node; /* _n_classid on <self:AQualified> */
1730 var = NULL;
1731 if (var_node == NULL) {
1732 var1 = 0; /* is null */
1733 } else {
1734 var1 = 1; /* arg is null and recv is not */
1735 }
1736 if (0) {
1737 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TClassid> */
1738 var_other = var;
1739 {
1740 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TClassid(TClassid)>*/;
1741 }
1742 var5 = !var4;
1743 var2 = var5;
1744 goto RET_LABEL3;
1745 RET_LABEL3:(void)0;
1746 }
1747 var1 = var2;
1748 }
1749 if (var1){
1750 {
1751 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TClassid(TClassid)> */
1752 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TClassid(TClassid)> */
1753 RET_LABEL6:(void)0;
1754 }
1755 }
1756 } else {
1757 }
1758 RET_LABEL:;
1759 }
1760 /* method parser_prod#AQualified#visit_all for (self: AQualified, Visitor) */
1761 void nit__parser_prod___AQualified___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1762 val* var_v /* var v: Visitor */;
1763 val* var /* : ANodes[TId] */;
1764 val* var2 /* : ANodes[TId] */;
1765 val* var3 /* : nullable TClassid */;
1766 var_v = p0;
1767 {
1768 { /* Inline parser_nodes#AQualified#n_id (self) on <self:AQualified> */
1769 var2 = self->attrs[COLOR_nit__parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
1770 if (unlikely(var2 == NULL)) {
1771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1772 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2503);
1773 show_backtrace(1);
1774 }
1775 var = var2;
1776 RET_LABEL1:(void)0;
1777 }
1778 }
1779 {
1780 nit___nit__ANodes___visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var:ANodes[TId]>*/
1781 }
1782 var3 = self->attrs[COLOR_nit__parser_nodes__AQualified___n_classid].val; /* _n_classid on <self:AQualified> */
1783 {
1784 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1785 }
1786 RET_LABEL:;
1787 }
1788 /* method parser_prod#ADoc#init_adoc for (self: ADoc, Collection[Object]) */
1789 void nit__parser_prod___ADoc___init_adoc(val* self, val* p0) {
1790 val* var_n_comment /* var n_comment: Collection[Object] */;
1791 val* var /* : ANodes[TComment] */;
1792 val* var2 /* : ANodes[TComment] */;
1793 var_n_comment = p0;
1794 {
1795 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:ADoc> */
1796 var2 = self->attrs[COLOR_nit__parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
1797 if (unlikely(var2 == NULL)) {
1798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
1799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2515);
1800 show_backtrace(1);
1801 }
1802 var = var2;
1803 RET_LABEL1:(void)0;
1804 }
1805 }
1806 {
1807 nit___nit__ANodes___unsafe_add_all(var, var_n_comment); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TComment]>*/
1808 }
1809 RET_LABEL:;
1810 }
1811 /* method parser_prod#ADoc#replace_child for (self: ADoc, ANode, nullable ANode) */
1812 void nit__parser_prod___ADoc___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1813 val* var_old_child /* var old_child: ANode */;
1814 val* var_new_child /* var new_child: nullable ANode */;
1815 val* var /* : ANodes[TComment] */;
1816 val* var2 /* : ANodes[TComment] */;
1817 short int var3 /* : Bool */;
1818 var_old_child = p0;
1819 var_new_child = p1;
1820 {
1821 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:ADoc> */
1822 var2 = self->attrs[COLOR_nit__parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
1823 if (unlikely(var2 == NULL)) {
1824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
1825 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2515);
1826 show_backtrace(1);
1827 }
1828 var = var2;
1829 RET_LABEL1:(void)0;
1830 }
1831 }
1832 {
1833 var3 = nit___nit__ANodes___replace_child(var, var_old_child, var_new_child);
1834 }
1835 if (var3){
1836 goto RET_LABEL;
1837 } else {
1838 }
1839 RET_LABEL:;
1840 }
1841 /* method parser_prod#ADoc#visit_all for (self: ADoc, Visitor) */
1842 void nit__parser_prod___ADoc___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
1843 val* var_v /* var v: Visitor */;
1844 val* var /* : ANodes[TComment] */;
1845 val* var2 /* : ANodes[TComment] */;
1846 var_v = p0;
1847 {
1848 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:ADoc> */
1849 var2 = self->attrs[COLOR_nit__parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
1850 if (unlikely(var2 == NULL)) {
1851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
1852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2515);
1853 show_backtrace(1);
1854 }
1855 var = var2;
1856 RET_LABEL1:(void)0;
1857 }
1858 }
1859 {
1860 nit___nit__ANodes___visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var:ANodes[TComment]>*/
1861 }
1862 RET_LABEL:;
1863 }
1864 /* method parser_prod#AAnnotations#init_aannotations for (self: AAnnotations, nullable TAt, nullable TOpar, Collection[Object], nullable TCpar) */
1865 void nit__parser_prod___AAnnotations___init_aannotations(val* self, val* p0, val* p1, val* p2, val* p3) {
1866 val* var_n_at /* var n_at: nullable TAt */;
1867 val* var_n_opar /* var n_opar: nullable TOpar */;
1868 val* var_n_items /* var n_items: Collection[Object] */;
1869 val* var_n_cpar /* var n_cpar: nullable TCpar */;
1870 val* var /* : null */;
1871 short int var1 /* : Bool */;
1872 short int var2 /* : Bool */;
1873 val* var_other /* var other: nullable Object */;
1874 short int var4 /* : Bool */;
1875 short int var5 /* : Bool */;
1876 val* var7 /* : null */;
1877 short int var8 /* : Bool */;
1878 short int var9 /* : Bool */;
1879 short int var11 /* : Bool */;
1880 short int var12 /* : Bool */;
1881 val* var14 /* : ANodes[AAnnotation] */;
1882 val* var16 /* : ANodes[AAnnotation] */;
1883 val* var17 /* : null */;
1884 short int var18 /* : Bool */;
1885 short int var19 /* : Bool */;
1886 short int var21 /* : Bool */;
1887 short int var22 /* : Bool */;
1888 var_n_at = p0;
1889 var_n_opar = p1;
1890 var_n_items = p2;
1891 var_n_cpar = p3;
1892 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_at].val = var_n_at; /* _n_at on <self:AAnnotations> */
1893 var = NULL;
1894 if (var_n_at == NULL) {
1895 var1 = 0; /* is null */
1896 } else {
1897 var1 = 1; /* arg is null and recv is not */
1898 }
1899 if (0) {
1900 { /* Inline kernel#Object#!= (var_n_at,var) on <var_n_at:nullable TAt> */
1901 var_other = var;
1902 {
1903 var4 = ((short int (*)(val* self, val* p0))(var_n_at->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_at, var_other) /* == on <var_n_at:nullable TAt(TAt)>*/;
1904 }
1905 var5 = !var4;
1906 var2 = var5;
1907 goto RET_LABEL3;
1908 RET_LABEL3:(void)0;
1909 }
1910 var1 = var2;
1911 }
1912 if (var1){
1913 {
1914 { /* Inline parser_nodes#ANode#parent= (var_n_at,self) on <var_n_at:nullable TAt(TAt)> */
1915 var_n_at->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_at:nullable TAt(TAt)> */
1916 RET_LABEL6:(void)0;
1917 }
1918 }
1919 } else {
1920 }
1921 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_opar].val = var_n_opar; /* _n_opar on <self:AAnnotations> */
1922 var7 = NULL;
1923 if (var_n_opar == NULL) {
1924 var8 = 0; /* is null */
1925 } else {
1926 var8 = 1; /* arg is null and recv is not */
1927 }
1928 if (0) {
1929 { /* Inline kernel#Object#!= (var_n_opar,var7) on <var_n_opar:nullable TOpar> */
1930 var_other = var7;
1931 {
1932 var11 = ((short int (*)(val* self, val* p0))(var_n_opar->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_opar, var_other) /* == on <var_n_opar:nullable TOpar(TOpar)>*/;
1933 }
1934 var12 = !var11;
1935 var9 = var12;
1936 goto RET_LABEL10;
1937 RET_LABEL10:(void)0;
1938 }
1939 var8 = var9;
1940 }
1941 if (var8){
1942 {
1943 { /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on <var_n_opar:nullable TOpar(TOpar)> */
1944 var_n_opar->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_opar:nullable TOpar(TOpar)> */
1945 RET_LABEL13:(void)0;
1946 }
1947 }
1948 } else {
1949 }
1950 {
1951 { /* Inline parser_nodes#AAnnotations#n_items (self) on <self:AAnnotations> */
1952 var16 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
1953 if (unlikely(var16 == NULL)) {
1954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
1955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2535);
1956 show_backtrace(1);
1957 }
1958 var14 = var16;
1959 RET_LABEL15:(void)0;
1960 }
1961 }
1962 {
1963 nit___nit__ANodes___unsafe_add_all(var14, var_n_items); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var14:ANodes[AAnnotation]>*/
1964 }
1965 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAnnotations> */
1966 var17 = NULL;
1967 if (var_n_cpar == NULL) {
1968 var18 = 0; /* is null */
1969 } else {
1970 var18 = 1; /* arg is null and recv is not */
1971 }
1972 if (0) {
1973 { /* Inline kernel#Object#!= (var_n_cpar,var17) on <var_n_cpar:nullable TCpar> */
1974 var_other = var17;
1975 {
1976 var21 = ((short int (*)(val* self, val* p0))(var_n_cpar->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_cpar, var_other) /* == on <var_n_cpar:nullable TCpar(TCpar)>*/;
1977 }
1978 var22 = !var21;
1979 var19 = var22;
1980 goto RET_LABEL20;
1981 RET_LABEL20:(void)0;
1982 }
1983 var18 = var19;
1984 }
1985 if (var18){
1986 {
1987 { /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on <var_n_cpar:nullable TCpar(TCpar)> */
1988 var_n_cpar->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_cpar:nullable TCpar(TCpar)> */
1989 RET_LABEL23:(void)0;
1990 }
1991 }
1992 } else {
1993 }
1994 RET_LABEL:;
1995 }
1996 /* method parser_prod#AAnnotations#replace_child for (self: AAnnotations, ANode, nullable ANode) */
1997 void nit__parser_prod___AAnnotations___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
1998 val* var_old_child /* var old_child: ANode */;
1999 val* var_new_child /* var new_child: nullable ANode */;
2000 val* var /* : nullable TAt */;
2001 short int var1 /* : Bool */;
2002 short int var2 /* : Bool */;
2003 val* var_other /* var other: nullable Object */;
2004 short int var4 /* : Bool */;
2005 short int var6 /* : Bool */;
2006 short int var7 /* : Bool */;
2007 int cltype;
2008 int idtype;
2009 const char* var_class_name;
2010 val* var8 /* : nullable TOpar */;
2011 short int var9 /* : Bool */;
2012 short int var10 /* : Bool */;
2013 short int var12 /* : Bool */;
2014 short int var14 /* : Bool */;
2015 short int var15 /* : Bool */;
2016 int cltype16;
2017 int idtype17;
2018 const char* var_class_name18;
2019 val* var19 /* : ANodes[AAnnotation] */;
2020 val* var21 /* : ANodes[AAnnotation] */;
2021 short int var22 /* : Bool */;
2022 val* var23 /* : nullable TCpar */;
2023 short int var24 /* : Bool */;
2024 short int var25 /* : Bool */;
2025 short int var27 /* : Bool */;
2026 short int var29 /* : Bool */;
2027 short int var30 /* : Bool */;
2028 int cltype31;
2029 int idtype32;
2030 const char* var_class_name33;
2031 var_old_child = p0;
2032 var_new_child = p1;
2033 var = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_at].val; /* _n_at on <self:AAnnotations> */
2034 if (var == NULL) {
2035 var1 = 0; /* <var_old_child:ANode> cannot be null */
2036 } else {
2037 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TAt> */
2038 var_other = var_old_child;
2039 {
2040 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TAt(TAt)> */
2041 var6 = var == var_other;
2042 var4 = var6;
2043 goto RET_LABEL5;
2044 RET_LABEL5:(void)0;
2045 }
2046 }
2047 var2 = var4;
2048 goto RET_LABEL3;
2049 RET_LABEL3:(void)0;
2050 }
2051 var1 = var2;
2052 }
2053 if (var1){
2054 /* <var_new_child:nullable ANode> isa nullable TAt */
2055 cltype = type_nullable__nit__TAt.color;
2056 idtype = type_nullable__nit__TAt.id;
2057 if(var_new_child == NULL) {
2058 var7 = 1;
2059 } else {
2060 if(cltype >= var_new_child->type->table_size) {
2061 var7 = 0;
2062 } else {
2063 var7 = var_new_child->type->type_table[cltype] == idtype;
2064 }
2065 }
2066 if (unlikely(!var7)) {
2067 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2068 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TAt", var_class_name);
2069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6920);
2070 show_backtrace(1);
2071 }
2072 {
2073 nit__parser_prod___AAnnotations___n_at_61d(self, var_new_child); /* Direct call parser_prod#AAnnotations#n_at= on <self:AAnnotations>*/
2074 }
2075 goto RET_LABEL;
2076 } else {
2077 }
2078 var8 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_opar].val; /* _n_opar on <self:AAnnotations> */
2079 if (var8 == NULL) {
2080 var9 = 0; /* <var_old_child:ANode> cannot be null */
2081 } else {
2082 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable TOpar> */
2083 var_other = var_old_child;
2084 {
2085 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable TOpar(TOpar)> */
2086 var14 = var8 == var_other;
2087 var12 = var14;
2088 goto RET_LABEL13;
2089 RET_LABEL13:(void)0;
2090 }
2091 }
2092 var10 = var12;
2093 goto RET_LABEL11;
2094 RET_LABEL11:(void)0;
2095 }
2096 var9 = var10;
2097 }
2098 if (var9){
2099 /* <var_new_child:nullable ANode> isa nullable TOpar */
2100 cltype16 = type_nullable__nit__TOpar.color;
2101 idtype17 = type_nullable__nit__TOpar.id;
2102 if(var_new_child == NULL) {
2103 var15 = 1;
2104 } else {
2105 if(cltype16 >= var_new_child->type->table_size) {
2106 var15 = 0;
2107 } else {
2108 var15 = var_new_child->type->type_table[cltype16] == idtype17;
2109 }
2110 }
2111 if (unlikely(!var15)) {
2112 var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
2113 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name18);
2114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6924);
2115 show_backtrace(1);
2116 }
2117 {
2118 nit__parser_prod___AAnnotations___n_opar_61d(self, var_new_child); /* Direct call parser_prod#AAnnotations#n_opar= on <self:AAnnotations>*/
2119 }
2120 goto RET_LABEL;
2121 } else {
2122 }
2123 {
2124 { /* Inline parser_nodes#AAnnotations#n_items (self) on <self:AAnnotations> */
2125 var21 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2126 if (unlikely(var21 == NULL)) {
2127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
2128 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2535);
2129 show_backtrace(1);
2130 }
2131 var19 = var21;
2132 RET_LABEL20:(void)0;
2133 }
2134 }
2135 {
2136 var22 = nit___nit__ANodes___replace_child(var19, var_old_child, var_new_child);
2137 }
2138 if (var22){
2139 goto RET_LABEL;
2140 } else {
2141 }
2142 var23 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_cpar].val; /* _n_cpar on <self:AAnnotations> */
2143 if (var23 == NULL) {
2144 var24 = 0; /* <var_old_child:ANode> cannot be null */
2145 } else {
2146 { /* Inline kernel#Object#== (var23,var_old_child) on <var23:nullable TCpar> */
2147 var_other = var_old_child;
2148 {
2149 { /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:nullable TCpar(TCpar)> */
2150 var29 = var23 == var_other;
2151 var27 = var29;
2152 goto RET_LABEL28;
2153 RET_LABEL28:(void)0;
2154 }
2155 }
2156 var25 = var27;
2157 goto RET_LABEL26;
2158 RET_LABEL26:(void)0;
2159 }
2160 var24 = var25;
2161 }
2162 if (var24){
2163 /* <var_new_child:nullable ANode> isa nullable TCpar */
2164 cltype31 = type_nullable__nit__TCpar.color;
2165 idtype32 = type_nullable__nit__TCpar.id;
2166 if(var_new_child == NULL) {
2167 var30 = 1;
2168 } else {
2169 if(cltype31 >= var_new_child->type->table_size) {
2170 var30 = 0;
2171 } else {
2172 var30 = var_new_child->type->type_table[cltype31] == idtype32;
2173 }
2174 }
2175 if (unlikely(!var30)) {
2176 var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name;
2177 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name33);
2178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6929);
2179 show_backtrace(1);
2180 }
2181 {
2182 nit__parser_prod___AAnnotations___n_cpar_61d(self, var_new_child); /* Direct call parser_prod#AAnnotations#n_cpar= on <self:AAnnotations>*/
2183 }
2184 goto RET_LABEL;
2185 } else {
2186 }
2187 RET_LABEL:;
2188 }
2189 /* method parser_prod#AAnnotations#n_at= for (self: AAnnotations, nullable TAt) */
2190 void nit__parser_prod___AAnnotations___n_at_61d(val* self, val* p0) {
2191 val* var_node /* var node: nullable TAt */;
2192 val* var /* : null */;
2193 short int var1 /* : Bool */;
2194 short int var2 /* : Bool */;
2195 val* var_other /* var other: nullable Object */;
2196 short int var4 /* : Bool */;
2197 short int var5 /* : Bool */;
2198 var_node = p0;
2199 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_at].val = var_node; /* _n_at on <self:AAnnotations> */
2200 var = NULL;
2201 if (var_node == NULL) {
2202 var1 = 0; /* is null */
2203 } else {
2204 var1 = 1; /* arg is null and recv is not */
2205 }
2206 if (0) {
2207 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TAt> */
2208 var_other = var;
2209 {
2210 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TAt(TAt)>*/;
2211 }
2212 var5 = !var4;
2213 var2 = var5;
2214 goto RET_LABEL3;
2215 RET_LABEL3:(void)0;
2216 }
2217 var1 = var2;
2218 }
2219 if (var1){
2220 {
2221 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TAt(TAt)> */
2222 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TAt(TAt)> */
2223 RET_LABEL6:(void)0;
2224 }
2225 }
2226 } else {
2227 }
2228 RET_LABEL:;
2229 }
2230 /* method parser_prod#AAnnotations#n_opar= for (self: AAnnotations, nullable TOpar) */
2231 void nit__parser_prod___AAnnotations___n_opar_61d(val* self, val* p0) {
2232 val* var_node /* var node: nullable TOpar */;
2233 val* var /* : null */;
2234 short int var1 /* : Bool */;
2235 short int var2 /* : Bool */;
2236 val* var_other /* var other: nullable Object */;
2237 short int var4 /* : Bool */;
2238 short int var5 /* : Bool */;
2239 var_node = p0;
2240 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_opar].val = var_node; /* _n_opar on <self:AAnnotations> */
2241 var = NULL;
2242 if (var_node == NULL) {
2243 var1 = 0; /* is null */
2244 } else {
2245 var1 = 1; /* arg is null and recv is not */
2246 }
2247 if (0) {
2248 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TOpar> */
2249 var_other = var;
2250 {
2251 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TOpar(TOpar)>*/;
2252 }
2253 var5 = !var4;
2254 var2 = var5;
2255 goto RET_LABEL3;
2256 RET_LABEL3:(void)0;
2257 }
2258 var1 = var2;
2259 }
2260 if (var1){
2261 {
2262 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TOpar(TOpar)> */
2263 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TOpar(TOpar)> */
2264 RET_LABEL6:(void)0;
2265 }
2266 }
2267 } else {
2268 }
2269 RET_LABEL:;
2270 }
2271 /* method parser_prod#AAnnotations#n_cpar= for (self: AAnnotations, nullable TCpar) */
2272 void nit__parser_prod___AAnnotations___n_cpar_61d(val* self, val* p0) {
2273 val* var_node /* var node: nullable TCpar */;
2274 val* var /* : null */;
2275 short int var1 /* : Bool */;
2276 short int var2 /* : Bool */;
2277 val* var_other /* var other: nullable Object */;
2278 short int var4 /* : Bool */;
2279 short int var5 /* : Bool */;
2280 var_node = p0;
2281 self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_cpar].val = var_node; /* _n_cpar on <self:AAnnotations> */
2282 var = NULL;
2283 if (var_node == NULL) {
2284 var1 = 0; /* is null */
2285 } else {
2286 var1 = 1; /* arg is null and recv is not */
2287 }
2288 if (0) {
2289 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TCpar> */
2290 var_other = var;
2291 {
2292 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TCpar(TCpar)>*/;
2293 }
2294 var5 = !var4;
2295 var2 = var5;
2296 goto RET_LABEL3;
2297 RET_LABEL3:(void)0;
2298 }
2299 var1 = var2;
2300 }
2301 if (var1){
2302 {
2303 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TCpar(TCpar)> */
2304 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TCpar(TCpar)> */
2305 RET_LABEL6:(void)0;
2306 }
2307 }
2308 } else {
2309 }
2310 RET_LABEL:;
2311 }
2312 /* method parser_prod#AAnnotations#visit_all for (self: AAnnotations, Visitor) */
2313 void nit__parser_prod___AAnnotations___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
2314 val* var_v /* var v: Visitor */;
2315 val* var /* : nullable TAt */;
2316 val* var1 /* : nullable TOpar */;
2317 val* var2 /* : ANodes[AAnnotation] */;
2318 val* var4 /* : ANodes[AAnnotation] */;
2319 val* var5 /* : nullable TCpar */;
2320 var_v = p0;
2321 var = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_at].val; /* _n_at on <self:AAnnotations> */
2322 {
2323 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2324 }
2325 var1 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_opar].val; /* _n_opar on <self:AAnnotations> */
2326 {
2327 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2328 }
2329 {
2330 { /* Inline parser_nodes#AAnnotations#n_items (self) on <self:AAnnotations> */
2331 var4 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2332 if (unlikely(var4 == NULL)) {
2333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
2334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2535);
2335 show_backtrace(1);
2336 }
2337 var2 = var4;
2338 RET_LABEL3:(void)0;
2339 }
2340 }
2341 {
2342 nit___nit__ANodes___visit_all(var2, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var2:ANodes[AAnnotation]>*/
2343 }
2344 var5 = self->attrs[COLOR_nit__parser_nodes__AAnnotations___n_cpar].val; /* _n_cpar on <self:AAnnotations> */
2345 {
2346 nit___nit__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2347 }
2348 RET_LABEL:;
2349 }
2350 /* method parser_prod#AAnnotation#init_aannotation for (self: AAnnotation, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AAtid, nullable TOpar, Collection[Object], nullable TCpar, nullable AAnnotations) */
2351 void nit__parser_prod___AAnnotation___init_aannotation(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
2352 val* var_n_doc /* var n_doc: nullable ADoc */;
2353 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
2354 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
2355 val* var_n_atid /* var n_atid: nullable AAtid */;
2356 val* var_n_opar /* var n_opar: nullable TOpar */;
2357 val* var_n_args /* var n_args: Collection[Object] */;
2358 val* var_n_cpar /* var n_cpar: nullable TCpar */;
2359 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2360 val* var /* : null */;
2361 short int var1 /* : Bool */;
2362 short int var2 /* : Bool */;
2363 val* var_other /* var other: nullable Object */;
2364 short int var4 /* : Bool */;
2365 short int var5 /* : Bool */;
2366 val* var7 /* : null */;
2367 short int var8 /* : Bool */;
2368 short int var9 /* : Bool */;
2369 short int var11 /* : Bool */;
2370 short int var12 /* : Bool */;
2371 val* var14 /* : null */;
2372 short int var15 /* : Bool */;
2373 short int var16 /* : Bool */;
2374 short int var18 /* : Bool */;
2375 short int var19 /* : Bool */;
2376 val* var22 /* : null */;
2377 short int var23 /* : Bool */;
2378 short int var24 /* : Bool */;
2379 short int var26 /* : Bool */;
2380 short int var27 /* : Bool */;
2381 val* var29 /* : ANodes[AExpr] */;
2382 val* var31 /* : ANodes[AExpr] */;
2383 val* var32 /* : null */;
2384 short int var33 /* : Bool */;
2385 short int var34 /* : Bool */;
2386 short int var36 /* : Bool */;
2387 short int var37 /* : Bool */;
2388 val* var39 /* : null */;
2389 short int var40 /* : Bool */;
2390 short int var41 /* : Bool */;
2391 short int var43 /* : Bool */;
2392 short int var44 /* : Bool */;
2393 var_n_doc = p0;
2394 var_n_kwredef = p1;
2395 var_n_visibility = p2;
2396 var_n_atid = p3;
2397 var_n_opar = p4;
2398 var_n_args = p5;
2399 var_n_cpar = p6;
2400 var_n_annotations = p7;
2401 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val = var_n_doc; /* _n_doc on <self:AAnnotation> */
2402 var = NULL;
2403 if (var_n_doc == NULL) {
2404 var1 = 0; /* is null */
2405 } else {
2406 var1 = 1; /* arg is null and recv is not */
2407 }
2408 if (0) {
2409 { /* Inline kernel#Object#!= (var_n_doc,var) on <var_n_doc:nullable ADoc> */
2410 var_other = var;
2411 {
2412 var4 = ((short int (*)(val* self, val* p0))(var_n_doc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on <var_n_doc:nullable ADoc(ADoc)>*/;
2413 }
2414 var5 = !var4;
2415 var2 = var5;
2416 goto RET_LABEL3;
2417 RET_LABEL3:(void)0;
2418 }
2419 var1 = var2;
2420 }
2421 if (var1){
2422 {
2423 { /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on <var_n_doc:nullable ADoc(ADoc)> */
2424 var_n_doc->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_doc:nullable ADoc(ADoc)> */
2425 RET_LABEL6:(void)0;
2426 }
2427 }
2428 } else {
2429 }
2430 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AAnnotation> */
2431 var7 = NULL;
2432 if (var_n_kwredef == NULL) {
2433 var8 = 0; /* is null */
2434 } else {
2435 var8 = 1; /* arg is null and recv is not */
2436 }
2437 if (0) {
2438 { /* Inline kernel#Object#!= (var_n_kwredef,var7) on <var_n_kwredef:nullable TKwredef> */
2439 var_other = var7;
2440 {
2441 var11 = ((short int (*)(val* self, val* p0))(var_n_kwredef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
2442 }
2443 var12 = !var11;
2444 var9 = var12;
2445 goto RET_LABEL10;
2446 RET_LABEL10:(void)0;
2447 }
2448 var8 = var9;
2449 }
2450 if (var8){
2451 {
2452 { /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on <var_n_kwredef:nullable TKwredef(TKwredef)> */
2453 var_n_kwredef->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwredef:nullable TKwredef(TKwredef)> */
2454 RET_LABEL13:(void)0;
2455 }
2456 }
2457 } else {
2458 }
2459 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AAnnotation> */
2460 var14 = NULL;
2461 if (var_n_visibility == NULL) {
2462 var15 = 0; /* is null */
2463 } else {
2464 var15 = 1; /* arg is null and recv is not */
2465 }
2466 if (0) {
2467 { /* Inline kernel#Object#!= (var_n_visibility,var14) on <var_n_visibility:nullable AVisibility> */
2468 var_other = var14;
2469 {
2470 var18 = ((short int (*)(val* self, val* p0))(var_n_visibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_visibility, var_other) /* == on <var_n_visibility:nullable AVisibility(AVisibility)>*/;
2471 }
2472 var19 = !var18;
2473 var16 = var19;
2474 goto RET_LABEL17;
2475 RET_LABEL17:(void)0;
2476 }
2477 var15 = var16;
2478 }
2479 if (var15){
2480 {
2481 { /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on <var_n_visibility:nullable AVisibility(AVisibility)> */
2482 var_n_visibility->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_visibility:nullable AVisibility(AVisibility)> */
2483 RET_LABEL20:(void)0;
2484 }
2485 }
2486 } else {
2487 }
2488 if (unlikely(var_n_atid == NULL)) {
2489 PRINT_ERROR("Runtime error: %s", "Cast failed");
2490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6977);
2491 show_backtrace(1);
2492 }
2493 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_atid].val = var_n_atid; /* _n_atid on <self:AAnnotation> */
2494 if (var_n_atid == NULL) {
2495 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6978);
2497 show_backtrace(1);
2498 } else {
2499 { /* Inline parser_nodes#ANode#parent= (var_n_atid,self) on <var_n_atid:nullable AAtid> */
2500 if (unlikely(var_n_atid == NULL)) {
2501 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
2503 show_backtrace(1);
2504 }
2505 var_n_atid->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_atid:nullable AAtid> */
2506 RET_LABEL21:(void)0;
2507 }
2508 }
2509 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_opar].val = var_n_opar; /* _n_opar on <self:AAnnotation> */
2510 var22 = NULL;
2511 if (var_n_opar == NULL) {
2512 var23 = 0; /* is null */
2513 } else {
2514 var23 = 1; /* arg is null and recv is not */
2515 }
2516 if (0) {
2517 { /* Inline kernel#Object#!= (var_n_opar,var22) on <var_n_opar:nullable TOpar> */
2518 var_other = var22;
2519 {
2520 var26 = ((short int (*)(val* self, val* p0))(var_n_opar->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_opar, var_other) /* == on <var_n_opar:nullable TOpar(TOpar)>*/;
2521 }
2522 var27 = !var26;
2523 var24 = var27;
2524 goto RET_LABEL25;
2525 RET_LABEL25:(void)0;
2526 }
2527 var23 = var24;
2528 }
2529 if (var23){
2530 {
2531 { /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on <var_n_opar:nullable TOpar(TOpar)> */
2532 var_n_opar->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_opar:nullable TOpar(TOpar)> */
2533 RET_LABEL28:(void)0;
2534 }
2535 }
2536 } else {
2537 }
2538 {
2539 { /* Inline parser_nodes#AAnnotation#n_args (self) on <self:AAnnotation> */
2540 var31 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
2541 if (unlikely(var31 == NULL)) {
2542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2543 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2552);
2544 show_backtrace(1);
2545 }
2546 var29 = var31;
2547 RET_LABEL30:(void)0;
2548 }
2549 }
2550 {
2551 nit___nit__ANodes___unsafe_add_all(var29, var_n_args); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var29:ANodes[AExpr]>*/
2552 }
2553 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAnnotation> */
2554 var32 = NULL;
2555 if (var_n_cpar == NULL) {
2556 var33 = 0; /* is null */
2557 } else {
2558 var33 = 1; /* arg is null and recv is not */
2559 }
2560 if (0) {
2561 { /* Inline kernel#Object#!= (var_n_cpar,var32) on <var_n_cpar:nullable TCpar> */
2562 var_other = var32;
2563 {
2564 var36 = ((short int (*)(val* self, val* p0))(var_n_cpar->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_cpar, var_other) /* == on <var_n_cpar:nullable TCpar(TCpar)>*/;
2565 }
2566 var37 = !var36;
2567 var34 = var37;
2568 goto RET_LABEL35;
2569 RET_LABEL35:(void)0;
2570 }
2571 var33 = var34;
2572 }
2573 if (var33){
2574 {
2575 { /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on <var_n_cpar:nullable TCpar(TCpar)> */
2576 var_n_cpar->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_cpar:nullable TCpar(TCpar)> */
2577 RET_LABEL38:(void)0;
2578 }
2579 }
2580 } else {
2581 }
2582 self->attrs[COLOR_nit__parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAnnotation> */
2583 var39 = NULL;
2584 if (var_n_annotations == NULL) {
2585 var40 = 0; /* is null */
2586 } else {
2587 var40 = 1; /* arg is null and recv is not */
2588 }
2589 if (0) {
2590 { /* Inline kernel#Object#!= (var_n_annotations,var39) on <var_n_annotations:nullable AAnnotations> */
2591 var_other = var39;
2592 {
2593 var43 = ((short int (*)(val* self, val* p0))(var_n_annotations->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
2594 }
2595 var44 = !var43;
2596 var41 = var44;
2597 goto RET_LABEL42;
2598 RET_LABEL42:(void)0;
2599 }
2600 var40 = var41;
2601 }
2602 if (var40){
2603 {
2604 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
2605 var_n_annotations->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
2606 RET_LABEL45:(void)0;
2607 }
2608 }
2609 } else {
2610 }
2611 RET_LABEL:;
2612 }
2613 /* method parser_prod#AAnnotation#replace_child for (self: AAnnotation, ANode, nullable ANode) */
2614 void nit__parser_prod___AAnnotation___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
2615 val* var_old_child /* var old_child: ANode */;
2616 val* var_new_child /* var new_child: nullable ANode */;
2617 val* var /* : nullable ADoc */;
2618 short int var1 /* : Bool */;
2619 short int var2 /* : Bool */;
2620 val* var_other /* var other: nullable Object */;
2621 short int var4 /* : Bool */;
2622 short int var6 /* : Bool */;
2623 short int var7 /* : Bool */;
2624 int cltype;
2625 int idtype;
2626 const char* var_class_name;
2627 val* var8 /* : nullable TKwredef */;
2628 short int var9 /* : Bool */;
2629 short int var10 /* : Bool */;
2630 short int var12 /* : Bool */;
2631 short int var14 /* : Bool */;
2632 short int var15 /* : Bool */;
2633 int cltype16;
2634 int idtype17;
2635 const char* var_class_name18;
2636 val* var19 /* : nullable AVisibility */;
2637 short int var20 /* : Bool */;
2638 short int var21 /* : Bool */;
2639 short int var23 /* : Bool */;
2640 short int var25 /* : Bool */;
2641 short int var26 /* : Bool */;
2642 int cltype27;
2643 int idtype28;
2644 const char* var_class_name29;
2645 val* var30 /* : AAtid */;
2646 short int var31 /* : Bool */;
2647 short int var33 /* : Bool */;
2648 short int var35 /* : Bool */;
2649 short int var36 /* : Bool */;
2650 int cltype37;
2651 int idtype38;
2652 const char* var_class_name39;
2653 val* var40 /* : nullable TOpar */;
2654 short int var41 /* : Bool */;
2655 short int var42 /* : Bool */;
2656 short int var44 /* : Bool */;
2657 short int var46 /* : Bool */;
2658 short int var47 /* : Bool */;
2659 int cltype48;
2660 int idtype49;
2661 const char* var_class_name50;
2662 val* var51 /* : ANodes[AExpr] */;
2663 val* var53 /* : ANodes[AExpr] */;
2664 short int var54 /* : Bool */;
2665 val* var55 /* : nullable TCpar */;
2666 short int var56 /* : Bool */;
2667 short int var57 /* : Bool */;
2668 short int var59 /* : Bool */;
2669 short int var61 /* : Bool */;
2670 short int var62 /* : Bool */;
2671 int cltype63;
2672 int idtype64;
2673 const char* var_class_name65;
2674 val* var66 /* : nullable AAnnotations */;
2675 short int var67 /* : Bool */;
2676 short int var68 /* : Bool */;
2677 short int var70 /* : Bool */;
2678 short int var72 /* : Bool */;
2679 short int var73 /* : Bool */;
2680 int cltype74;
2681 int idtype75;
2682 const char* var_class_name76;
2683 var_old_child = p0;
2684 var_new_child = p1;
2685 var = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on <self:AAnnotation> */
2686 if (var == NULL) {
2687 var1 = 0; /* <var_old_child:ANode> cannot be null */
2688 } else {
2689 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable ADoc> */
2690 var_other = var_old_child;
2691 {
2692 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable ADoc(ADoc)> */
2693 var6 = var == var_other;
2694 var4 = var6;
2695 goto RET_LABEL5;
2696 RET_LABEL5:(void)0;
2697 }
2698 }
2699 var2 = var4;
2700 goto RET_LABEL3;
2701 RET_LABEL3:(void)0;
2702 }
2703 var1 = var2;
2704 }
2705 if (var1){
2706 /* <var_new_child:nullable ANode> isa nullable ADoc */
2707 cltype = type_nullable__nit__ADoc.color;
2708 idtype = type_nullable__nit__ADoc.id;
2709 if(var_new_child == NULL) {
2710 var7 = 1;
2711 } else {
2712 if(cltype >= var_new_child->type->table_size) {
2713 var7 = 0;
2714 } else {
2715 var7 = var_new_child->type->type_table[cltype] == idtype;
2716 }
2717 }
2718 if (unlikely(!var7)) {
2719 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
2720 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ADoc", var_class_name);
2721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6991);
2722 show_backtrace(1);
2723 }
2724 {
2725 nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_doc_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_doc= on <self:AAnnotation>*/
2726 }
2727 goto RET_LABEL;
2728 } else {
2729 }
2730 var8 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAnnotation> */
2731 if (var8 == NULL) {
2732 var9 = 0; /* <var_old_child:ANode> cannot be null */
2733 } else {
2734 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable TKwredef> */
2735 var_other = var_old_child;
2736 {
2737 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable TKwredef(TKwredef)> */
2738 var14 = var8 == var_other;
2739 var12 = var14;
2740 goto RET_LABEL13;
2741 RET_LABEL13:(void)0;
2742 }
2743 }
2744 var10 = var12;
2745 goto RET_LABEL11;
2746 RET_LABEL11:(void)0;
2747 }
2748 var9 = var10;
2749 }
2750 if (var9){
2751 /* <var_new_child:nullable ANode> isa nullable TKwredef */
2752 cltype16 = type_nullable__nit__TKwredef.color;
2753 idtype17 = type_nullable__nit__TKwredef.id;
2754 if(var_new_child == NULL) {
2755 var15 = 1;
2756 } else {
2757 if(cltype16 >= var_new_child->type->table_size) {
2758 var15 = 0;
2759 } else {
2760 var15 = var_new_child->type->type_table[cltype16] == idtype17;
2761 }
2762 }
2763 if (unlikely(!var15)) {
2764 var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
2765 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwredef", var_class_name18);
2766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6995);
2767 show_backtrace(1);
2768 }
2769 {
2770 nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_kwredef= on <self:AAnnotation>*/
2771 }
2772 goto RET_LABEL;
2773 } else {
2774 }
2775 var19 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:AAnnotation> */
2776 if (var19 == NULL) {
2777 var20 = 0; /* <var_old_child:ANode> cannot be null */
2778 } else {
2779 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable AVisibility> */
2780 var_other = var_old_child;
2781 {
2782 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable AVisibility(AVisibility)> */
2783 var25 = var19 == var_other;
2784 var23 = var25;
2785 goto RET_LABEL24;
2786 RET_LABEL24:(void)0;
2787 }
2788 }
2789 var21 = var23;
2790 goto RET_LABEL22;
2791 RET_LABEL22:(void)0;
2792 }
2793 var20 = var21;
2794 }
2795 if (var20){
2796 /* <var_new_child:nullable ANode> isa nullable AVisibility */
2797 cltype27 = type_nullable__nit__AVisibility.color;
2798 idtype28 = type_nullable__nit__AVisibility.id;
2799 if(var_new_child == NULL) {
2800 var26 = 1;
2801 } else {
2802 if(cltype27 >= var_new_child->type->table_size) {
2803 var26 = 0;
2804 } else {
2805 var26 = var_new_child->type->type_table[cltype27] == idtype28;
2806 }
2807 }
2808 if (unlikely(!var26)) {
2809 var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
2810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AVisibility", var_class_name29);
2811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 6999);
2812 show_backtrace(1);
2813 }
2814 {
2815 nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_visibility= on <self:AAnnotation>*/
2816 }
2817 goto RET_LABEL;
2818 } else {
2819 }
2820 var30 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_atid].val; /* _n_atid on <self:AAnnotation> */
2821 if (unlikely(var30 == NULL)) {
2822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_atid");
2823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7002);
2824 show_backtrace(1);
2825 }
2826 {
2827 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:AAtid> */
2828 var_other = var_old_child;
2829 {
2830 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:AAtid> */
2831 var35 = var30 == var_other;
2832 var33 = var35;
2833 goto RET_LABEL34;
2834 RET_LABEL34:(void)0;
2835 }
2836 }
2837 var31 = var33;
2838 goto RET_LABEL32;
2839 RET_LABEL32:(void)0;
2840 }
2841 }
2842 if (var31){
2843 /* <var_new_child:nullable ANode> isa AAtid */
2844 cltype37 = type_nit__AAtid.color;
2845 idtype38 = type_nit__AAtid.id;
2846 if(var_new_child == NULL) {
2847 var36 = 0;
2848 } else {
2849 if(cltype37 >= var_new_child->type->table_size) {
2850 var36 = 0;
2851 } else {
2852 var36 = var_new_child->type->type_table[cltype37] == idtype38;
2853 }
2854 }
2855 if (unlikely(!var36)) {
2856 var_class_name39 = var_new_child == NULL ? "null" : var_new_child->type->name;
2857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAtid", var_class_name39);
2858 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7003);
2859 show_backtrace(1);
2860 }
2861 {
2862 nit__parser_prod___AAnnotation___n_atid_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_atid= on <self:AAnnotation>*/
2863 }
2864 goto RET_LABEL;
2865 } else {
2866 }
2867 var40 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotation> */
2868 if (var40 == NULL) {
2869 var41 = 0; /* <var_old_child:ANode> cannot be null */
2870 } else {
2871 { /* Inline kernel#Object#== (var40,var_old_child) on <var40:nullable TOpar> */
2872 var_other = var_old_child;
2873 {
2874 { /* Inline kernel#Object#is_same_instance (var40,var_other) on <var40:nullable TOpar(TOpar)> */
2875 var46 = var40 == var_other;
2876 var44 = var46;
2877 goto RET_LABEL45;
2878 RET_LABEL45:(void)0;
2879 }
2880 }
2881 var42 = var44;
2882 goto RET_LABEL43;
2883 RET_LABEL43:(void)0;
2884 }
2885 var41 = var42;
2886 }
2887 if (var41){
2888 /* <var_new_child:nullable ANode> isa nullable TOpar */
2889 cltype48 = type_nullable__nit__TOpar.color;
2890 idtype49 = type_nullable__nit__TOpar.id;
2891 if(var_new_child == NULL) {
2892 var47 = 1;
2893 } else {
2894 if(cltype48 >= var_new_child->type->table_size) {
2895 var47 = 0;
2896 } else {
2897 var47 = var_new_child->type->type_table[cltype48] == idtype49;
2898 }
2899 }
2900 if (unlikely(!var47)) {
2901 var_class_name50 = var_new_child == NULL ? "null" : var_new_child->type->name;
2902 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name50);
2903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7007);
2904 show_backtrace(1);
2905 }
2906 {
2907 nit__parser_prod___AAnnotation___n_opar_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_opar= on <self:AAnnotation>*/
2908 }
2909 goto RET_LABEL;
2910 } else {
2911 }
2912 {
2913 { /* Inline parser_nodes#AAnnotation#n_args (self) on <self:AAnnotation> */
2914 var53 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
2915 if (unlikely(var53 == NULL)) {
2916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2552);
2918 show_backtrace(1);
2919 }
2920 var51 = var53;
2921 RET_LABEL52:(void)0;
2922 }
2923 }
2924 {
2925 var54 = nit___nit__ANodes___replace_child(var51, var_old_child, var_new_child);
2926 }
2927 if (var54){
2928 goto RET_LABEL;
2929 } else {
2930 }
2931 var55 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotation> */
2932 if (var55 == NULL) {
2933 var56 = 0; /* <var_old_child:ANode> cannot be null */
2934 } else {
2935 { /* Inline kernel#Object#== (var55,var_old_child) on <var55:nullable TCpar> */
2936 var_other = var_old_child;
2937 {
2938 { /* Inline kernel#Object#is_same_instance (var55,var_other) on <var55:nullable TCpar(TCpar)> */
2939 var61 = var55 == var_other;
2940 var59 = var61;
2941 goto RET_LABEL60;
2942 RET_LABEL60:(void)0;
2943 }
2944 }
2945 var57 = var59;
2946 goto RET_LABEL58;
2947 RET_LABEL58:(void)0;
2948 }
2949 var56 = var57;
2950 }
2951 if (var56){
2952 /* <var_new_child:nullable ANode> isa nullable TCpar */
2953 cltype63 = type_nullable__nit__TCpar.color;
2954 idtype64 = type_nullable__nit__TCpar.id;
2955 if(var_new_child == NULL) {
2956 var62 = 1;
2957 } else {
2958 if(cltype63 >= var_new_child->type->table_size) {
2959 var62 = 0;
2960 } else {
2961 var62 = var_new_child->type->type_table[cltype63] == idtype64;
2962 }
2963 }
2964 if (unlikely(!var62)) {
2965 var_class_name65 = var_new_child == NULL ? "null" : var_new_child->type->name;
2966 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name65);
2967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7012);
2968 show_backtrace(1);
2969 }
2970 {
2971 nit__parser_prod___AAnnotation___n_cpar_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_cpar= on <self:AAnnotation>*/
2972 }
2973 goto RET_LABEL;
2974 } else {
2975 }
2976 var66 = self->attrs[COLOR_nit__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotation> */
2977 if (var66 == NULL) {
2978 var67 = 0; /* <var_old_child:ANode> cannot be null */
2979 } else {
2980 { /* Inline kernel#Object#== (var66,var_old_child) on <var66:nullable AAnnotations> */
2981 var_other = var_old_child;
2982 {
2983 { /* Inline kernel#Object#is_same_instance (var66,var_other) on <var66:nullable AAnnotations(AAnnotations)> */
2984 var72 = var66 == var_other;
2985 var70 = var72;
2986 goto RET_LABEL71;
2987 RET_LABEL71:(void)0;
2988 }
2989 }
2990 var68 = var70;
2991 goto RET_LABEL69;
2992 RET_LABEL69:(void)0;
2993 }
2994 var67 = var68;
2995 }
2996 if (var67){
2997 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
2998 cltype74 = type_nullable__nit__AAnnotations.color;
2999 idtype75 = type_nullable__nit__AAnnotations.id;
3000 if(var_new_child == NULL) {
3001 var73 = 1;
3002 } else {
3003 if(cltype74 >= var_new_child->type->table_size) {
3004 var73 = 0;
3005 } else {
3006 var73 = var_new_child->type->type_table[cltype74] == idtype75;
3007 }
3008 }
3009 if (unlikely(!var73)) {
3010 var_class_name76 = var_new_child == NULL ? "null" : var_new_child->type->name;
3011 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name76);
3012 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7016);
3013 show_backtrace(1);
3014 }
3015 {
3016 nit__parser_prod___AAnnotation___nit__parser_nodes__Prod__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AAnnotation#n_annotations= on <self:AAnnotation>*/
3017 }
3018 goto RET_LABEL;
3019 } else {
3020 }
3021 RET_LABEL:;
3022 }
3023 /* method parser_prod#AAnnotation#n_doc= for (self: AAnnotation, nullable ADoc) */
3024 void nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_doc_61d(val* self, val* p0) {
3025 val* var_node /* var node: nullable ADoc */;
3026 val* var /* : null */;
3027 short int var1 /* : Bool */;
3028 short int var2 /* : Bool */;
3029 val* var_other /* var other: nullable Object */;
3030 short int var4 /* : Bool */;
3031 short int var5 /* : Bool */;
3032 var_node = p0;
3033 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val = var_node; /* _n_doc on <self:AAnnotation> */
3034 var = NULL;
3035 if (var_node == NULL) {
3036 var1 = 0; /* is null */
3037 } else {
3038 var1 = 1; /* arg is null and recv is not */
3039 }
3040 if (0) {
3041 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ADoc> */
3042 var_other = var;
3043 {
3044 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable ADoc(ADoc)>*/;
3045 }
3046 var5 = !var4;
3047 var2 = var5;
3048 goto RET_LABEL3;
3049 RET_LABEL3:(void)0;
3050 }
3051 var1 = var2;
3052 }
3053 if (var1){
3054 {
3055 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ADoc(ADoc)> */
3056 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ADoc(ADoc)> */
3057 RET_LABEL6:(void)0;
3058 }
3059 }
3060 } else {
3061 }
3062 RET_LABEL:;
3063 }
3064 /* method parser_prod#AAnnotation#n_kwredef= for (self: AAnnotation, nullable TKwredef) */
3065 void nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_kwredef_61d(val* self, val* p0) {
3066 val* var_node /* var node: nullable TKwredef */;
3067 val* var /* : null */;
3068 short int var1 /* : Bool */;
3069 short int var2 /* : Bool */;
3070 val* var_other /* var other: nullable Object */;
3071 short int var4 /* : Bool */;
3072 short int var5 /* : Bool */;
3073 var_node = p0;
3074 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val = var_node; /* _n_kwredef on <self:AAnnotation> */
3075 var = NULL;
3076 if (var_node == NULL) {
3077 var1 = 0; /* is null */
3078 } else {
3079 var1 = 1; /* arg is null and recv is not */
3080 }
3081 if (0) {
3082 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TKwredef> */
3083 var_other = var;
3084 {
3085 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TKwredef(TKwredef)>*/;
3086 }
3087 var5 = !var4;
3088 var2 = var5;
3089 goto RET_LABEL3;
3090 RET_LABEL3:(void)0;
3091 }
3092 var1 = var2;
3093 }
3094 if (var1){
3095 {
3096 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwredef(TKwredef)> */
3097 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwredef(TKwredef)> */
3098 RET_LABEL6:(void)0;
3099 }
3100 }
3101 } else {
3102 }
3103 RET_LABEL:;
3104 }
3105 /* method parser_prod#AAnnotation#n_visibility= for (self: AAnnotation, nullable AVisibility) */
3106 void nit__parser_prod___AAnnotation___nit__parser_nodes__ADefinition__n_visibility_61d(val* self, val* p0) {
3107 val* var_node /* var node: nullable AVisibility */;
3108 val* var /* : null */;
3109 short int var1 /* : Bool */;
3110 short int var2 /* : Bool */;
3111 val* var_other /* var other: nullable Object */;
3112 short int var4 /* : Bool */;
3113 short int var5 /* : Bool */;
3114 var_node = p0;
3115 self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val = var_node; /* _n_visibility on <self:AAnnotation> */
3116 var = NULL;
3117 if (var_node == NULL) {
3118 var1 = 0; /* is null */
3119 } else {
3120 var1 = 1; /* arg is null and recv is not */
3121 }
3122 if (0) {
3123 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AVisibility> */
3124 var_other = var;
3125 {
3126 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AVisibility(AVisibility)>*/;
3127 }
3128 var5 = !var4;
3129 var2 = var5;
3130 goto RET_LABEL3;
3131 RET_LABEL3:(void)0;
3132 }
3133 var1 = var2;
3134 }
3135 if (var1){
3136 {
3137 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AVisibility(AVisibility)> */
3138 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AVisibility(AVisibility)> */
3139 RET_LABEL6:(void)0;
3140 }
3141 }
3142 } else {
3143 }
3144 RET_LABEL:;
3145 }
3146 /* method parser_prod#AAnnotation#n_atid= for (self: AAnnotation, AAtid) */
3147 void nit__parser_prod___AAnnotation___n_atid_61d(val* self, val* p0) {
3148 val* var_node /* var node: AAtid */;
3149 var_node = p0;
3150 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_atid].val = var_node; /* _n_atid on <self:AAnnotation> */
3151 {
3152 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAtid> */
3153 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAtid> */
3154 RET_LABEL1:(void)0;
3155 }
3156 }
3157 RET_LABEL:;
3158 }
3159 /* method parser_prod#AAnnotation#n_opar= for (self: AAnnotation, nullable TOpar) */
3160 void nit__parser_prod___AAnnotation___n_opar_61d(val* self, val* p0) {
3161 val* var_node /* var node: nullable TOpar */;
3162 val* var /* : null */;
3163 short int var1 /* : Bool */;
3164 short int var2 /* : Bool */;
3165 val* var_other /* var other: nullable Object */;
3166 short int var4 /* : Bool */;
3167 short int var5 /* : Bool */;
3168 var_node = p0;
3169 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_opar].val = var_node; /* _n_opar on <self:AAnnotation> */
3170 var = NULL;
3171 if (var_node == NULL) {
3172 var1 = 0; /* is null */
3173 } else {
3174 var1 = 1; /* arg is null and recv is not */
3175 }
3176 if (0) {
3177 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TOpar> */
3178 var_other = var;
3179 {
3180 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TOpar(TOpar)>*/;
3181 }
3182 var5 = !var4;
3183 var2 = var5;
3184 goto RET_LABEL3;
3185 RET_LABEL3:(void)0;
3186 }
3187 var1 = var2;
3188 }
3189 if (var1){
3190 {
3191 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TOpar(TOpar)> */
3192 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TOpar(TOpar)> */
3193 RET_LABEL6:(void)0;
3194 }
3195 }
3196 } else {
3197 }
3198 RET_LABEL:;
3199 }
3200 /* method parser_prod#AAnnotation#n_cpar= for (self: AAnnotation, nullable TCpar) */
3201 void nit__parser_prod___AAnnotation___n_cpar_61d(val* self, val* p0) {
3202 val* var_node /* var node: nullable TCpar */;
3203 val* var /* : null */;
3204 short int var1 /* : Bool */;
3205 short int var2 /* : Bool */;
3206 val* var_other /* var other: nullable Object */;
3207 short int var4 /* : Bool */;
3208 short int var5 /* : Bool */;
3209 var_node = p0;
3210 self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_cpar].val = var_node; /* _n_cpar on <self:AAnnotation> */
3211 var = NULL;
3212 if (var_node == NULL) {
3213 var1 = 0; /* is null */
3214 } else {
3215 var1 = 1; /* arg is null and recv is not */
3216 }
3217 if (0) {
3218 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TCpar> */
3219 var_other = var;
3220 {
3221 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TCpar(TCpar)>*/;
3222 }
3223 var5 = !var4;
3224 var2 = var5;
3225 goto RET_LABEL3;
3226 RET_LABEL3:(void)0;
3227 }
3228 var1 = var2;
3229 }
3230 if (var1){
3231 {
3232 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TCpar(TCpar)> */
3233 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TCpar(TCpar)> */
3234 RET_LABEL6:(void)0;
3235 }
3236 }
3237 } else {
3238 }
3239 RET_LABEL:;
3240 }
3241 /* method parser_prod#AAnnotation#n_annotations= for (self: AAnnotation, nullable AAnnotations) */
3242 void nit__parser_prod___AAnnotation___nit__parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
3243 val* var_node /* var node: nullable AAnnotations */;
3244 val* var /* : null */;
3245 short int var1 /* : Bool */;
3246 short int var2 /* : Bool */;
3247 val* var_other /* var other: nullable Object */;
3248 short int var4 /* : Bool */;
3249 short int var5 /* : Bool */;
3250 var_node = p0;
3251 self->attrs[COLOR_nit__parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAnnotation> */
3252 var = NULL;
3253 if (var_node == NULL) {
3254 var1 = 0; /* is null */
3255 } else {
3256 var1 = 1; /* arg is null and recv is not */
3257 }
3258 if (0) {
3259 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AAnnotations> */
3260 var_other = var;
3261 {
3262 var4 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AAnnotations(AAnnotations)>*/;
3263 }
3264 var5 = !var4;
3265 var2 = var5;
3266 goto RET_LABEL3;
3267 RET_LABEL3:(void)0;
3268 }
3269 var1 = var2;
3270 }
3271 if (var1){
3272 {
3273 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
3274 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
3275 RET_LABEL6:(void)0;
3276 }
3277 }
3278 } else {
3279 }
3280 RET_LABEL:;
3281 }
3282 /* method parser_prod#AAnnotation#visit_all for (self: AAnnotation, Visitor) */
3283 void nit__parser_prod___AAnnotation___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3284 val* var_v /* var v: Visitor */;
3285 val* var /* : nullable ADoc */;
3286 val* var1 /* : nullable TKwredef */;
3287 val* var2 /* : nullable AVisibility */;
3288 val* var3 /* : AAtid */;
3289 val* var4 /* : nullable TOpar */;
3290 val* var5 /* : ANodes[AExpr] */;
3291 val* var7 /* : ANodes[AExpr] */;
3292 val* var8 /* : nullable TCpar */;
3293 val* var9 /* : nullable AAnnotations */;
3294 var_v = p0;
3295 var = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on <self:AAnnotation> */
3296 {
3297 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3298 }
3299 var1 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAnnotation> */
3300 {
3301 nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3302 }
3303 var2 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:AAnnotation> */
3304 {
3305 nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3306 }
3307 var3 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_atid].val; /* _n_atid on <self:AAnnotation> */
3308 if (unlikely(var3 == NULL)) {
3309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_atid");
3310 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7063);
3311 show_backtrace(1);
3312 }
3313 {
3314 nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3315 }
3316 var4 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotation> */
3317 {
3318 nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3319 }
3320 {
3321 { /* Inline parser_nodes#AAnnotation#n_args (self) on <self:AAnnotation> */
3322 var7 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3323 if (unlikely(var7 == NULL)) {
3324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
3325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2552);
3326 show_backtrace(1);
3327 }
3328 var5 = var7;
3329 RET_LABEL6:(void)0;
3330 }
3331 }
3332 {
3333 nit___nit__ANodes___visit_all(var5, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var5:ANodes[AExpr]>*/
3334 }
3335 var8 = self->attrs[COLOR_nit__parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotation> */
3336 {
3337 nit___nit__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3338 }
3339 var9 = self->attrs[COLOR_nit__parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotation> */
3340 {
3341 nit___nit__Visitor___enter_visit(var_v, var9); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3342 }
3343 RET_LABEL:;
3344 }
3345 /* method parser_prod#AIdAtid#init_aidatid for (self: AIdAtid, nullable TId) */
3346 void nit__parser_prod___AIdAtid___init_aidatid(val* self, val* p0) {
3347 val* var_n_id /* var n_id: nullable TId */;
3348 var_n_id = p0;
3349 if (unlikely(var_n_id == NULL)) {
3350 PRINT_ERROR("Runtime error: %s", "Cast failed");
3351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7075);
3352 show_backtrace(1);
3353 }
3354 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AIdAtid> */
3355 if (var_n_id == NULL) {
3356 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7076);
3358 show_backtrace(1);
3359 } else {
3360 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
3361 if (unlikely(var_n_id == NULL)) {
3362 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3364 show_backtrace(1);
3365 }
3366 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
3367 RET_LABEL1:(void)0;
3368 }
3369 }
3370 RET_LABEL:;
3371 }
3372 /* method parser_prod#AIdAtid#replace_child for (self: AIdAtid, ANode, nullable ANode) */
3373 void nit__parser_prod___AIdAtid___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3374 val* var_old_child /* var old_child: ANode */;
3375 val* var_new_child /* var new_child: nullable ANode */;
3376 val* var /* : Token */;
3377 short int var1 /* : Bool */;
3378 val* var_other /* var other: nullable Object */;
3379 short int var3 /* : Bool */;
3380 short int var5 /* : Bool */;
3381 short int var6 /* : Bool */;
3382 int cltype;
3383 int idtype;
3384 const char* var_class_name;
3385 var_old_child = p0;
3386 var_new_child = p1;
3387 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AIdAtid> */
3388 if (unlikely(var == NULL)) {
3389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7081);
3391 show_backtrace(1);
3392 }
3393 {
3394 { /* Inline kernel#Object#== (var,var_old_child) on <var:Token> */
3395 var_other = var_old_child;
3396 {
3397 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:Token> */
3398 var5 = var == var_other;
3399 var3 = var5;
3400 goto RET_LABEL4;
3401 RET_LABEL4:(void)0;
3402 }
3403 }
3404 var1 = var3;
3405 goto RET_LABEL2;
3406 RET_LABEL2:(void)0;
3407 }
3408 }
3409 if (var1){
3410 /* <var_new_child:nullable ANode> isa TId */
3411 cltype = type_nit__TId.color;
3412 idtype = type_nit__TId.id;
3413 if(var_new_child == NULL) {
3414 var6 = 0;
3415 } else {
3416 if(cltype >= var_new_child->type->table_size) {
3417 var6 = 0;
3418 } else {
3419 var6 = var_new_child->type->type_table[cltype] == idtype;
3420 }
3421 }
3422 if (unlikely(!var6)) {
3423 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3424 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name);
3425 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7082);
3426 show_backtrace(1);
3427 }
3428 {
3429 nit__parser_prod___AIdAtid___nit__parser_nodes__AAtid__n_id_61d(self, var_new_child); /* Direct call parser_prod#AIdAtid#n_id= on <self:AIdAtid>*/
3430 }
3431 goto RET_LABEL;
3432 } else {
3433 }
3434 RET_LABEL:;
3435 }
3436 /* method parser_prod#AIdAtid#n_id= for (self: AIdAtid, Token) */
3437 void nit__parser_prod___AIdAtid___nit__parser_nodes__AAtid__n_id_61d(val* self, val* p0) {
3438 val* var_node /* var node: Token */;
3439 var_node = p0;
3440 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AIdAtid> */
3441 {
3442 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
3443 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
3444 RET_LABEL1:(void)0;
3445 }
3446 }
3447 RET_LABEL:;
3448 }
3449 /* method parser_prod#AIdAtid#visit_all for (self: AIdAtid, Visitor) */
3450 void nit__parser_prod___AIdAtid___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3451 val* var_v /* var v: Visitor */;
3452 val* var /* : Token */;
3453 var_v = p0;
3454 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AIdAtid> */
3455 if (unlikely(var == NULL)) {
3456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3457 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7096);
3458 show_backtrace(1);
3459 }
3460 {
3461 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3462 }
3463 RET_LABEL:;
3464 }
3465 /* method parser_prod#AKwexternAtid#init_akwexternatid for (self: AKwexternAtid, nullable TKwextern) */
3466 void nit__parser_prod___AKwexternAtid___init_akwexternatid(val* self, val* p0) {
3467 val* var_n_id /* var n_id: nullable TKwextern */;
3468 var_n_id = p0;
3469 if (unlikely(var_n_id == NULL)) {
3470 PRINT_ERROR("Runtime error: %s", "Cast failed");
3471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7104);
3472 show_backtrace(1);
3473 }
3474 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwexternAtid> */
3475 if (var_n_id == NULL) {
3476 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7105);
3478 show_backtrace(1);
3479 } else {
3480 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TKwextern> */
3481 if (unlikely(var_n_id == NULL)) {
3482 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3483 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3484 show_backtrace(1);
3485 }
3486 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TKwextern> */
3487 RET_LABEL1:(void)0;
3488 }
3489 }
3490 RET_LABEL:;
3491 }
3492 /* method parser_prod#AKwexternAtid#replace_child for (self: AKwexternAtid, ANode, nullable ANode) */
3493 void nit__parser_prod___AKwexternAtid___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3494 val* var_old_child /* var old_child: ANode */;
3495 val* var_new_child /* var new_child: nullable ANode */;
3496 val* var /* : Token */;
3497 short int var1 /* : Bool */;
3498 val* var_other /* var other: nullable Object */;
3499 short int var3 /* : Bool */;
3500 short int var5 /* : Bool */;
3501 short int var6 /* : Bool */;
3502 int cltype;
3503 int idtype;
3504 const char* var_class_name;
3505 var_old_child = p0;
3506 var_new_child = p1;
3507 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwexternAtid> */
3508 if (unlikely(var == NULL)) {
3509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7110);
3511 show_backtrace(1);
3512 }
3513 {
3514 { /* Inline kernel#Object#== (var,var_old_child) on <var:Token> */
3515 var_other = var_old_child;
3516 {
3517 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:Token> */
3518 var5 = var == var_other;
3519 var3 = var5;
3520 goto RET_LABEL4;
3521 RET_LABEL4:(void)0;
3522 }
3523 }
3524 var1 = var3;
3525 goto RET_LABEL2;
3526 RET_LABEL2:(void)0;
3527 }
3528 }
3529 if (var1){
3530 /* <var_new_child:nullable ANode> isa TKwextern */
3531 cltype = type_nit__TKwextern.color;
3532 idtype = type_nit__TKwextern.id;
3533 if(var_new_child == NULL) {
3534 var6 = 0;
3535 } else {
3536 if(cltype >= var_new_child->type->table_size) {
3537 var6 = 0;
3538 } else {
3539 var6 = var_new_child->type->type_table[cltype] == idtype;
3540 }
3541 }
3542 if (unlikely(!var6)) {
3543 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3544 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwextern", var_class_name);
3545 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7111);
3546 show_backtrace(1);
3547 }
3548 {
3549 nit__parser_prod___AKwexternAtid___nit__parser_nodes__AAtid__n_id_61d(self, var_new_child); /* Direct call parser_prod#AKwexternAtid#n_id= on <self:AKwexternAtid>*/
3550 }
3551 goto RET_LABEL;
3552 } else {
3553 }
3554 RET_LABEL:;
3555 }
3556 /* method parser_prod#AKwexternAtid#n_id= for (self: AKwexternAtid, Token) */
3557 void nit__parser_prod___AKwexternAtid___nit__parser_nodes__AAtid__n_id_61d(val* self, val* p0) {
3558 val* var_node /* var node: Token */;
3559 var_node = p0;
3560 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwexternAtid> */
3561 {
3562 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
3563 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
3564 RET_LABEL1:(void)0;
3565 }
3566 }
3567 RET_LABEL:;
3568 }
3569 /* method parser_prod#AKwexternAtid#visit_all for (self: AKwexternAtid, Visitor) */
3570 void nit__parser_prod___AKwexternAtid___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3571 val* var_v /* var v: Visitor */;
3572 val* var /* : Token */;
3573 var_v = p0;
3574 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwexternAtid> */
3575 if (unlikely(var == NULL)) {
3576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7125);
3578 show_backtrace(1);
3579 }
3580 {
3581 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3582 }
3583 RET_LABEL:;
3584 }
3585 /* method parser_prod#AKwabstractAtid#init_akwabstractatid for (self: AKwabstractAtid, nullable TKwabstract) */
3586 void nit__parser_prod___AKwabstractAtid___init_akwabstractatid(val* self, val* p0) {
3587 val* var_n_id /* var n_id: nullable TKwabstract */;
3588 var_n_id = p0;
3589 if (unlikely(var_n_id == NULL)) {
3590 PRINT_ERROR("Runtime error: %s", "Cast failed");
3591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7133);
3592 show_backtrace(1);
3593 }
3594 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwabstractAtid> */
3595 if (var_n_id == NULL) {
3596 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7134);
3598 show_backtrace(1);
3599 } else {
3600 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TKwabstract> */
3601 if (unlikely(var_n_id == NULL)) {
3602 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36);
3604 show_backtrace(1);
3605 }
3606 var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TKwabstract> */
3607 RET_LABEL1:(void)0;
3608 }
3609 }
3610 RET_LABEL:;
3611 }
3612 /* method parser_prod#AKwabstractAtid#replace_child for (self: AKwabstractAtid, ANode, nullable ANode) */
3613 void nit__parser_prod___AKwabstractAtid___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3614 val* var_old_child /* var old_child: ANode */;
3615 val* var_new_child /* var new_child: nullable ANode */;
3616 val* var /* : Token */;
3617 short int var1 /* : Bool */;
3618 val* var_other /* var other: nullable Object */;
3619 short int var3 /* : Bool */;
3620 short int var5 /* : Bool */;
3621 short int var6 /* : Bool */;
3622 int cltype;
3623 int idtype;
3624 const char* var_class_name;
3625 var_old_child = p0;
3626 var_new_child = p1;
3627 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwabstractAtid> */
3628 if (unlikely(var == NULL)) {
3629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7139);
3631 show_backtrace(1);
3632 }
3633 {
3634 { /* Inline kernel#Object#== (var,var_old_child) on <var:Token> */
3635 var_other = var_old_child;
3636 {
3637 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:Token> */
3638 var5 = var == var_other;
3639 var3 = var5;
3640 goto RET_LABEL4;
3641 RET_LABEL4:(void)0;
3642 }
3643 }
3644 var1 = var3;
3645 goto RET_LABEL2;
3646 RET_LABEL2:(void)0;
3647 }
3648 }
3649 if (var1){
3650 /* <var_new_child:nullable ANode> isa TKwabstract */
3651 cltype = type_nit__TKwabstract.color;
3652 idtype = type_nit__TKwabstract.id;
3653 if(var_new_child == NULL) {
3654 var6 = 0;
3655 } else {
3656 if(cltype >= var_new_child->type->table_size) {
3657 var6 = 0;
3658 } else {
3659 var6 = var_new_child->type->type_table[cltype] == idtype;
3660 }
3661 }
3662 if (unlikely(!var6)) {
3663 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
3664 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabstract", var_class_name);
3665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7140);
3666 show_backtrace(1);
3667 }
3668 {
3669 nit__parser_prod___AKwabstractAtid___nit__parser_nodes__AAtid__n_id_61d(self, var_new_child); /* Direct call parser_prod#AKwabstractAtid#n_id= on <self:AKwabstractAtid>*/
3670 }
3671 goto RET_LABEL;
3672 } else {
3673 }
3674 RET_LABEL:;
3675 }
3676 /* method parser_prod#AKwabstractAtid#n_id= for (self: AKwabstractAtid, Token) */
3677 void nit__parser_prod___AKwabstractAtid___nit__parser_nodes__AAtid__n_id_61d(val* self, val* p0) {
3678 val* var_node /* var node: Token */;
3679 var_node = p0;
3680 self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwabstractAtid> */
3681 {
3682 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
3683 var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
3684 RET_LABEL1:(void)0;
3685 }
3686 }
3687 RET_LABEL:;
3688 }
3689 /* method parser_prod#AKwabstractAtid#visit_all for (self: AKwabstractAtid, Visitor) */
3690 void nit__parser_prod___AKwabstractAtid___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3691 val* var_v /* var v: Visitor */;
3692 val* var /* : Token */;
3693 var_v = p0;
3694 var = self->attrs[COLOR_nit__parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwabstractAtid> */
3695 if (unlikely(var == NULL)) {
3696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3697 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7154);
3698 show_backtrace(1);
3699 }
3700 {
3701 nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3702 }
3703 RET_LABEL:;
3704 }
3705 /* method parser_prod#Start#replace_child for (self: Start, ANode, nullable ANode) */
3706 void nit__parser_prod___Start___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
3707 val* var_old_child /* var old_child: ANode */;
3708 val* var_new_child /* var new_child: nullable ANode */;
3709 val* var /* : nullable AModule */;
3710 short int var1 /* : Bool */;
3711 short int var2 /* : Bool */;
3712 val* var_other /* var other: nullable Object */;
3713 short int var4 /* : Bool */;
3714 short int var6 /* : Bool */;
3715 val* var7 /* : null */;
3716 short int var8 /* : Bool */;
3717 short int var9 /* : Bool */;
3718 short int var11 /* : Bool */;
3719 short int var13 /* : Bool */;
3720 short int var15 /* : Bool */;
3721 int cltype;
3722 int idtype;
3723 val* var16 /* : null */;
3724 var_old_child = p0;
3725 var_new_child = p1;
3726 var = self->attrs[COLOR_nit__parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
3727 if (var == NULL) {
3728 var1 = 0; /* <var_old_child:ANode> cannot be null */
3729 } else {
3730 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable AModule> */
3731 var_other = var_old_child;
3732 {
3733 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AModule(AModule)> */
3734 var6 = var == var_other;
3735 var4 = var6;
3736 goto RET_LABEL5;
3737 RET_LABEL5:(void)0;
3738 }
3739 }
3740 var2 = var4;
3741 goto RET_LABEL3;
3742 RET_LABEL3:(void)0;
3743 }
3744 var1 = var2;
3745 }
3746 if (var1){
3747 var7 = NULL;
3748 if (var_new_child == NULL) {
3749 var8 = 1; /* is null */
3750 } else {
3751 var8 = 0; /* arg is null but recv is not */
3752 }
3753 if (0) {
3754 { /* Inline kernel#Object#== (var_new_child,var7) on <var_new_child:nullable ANode> */
3755 var_other = var7;
3756 {
3757 { /* Inline kernel#Object#is_same_instance (var_new_child,var_other) on <var_new_child:nullable ANode(ANode)> */
3758 var13 = var_new_child == var_other;
3759 var11 = var13;
3760 goto RET_LABEL12;
3761 RET_LABEL12:(void)0;
3762 }
3763 }
3764 var9 = var11;
3765 goto RET_LABEL10;
3766 RET_LABEL10:(void)0;
3767 }
3768 var8 = var9;
3769 }
3770 if (var8){
3771 } else {
3772 {
3773 { /* Inline parser_nodes#ANode#parent= (var_new_child,self) on <var_new_child:nullable ANode(ANode)> */
3774 var_new_child->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_new_child:nullable ANode(ANode)> */
3775 RET_LABEL14:(void)0;
3776 }
3777 }
3778 /* <var_new_child:nullable ANode(ANode)> isa AModule */
3779 cltype = type_nit__AModule.color;
3780 idtype = type_nit__AModule.id;
3781 if(cltype >= var_new_child->type->table_size) {
3782 var15 = 0;
3783 } else {
3784 var15 = var_new_child->type->type_table[cltype] == idtype;
3785 }
3786 if (unlikely(!var15)) {
3787 PRINT_ERROR("Runtime error: %s", "Assert failed");
3788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7194);
3789 show_backtrace(1);
3790 }
3791 self->attrs[COLOR_nit__parser_nodes__Start___n_base].val = var_new_child; /* _n_base on <self:Start> */
3792 }
3793 var16 = NULL;
3794 {
3795 { /* Inline parser_nodes#ANode#parent= (var_old_child,var16) on <var_old_child:ANode> */
3796 var_old_child->attrs[COLOR_nit__parser_nodes__ANode___parent].val = var16; /* _parent on <var_old_child:ANode> */
3797 RET_LABEL17:(void)0;
3798 }
3799 }
3800 goto RET_LABEL;
3801 } else {
3802 }
3803 RET_LABEL:;
3804 }
3805 /* method parser_prod#Start#visit_all for (self: Start, Visitor) */
3806 void nit__parser_prod___Start___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
3807 val* var_v /* var v: Visitor */;
3808 val* var /* : nullable AModule */;
3809 val* var1 /* : null */;
3810 short int var2 /* : Bool */;
3811 short int var3 /* : Bool */;
3812 val* var_other /* var other: nullable Object */;
3813 short int var5 /* : Bool */;
3814 short int var6 /* : Bool */;
3815 val* var7 /* : nullable AModule */;
3816 val* var8 /* : EOF */;
3817 var_v = p0;
3818 var = self->attrs[COLOR_nit__parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
3819 var1 = NULL;
3820 if (var == NULL) {
3821 var2 = 0; /* is null */
3822 } else {
3823 var2 = 1; /* arg is null and recv is not */
3824 }
3825 if (0) {
3826 { /* Inline kernel#Object#!= (var,var1) on <var:nullable AModule> */
3827 var_other = var1;
3828 {
3829 var5 = ((short int (*)(val* self, val* p0))(var->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var, var_other) /* == on <var:nullable AModule(AModule)>*/;
3830 }
3831 var6 = !var5;
3832 var3 = var6;
3833 goto RET_LABEL4;
3834 RET_LABEL4:(void)0;
3835 }
3836 var2 = var3;
3837 }
3838 if (var2){
3839 var7 = self->attrs[COLOR_nit__parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
3840 if (unlikely(var7 == NULL)) {
3841 PRINT_ERROR("Runtime error: %s", "Cast failed");
3842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7205);
3843 show_backtrace(1);
3844 }
3845 {
3846 nit___nit__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3847 }
3848 } else {
3849 }
3850 var8 = self->attrs[COLOR_nit__parser_nodes__Start___n_eof].val; /* _n_eof on <self:Start> */
3851 if (unlikely(var8 == NULL)) {
3852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
3853 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 7207);
3854 show_backtrace(1);
3855 }
3856 {
3857 nit___nit__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3858 }
3859 RET_LABEL:;
3860 }