1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#ASignature#replace_child for (self: ASignature, ANode, nullable ANode) */
3 void parser_prod__ASignature__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
/* : nullable TOpar */;
7 short int var1
/* : Bool */;
8 short int var2
/* : Bool */;
9 val
* var_other
/* var other: nullable Object */;
10 short int var4
/* : Bool */;
11 short int var6
/* : Bool */;
12 short int var7
/* : Bool */;
15 const char* var_class_name
;
16 val
* var8
/* : ANodes[AParam] */;
17 val
* var10
/* : ANodes[AParam] */;
18 short int var11
/* : Bool */;
19 val
* var12
/* : nullable TCpar */;
20 short int var13
/* : Bool */;
21 short int var14
/* : Bool */;
22 short int var16
/* : Bool */;
23 short int var18
/* : Bool */;
24 short int var19
/* : Bool */;
27 const char* var_class_name22
;
28 val
* var23
/* : nullable AType */;
29 short int var24
/* : Bool */;
30 short int var25
/* : Bool */;
31 short int var27
/* : Bool */;
32 short int var29
/* : Bool */;
33 short int var30
/* : Bool */;
36 const char* var_class_name33
;
39 var
= self
->attrs
[COLOR_parser_nodes__ASignature___n_opar
].val
; /* _n_opar on <self:ASignature> */
41 var1
= 0; /* <var_old_child:ANode> cannot be null */
43 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TOpar> */
44 var_other
= var_old_child
;
46 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TOpar(TOpar)> */
47 var6
= var
== var_other
;
60 /* <var_new_child:nullable ANode> isa nullable TOpar */
61 cltype
= type_nullable_parser_nodes__TOpar
.color
;
62 idtype
= type_nullable_parser_nodes__TOpar
.id
;
63 if(var_new_child
== NULL
) {
66 if(cltype
>= var_new_child
->type
->table_size
) {
69 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
72 if (unlikely(!var7
)) {
73 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
74 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name
);
75 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2743);
79 parser_prod__ASignature__n_opar_61d(self
, var_new_child
); /* Direct call parser_prod#ASignature#n_opar= on <self:ASignature>*/
85 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
86 var10
= self
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <self:ASignature> */
87 if (unlikely(var10
== NULL
)) {
88 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
89 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
97 var11
= parser_nodes__ANodes__replace_child(var8
, var_old_child
, var_new_child
);
103 var12
= self
->attrs
[COLOR_parser_nodes__ASignature___n_cpar
].val
; /* _n_cpar on <self:ASignature> */
105 var13
= 0; /* <var_old_child:ANode> cannot be null */
107 { /* Inline kernel#Object#== (var12,var_old_child) on <var12:nullable TCpar> */
108 var_other
= var_old_child
;
110 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:nullable TCpar(TCpar)> */
111 var18
= var12
== var_other
;
124 /* <var_new_child:nullable ANode> isa nullable TCpar */
125 cltype20
= type_nullable_parser_nodes__TCpar
.color
;
126 idtype21
= type_nullable_parser_nodes__TCpar
.id
;
127 if(var_new_child
== NULL
) {
130 if(cltype20
>= var_new_child
->type
->table_size
) {
133 var19
= var_new_child
->type
->type_table
[cltype20
] == idtype21
;
136 if (unlikely(!var19
)) {
137 var_class_name22
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
138 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name22
);
139 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2748);
143 parser_prod__ASignature__n_cpar_61d(self
, var_new_child
); /* Direct call parser_prod#ASignature#n_cpar= on <self:ASignature>*/
148 var23
= self
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <self:ASignature> */
150 var24
= 0; /* <var_old_child:ANode> cannot be null */
152 { /* Inline kernel#Object#== (var23,var_old_child) on <var23:nullable AType> */
153 var_other
= var_old_child
;
155 { /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:nullable AType(AType)> */
156 var29
= var23
== var_other
;
169 /* <var_new_child:nullable ANode> isa nullable AType */
170 cltype31
= type_nullable_parser_nodes__AType
.color
;
171 idtype32
= type_nullable_parser_nodes__AType
.id
;
172 if(var_new_child
== NULL
) {
175 if(cltype31
>= var_new_child
->type
->table_size
) {
178 var30
= var_new_child
->type
->type_table
[cltype31
] == idtype32
;
181 if (unlikely(!var30
)) {
182 var_class_name33
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
183 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name33
);
184 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2752);
188 parser_prod__ASignature__n_type_61d(self
, var_new_child
); /* Direct call parser_prod#ASignature#n_type= on <self:ASignature>*/
195 /* method parser_prod#ASignature#replace_child for (self: Object, ANode, nullable ANode) */
196 void VIRTUAL_parser_prod__ASignature__replace_child(val
* self
, val
* p0
, val
* p1
) {
197 parser_prod__ASignature__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ASignature#replace_child on <self:Object(ASignature)>*/
200 /* method parser_prod#ASignature#n_opar= for (self: ASignature, nullable TOpar) */
201 void parser_prod__ASignature__n_opar_61d(val
* self
, val
* p0
) {
202 val
* var_node
/* var node: nullable TOpar */;
203 val
* var
/* : null */;
204 short int var1
/* : Bool */;
205 short int var2
/* : Bool */;
206 val
* var_other
/* var other: nullable Object */;
207 short int var4
/* : Bool */;
208 short int var5
/* : Bool */;
209 short int var6
/* : Bool */;
211 self
->attrs
[COLOR_parser_nodes__ASignature___n_opar
].val
= var_node
; /* _n_opar on <self:ASignature> */
213 if (var_node
== NULL
) {
214 var1
= 0; /* is null */
216 var1
= 1; /* arg is null and recv is not */
219 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TOpar> */
222 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TOpar(TOpar)>*/;
234 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TOpar(TOpar)> */
235 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TOpar(TOpar)> */
243 /* method parser_prod#ASignature#n_opar= for (self: Object, nullable TOpar) */
244 void VIRTUAL_parser_prod__ASignature__n_opar_61d(val
* self
, val
* p0
) {
245 parser_prod__ASignature__n_opar_61d(self
, p0
); /* Direct call parser_prod#ASignature#n_opar= on <self:Object(ASignature)>*/
248 /* method parser_prod#ASignature#n_cpar= for (self: ASignature, nullable TCpar) */
249 void parser_prod__ASignature__n_cpar_61d(val
* self
, val
* p0
) {
250 val
* var_node
/* var node: nullable TCpar */;
251 val
* var
/* : null */;
252 short int var1
/* : Bool */;
253 short int var2
/* : Bool */;
254 val
* var_other
/* var other: nullable Object */;
255 short int var4
/* : Bool */;
256 short int var5
/* : Bool */;
257 short int var6
/* : Bool */;
259 self
->attrs
[COLOR_parser_nodes__ASignature___n_cpar
].val
= var_node
; /* _n_cpar on <self:ASignature> */
261 if (var_node
== NULL
) {
262 var1
= 0; /* is null */
264 var1
= 1; /* arg is null and recv is not */
267 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TCpar> */
270 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TCpar(TCpar)>*/;
282 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TCpar(TCpar)> */
283 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TCpar(TCpar)> */
291 /* method parser_prod#ASignature#n_cpar= for (self: Object, nullable TCpar) */
292 void VIRTUAL_parser_prod__ASignature__n_cpar_61d(val
* self
, val
* p0
) {
293 parser_prod__ASignature__n_cpar_61d(self
, p0
); /* Direct call parser_prod#ASignature#n_cpar= on <self:Object(ASignature)>*/
296 /* method parser_prod#ASignature#n_type= for (self: ASignature, nullable AType) */
297 void parser_prod__ASignature__n_type_61d(val
* self
, val
* p0
) {
298 val
* var_node
/* var node: nullable AType */;
299 val
* var
/* : null */;
300 short int var1
/* : Bool */;
301 short int var2
/* : Bool */;
302 val
* var_other
/* var other: nullable Object */;
303 short int var4
/* : Bool */;
304 short int var5
/* : Bool */;
305 short int var6
/* : Bool */;
307 self
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
= var_node
; /* _n_type on <self:ASignature> */
309 if (var_node
== NULL
) {
310 var1
= 0; /* is null */
312 var1
= 1; /* arg is null and recv is not */
315 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AType> */
318 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AType(AType)>*/;
330 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
331 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AType(AType)> */
339 /* method parser_prod#ASignature#n_type= for (self: Object, nullable AType) */
340 void VIRTUAL_parser_prod__ASignature__n_type_61d(val
* self
, val
* p0
) {
341 parser_prod__ASignature__n_type_61d(self
, p0
); /* Direct call parser_prod#ASignature#n_type= on <self:Object(ASignature)>*/
344 /* method parser_prod#ASignature#visit_all for (self: ASignature, Visitor) */
345 void parser_prod__ASignature__visit_all(val
* self
, val
* p0
) {
346 val
* var_v
/* var v: Visitor */;
347 val
* var
/* : nullable TOpar */;
348 val
* var1
/* : ANodes[AParam] */;
349 val
* var3
/* : ANodes[AParam] */;
350 val
* var4
/* : nullable TCpar */;
351 val
* var5
/* : nullable AType */;
353 var
= self
->attrs
[COLOR_parser_nodes__ASignature___n_opar
].val
; /* _n_opar on <self:ASignature> */
355 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
358 { /* Inline parser_nodes#ASignature#n_params (self) on <self:ASignature> */
359 var3
= self
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <self:ASignature> */
360 if (unlikely(var3
== NULL
)) {
361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
362 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
370 parser_nodes__ANodes__visit_all(var1
, var_v
); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[AParam]>*/
372 var4
= self
->attrs
[COLOR_parser_nodes__ASignature___n_cpar
].val
; /* _n_cpar on <self:ASignature> */
374 parser_nodes__Visitor__enter_visit(var_v
, var4
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
376 var5
= self
->attrs
[COLOR_parser_nodes__ASignature___n_type
].val
; /* _n_type on <self:ASignature> */
378 parser_nodes__Visitor__enter_visit(var_v
, var5
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
382 /* method parser_prod#ASignature#visit_all for (self: Object, Visitor) */
383 void VIRTUAL_parser_prod__ASignature__visit_all(val
* self
, val
* p0
) {
384 parser_prod__ASignature__visit_all(self
, p0
); /* Direct call parser_prod#ASignature#visit_all on <self:Object(ASignature)>*/
387 /* method parser_prod#AParam#init_aparam for (self: AParam, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */
388 void parser_prod__AParam__init_aparam(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
389 val
* var_n_id
/* var n_id: nullable TId */;
390 val
* var_n_type
/* var n_type: nullable AType */;
391 val
* var_n_dotdotdot
/* var n_dotdotdot: nullable TDotdotdot */;
392 val
* var_n_annotations
/* var n_annotations: nullable AAnnotations */;
393 val
* var
/* : null */;
394 short int var2
/* : Bool */;
395 short int var3
/* : Bool */;
396 val
* var_other
/* var other: nullable Object */;
397 short int var5
/* : Bool */;
398 short int var6
/* : Bool */;
399 short int var7
/* : Bool */;
400 val
* var9
/* : null */;
401 short int var10
/* : Bool */;
402 short int var11
/* : Bool */;
403 short int var13
/* : Bool */;
404 short int var14
/* : Bool */;
405 short int var15
/* : Bool */;
406 val
* var17
/* : null */;
407 short int var18
/* : Bool */;
408 short int var19
/* : Bool */;
409 short int var21
/* : Bool */;
410 short int var22
/* : Bool */;
411 short int var23
/* : Bool */;
414 var_n_dotdotdot
= p2
;
415 var_n_annotations
= p3
;
416 if (unlikely(var_n_id
== NULL
)) {
417 PRINT_ERROR("Runtime error: %s", "Cast failed");
418 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2790);
421 self
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
= var_n_id
; /* _n_id on <self:AParam> */
422 if (var_n_id
== NULL
) {
423 PRINT_ERROR("Runtime error: %s", "Receiver is null");
424 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2791);
427 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
428 if (unlikely(var_n_id
== NULL
)) {
429 PRINT_ERROR("Runtime error: %s", "Receiver is null");
430 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
433 var_n_id
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_id:nullable TId> */
437 self
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
= var_n_type
; /* _n_type on <self:AParam> */
439 if (var_n_type
== NULL
) {
440 var2
= 0; /* is null */
442 var2
= 1; /* arg is null and recv is not */
445 { /* Inline kernel#Object#!= (var_n_type,var) on <var_n_type:nullable AType> */
448 var6
= ((short int (*)(val
*, val
*))(var_n_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_type
, var_other
) /* == on <var_n_type:nullable AType(AType)>*/;
460 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType(AType)> */
461 var_n_type
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_type:nullable AType(AType)> */
467 self
->attrs
[COLOR_parser_nodes__AParam___n_dotdotdot
].val
= var_n_dotdotdot
; /* _n_dotdotdot on <self:AParam> */
469 if (var_n_dotdotdot
== NULL
) {
470 var10
= 0; /* is null */
472 var10
= 1; /* arg is null and recv is not */
475 { /* Inline kernel#Object#!= (var_n_dotdotdot,var9) on <var_n_dotdotdot:nullable TDotdotdot> */
478 var14
= ((short int (*)(val
*, val
*))(var_n_dotdotdot
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_dotdotdot
, var_other
) /* == on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)>*/;
490 { /* Inline parser_nodes#ANode#parent= (var_n_dotdotdot,self) on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)> */
491 var_n_dotdotdot
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_dotdotdot:nullable TDotdotdot(TDotdotdot)> */
497 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_n_annotations
; /* _n_annotations on <self:AParam> */
499 if (var_n_annotations
== NULL
) {
500 var18
= 0; /* is null */
502 var18
= 1; /* arg is null and recv is not */
505 { /* Inline kernel#Object#!= (var_n_annotations,var17) on <var_n_annotations:nullable AAnnotations> */
508 var22
= ((short int (*)(val
*, val
*))(var_n_annotations
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_annotations
, var_other
) /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
520 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
521 var_n_annotations
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
529 /* method parser_prod#AParam#init_aparam for (self: Object, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */
530 void VIRTUAL_parser_prod__AParam__init_aparam(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
531 parser_prod__AParam__init_aparam(self
, p0
, p1
, p2
, p3
); /* Direct call parser_prod#AParam#init_aparam on <self:Object(AParam)>*/
534 /* method parser_prod#AParam#replace_child for (self: AParam, ANode, nullable ANode) */
535 void parser_prod__AParam__replace_child(val
* self
, val
* p0
, val
* p1
) {
536 val
* var_old_child
/* var old_child: ANode */;
537 val
* var_new_child
/* var new_child: nullable ANode */;
538 val
* var
/* : TId */;
539 short int var1
/* : Bool */;
540 short int var2
/* : Bool */;
541 val
* var_other
/* var other: nullable Object */;
542 short int var4
/* : Bool */;
543 short int var6
/* : Bool */;
544 short int var7
/* : Bool */;
547 const char* var_class_name
;
548 val
* var8
/* : nullable AType */;
549 short int var9
/* : Bool */;
550 short int var10
/* : Bool */;
551 short int var12
/* : Bool */;
552 short int var14
/* : Bool */;
553 short int var15
/* : Bool */;
556 const char* var_class_name18
;
557 val
* var19
/* : nullable TDotdotdot */;
558 short int var20
/* : Bool */;
559 short int var21
/* : Bool */;
560 short int var23
/* : Bool */;
561 short int var25
/* : Bool */;
562 short int var26
/* : Bool */;
565 const char* var_class_name29
;
566 val
* var30
/* : nullable AAnnotations */;
567 short int var31
/* : Bool */;
568 short int var32
/* : Bool */;
569 short int var34
/* : Bool */;
570 short int var36
/* : Bool */;
571 short int var37
/* : Bool */;
574 const char* var_class_name40
;
577 var
= self
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
; /* _n_id on <self:AParam> */
578 if (unlikely(var
== NULL
)) {
579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
580 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2802);
584 { /* Inline kernel#Object#== (var,var_old_child) on <var:TId> */
585 var_other
= var_old_child
;
587 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TId> */
588 var6
= var
== var_other
;
601 /* <var_new_child:nullable ANode> isa TId */
602 cltype
= type_parser_nodes__TId
.color
;
603 idtype
= type_parser_nodes__TId
.id
;
604 if(var_new_child
== NULL
) {
607 if(cltype
>= var_new_child
->type
->table_size
) {
610 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
613 if (unlikely(!var7
)) {
614 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
615 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name
);
616 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2803);
620 parser_prod__AParam__n_id_61d(self
, var_new_child
); /* Direct call parser_prod#AParam#n_id= on <self:AParam>*/
625 var8
= self
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
; /* _n_type on <self:AParam> */
627 var9
= 0; /* <var_old_child:ANode> cannot be null */
629 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable AType> */
630 var_other
= var_old_child
;
632 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable AType(AType)> */
633 var14
= var8
== var_other
;
646 /* <var_new_child:nullable ANode> isa nullable AType */
647 cltype16
= type_nullable_parser_nodes__AType
.color
;
648 idtype17
= type_nullable_parser_nodes__AType
.id
;
649 if(var_new_child
== NULL
) {
652 if(cltype16
>= var_new_child
->type
->table_size
) {
655 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
658 if (unlikely(!var15
)) {
659 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
660 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name18
);
661 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2807);
665 parser_prod__AParam__n_type_61d(self
, var_new_child
); /* Direct call parser_prod#AParam#n_type= on <self:AParam>*/
670 var19
= self
->attrs
[COLOR_parser_nodes__AParam___n_dotdotdot
].val
; /* _n_dotdotdot on <self:AParam> */
672 var20
= 0; /* <var_old_child:ANode> cannot be null */
674 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable TDotdotdot> */
675 var_other
= var_old_child
;
677 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable TDotdotdot(TDotdotdot)> */
678 var25
= var19
== var_other
;
691 /* <var_new_child:nullable ANode> isa nullable TDotdotdot */
692 cltype27
= type_nullable_parser_nodes__TDotdotdot
.color
;
693 idtype28
= type_nullable_parser_nodes__TDotdotdot
.id
;
694 if(var_new_child
== NULL
) {
697 if(cltype27
>= var_new_child
->type
->table_size
) {
700 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
703 if (unlikely(!var26
)) {
704 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
705 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TDotdotdot", var_class_name29
);
706 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2811);
710 parser_prod__AParam__n_dotdotdot_61d(self
, var_new_child
); /* Direct call parser_prod#AParam#n_dotdotdot= on <self:AParam>*/
715 var30
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AParam> */
717 var31
= 0; /* <var_old_child:ANode> cannot be null */
719 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable AAnnotations> */
720 var_other
= var_old_child
;
722 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable AAnnotations(AAnnotations)> */
723 var36
= var30
== var_other
;
736 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
737 cltype38
= type_nullable_parser_nodes__AAnnotations
.color
;
738 idtype39
= type_nullable_parser_nodes__AAnnotations
.id
;
739 if(var_new_child
== NULL
) {
742 if(cltype38
>= var_new_child
->type
->table_size
) {
745 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
748 if (unlikely(!var37
)) {
749 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
750 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name40
);
751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2815);
755 parser_prod__AParam__n_annotations_61d(self
, var_new_child
); /* Direct call parser_prod#AParam#n_annotations= on <self:AParam>*/
762 /* method parser_prod#AParam#replace_child for (self: Object, ANode, nullable ANode) */
763 void VIRTUAL_parser_prod__AParam__replace_child(val
* self
, val
* p0
, val
* p1
) {
764 parser_prod__AParam__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AParam#replace_child on <self:Object(AParam)>*/
767 /* method parser_prod#AParam#n_id= for (self: AParam, TId) */
768 void parser_prod__AParam__n_id_61d(val
* self
, val
* p0
) {
769 val
* var_node
/* var node: TId */;
771 self
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
= var_node
; /* _n_id on <self:AParam> */
773 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
774 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TId> */
780 /* method parser_prod#AParam#n_id= for (self: Object, TId) */
781 void VIRTUAL_parser_prod__AParam__n_id_61d(val
* self
, val
* p0
) {
782 parser_prod__AParam__n_id_61d(self
, p0
); /* Direct call parser_prod#AParam#n_id= on <self:Object(AParam)>*/
785 /* method parser_prod#AParam#n_type= for (self: AParam, nullable AType) */
786 void parser_prod__AParam__n_type_61d(val
* self
, val
* p0
) {
787 val
* var_node
/* var node: nullable AType */;
788 val
* var
/* : null */;
789 short int var1
/* : Bool */;
790 short int var2
/* : Bool */;
791 val
* var_other
/* var other: nullable Object */;
792 short int var4
/* : Bool */;
793 short int var5
/* : Bool */;
794 short int var6
/* : Bool */;
796 self
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
= var_node
; /* _n_type on <self:AParam> */
798 if (var_node
== NULL
) {
799 var1
= 0; /* is null */
801 var1
= 1; /* arg is null and recv is not */
804 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AType> */
807 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AType(AType)>*/;
819 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
820 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AType(AType)> */
828 /* method parser_prod#AParam#n_type= for (self: Object, nullable AType) */
829 void VIRTUAL_parser_prod__AParam__n_type_61d(val
* self
, val
* p0
) {
830 parser_prod__AParam__n_type_61d(self
, p0
); /* Direct call parser_prod#AParam#n_type= on <self:Object(AParam)>*/
833 /* method parser_prod#AParam#n_dotdotdot= for (self: AParam, nullable TDotdotdot) */
834 void parser_prod__AParam__n_dotdotdot_61d(val
* self
, val
* p0
) {
835 val
* var_node
/* var node: nullable TDotdotdot */;
836 val
* var
/* : null */;
837 short int var1
/* : Bool */;
838 short int var2
/* : Bool */;
839 val
* var_other
/* var other: nullable Object */;
840 short int var4
/* : Bool */;
841 short int var5
/* : Bool */;
842 short int var6
/* : Bool */;
844 self
->attrs
[COLOR_parser_nodes__AParam___n_dotdotdot
].val
= var_node
; /* _n_dotdotdot on <self:AParam> */
846 if (var_node
== NULL
) {
847 var1
= 0; /* is null */
849 var1
= 1; /* arg is null and recv is not */
852 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TDotdotdot> */
855 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TDotdotdot(TDotdotdot)>*/;
867 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TDotdotdot(TDotdotdot)> */
868 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TDotdotdot(TDotdotdot)> */
876 /* method parser_prod#AParam#n_dotdotdot= for (self: Object, nullable TDotdotdot) */
877 void VIRTUAL_parser_prod__AParam__n_dotdotdot_61d(val
* self
, val
* p0
) {
878 parser_prod__AParam__n_dotdotdot_61d(self
, p0
); /* Direct call parser_prod#AParam#n_dotdotdot= on <self:Object(AParam)>*/
881 /* method parser_prod#AParam#n_annotations= for (self: AParam, nullable AAnnotations) */
882 void parser_prod__AParam__n_annotations_61d(val
* self
, val
* p0
) {
883 val
* var_node
/* var node: nullable AAnnotations */;
884 val
* var
/* : null */;
885 short int var1
/* : Bool */;
886 short int var2
/* : Bool */;
887 val
* var_other
/* var other: nullable Object */;
888 short int var4
/* : Bool */;
889 short int var5
/* : Bool */;
890 short int var6
/* : Bool */;
892 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_node
; /* _n_annotations on <self:AParam> */
894 if (var_node
== NULL
) {
895 var1
= 0; /* is null */
897 var1
= 1; /* arg is null and recv is not */
900 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AAnnotations> */
903 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AAnnotations(AAnnotations)>*/;
915 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
916 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
924 /* method parser_prod#AParam#n_annotations= for (self: Object, nullable AAnnotations) */
925 void VIRTUAL_parser_prod__AParam__n_annotations_61d(val
* self
, val
* p0
) {
926 parser_prod__AParam__n_annotations_61d(self
, p0
); /* Direct call parser_prod#AParam#n_annotations= on <self:Object(AParam)>*/
929 /* method parser_prod#AParam#visit_all for (self: AParam, Visitor) */
930 void parser_prod__AParam__visit_all(val
* self
, val
* p0
) {
931 val
* var_v
/* var v: Visitor */;
932 val
* var
/* : TId */;
933 val
* var1
/* : nullable AType */;
934 val
* var2
/* : nullable TDotdotdot */;
935 val
* var3
/* : nullable AAnnotations */;
937 var
= self
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
; /* _n_id on <self:AParam> */
938 if (unlikely(var
== NULL
)) {
939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
940 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2844);
944 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
946 var1
= self
->attrs
[COLOR_parser_nodes__AParam___n_type
].val
; /* _n_type on <self:AParam> */
948 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
950 var2
= self
->attrs
[COLOR_parser_nodes__AParam___n_dotdotdot
].val
; /* _n_dotdotdot on <self:AParam> */
952 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
954 var3
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AParam> */
956 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
960 /* method parser_prod#AParam#visit_all for (self: Object, Visitor) */
961 void VIRTUAL_parser_prod__AParam__visit_all(val
* self
, val
* p0
) {
962 parser_prod__AParam__visit_all(self
, p0
); /* Direct call parser_prod#AParam#visit_all on <self:Object(AParam)>*/
965 /* method parser_prod#AType#init_atype for (self: AType, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */
966 void parser_prod__AType__init_atype(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
967 val
* var_n_kwnullable
/* var n_kwnullable: nullable TKwnullable */;
968 val
* var_n_id
/* var n_id: nullable TClassid */;
969 val
* var_n_types
/* var n_types: Collection[Object] */;
970 val
* var_n_annotations
/* var n_annotations: nullable AAnnotations */;
971 val
* var
/* : null */;
972 short int var1
/* : Bool */;
973 short int var2
/* : Bool */;
974 val
* var_other
/* var other: nullable Object */;
975 short int var4
/* : Bool */;
976 short int var5
/* : Bool */;
977 short int var6
/* : Bool */;
978 val
* var9
/* : ANodes[AType] */;
979 val
* var11
/* : ANodes[AType] */;
980 val
* var12
/* : null */;
981 short int var13
/* : Bool */;
982 short int var14
/* : Bool */;
983 short int var16
/* : Bool */;
984 short int var17
/* : Bool */;
985 short int var18
/* : Bool */;
986 var_n_kwnullable
= p0
;
989 var_n_annotations
= p3
;
990 self
->attrs
[COLOR_parser_nodes__AType___n_kwnullable
].val
= var_n_kwnullable
; /* _n_kwnullable on <self:AType> */
992 if (var_n_kwnullable
== NULL
) {
993 var1
= 0; /* is null */
995 var1
= 1; /* arg is null and recv is not */
998 { /* Inline kernel#Object#!= (var_n_kwnullable,var) on <var_n_kwnullable:nullable TKwnullable> */
1001 var5
= ((short int (*)(val
*, val
*))(var_n_kwnullable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwnullable
, var_other
) /* == on <var_n_kwnullable:nullable TKwnullable(TKwnullable)>*/;
1013 { /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on <var_n_kwnullable:nullable TKwnullable(TKwnullable)> */
1014 var_n_kwnullable
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwnullable:nullable TKwnullable(TKwnullable)> */
1020 if (unlikely(var_n_id
== NULL
)) {
1021 PRINT_ERROR("Runtime error: %s", "Cast failed");
1022 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2860);
1025 self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
= var_n_id
; /* _n_id on <self:AType> */
1026 if (var_n_id
== NULL
) {
1027 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1028 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2861);
1031 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TClassid> */
1032 if (unlikely(var_n_id
== NULL
)) {
1033 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1034 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
1037 var_n_id
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_id:nullable TClassid> */
1042 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
1043 var11
= self
->attrs
[COLOR_parser_nodes__AType___n_types
].val
; /* _n_types on <self:AType> */
1044 if (unlikely(var11
== NULL
)) {
1045 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
1046 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
1050 RET_LABEL10
:(void)0;
1054 parser_nodes__ANodes__unsafe_add_all(var9
, var_n_types
); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var9:ANodes[AType]>*/
1056 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_n_annotations
; /* _n_annotations on <self:AType> */
1058 if (var_n_annotations
== NULL
) {
1059 var13
= 0; /* is null */
1061 var13
= 1; /* arg is null and recv is not */
1064 { /* Inline kernel#Object#!= (var_n_annotations,var12) on <var_n_annotations:nullable AAnnotations> */
1067 var17
= ((short int (*)(val
*, val
*))(var_n_annotations
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_annotations
, var_other
) /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
1073 RET_LABEL15
:(void)0;
1079 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
1080 var_n_annotations
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
1081 RET_LABEL19
:(void)0;
1088 /* method parser_prod#AType#init_atype for (self: Object, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */
1089 void VIRTUAL_parser_prod__AType__init_atype(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1090 parser_prod__AType__init_atype(self
, p0
, p1
, p2
, p3
); /* Direct call parser_prod#AType#init_atype on <self:Object(AType)>*/
1093 /* method parser_prod#AType#replace_child for (self: AType, ANode, nullable ANode) */
1094 void parser_prod__AType__replace_child(val
* self
, val
* p0
, val
* p1
) {
1095 val
* var_old_child
/* var old_child: ANode */;
1096 val
* var_new_child
/* var new_child: nullable ANode */;
1097 val
* var
/* : nullable TKwnullable */;
1098 short int var1
/* : Bool */;
1099 short int var2
/* : Bool */;
1100 val
* var_other
/* var other: nullable Object */;
1101 short int var4
/* : Bool */;
1102 short int var6
/* : Bool */;
1103 short int var7
/* : Bool */;
1106 const char* var_class_name
;
1107 val
* var8
/* : TClassid */;
1108 short int var9
/* : Bool */;
1109 short int var10
/* : Bool */;
1110 short int var12
/* : Bool */;
1111 short int var14
/* : Bool */;
1112 short int var15
/* : Bool */;
1115 const char* var_class_name18
;
1116 val
* var19
/* : ANodes[AType] */;
1117 val
* var21
/* : ANodes[AType] */;
1118 short int var22
/* : Bool */;
1119 val
* var23
/* : nullable AAnnotations */;
1120 short int var24
/* : Bool */;
1121 short int var25
/* : Bool */;
1122 short int var27
/* : Bool */;
1123 short int var29
/* : Bool */;
1124 short int var30
/* : Bool */;
1127 const char* var_class_name33
;
1130 var
= self
->attrs
[COLOR_parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <self:AType> */
1132 var1
= 0; /* <var_old_child:ANode> cannot be null */
1134 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwnullable> */
1135 var_other
= var_old_child
;
1137 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwnullable(TKwnullable)> */
1138 var6
= var
== var_other
;
1151 /* <var_new_child:nullable ANode> isa nullable TKwnullable */
1152 cltype
= type_nullable_parser_nodes__TKwnullable
.color
;
1153 idtype
= type_nullable_parser_nodes__TKwnullable
.id
;
1154 if(var_new_child
== NULL
) {
1157 if(cltype
>= var_new_child
->type
->table_size
) {
1160 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
1163 if (unlikely(!var7
)) {
1164 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1165 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwnullable", var_class_name
);
1166 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2870);
1170 parser_prod__AType__n_kwnullable_61d(self
, var_new_child
); /* Direct call parser_prod#AType#n_kwnullable= on <self:AType>*/
1175 var8
= self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
; /* _n_id on <self:AType> */
1176 if (unlikely(var8
== NULL
)) {
1177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1178 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2873);
1182 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TClassid> */
1183 var_other
= var_old_child
;
1185 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TClassid> */
1186 var14
= var8
== var_other
;
1189 RET_LABEL13
:(void)0;
1194 RET_LABEL11
:(void)0;
1199 /* <var_new_child:nullable ANode> isa TClassid */
1200 cltype16
= type_parser_nodes__TClassid
.color
;
1201 idtype17
= type_parser_nodes__TClassid
.id
;
1202 if(var_new_child
== NULL
) {
1205 if(cltype16
>= var_new_child
->type
->table_size
) {
1208 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
1211 if (unlikely(!var15
)) {
1212 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1213 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name18
);
1214 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2874);
1218 parser_prod__AType__n_id_61d(self
, var_new_child
); /* Direct call parser_prod#AType#n_id= on <self:AType>*/
1224 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
1225 var21
= self
->attrs
[COLOR_parser_nodes__AType___n_types
].val
; /* _n_types on <self:AType> */
1226 if (unlikely(var21
== NULL
)) {
1227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
1228 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
1232 RET_LABEL20
:(void)0;
1236 var22
= parser_nodes__ANodes__replace_child(var19
, var_old_child
, var_new_child
);
1242 var23
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AType> */
1243 if (var23
== NULL
) {
1244 var24
= 0; /* <var_old_child:ANode> cannot be null */
1246 { /* Inline kernel#Object#== (var23,var_old_child) on <var23:nullable AAnnotations> */
1247 var_other
= var_old_child
;
1249 { /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:nullable AAnnotations(AAnnotations)> */
1250 var29
= var23
== var_other
;
1253 RET_LABEL28
:(void)0;
1258 RET_LABEL26
:(void)0;
1263 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
1264 cltype31
= type_nullable_parser_nodes__AAnnotations
.color
;
1265 idtype32
= type_nullable_parser_nodes__AAnnotations
.id
;
1266 if(var_new_child
== NULL
) {
1269 if(cltype31
>= var_new_child
->type
->table_size
) {
1272 var30
= var_new_child
->type
->type_table
[cltype31
] == idtype32
;
1275 if (unlikely(!var30
)) {
1276 var_class_name33
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1277 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name33
);
1278 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2879);
1282 parser_prod__AType__n_annotations_61d(self
, var_new_child
); /* Direct call parser_prod#AType#n_annotations= on <self:AType>*/
1289 /* method parser_prod#AType#replace_child for (self: Object, ANode, nullable ANode) */
1290 void VIRTUAL_parser_prod__AType__replace_child(val
* self
, val
* p0
, val
* p1
) {
1291 parser_prod__AType__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AType#replace_child on <self:Object(AType)>*/
1294 /* method parser_prod#AType#n_kwnullable= for (self: AType, nullable TKwnullable) */
1295 void parser_prod__AType__n_kwnullable_61d(val
* self
, val
* p0
) {
1296 val
* var_node
/* var node: nullable TKwnullable */;
1297 val
* var
/* : null */;
1298 short int var1
/* : Bool */;
1299 short int var2
/* : Bool */;
1300 val
* var_other
/* var other: nullable Object */;
1301 short int var4
/* : Bool */;
1302 short int var5
/* : Bool */;
1303 short int var6
/* : Bool */;
1305 self
->attrs
[COLOR_parser_nodes__AType___n_kwnullable
].val
= var_node
; /* _n_kwnullable on <self:AType> */
1307 if (var_node
== NULL
) {
1308 var1
= 0; /* is null */
1310 var1
= 1; /* arg is null and recv is not */
1313 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TKwnullable> */
1316 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TKwnullable(TKwnullable)>*/;
1328 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwnullable(TKwnullable)> */
1329 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TKwnullable(TKwnullable)> */
1337 /* method parser_prod#AType#n_kwnullable= for (self: Object, nullable TKwnullable) */
1338 void VIRTUAL_parser_prod__AType__n_kwnullable_61d(val
* self
, val
* p0
) {
1339 parser_prod__AType__n_kwnullable_61d(self
, p0
); /* Direct call parser_prod#AType#n_kwnullable= on <self:Object(AType)>*/
1342 /* method parser_prod#AType#n_id= for (self: AType, TClassid) */
1343 void parser_prod__AType__n_id_61d(val
* self
, val
* p0
) {
1344 val
* var_node
/* var node: TClassid */;
1346 self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
= var_node
; /* _n_id on <self:AType> */
1348 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TClassid> */
1349 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TClassid> */
1355 /* method parser_prod#AType#n_id= for (self: Object, TClassid) */
1356 void VIRTUAL_parser_prod__AType__n_id_61d(val
* self
, val
* p0
) {
1357 parser_prod__AType__n_id_61d(self
, p0
); /* Direct call parser_prod#AType#n_id= on <self:Object(AType)>*/
1360 /* method parser_prod#AType#n_annotations= for (self: AType, nullable AAnnotations) */
1361 void parser_prod__AType__n_annotations_61d(val
* self
, val
* p0
) {
1362 val
* var_node
/* var node: nullable AAnnotations */;
1363 val
* var
/* : null */;
1364 short int var1
/* : Bool */;
1365 short int var2
/* : Bool */;
1366 val
* var_other
/* var other: nullable Object */;
1367 short int var4
/* : Bool */;
1368 short int var5
/* : Bool */;
1369 short int var6
/* : Bool */;
1371 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_node
; /* _n_annotations on <self:AType> */
1373 if (var_node
== NULL
) {
1374 var1
= 0; /* is null */
1376 var1
= 1; /* arg is null and recv is not */
1379 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AAnnotations> */
1382 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AAnnotations(AAnnotations)>*/;
1394 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
1395 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
1403 /* method parser_prod#AType#n_annotations= for (self: Object, nullable AAnnotations) */
1404 void VIRTUAL_parser_prod__AType__n_annotations_61d(val
* self
, val
* p0
) {
1405 parser_prod__AType__n_annotations_61d(self
, p0
); /* Direct call parser_prod#AType#n_annotations= on <self:Object(AType)>*/
1408 /* method parser_prod#AType#visit_all for (self: AType, Visitor) */
1409 void parser_prod__AType__visit_all(val
* self
, val
* p0
) {
1410 val
* var_v
/* var v: Visitor */;
1411 val
* var
/* : nullable TKwnullable */;
1412 val
* var1
/* : TClassid */;
1413 val
* var2
/* : ANodes[AType] */;
1414 val
* var4
/* : ANodes[AType] */;
1415 val
* var5
/* : nullable AAnnotations */;
1417 var
= self
->attrs
[COLOR_parser_nodes__AType___n_kwnullable
].val
; /* _n_kwnullable on <self:AType> */
1419 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1421 var1
= self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
; /* _n_id on <self:AType> */
1422 if (unlikely(var1
== NULL
)) {
1423 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1424 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2904);
1428 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1431 { /* Inline parser_nodes#AType#n_types (self) on <self:AType> */
1432 var4
= self
->attrs
[COLOR_parser_nodes__AType___n_types
].val
; /* _n_types on <self:AType> */
1433 if (unlikely(var4
== NULL
)) {
1434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
1435 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
1443 parser_nodes__ANodes__visit_all(var2
, var_v
); /* Direct call parser_nodes#ANodes#visit_all on <var2:ANodes[AType]>*/
1445 var5
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AType> */
1447 parser_nodes__Visitor__enter_visit(var_v
, var5
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1451 /* method parser_prod#AType#visit_all for (self: Object, Visitor) */
1452 void VIRTUAL_parser_prod__AType__visit_all(val
* self
, val
* p0
) {
1453 parser_prod__AType__visit_all(self
, p0
); /* Direct call parser_prod#AType#visit_all on <self:Object(AType)>*/
1456 /* method parser_prod#ALabel#init_alabel for (self: ALabel, nullable TKwlabel, nullable TId) */
1457 void parser_prod__ALabel__init_alabel(val
* self
, val
* p0
, val
* p1
) {
1458 val
* var_n_kwlabel
/* var n_kwlabel: nullable TKwlabel */;
1459 val
* var_n_id
/* var n_id: nullable TId */;
1460 val
* var
/* : null */;
1461 short int var2
/* : Bool */;
1462 short int var3
/* : Bool */;
1463 val
* var_other
/* var other: nullable Object */;
1464 short int var5
/* : Bool */;
1465 short int var6
/* : Bool */;
1466 short int var7
/* : Bool */;
1469 if (unlikely(var_n_kwlabel
== NULL
)) {
1470 PRINT_ERROR("Runtime error: %s", "Cast failed");
1471 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2915);
1474 self
->attrs
[COLOR_parser_nodes__ALabel___n_kwlabel
].val
= var_n_kwlabel
; /* _n_kwlabel on <self:ALabel> */
1475 if (var_n_kwlabel
== NULL
) {
1476 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1477 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2916);
1480 { /* Inline parser_nodes#ANode#parent= (var_n_kwlabel,self) on <var_n_kwlabel:nullable TKwlabel> */
1481 if (unlikely(var_n_kwlabel
== NULL
)) {
1482 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1483 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
1486 var_n_kwlabel
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwlabel:nullable TKwlabel> */
1490 self
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
= var_n_id
; /* _n_id on <self:ALabel> */
1492 if (var_n_id
== NULL
) {
1493 var2
= 0; /* is null */
1495 var2
= 1; /* arg is null and recv is not */
1498 { /* Inline kernel#Object#!= (var_n_id,var) on <var_n_id:nullable TId> */
1501 var6
= ((short int (*)(val
*, val
*))(var_n_id
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_id
, var_other
) /* == on <var_n_id:nullable TId(TId)>*/;
1513 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
1514 var_n_id
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_id:nullable TId(TId)> */
1522 /* method parser_prod#ALabel#init_alabel for (self: Object, nullable TKwlabel, nullable TId) */
1523 void VIRTUAL_parser_prod__ALabel__init_alabel(val
* self
, val
* p0
, val
* p1
) {
1524 parser_prod__ALabel__init_alabel(self
, p0
, p1
); /* Direct call parser_prod#ALabel#init_alabel on <self:Object(ALabel)>*/
1527 /* method parser_prod#ALabel#replace_child for (self: ALabel, ANode, nullable ANode) */
1528 void parser_prod__ALabel__replace_child(val
* self
, val
* p0
, val
* p1
) {
1529 val
* var_old_child
/* var old_child: ANode */;
1530 val
* var_new_child
/* var new_child: nullable ANode */;
1531 val
* var
/* : TKwlabel */;
1532 short int var1
/* : Bool */;
1533 short int var2
/* : Bool */;
1534 val
* var_other
/* var other: nullable Object */;
1535 short int var4
/* : Bool */;
1536 short int var6
/* : Bool */;
1537 short int var7
/* : Bool */;
1540 const char* var_class_name
;
1541 val
* var8
/* : nullable TId */;
1542 short int var9
/* : Bool */;
1543 short int var10
/* : Bool */;
1544 short int var12
/* : Bool */;
1545 short int var14
/* : Bool */;
1546 short int var15
/* : Bool */;
1549 const char* var_class_name18
;
1552 var
= self
->attrs
[COLOR_parser_nodes__ALabel___n_kwlabel
].val
; /* _n_kwlabel on <self:ALabel> */
1553 if (unlikely(var
== NULL
)) {
1554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel");
1555 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2923);
1559 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwlabel> */
1560 var_other
= var_old_child
;
1562 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwlabel> */
1563 var6
= var
== var_other
;
1576 /* <var_new_child:nullable ANode> isa TKwlabel */
1577 cltype
= type_parser_nodes__TKwlabel
.color
;
1578 idtype
= type_parser_nodes__TKwlabel
.id
;
1579 if(var_new_child
== NULL
) {
1582 if(cltype
>= var_new_child
->type
->table_size
) {
1585 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
1588 if (unlikely(!var7
)) {
1589 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1590 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwlabel", var_class_name
);
1591 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2924);
1595 parser_prod__ALabel__n_kwlabel_61d(self
, var_new_child
); /* Direct call parser_prod#ALabel#n_kwlabel= on <self:ALabel>*/
1600 var8
= self
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
; /* _n_id on <self:ALabel> */
1602 var9
= 0; /* <var_old_child:ANode> cannot be null */
1604 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable TId> */
1605 var_other
= var_old_child
;
1607 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable TId(TId)> */
1608 var14
= var8
== var_other
;
1611 RET_LABEL13
:(void)0;
1616 RET_LABEL11
:(void)0;
1621 /* <var_new_child:nullable ANode> isa nullable TId */
1622 cltype16
= type_nullable_parser_nodes__TId
.color
;
1623 idtype17
= type_nullable_parser_nodes__TId
.id
;
1624 if(var_new_child
== NULL
) {
1627 if(cltype16
>= var_new_child
->type
->table_size
) {
1630 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
1633 if (unlikely(!var15
)) {
1634 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18
);
1636 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2928);
1640 parser_prod__ALabel__n_id_61d(self
, var_new_child
); /* Direct call parser_prod#ALabel#n_id= on <self:ALabel>*/
1647 /* method parser_prod#ALabel#replace_child for (self: Object, ANode, nullable ANode) */
1648 void VIRTUAL_parser_prod__ALabel__replace_child(val
* self
, val
* p0
, val
* p1
) {
1649 parser_prod__ALabel__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ALabel#replace_child on <self:Object(ALabel)>*/
1652 /* method parser_prod#ALabel#n_kwlabel= for (self: ALabel, TKwlabel) */
1653 void parser_prod__ALabel__n_kwlabel_61d(val
* self
, val
* p0
) {
1654 val
* var_node
/* var node: TKwlabel */;
1656 self
->attrs
[COLOR_parser_nodes__ALabel___n_kwlabel
].val
= var_node
; /* _n_kwlabel on <self:ALabel> */
1658 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwlabel> */
1659 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwlabel> */
1665 /* method parser_prod#ALabel#n_kwlabel= for (self: Object, TKwlabel) */
1666 void VIRTUAL_parser_prod__ALabel__n_kwlabel_61d(val
* self
, val
* p0
) {
1667 parser_prod__ALabel__n_kwlabel_61d(self
, p0
); /* Direct call parser_prod#ALabel#n_kwlabel= on <self:Object(ALabel)>*/
1670 /* method parser_prod#ALabel#n_id= for (self: ALabel, nullable TId) */
1671 void parser_prod__ALabel__n_id_61d(val
* self
, val
* p0
) {
1672 val
* var_node
/* var node: nullable TId */;
1673 val
* var
/* : null */;
1674 short int var1
/* : Bool */;
1675 short int var2
/* : Bool */;
1676 val
* var_other
/* var other: nullable Object */;
1677 short int var4
/* : Bool */;
1678 short int var5
/* : Bool */;
1679 short int var6
/* : Bool */;
1681 self
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
= var_node
; /* _n_id on <self:ALabel> */
1683 if (var_node
== NULL
) {
1684 var1
= 0; /* is null */
1686 var1
= 1; /* arg is null and recv is not */
1689 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TId> */
1692 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TId(TId)>*/;
1704 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
1705 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TId(TId)> */
1713 /* method parser_prod#ALabel#n_id= for (self: Object, nullable TId) */
1714 void VIRTUAL_parser_prod__ALabel__n_id_61d(val
* self
, val
* p0
) {
1715 parser_prod__ALabel__n_id_61d(self
, p0
); /* Direct call parser_prod#ALabel#n_id= on <self:Object(ALabel)>*/
1718 /* method parser_prod#ALabel#visit_all for (self: ALabel, Visitor) */
1719 void parser_prod__ALabel__visit_all(val
* self
, val
* p0
) {
1720 val
* var_v
/* var v: Visitor */;
1721 val
* var
/* : TKwlabel */;
1722 val
* var1
/* : nullable TId */;
1724 var
= self
->attrs
[COLOR_parser_nodes__ALabel___n_kwlabel
].val
; /* _n_kwlabel on <self:ALabel> */
1725 if (unlikely(var
== NULL
)) {
1726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel");
1727 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2947);
1731 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1733 var1
= self
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
; /* _n_id on <self:ALabel> */
1735 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1739 /* method parser_prod#ALabel#visit_all for (self: Object, Visitor) */
1740 void VIRTUAL_parser_prod__ALabel__visit_all(val
* self
, val
* p0
) {
1741 parser_prod__ALabel__visit_all(self
, p0
); /* Direct call parser_prod#ALabel#visit_all on <self:Object(ALabel)>*/
1744 /* method parser_prod#ABlockExpr#init_ablockexpr for (self: ABlockExpr, Collection[Object], nullable TKwend) */
1745 void parser_prod__ABlockExpr__init_ablockexpr(val
* self
, val
* p0
, val
* p1
) {
1746 val
* var_n_expr
/* var n_expr: Collection[Object] */;
1747 val
* var_n_kwend
/* var n_kwend: nullable TKwend */;
1748 val
* var
/* : ANodes[AExpr] */;
1749 val
* var2
/* : ANodes[AExpr] */;
1750 val
* var3
/* : null */;
1751 short int var4
/* : Bool */;
1752 short int var5
/* : Bool */;
1753 val
* var_other
/* var other: nullable Object */;
1754 short int var7
/* : Bool */;
1755 short int var8
/* : Bool */;
1756 short int var9
/* : Bool */;
1760 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
1761 var2
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
1762 if (unlikely(var2
== NULL
)) {
1763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1764 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
1772 parser_nodes__ANodes__unsafe_add_all(var
, var_n_expr
); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[AExpr]>*/
1774 self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_kwend
].val
= var_n_kwend
; /* _n_kwend on <self:ABlockExpr> */
1776 if (var_n_kwend
== NULL
) {
1777 var4
= 0; /* is null */
1779 var4
= 1; /* arg is null and recv is not */
1782 { /* Inline kernel#Object#!= (var_n_kwend,var3) on <var_n_kwend:nullable TKwend> */
1785 var8
= ((short int (*)(val
*, val
*))(var_n_kwend
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwend
, var_other
) /* == on <var_n_kwend:nullable TKwend(TKwend)>*/;
1797 { /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on <var_n_kwend:nullable TKwend(TKwend)> */
1798 var_n_kwend
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwend:nullable TKwend(TKwend)> */
1799 RET_LABEL10
:(void)0;
1806 /* method parser_prod#ABlockExpr#init_ablockexpr for (self: Object, Collection[Object], nullable TKwend) */
1807 void VIRTUAL_parser_prod__ABlockExpr__init_ablockexpr(val
* self
, val
* p0
, val
* p1
) {
1808 parser_prod__ABlockExpr__init_ablockexpr(self
, p0
, p1
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <self:Object(ABlockExpr)>*/
1811 /* method parser_prod#ABlockExpr#replace_child for (self: ABlockExpr, ANode, nullable ANode) */
1812 void parser_prod__ABlockExpr__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[AExpr] */;
1816 val
* var2
/* : ANodes[AExpr] */;
1817 short int var3
/* : Bool */;
1818 val
* var4
/* : nullable TKwend */;
1819 short int var5
/* : Bool */;
1820 short int var6
/* : Bool */;
1821 val
* var_other
/* var other: nullable Object */;
1822 short int var8
/* : Bool */;
1823 short int var10
/* : Bool */;
1824 short int var11
/* : Bool */;
1827 const char* var_class_name
;
1831 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
1832 var2
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
1833 if (unlikely(var2
== NULL
)) {
1834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1835 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
1843 var3
= parser_nodes__ANodes__replace_child(var
, var_old_child
, var_new_child
);
1849 var4
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_kwend
].val
; /* _n_kwend on <self:ABlockExpr> */
1851 var5
= 0; /* <var_old_child:ANode> cannot be null */
1853 { /* Inline kernel#Object#== (var4,var_old_child) on <var4:nullable TKwend> */
1854 var_other
= var_old_child
;
1856 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:nullable TKwend(TKwend)> */
1857 var10
= var4
== var_other
;
1870 /* <var_new_child:nullable ANode> isa nullable TKwend */
1871 cltype
= type_nullable_parser_nodes__TKwend
.color
;
1872 idtype
= type_nullable_parser_nodes__TKwend
.id
;
1873 if(var_new_child
== NULL
) {
1876 if(cltype
>= var_new_child
->type
->table_size
) {
1879 var11
= var_new_child
->type
->type_table
[cltype
] == idtype
;
1882 if (unlikely(!var11
)) {
1883 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
1884 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwend", var_class_name
);
1885 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2966);
1889 parser_prod__ABlockExpr__n_kwend_61d(self
, var_new_child
); /* Direct call parser_prod#ABlockExpr#n_kwend= on <self:ABlockExpr>*/
1896 /* method parser_prod#ABlockExpr#replace_child for (self: Object, ANode, nullable ANode) */
1897 void VIRTUAL_parser_prod__ABlockExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
1898 parser_prod__ABlockExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ABlockExpr#replace_child on <self:Object(ABlockExpr)>*/
1901 /* method parser_prod#ABlockExpr#n_kwend= for (self: ABlockExpr, nullable TKwend) */
1902 void parser_prod__ABlockExpr__n_kwend_61d(val
* self
, val
* p0
) {
1903 val
* var_node
/* var node: nullable TKwend */;
1904 val
* var
/* : null */;
1905 short int var1
/* : Bool */;
1906 short int var2
/* : Bool */;
1907 val
* var_other
/* var other: nullable Object */;
1908 short int var4
/* : Bool */;
1909 short int var5
/* : Bool */;
1910 short int var6
/* : Bool */;
1912 self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_kwend
].val
= var_node
; /* _n_kwend on <self:ABlockExpr> */
1914 if (var_node
== NULL
) {
1915 var1
= 0; /* is null */
1917 var1
= 1; /* arg is null and recv is not */
1920 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TKwend> */
1923 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TKwend(TKwend)>*/;
1935 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwend(TKwend)> */
1936 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TKwend(TKwend)> */
1944 /* method parser_prod#ABlockExpr#n_kwend= for (self: Object, nullable TKwend) */
1945 void VIRTUAL_parser_prod__ABlockExpr__n_kwend_61d(val
* self
, val
* p0
) {
1946 parser_prod__ABlockExpr__n_kwend_61d(self
, p0
); /* Direct call parser_prod#ABlockExpr#n_kwend= on <self:Object(ABlockExpr)>*/
1949 /* method parser_prod#ABlockExpr#visit_all for (self: ABlockExpr, Visitor) */
1950 void parser_prod__ABlockExpr__visit_all(val
* self
, val
* p0
) {
1951 val
* var_v
/* var v: Visitor */;
1952 val
* var
/* : ANodes[AExpr] */;
1953 val
* var2
/* : ANodes[AExpr] */;
1954 val
* var3
/* : nullable TKwend */;
1957 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
1958 var2
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
1959 if (unlikely(var2
== NULL
)) {
1960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1961 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
1969 parser_nodes__ANodes__visit_all(var
, var_v
); /* Direct call parser_nodes#ANodes#visit_all on <var:ANodes[AExpr]>*/
1971 var3
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_kwend
].val
; /* _n_kwend on <self:ABlockExpr> */
1973 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1977 /* method parser_prod#ABlockExpr#visit_all for (self: Object, Visitor) */
1978 void VIRTUAL_parser_prod__ABlockExpr__visit_all(val
* self
, val
* p0
) {
1979 parser_prod__ABlockExpr__visit_all(self
, p0
); /* Direct call parser_prod#ABlockExpr#visit_all on <self:Object(ABlockExpr)>*/
1982 /* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: AVardeclExpr, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */
1983 void parser_prod__AVardeclExpr__init_avardeclexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
1984 val
* var_n_kwvar
/* var n_kwvar: nullable TKwvar */;
1985 val
* var_n_id
/* var n_id: nullable TId */;
1986 val
* var_n_type
/* var n_type: nullable AType */;
1987 val
* var_n_assign
/* var n_assign: nullable TAssign */;
1988 val
* var_n_expr
/* var n_expr: nullable AExpr */;
1989 val
* var_n_annotations
/* var n_annotations: nullable AAnnotations */;
1990 val
* var
/* : null */;
1991 short int var3
/* : Bool */;
1992 short int var4
/* : Bool */;
1993 val
* var_other
/* var other: nullable Object */;
1994 short int var6
/* : Bool */;
1995 short int var7
/* : Bool */;
1996 short int var8
/* : Bool */;
1997 val
* var10
/* : null */;
1998 short int var11
/* : Bool */;
1999 short int var12
/* : Bool */;
2000 short int var14
/* : Bool */;
2001 short int var15
/* : Bool */;
2002 short int var16
/* : Bool */;
2003 val
* var18
/* : null */;
2004 short int var19
/* : Bool */;
2005 short int var20
/* : Bool */;
2006 short int var22
/* : Bool */;
2007 short int var23
/* : Bool */;
2008 short int var24
/* : Bool */;
2009 val
* var26
/* : null */;
2010 short int var27
/* : Bool */;
2011 short int var28
/* : Bool */;
2012 short int var30
/* : Bool */;
2013 short int var31
/* : Bool */;
2014 short int var32
/* : Bool */;
2020 var_n_annotations
= p5
;
2021 if (unlikely(var_n_kwvar
== NULL
)) {
2022 PRINT_ERROR("Runtime error: %s", "Cast failed");
2023 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2994);
2026 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_kwvar
].val
= var_n_kwvar
; /* _n_kwvar on <self:AVardeclExpr> */
2027 if (var_n_kwvar
== NULL
) {
2028 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2029 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2995);
2032 { /* Inline parser_nodes#ANode#parent= (var_n_kwvar,self) on <var_n_kwvar:nullable TKwvar> */
2033 if (unlikely(var_n_kwvar
== NULL
)) {
2034 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2035 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
2038 var_n_kwvar
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwvar:nullable TKwvar> */
2042 if (unlikely(var_n_id
== NULL
)) {
2043 PRINT_ERROR("Runtime error: %s", "Cast failed");
2044 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2996);
2047 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_id
].val
= var_n_id
; /* _n_id on <self:AVardeclExpr> */
2048 if (var_n_id
== NULL
) {
2049 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2050 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2997);
2053 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
2054 if (unlikely(var_n_id
== NULL
)) {
2055 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2056 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
2059 var_n_id
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_id:nullable TId> */
2063 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_type
].val
= var_n_type
; /* _n_type on <self:AVardeclExpr> */
2065 if (var_n_type
== NULL
) {
2066 var3
= 0; /* is null */
2068 var3
= 1; /* arg is null and recv is not */
2071 { /* Inline kernel#Object#!= (var_n_type,var) on <var_n_type:nullable AType> */
2074 var7
= ((short int (*)(val
*, val
*))(var_n_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_type
, var_other
) /* == on <var_n_type:nullable AType(AType)>*/;
2086 { /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType(AType)> */
2087 var_n_type
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_type:nullable AType(AType)> */
2093 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_assign
].val
= var_n_assign
; /* _n_assign on <self:AVardeclExpr> */
2095 if (var_n_assign
== NULL
) {
2096 var11
= 0; /* is null */
2098 var11
= 1; /* arg is null and recv is not */
2101 { /* Inline kernel#Object#!= (var_n_assign,var10) on <var_n_assign:nullable TAssign> */
2104 var15
= ((short int (*)(val
*, val
*))(var_n_assign
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_assign
, var_other
) /* == on <var_n_assign:nullable TAssign(TAssign)>*/;
2110 RET_LABEL13
:(void)0;
2116 { /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign(TAssign)> */
2117 var_n_assign
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_assign:nullable TAssign(TAssign)> */
2118 RET_LABEL17
:(void)0;
2123 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AVardeclExpr> */
2125 if (var_n_expr
== NULL
) {
2126 var19
= 0; /* is null */
2128 var19
= 1; /* arg is null and recv is not */
2131 { /* Inline kernel#Object#!= (var_n_expr,var18) on <var_n_expr:nullable AExpr> */
2134 var23
= ((short int (*)(val
*, val
*))(var_n_expr
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_expr
, var_other
) /* == on <var_n_expr:nullable AExpr(AExpr)>*/;
2140 RET_LABEL21
:(void)0;
2146 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr(AExpr)> */
2147 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr(AExpr)> */
2148 RET_LABEL25
:(void)0;
2153 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_n_annotations
; /* _n_annotations on <self:AVardeclExpr> */
2155 if (var_n_annotations
== NULL
) {
2156 var27
= 0; /* is null */
2158 var27
= 1; /* arg is null and recv is not */
2161 { /* Inline kernel#Object#!= (var_n_annotations,var26) on <var_n_annotations:nullable AAnnotations> */
2164 var31
= ((short int (*)(val
*, val
*))(var_n_annotations
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_annotations
, var_other
) /* == on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
2170 RET_LABEL29
:(void)0;
2176 { /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
2177 var_n_annotations
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_annotations:nullable AAnnotations(AAnnotations)> */
2178 RET_LABEL33
:(void)0;
2185 /* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: Object, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */
2186 void VIRTUAL_parser_prod__AVardeclExpr__init_avardeclexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
2187 parser_prod__AVardeclExpr__init_avardeclexpr(self
, p0
, p1
, p2
, p3
, p4
, p5
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <self:Object(AVardeclExpr)>*/
2190 /* method parser_prod#AVardeclExpr#replace_child for (self: AVardeclExpr, ANode, nullable ANode) */
2191 void parser_prod__AVardeclExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
2192 val
* var_old_child
/* var old_child: ANode */;
2193 val
* var_new_child
/* var new_child: nullable ANode */;
2194 val
* var
/* : TKwvar */;
2195 short int var1
/* : Bool */;
2196 short int var2
/* : Bool */;
2197 val
* var_other
/* var other: nullable Object */;
2198 short int var4
/* : Bool */;
2199 short int var6
/* : Bool */;
2200 short int var7
/* : Bool */;
2203 const char* var_class_name
;
2204 val
* var8
/* : TId */;
2205 short int var9
/* : Bool */;
2206 short int var10
/* : Bool */;
2207 short int var12
/* : Bool */;
2208 short int var14
/* : Bool */;
2209 short int var15
/* : Bool */;
2212 const char* var_class_name18
;
2213 val
* var19
/* : nullable AType */;
2214 short int var20
/* : Bool */;
2215 short int var21
/* : Bool */;
2216 short int var23
/* : Bool */;
2217 short int var25
/* : Bool */;
2218 short int var26
/* : Bool */;
2221 const char* var_class_name29
;
2222 val
* var30
/* : nullable TAssign */;
2223 short int var31
/* : Bool */;
2224 short int var32
/* : Bool */;
2225 short int var34
/* : Bool */;
2226 short int var36
/* : Bool */;
2227 short int var37
/* : Bool */;
2230 const char* var_class_name40
;
2231 val
* var41
/* : nullable AExpr */;
2232 short int var42
/* : Bool */;
2233 short int var43
/* : Bool */;
2234 short int var45
/* : Bool */;
2235 short int var47
/* : Bool */;
2236 short int var48
/* : Bool */;
2239 const char* var_class_name51
;
2240 val
* var52
/* : nullable AAnnotations */;
2241 short int var53
/* : Bool */;
2242 short int var54
/* : Bool */;
2243 short int var56
/* : Bool */;
2244 short int var58
/* : Bool */;
2245 short int var59
/* : Bool */;
2248 const char* var_class_name62
;
2251 var
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_kwvar
].val
; /* _n_kwvar on <self:AVardeclExpr> */
2252 if (unlikely(var
== NULL
)) {
2253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar");
2254 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3010);
2258 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwvar> */
2259 var_other
= var_old_child
;
2261 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwvar> */
2262 var6
= var
== var_other
;
2275 /* <var_new_child:nullable ANode> isa TKwvar */
2276 cltype
= type_parser_nodes__TKwvar
.color
;
2277 idtype
= type_parser_nodes__TKwvar
.id
;
2278 if(var_new_child
== NULL
) {
2281 if(cltype
>= var_new_child
->type
->table_size
) {
2284 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
2287 if (unlikely(!var7
)) {
2288 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwvar", var_class_name
);
2290 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3011);
2294 parser_prod__AVardeclExpr__n_kwvar_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on <self:AVardeclExpr>*/
2299 var8
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_id
].val
; /* _n_id on <self:AVardeclExpr> */
2300 if (unlikely(var8
== NULL
)) {
2301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2302 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3014);
2306 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:TId> */
2307 var_other
= var_old_child
;
2309 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TId> */
2310 var14
= var8
== var_other
;
2313 RET_LABEL13
:(void)0;
2318 RET_LABEL11
:(void)0;
2323 /* <var_new_child:nullable ANode> isa TId */
2324 cltype16
= type_parser_nodes__TId
.color
;
2325 idtype17
= type_parser_nodes__TId
.id
;
2326 if(var_new_child
== NULL
) {
2329 if(cltype16
>= var_new_child
->type
->table_size
) {
2332 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
2335 if (unlikely(!var15
)) {
2336 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2337 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18
);
2338 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3015);
2342 parser_prod__AVardeclExpr__n_id_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_id= on <self:AVardeclExpr>*/
2347 var19
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_type
].val
; /* _n_type on <self:AVardeclExpr> */
2348 if (var19
== NULL
) {
2349 var20
= 0; /* <var_old_child:ANode> cannot be null */
2351 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable AType> */
2352 var_other
= var_old_child
;
2354 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable AType(AType)> */
2355 var25
= var19
== var_other
;
2358 RET_LABEL24
:(void)0;
2363 RET_LABEL22
:(void)0;
2368 /* <var_new_child:nullable ANode> isa nullable AType */
2369 cltype27
= type_nullable_parser_nodes__AType
.color
;
2370 idtype28
= type_nullable_parser_nodes__AType
.id
;
2371 if(var_new_child
== NULL
) {
2374 if(cltype27
>= var_new_child
->type
->table_size
) {
2377 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
2380 if (unlikely(!var26
)) {
2381 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2382 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name29
);
2383 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3019);
2387 parser_prod__AVardeclExpr__n_type_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_type= on <self:AVardeclExpr>*/
2392 var30
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_assign
].val
; /* _n_assign on <self:AVardeclExpr> */
2393 if (var30
== NULL
) {
2394 var31
= 0; /* <var_old_child:ANode> cannot be null */
2396 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable TAssign> */
2397 var_other
= var_old_child
;
2399 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable TAssign(TAssign)> */
2400 var36
= var30
== var_other
;
2403 RET_LABEL35
:(void)0;
2408 RET_LABEL33
:(void)0;
2413 /* <var_new_child:nullable ANode> isa nullable TAssign */
2414 cltype38
= type_nullable_parser_nodes__TAssign
.color
;
2415 idtype39
= type_nullable_parser_nodes__TAssign
.id
;
2416 if(var_new_child
== NULL
) {
2419 if(cltype38
>= var_new_child
->type
->table_size
) {
2422 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
2425 if (unlikely(!var37
)) {
2426 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2427 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TAssign", var_class_name40
);
2428 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3023);
2432 parser_prod__AVardeclExpr__n_assign_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_assign= on <self:AVardeclExpr>*/
2437 var41
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_expr
].val
; /* _n_expr on <self:AVardeclExpr> */
2438 if (var41
== NULL
) {
2439 var42
= 0; /* <var_old_child:ANode> cannot be null */
2441 { /* Inline kernel#Object#== (var41,var_old_child) on <var41:nullable AExpr> */
2442 var_other
= var_old_child
;
2444 { /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:nullable AExpr(AExpr)> */
2445 var47
= var41
== var_other
;
2448 RET_LABEL46
:(void)0;
2453 RET_LABEL44
:(void)0;
2458 /* <var_new_child:nullable ANode> isa nullable AExpr */
2459 cltype49
= type_nullable_parser_nodes__AExpr
.color
;
2460 idtype50
= type_nullable_parser_nodes__AExpr
.id
;
2461 if(var_new_child
== NULL
) {
2464 if(cltype49
>= var_new_child
->type
->table_size
) {
2467 var48
= var_new_child
->type
->type_table
[cltype49
] == idtype50
;
2470 if (unlikely(!var48
)) {
2471 var_class_name51
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2472 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name51
);
2473 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3027);
2477 parser_prod__AVardeclExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_expr= on <self:AVardeclExpr>*/
2482 var52
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AVardeclExpr> */
2483 if (var52
== NULL
) {
2484 var53
= 0; /* <var_old_child:ANode> cannot be null */
2486 { /* Inline kernel#Object#== (var52,var_old_child) on <var52:nullable AAnnotations> */
2487 var_other
= var_old_child
;
2489 { /* Inline kernel#Object#is_same_instance (var52,var_other) on <var52:nullable AAnnotations(AAnnotations)> */
2490 var58
= var52
== var_other
;
2493 RET_LABEL57
:(void)0;
2498 RET_LABEL55
:(void)0;
2503 /* <var_new_child:nullable ANode> isa nullable AAnnotations */
2504 cltype60
= type_nullable_parser_nodes__AAnnotations
.color
;
2505 idtype61
= type_nullable_parser_nodes__AAnnotations
.id
;
2506 if(var_new_child
== NULL
) {
2509 if(cltype60
>= var_new_child
->type
->table_size
) {
2512 var59
= var_new_child
->type
->type_table
[cltype60
] == idtype61
;
2515 if (unlikely(!var59
)) {
2516 var_class_name62
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2517 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name62
);
2518 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3031);
2522 parser_prod__AVardeclExpr__n_annotations_61d(self
, var_new_child
); /* Direct call parser_prod#AVardeclExpr#n_annotations= on <self:AVardeclExpr>*/
2529 /* method parser_prod#AVardeclExpr#replace_child for (self: Object, ANode, nullable ANode) */
2530 void VIRTUAL_parser_prod__AVardeclExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
2531 parser_prod__AVardeclExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AVardeclExpr#replace_child on <self:Object(AVardeclExpr)>*/
2534 /* method parser_prod#AVardeclExpr#n_kwvar= for (self: AVardeclExpr, TKwvar) */
2535 void parser_prod__AVardeclExpr__n_kwvar_61d(val
* self
, val
* p0
) {
2536 val
* var_node
/* var node: TKwvar */;
2538 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_kwvar
].val
= var_node
; /* _n_kwvar on <self:AVardeclExpr> */
2540 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwvar> */
2541 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwvar> */
2547 /* method parser_prod#AVardeclExpr#n_kwvar= for (self: Object, TKwvar) */
2548 void VIRTUAL_parser_prod__AVardeclExpr__n_kwvar_61d(val
* self
, val
* p0
) {
2549 parser_prod__AVardeclExpr__n_kwvar_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on <self:Object(AVardeclExpr)>*/
2552 /* method parser_prod#AVardeclExpr#n_id= for (self: AVardeclExpr, TId) */
2553 void parser_prod__AVardeclExpr__n_id_61d(val
* self
, val
* p0
) {
2554 val
* var_node
/* var node: TId */;
2556 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_id
].val
= var_node
; /* _n_id on <self:AVardeclExpr> */
2558 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
2559 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TId> */
2565 /* method parser_prod#AVardeclExpr#n_id= for (self: Object, TId) */
2566 void VIRTUAL_parser_prod__AVardeclExpr__n_id_61d(val
* self
, val
* p0
) {
2567 parser_prod__AVardeclExpr__n_id_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_id= on <self:Object(AVardeclExpr)>*/
2570 /* method parser_prod#AVardeclExpr#n_type= for (self: AVardeclExpr, nullable AType) */
2571 void parser_prod__AVardeclExpr__n_type_61d(val
* self
, val
* p0
) {
2572 val
* var_node
/* var node: nullable AType */;
2573 val
* var
/* : null */;
2574 short int var1
/* : Bool */;
2575 short int var2
/* : Bool */;
2576 val
* var_other
/* var other: nullable Object */;
2577 short int var4
/* : Bool */;
2578 short int var5
/* : Bool */;
2579 short int var6
/* : Bool */;
2581 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_type
].val
= var_node
; /* _n_type on <self:AVardeclExpr> */
2583 if (var_node
== NULL
) {
2584 var1
= 0; /* is null */
2586 var1
= 1; /* arg is null and recv is not */
2589 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AType> */
2592 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AType(AType)>*/;
2604 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AType(AType)> */
2605 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AType(AType)> */
2613 /* method parser_prod#AVardeclExpr#n_type= for (self: Object, nullable AType) */
2614 void VIRTUAL_parser_prod__AVardeclExpr__n_type_61d(val
* self
, val
* p0
) {
2615 parser_prod__AVardeclExpr__n_type_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_type= on <self:Object(AVardeclExpr)>*/
2618 /* method parser_prod#AVardeclExpr#n_assign= for (self: AVardeclExpr, nullable TAssign) */
2619 void parser_prod__AVardeclExpr__n_assign_61d(val
* self
, val
* p0
) {
2620 val
* var_node
/* var node: nullable TAssign */;
2621 val
* var
/* : null */;
2622 short int var1
/* : Bool */;
2623 short int var2
/* : Bool */;
2624 val
* var_other
/* var other: nullable Object */;
2625 short int var4
/* : Bool */;
2626 short int var5
/* : Bool */;
2627 short int var6
/* : Bool */;
2629 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_assign
].val
= var_node
; /* _n_assign on <self:AVardeclExpr> */
2631 if (var_node
== NULL
) {
2632 var1
= 0; /* is null */
2634 var1
= 1; /* arg is null and recv is not */
2637 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TAssign> */
2640 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TAssign(TAssign)>*/;
2652 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TAssign(TAssign)> */
2653 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TAssign(TAssign)> */
2661 /* method parser_prod#AVardeclExpr#n_assign= for (self: Object, nullable TAssign) */
2662 void VIRTUAL_parser_prod__AVardeclExpr__n_assign_61d(val
* self
, val
* p0
) {
2663 parser_prod__AVardeclExpr__n_assign_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_assign= on <self:Object(AVardeclExpr)>*/
2666 /* method parser_prod#AVardeclExpr#n_expr= for (self: AVardeclExpr, nullable AExpr) */
2667 void parser_prod__AVardeclExpr__n_expr_61d(val
* self
, val
* p0
) {
2668 val
* var_node
/* var node: nullable AExpr */;
2669 val
* var
/* : null */;
2670 short int var1
/* : Bool */;
2671 short int var2
/* : Bool */;
2672 val
* var_other
/* var other: nullable Object */;
2673 short int var4
/* : Bool */;
2674 short int var5
/* : Bool */;
2675 short int var6
/* : Bool */;
2677 self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AVardeclExpr> */
2679 if (var_node
== NULL
) {
2680 var1
= 0; /* is null */
2682 var1
= 1; /* arg is null and recv is not */
2685 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
2688 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
2700 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
2701 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
2709 /* method parser_prod#AVardeclExpr#n_expr= for (self: Object, nullable AExpr) */
2710 void VIRTUAL_parser_prod__AVardeclExpr__n_expr_61d(val
* self
, val
* p0
) {
2711 parser_prod__AVardeclExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_expr= on <self:Object(AVardeclExpr)>*/
2714 /* method parser_prod#AVardeclExpr#n_annotations= for (self: AVardeclExpr, nullable AAnnotations) */
2715 void parser_prod__AVardeclExpr__n_annotations_61d(val
* self
, val
* p0
) {
2716 val
* var_node
/* var node: nullable AAnnotations */;
2717 val
* var
/* : null */;
2718 short int var1
/* : Bool */;
2719 short int var2
/* : Bool */;
2720 val
* var_other
/* var other: nullable Object */;
2721 short int var4
/* : Bool */;
2722 short int var5
/* : Bool */;
2723 short int var6
/* : Bool */;
2725 self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
= var_node
; /* _n_annotations on <self:AVardeclExpr> */
2727 if (var_node
== NULL
) {
2728 var1
= 0; /* is null */
2730 var1
= 1; /* arg is null and recv is not */
2733 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AAnnotations> */
2736 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AAnnotations(AAnnotations)>*/;
2748 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AAnnotations(AAnnotations)> */
2749 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AAnnotations(AAnnotations)> */
2757 /* method parser_prod#AVardeclExpr#n_annotations= for (self: Object, nullable AAnnotations) */
2758 void VIRTUAL_parser_prod__AVardeclExpr__n_annotations_61d(val
* self
, val
* p0
) {
2759 parser_prod__AVardeclExpr__n_annotations_61d(self
, p0
); /* Direct call parser_prod#AVardeclExpr#n_annotations= on <self:Object(AVardeclExpr)>*/
2762 /* method parser_prod#AVardeclExpr#visit_all for (self: AVardeclExpr, Visitor) */
2763 void parser_prod__AVardeclExpr__visit_all(val
* self
, val
* p0
) {
2764 val
* var_v
/* var v: Visitor */;
2765 val
* var
/* : TKwvar */;
2766 val
* var1
/* : TId */;
2767 val
* var2
/* : nullable AType */;
2768 val
* var3
/* : nullable TAssign */;
2769 val
* var4
/* : nullable AExpr */;
2770 val
* var5
/* : nullable AAnnotations */;
2772 var
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_kwvar
].val
; /* _n_kwvar on <self:AVardeclExpr> */
2773 if (unlikely(var
== NULL
)) {
2774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar");
2775 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3070);
2779 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2781 var1
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_id
].val
; /* _n_id on <self:AVardeclExpr> */
2782 if (unlikely(var1
== NULL
)) {
2783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2784 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3071);
2788 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2790 var2
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_type
].val
; /* _n_type on <self:AVardeclExpr> */
2792 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2794 var3
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_assign
].val
; /* _n_assign on <self:AVardeclExpr> */
2796 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2798 var4
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_expr
].val
; /* _n_expr on <self:AVardeclExpr> */
2800 parser_nodes__Visitor__enter_visit(var_v
, var4
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2802 var5
= self
->attrs
[COLOR_parser_nodes__Prod___n_annotations
].val
; /* _n_annotations on <self:AVardeclExpr> */
2804 parser_nodes__Visitor__enter_visit(var_v
, var5
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
2808 /* method parser_prod#AVardeclExpr#visit_all for (self: Object, Visitor) */
2809 void VIRTUAL_parser_prod__AVardeclExpr__visit_all(val
* self
, val
* p0
) {
2810 parser_prod__AVardeclExpr__visit_all(self
, p0
); /* Direct call parser_prod#AVardeclExpr#visit_all on <self:Object(AVardeclExpr)>*/
2813 /* method parser_prod#AReturnExpr#init_areturnexpr for (self: AReturnExpr, nullable TKwreturn, nullable AExpr) */
2814 void parser_prod__AReturnExpr__init_areturnexpr(val
* self
, val
* p0
, val
* p1
) {
2815 val
* var_n_kwreturn
/* var n_kwreturn: nullable TKwreturn */;
2816 val
* var_n_expr
/* var n_expr: nullable AExpr */;
2817 val
* var
/* : null */;
2818 short int var1
/* : Bool */;
2819 short int var2
/* : Bool */;
2820 val
* var_other
/* var other: nullable Object */;
2821 short int var4
/* : Bool */;
2822 short int var5
/* : Bool */;
2823 short int var6
/* : Bool */;
2824 val
* var8
/* : null */;
2825 short int var9
/* : Bool */;
2826 short int var10
/* : Bool */;
2827 short int var12
/* : Bool */;
2828 short int var13
/* : Bool */;
2829 short int var14
/* : Bool */;
2830 var_n_kwreturn
= p0
;
2832 self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_kwreturn
].val
= var_n_kwreturn
; /* _n_kwreturn on <self:AReturnExpr> */
2834 if (var_n_kwreturn
== NULL
) {
2835 var1
= 0; /* is null */
2837 var1
= 1; /* arg is null and recv is not */
2840 { /* Inline kernel#Object#!= (var_n_kwreturn,var) on <var_n_kwreturn:nullable TKwreturn> */
2843 var5
= ((short int (*)(val
*, val
*))(var_n_kwreturn
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwreturn
, var_other
) /* == on <var_n_kwreturn:nullable TKwreturn(TKwreturn)>*/;
2855 { /* Inline parser_nodes#ANode#parent= (var_n_kwreturn,self) on <var_n_kwreturn:nullable TKwreturn(TKwreturn)> */
2856 var_n_kwreturn
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwreturn:nullable TKwreturn(TKwreturn)> */
2862 self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AReturnExpr> */
2864 if (var_n_expr
== NULL
) {
2865 var9
= 0; /* is null */
2867 var9
= 1; /* arg is null and recv is not */
2870 { /* Inline kernel#Object#!= (var_n_expr,var8) on <var_n_expr:nullable AExpr> */
2873 var13
= ((short int (*)(val
*, val
*))(var_n_expr
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_expr
, var_other
) /* == on <var_n_expr:nullable AExpr(AExpr)>*/;
2879 RET_LABEL11
:(void)0;
2885 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr(AExpr)> */
2886 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr(AExpr)> */
2887 RET_LABEL15
:(void)0;
2894 /* method parser_prod#AReturnExpr#init_areturnexpr for (self: Object, nullable TKwreturn, nullable AExpr) */
2895 void VIRTUAL_parser_prod__AReturnExpr__init_areturnexpr(val
* self
, val
* p0
, val
* p1
) {
2896 parser_prod__AReturnExpr__init_areturnexpr(self
, p0
, p1
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <self:Object(AReturnExpr)>*/
2899 /* method parser_prod#AReturnExpr#replace_child for (self: AReturnExpr, ANode, nullable ANode) */
2900 void parser_prod__AReturnExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
2901 val
* var_old_child
/* var old_child: ANode */;
2902 val
* var_new_child
/* var new_child: nullable ANode */;
2903 val
* var
/* : nullable TKwreturn */;
2904 short int var1
/* : Bool */;
2905 short int var2
/* : Bool */;
2906 val
* var_other
/* var other: nullable Object */;
2907 short int var4
/* : Bool */;
2908 short int var6
/* : Bool */;
2909 short int var7
/* : Bool */;
2912 const char* var_class_name
;
2913 val
* var8
/* : nullable AExpr */;
2914 short int var9
/* : Bool */;
2915 short int var10
/* : Bool */;
2916 short int var12
/* : Bool */;
2917 short int var14
/* : Bool */;
2918 short int var15
/* : Bool */;
2921 const char* var_class_name18
;
2924 var
= self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_kwreturn
].val
; /* _n_kwreturn on <self:AReturnExpr> */
2926 var1
= 0; /* <var_old_child:ANode> cannot be null */
2928 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwreturn> */
2929 var_other
= var_old_child
;
2931 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwreturn(TKwreturn)> */
2932 var6
= var
== var_other
;
2945 /* <var_new_child:nullable ANode> isa nullable TKwreturn */
2946 cltype
= type_nullable_parser_nodes__TKwreturn
.color
;
2947 idtype
= type_nullable_parser_nodes__TKwreturn
.id
;
2948 if(var_new_child
== NULL
) {
2951 if(cltype
>= var_new_child
->type
->table_size
) {
2954 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
2957 if (unlikely(!var7
)) {
2958 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
2959 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwreturn", var_class_name
);
2960 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3093);
2964 parser_prod__AReturnExpr__n_kwreturn_61d(self
, var_new_child
); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on <self:AReturnExpr>*/
2969 var8
= self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_expr
].val
; /* _n_expr on <self:AReturnExpr> */
2971 var9
= 0; /* <var_old_child:ANode> cannot be null */
2973 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable AExpr> */
2974 var_other
= var_old_child
;
2976 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable AExpr(AExpr)> */
2977 var14
= var8
== var_other
;
2980 RET_LABEL13
:(void)0;
2985 RET_LABEL11
:(void)0;
2990 /* <var_new_child:nullable ANode> isa nullable AExpr */
2991 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
2992 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
2993 if(var_new_child
== NULL
) {
2996 if(cltype16
>= var_new_child
->type
->table_size
) {
2999 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
3002 if (unlikely(!var15
)) {
3003 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3004 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18
);
3005 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3097);
3009 parser_prod__AReturnExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AReturnExpr#n_expr= on <self:AReturnExpr>*/
3016 /* method parser_prod#AReturnExpr#replace_child for (self: Object, ANode, nullable ANode) */
3017 void VIRTUAL_parser_prod__AReturnExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3018 parser_prod__AReturnExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AReturnExpr#replace_child on <self:Object(AReturnExpr)>*/
3021 /* method parser_prod#AReturnExpr#n_kwreturn= for (self: AReturnExpr, nullable TKwreturn) */
3022 void parser_prod__AReturnExpr__n_kwreturn_61d(val
* self
, val
* p0
) {
3023 val
* var_node
/* var node: nullable TKwreturn */;
3024 val
* var
/* : null */;
3025 short int var1
/* : Bool */;
3026 short int var2
/* : Bool */;
3027 val
* var_other
/* var other: nullable Object */;
3028 short int var4
/* : Bool */;
3029 short int var5
/* : Bool */;
3030 short int var6
/* : Bool */;
3032 self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_kwreturn
].val
= var_node
; /* _n_kwreturn on <self:AReturnExpr> */
3034 if (var_node
== NULL
) {
3035 var1
= 0; /* is null */
3037 var1
= 1; /* arg is null and recv is not */
3040 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TKwreturn> */
3043 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TKwreturn(TKwreturn)>*/;
3055 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwreturn(TKwreturn)> */
3056 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TKwreturn(TKwreturn)> */
3064 /* method parser_prod#AReturnExpr#n_kwreturn= for (self: Object, nullable TKwreturn) */
3065 void VIRTUAL_parser_prod__AReturnExpr__n_kwreturn_61d(val
* self
, val
* p0
) {
3066 parser_prod__AReturnExpr__n_kwreturn_61d(self
, p0
); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on <self:Object(AReturnExpr)>*/
3069 /* method parser_prod#AReturnExpr#n_expr= for (self: AReturnExpr, nullable AExpr) */
3070 void parser_prod__AReturnExpr__n_expr_61d(val
* self
, val
* p0
) {
3071 val
* var_node
/* var node: nullable AExpr */;
3072 val
* var
/* : null */;
3073 short int var1
/* : Bool */;
3074 short int var2
/* : Bool */;
3075 val
* var_other
/* var other: nullable Object */;
3076 short int var4
/* : Bool */;
3077 short int var5
/* : Bool */;
3078 short int var6
/* : Bool */;
3080 self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AReturnExpr> */
3082 if (var_node
== NULL
) {
3083 var1
= 0; /* is null */
3085 var1
= 1; /* arg is null and recv is not */
3088 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
3091 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
3103 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
3104 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
3112 /* method parser_prod#AReturnExpr#n_expr= for (self: Object, nullable AExpr) */
3113 void VIRTUAL_parser_prod__AReturnExpr__n_expr_61d(val
* self
, val
* p0
) {
3114 parser_prod__AReturnExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AReturnExpr#n_expr= on <self:Object(AReturnExpr)>*/
3117 /* method parser_prod#AReturnExpr#visit_all for (self: AReturnExpr, Visitor) */
3118 void parser_prod__AReturnExpr__visit_all(val
* self
, val
* p0
) {
3119 val
* var_v
/* var v: Visitor */;
3120 val
* var
/* : nullable TKwreturn */;
3121 val
* var1
/* : nullable AExpr */;
3123 var
= self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_kwreturn
].val
; /* _n_kwreturn on <self:AReturnExpr> */
3125 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3127 var1
= self
->attrs
[COLOR_parser_nodes__AReturnExpr___n_expr
].val
; /* _n_expr on <self:AReturnExpr> */
3129 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3133 /* method parser_prod#AReturnExpr#visit_all for (self: Object, Visitor) */
3134 void VIRTUAL_parser_prod__AReturnExpr__visit_all(val
* self
, val
* p0
) {
3135 parser_prod__AReturnExpr__visit_all(self
, p0
); /* Direct call parser_prod#AReturnExpr#visit_all on <self:Object(AReturnExpr)>*/
3138 /* method parser_prod#ABreakExpr#init_abreakexpr for (self: ABreakExpr, nullable TKwbreak, nullable ALabel) */
3139 void parser_prod__ABreakExpr__init_abreakexpr(val
* self
, val
* p0
, val
* p1
) {
3140 val
* var_n_kwbreak
/* var n_kwbreak: nullable TKwbreak */;
3141 val
* var_n_label
/* var n_label: nullable ALabel */;
3142 val
* var
/* : null */;
3143 short int var2
/* : Bool */;
3144 short int var3
/* : Bool */;
3145 val
* var_other
/* var other: nullable Object */;
3146 short int var5
/* : Bool */;
3147 short int var6
/* : Bool */;
3148 short int var7
/* : Bool */;
3151 if (unlikely(var_n_kwbreak
== NULL
)) {
3152 PRINT_ERROR("Runtime error: %s", "Cast failed");
3153 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3126);
3156 self
->attrs
[COLOR_parser_nodes__ABreakExpr___n_kwbreak
].val
= var_n_kwbreak
; /* _n_kwbreak on <self:ABreakExpr> */
3157 if (var_n_kwbreak
== NULL
) {
3158 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3159 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3127);
3162 { /* Inline parser_nodes#ANode#parent= (var_n_kwbreak,self) on <var_n_kwbreak:nullable TKwbreak> */
3163 if (unlikely(var_n_kwbreak
== NULL
)) {
3164 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3165 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
3168 var_n_kwbreak
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwbreak:nullable TKwbreak> */
3172 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:ABreakExpr> */
3174 if (var_n_label
== NULL
) {
3175 var2
= 0; /* is null */
3177 var2
= 1; /* arg is null and recv is not */
3180 { /* Inline kernel#Object#!= (var_n_label,var) on <var_n_label:nullable ALabel> */
3183 var6
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
3195 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
3196 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
3204 /* method parser_prod#ABreakExpr#init_abreakexpr for (self: Object, nullable TKwbreak, nullable ALabel) */
3205 void VIRTUAL_parser_prod__ABreakExpr__init_abreakexpr(val
* self
, val
* p0
, val
* p1
) {
3206 parser_prod__ABreakExpr__init_abreakexpr(self
, p0
, p1
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <self:Object(ABreakExpr)>*/
3209 /* method parser_prod#ABreakExpr#replace_child for (self: ABreakExpr, ANode, nullable ANode) */
3210 void parser_prod__ABreakExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3211 val
* var_old_child
/* var old_child: ANode */;
3212 val
* var_new_child
/* var new_child: nullable ANode */;
3213 val
* var
/* : TKwbreak */;
3214 short int var1
/* : Bool */;
3215 short int var2
/* : Bool */;
3216 val
* var_other
/* var other: nullable Object */;
3217 short int var4
/* : Bool */;
3218 short int var6
/* : Bool */;
3219 short int var7
/* : Bool */;
3222 const char* var_class_name
;
3223 val
* var8
/* : nullable ALabel */;
3224 short int var9
/* : Bool */;
3225 short int var10
/* : Bool */;
3226 short int var12
/* : Bool */;
3227 short int var14
/* : Bool */;
3228 short int var15
/* : Bool */;
3231 const char* var_class_name18
;
3234 var
= self
->attrs
[COLOR_parser_nodes__ABreakExpr___n_kwbreak
].val
; /* _n_kwbreak on <self:ABreakExpr> */
3235 if (unlikely(var
== NULL
)) {
3236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak");
3237 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3134);
3241 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwbreak> */
3242 var_other
= var_old_child
;
3244 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwbreak> */
3245 var6
= var
== var_other
;
3258 /* <var_new_child:nullable ANode> isa TKwbreak */
3259 cltype
= type_parser_nodes__TKwbreak
.color
;
3260 idtype
= type_parser_nodes__TKwbreak
.id
;
3261 if(var_new_child
== NULL
) {
3264 if(cltype
>= var_new_child
->type
->table_size
) {
3267 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
3270 if (unlikely(!var7
)) {
3271 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3272 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwbreak", var_class_name
);
3273 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3135);
3277 parser_prod__ABreakExpr__n_kwbreak_61d(self
, var_new_child
); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on <self:ABreakExpr>*/
3282 var8
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ABreakExpr> */
3284 var9
= 0; /* <var_old_child:ANode> cannot be null */
3286 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable ALabel> */
3287 var_other
= var_old_child
;
3289 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable ALabel(ALabel)> */
3290 var14
= var8
== var_other
;
3293 RET_LABEL13
:(void)0;
3298 RET_LABEL11
:(void)0;
3303 /* <var_new_child:nullable ANode> isa nullable ALabel */
3304 cltype16
= type_nullable_parser_nodes__ALabel
.color
;
3305 idtype17
= type_nullable_parser_nodes__ALabel
.id
;
3306 if(var_new_child
== NULL
) {
3309 if(cltype16
>= var_new_child
->type
->table_size
) {
3312 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
3315 if (unlikely(!var15
)) {
3316 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3317 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18
);
3318 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3139);
3322 parser_prod__ABreakExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#ABreakExpr#n_label= on <self:ABreakExpr>*/
3329 /* method parser_prod#ABreakExpr#replace_child for (self: Object, ANode, nullable ANode) */
3330 void VIRTUAL_parser_prod__ABreakExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3331 parser_prod__ABreakExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ABreakExpr#replace_child on <self:Object(ABreakExpr)>*/
3334 /* method parser_prod#ABreakExpr#n_kwbreak= for (self: ABreakExpr, TKwbreak) */
3335 void parser_prod__ABreakExpr__n_kwbreak_61d(val
* self
, val
* p0
) {
3336 val
* var_node
/* var node: TKwbreak */;
3338 self
->attrs
[COLOR_parser_nodes__ABreakExpr___n_kwbreak
].val
= var_node
; /* _n_kwbreak on <self:ABreakExpr> */
3340 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwbreak> */
3341 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwbreak> */
3347 /* method parser_prod#ABreakExpr#n_kwbreak= for (self: Object, TKwbreak) */
3348 void VIRTUAL_parser_prod__ABreakExpr__n_kwbreak_61d(val
* self
, val
* p0
) {
3349 parser_prod__ABreakExpr__n_kwbreak_61d(self
, p0
); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on <self:Object(ABreakExpr)>*/
3352 /* method parser_prod#ABreakExpr#n_label= for (self: ABreakExpr, nullable ALabel) */
3353 void parser_prod__ABreakExpr__n_label_61d(val
* self
, val
* p0
) {
3354 val
* var_node
/* var node: nullable ALabel */;
3355 val
* var
/* : null */;
3356 short int var1
/* : Bool */;
3357 short int var2
/* : Bool */;
3358 val
* var_other
/* var other: nullable Object */;
3359 short int var4
/* : Bool */;
3360 short int var5
/* : Bool */;
3361 short int var6
/* : Bool */;
3363 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:ABreakExpr> */
3365 if (var_node
== NULL
) {
3366 var1
= 0; /* is null */
3368 var1
= 1; /* arg is null and recv is not */
3371 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
3374 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
3386 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
3387 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
3395 /* method parser_prod#ABreakExpr#n_label= for (self: Object, nullable ALabel) */
3396 void VIRTUAL_parser_prod__ABreakExpr__n_label_61d(val
* self
, val
* p0
) {
3397 parser_prod__ABreakExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#ABreakExpr#n_label= on <self:Object(ABreakExpr)>*/
3400 /* method parser_prod#ABreakExpr#visit_all for (self: ABreakExpr, Visitor) */
3401 void parser_prod__ABreakExpr__visit_all(val
* self
, val
* p0
) {
3402 val
* var_v
/* var v: Visitor */;
3403 val
* var
/* : TKwbreak */;
3404 val
* var1
/* : nullable ALabel */;
3406 var
= self
->attrs
[COLOR_parser_nodes__ABreakExpr___n_kwbreak
].val
; /* _n_kwbreak on <self:ABreakExpr> */
3407 if (unlikely(var
== NULL
)) {
3408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak");
3409 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3158);
3413 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3415 var1
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ABreakExpr> */
3417 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3421 /* method parser_prod#ABreakExpr#visit_all for (self: Object, Visitor) */
3422 void VIRTUAL_parser_prod__ABreakExpr__visit_all(val
* self
, val
* p0
) {
3423 parser_prod__ABreakExpr__visit_all(self
, p0
); /* Direct call parser_prod#ABreakExpr#visit_all on <self:Object(ABreakExpr)>*/
3426 /* method parser_prod#AAbortExpr#init_aabortexpr for (self: AAbortExpr, nullable TKwabort) */
3427 void parser_prod__AAbortExpr__init_aabortexpr(val
* self
, val
* p0
) {
3428 val
* var_n_kwabort
/* var n_kwabort: nullable TKwabort */;
3430 if (unlikely(var_n_kwabort
== NULL
)) {
3431 PRINT_ERROR("Runtime error: %s", "Cast failed");
3432 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3167);
3435 self
->attrs
[COLOR_parser_nodes__AAbortExpr___n_kwabort
].val
= var_n_kwabort
; /* _n_kwabort on <self:AAbortExpr> */
3436 if (var_n_kwabort
== NULL
) {
3437 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3438 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3168);
3441 { /* Inline parser_nodes#ANode#parent= (var_n_kwabort,self) on <var_n_kwabort:nullable TKwabort> */
3442 if (unlikely(var_n_kwabort
== NULL
)) {
3443 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3444 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
3447 var_n_kwabort
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwabort:nullable TKwabort> */
3453 /* method parser_prod#AAbortExpr#init_aabortexpr for (self: Object, nullable TKwabort) */
3454 void VIRTUAL_parser_prod__AAbortExpr__init_aabortexpr(val
* self
, val
* p0
) {
3455 parser_prod__AAbortExpr__init_aabortexpr(self
, p0
); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on <self:Object(AAbortExpr)>*/
3458 /* method parser_prod#AAbortExpr#replace_child for (self: AAbortExpr, ANode, nullable ANode) */
3459 void parser_prod__AAbortExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3460 val
* var_old_child
/* var old_child: ANode */;
3461 val
* var_new_child
/* var new_child: nullable ANode */;
3462 val
* var
/* : TKwabort */;
3463 short int var1
/* : Bool */;
3464 short int var2
/* : Bool */;
3465 val
* var_other
/* var other: nullable Object */;
3466 short int var4
/* : Bool */;
3467 short int var6
/* : Bool */;
3468 short int var7
/* : Bool */;
3471 const char* var_class_name
;
3474 var
= self
->attrs
[COLOR_parser_nodes__AAbortExpr___n_kwabort
].val
; /* _n_kwabort on <self:AAbortExpr> */
3475 if (unlikely(var
== NULL
)) {
3476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort");
3477 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3173);
3481 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwabort> */
3482 var_other
= var_old_child
;
3484 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwabort> */
3485 var6
= var
== var_other
;
3498 /* <var_new_child:nullable ANode> isa TKwabort */
3499 cltype
= type_parser_nodes__TKwabort
.color
;
3500 idtype
= type_parser_nodes__TKwabort
.id
;
3501 if(var_new_child
== NULL
) {
3504 if(cltype
>= var_new_child
->type
->table_size
) {
3507 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
3510 if (unlikely(!var7
)) {
3511 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabort", var_class_name
);
3513 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3174);
3517 parser_prod__AAbortExpr__n_kwabort_61d(self
, var_new_child
); /* Direct call parser_prod#AAbortExpr#n_kwabort= on <self:AAbortExpr>*/
3524 /* method parser_prod#AAbortExpr#replace_child for (self: Object, ANode, nullable ANode) */
3525 void VIRTUAL_parser_prod__AAbortExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3526 parser_prod__AAbortExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AAbortExpr#replace_child on <self:Object(AAbortExpr)>*/
3529 /* method parser_prod#AAbortExpr#n_kwabort= for (self: AAbortExpr, TKwabort) */
3530 void parser_prod__AAbortExpr__n_kwabort_61d(val
* self
, val
* p0
) {
3531 val
* var_node
/* var node: TKwabort */;
3533 self
->attrs
[COLOR_parser_nodes__AAbortExpr___n_kwabort
].val
= var_node
; /* _n_kwabort on <self:AAbortExpr> */
3535 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwabort> */
3536 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwabort> */
3542 /* method parser_prod#AAbortExpr#n_kwabort= for (self: Object, TKwabort) */
3543 void VIRTUAL_parser_prod__AAbortExpr__n_kwabort_61d(val
* self
, val
* p0
) {
3544 parser_prod__AAbortExpr__n_kwabort_61d(self
, p0
); /* Direct call parser_prod#AAbortExpr#n_kwabort= on <self:Object(AAbortExpr)>*/
3547 /* method parser_prod#AAbortExpr#visit_all for (self: AAbortExpr, Visitor) */
3548 void parser_prod__AAbortExpr__visit_all(val
* self
, val
* p0
) {
3549 val
* var_v
/* var v: Visitor */;
3550 val
* var
/* : TKwabort */;
3552 var
= self
->attrs
[COLOR_parser_nodes__AAbortExpr___n_kwabort
].val
; /* _n_kwabort on <self:AAbortExpr> */
3553 if (unlikely(var
== NULL
)) {
3554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort");
3555 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3188);
3559 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3563 /* method parser_prod#AAbortExpr#visit_all for (self: Object, Visitor) */
3564 void VIRTUAL_parser_prod__AAbortExpr__visit_all(val
* self
, val
* p0
) {
3565 parser_prod__AAbortExpr__visit_all(self
, p0
); /* Direct call parser_prod#AAbortExpr#visit_all on <self:Object(AAbortExpr)>*/
3568 /* method parser_prod#AContinueExpr#init_acontinueexpr for (self: AContinueExpr, nullable TKwcontinue, nullable ALabel) */
3569 void parser_prod__AContinueExpr__init_acontinueexpr(val
* self
, val
* p0
, val
* p1
) {
3570 val
* var_n_kwcontinue
/* var n_kwcontinue: nullable TKwcontinue */;
3571 val
* var_n_label
/* var n_label: nullable ALabel */;
3572 val
* var
/* : null */;
3573 short int var1
/* : Bool */;
3574 short int var2
/* : Bool */;
3575 val
* var_other
/* var other: nullable Object */;
3576 short int var4
/* : Bool */;
3577 short int var5
/* : Bool */;
3578 short int var6
/* : Bool */;
3579 val
* var8
/* : null */;
3580 short int var9
/* : Bool */;
3581 short int var10
/* : Bool */;
3582 short int var12
/* : Bool */;
3583 short int var13
/* : Bool */;
3584 short int var14
/* : Bool */;
3585 var_n_kwcontinue
= p0
;
3587 self
->attrs
[COLOR_parser_nodes__AContinueExpr___n_kwcontinue
].val
= var_n_kwcontinue
; /* _n_kwcontinue on <self:AContinueExpr> */
3589 if (var_n_kwcontinue
== NULL
) {
3590 var1
= 0; /* is null */
3592 var1
= 1; /* arg is null and recv is not */
3595 { /* Inline kernel#Object#!= (var_n_kwcontinue,var) on <var_n_kwcontinue:nullable TKwcontinue> */
3598 var5
= ((short int (*)(val
*, val
*))(var_n_kwcontinue
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_kwcontinue
, var_other
) /* == on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)>*/;
3610 { /* Inline parser_nodes#ANode#parent= (var_n_kwcontinue,self) on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)> */
3611 var_n_kwcontinue
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwcontinue:nullable TKwcontinue(TKwcontinue)> */
3617 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:AContinueExpr> */
3619 if (var_n_label
== NULL
) {
3620 var9
= 0; /* is null */
3622 var9
= 1; /* arg is null and recv is not */
3625 { /* Inline kernel#Object#!= (var_n_label,var8) on <var_n_label:nullable ALabel> */
3628 var13
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
3634 RET_LABEL11
:(void)0;
3640 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
3641 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
3642 RET_LABEL15
:(void)0;
3649 /* method parser_prod#AContinueExpr#init_acontinueexpr for (self: Object, nullable TKwcontinue, nullable ALabel) */
3650 void VIRTUAL_parser_prod__AContinueExpr__init_acontinueexpr(val
* self
, val
* p0
, val
* p1
) {
3651 parser_prod__AContinueExpr__init_acontinueexpr(self
, p0
, p1
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <self:Object(AContinueExpr)>*/
3654 /* method parser_prod#AContinueExpr#replace_child for (self: AContinueExpr, ANode, nullable ANode) */
3655 void parser_prod__AContinueExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3656 val
* var_old_child
/* var old_child: ANode */;
3657 val
* var_new_child
/* var new_child: nullable ANode */;
3658 val
* var
/* : nullable TKwcontinue */;
3659 short int var1
/* : Bool */;
3660 short int var2
/* : Bool */;
3661 val
* var_other
/* var other: nullable Object */;
3662 short int var4
/* : Bool */;
3663 short int var6
/* : Bool */;
3664 short int var7
/* : Bool */;
3667 const char* var_class_name
;
3668 val
* var8
/* : nullable ALabel */;
3669 short int var9
/* : Bool */;
3670 short int var10
/* : Bool */;
3671 short int var12
/* : Bool */;
3672 short int var14
/* : Bool */;
3673 short int var15
/* : Bool */;
3676 const char* var_class_name18
;
3679 var
= self
->attrs
[COLOR_parser_nodes__AContinueExpr___n_kwcontinue
].val
; /* _n_kwcontinue on <self:AContinueExpr> */
3681 var1
= 0; /* <var_old_child:ANode> cannot be null */
3683 { /* Inline kernel#Object#== (var,var_old_child) on <var:nullable TKwcontinue> */
3684 var_other
= var_old_child
;
3686 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable TKwcontinue(TKwcontinue)> */
3687 var6
= var
== var_other
;
3700 /* <var_new_child:nullable ANode> isa nullable TKwcontinue */
3701 cltype
= type_nullable_parser_nodes__TKwcontinue
.color
;
3702 idtype
= type_nullable_parser_nodes__TKwcontinue
.id
;
3703 if(var_new_child
== NULL
) {
3706 if(cltype
>= var_new_child
->type
->table_size
) {
3709 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
3712 if (unlikely(!var7
)) {
3713 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3714 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwcontinue", var_class_name
);
3715 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3206);
3719 parser_prod__AContinueExpr__n_kwcontinue_61d(self
, var_new_child
); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on <self:AContinueExpr>*/
3724 var8
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AContinueExpr> */
3726 var9
= 0; /* <var_old_child:ANode> cannot be null */
3728 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable ALabel> */
3729 var_other
= var_old_child
;
3731 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable ALabel(ALabel)> */
3732 var14
= var8
== var_other
;
3735 RET_LABEL13
:(void)0;
3740 RET_LABEL11
:(void)0;
3745 /* <var_new_child:nullable ANode> isa nullable ALabel */
3746 cltype16
= type_nullable_parser_nodes__ALabel
.color
;
3747 idtype17
= type_nullable_parser_nodes__ALabel
.id
;
3748 if(var_new_child
== NULL
) {
3751 if(cltype16
>= var_new_child
->type
->table_size
) {
3754 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
3757 if (unlikely(!var15
)) {
3758 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
3759 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18
);
3760 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3210);
3764 parser_prod__AContinueExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#AContinueExpr#n_label= on <self:AContinueExpr>*/
3771 /* method parser_prod#AContinueExpr#replace_child for (self: Object, ANode, nullable ANode) */
3772 void VIRTUAL_parser_prod__AContinueExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
3773 parser_prod__AContinueExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AContinueExpr#replace_child on <self:Object(AContinueExpr)>*/
3776 /* method parser_prod#AContinueExpr#n_kwcontinue= for (self: AContinueExpr, nullable TKwcontinue) */
3777 void parser_prod__AContinueExpr__n_kwcontinue_61d(val
* self
, val
* p0
) {
3778 val
* var_node
/* var node: nullable TKwcontinue */;
3779 val
* var
/* : null */;
3780 short int var1
/* : Bool */;
3781 short int var2
/* : Bool */;
3782 val
* var_other
/* var other: nullable Object */;
3783 short int var4
/* : Bool */;
3784 short int var5
/* : Bool */;
3785 short int var6
/* : Bool */;
3787 self
->attrs
[COLOR_parser_nodes__AContinueExpr___n_kwcontinue
].val
= var_node
; /* _n_kwcontinue on <self:AContinueExpr> */
3789 if (var_node
== NULL
) {
3790 var1
= 0; /* is null */
3792 var1
= 1; /* arg is null and recv is not */
3795 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TKwcontinue> */
3798 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TKwcontinue(TKwcontinue)>*/;
3810 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwcontinue(TKwcontinue)> */
3811 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TKwcontinue(TKwcontinue)> */
3819 /* method parser_prod#AContinueExpr#n_kwcontinue= for (self: Object, nullable TKwcontinue) */
3820 void VIRTUAL_parser_prod__AContinueExpr__n_kwcontinue_61d(val
* self
, val
* p0
) {
3821 parser_prod__AContinueExpr__n_kwcontinue_61d(self
, p0
); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on <self:Object(AContinueExpr)>*/
3824 /* method parser_prod#AContinueExpr#n_label= for (self: AContinueExpr, nullable ALabel) */
3825 void parser_prod__AContinueExpr__n_label_61d(val
* self
, val
* p0
) {
3826 val
* var_node
/* var node: nullable ALabel */;
3827 val
* var
/* : null */;
3828 short int var1
/* : Bool */;
3829 short int var2
/* : Bool */;
3830 val
* var_other
/* var other: nullable Object */;
3831 short int var4
/* : Bool */;
3832 short int var5
/* : Bool */;
3833 short int var6
/* : Bool */;
3835 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:AContinueExpr> */
3837 if (var_node
== NULL
) {
3838 var1
= 0; /* is null */
3840 var1
= 1; /* arg is null and recv is not */
3843 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
3846 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
3858 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
3859 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
3867 /* method parser_prod#AContinueExpr#n_label= for (self: Object, nullable ALabel) */
3868 void VIRTUAL_parser_prod__AContinueExpr__n_label_61d(val
* self
, val
* p0
) {
3869 parser_prod__AContinueExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#AContinueExpr#n_label= on <self:Object(AContinueExpr)>*/
3872 /* method parser_prod#AContinueExpr#visit_all for (self: AContinueExpr, Visitor) */
3873 void parser_prod__AContinueExpr__visit_all(val
* self
, val
* p0
) {
3874 val
* var_v
/* var v: Visitor */;
3875 val
* var
/* : nullable TKwcontinue */;
3876 val
* var1
/* : nullable ALabel */;
3878 var
= self
->attrs
[COLOR_parser_nodes__AContinueExpr___n_kwcontinue
].val
; /* _n_kwcontinue on <self:AContinueExpr> */
3880 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3882 var1
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AContinueExpr> */
3884 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
3888 /* method parser_prod#AContinueExpr#visit_all for (self: Object, Visitor) */
3889 void VIRTUAL_parser_prod__AContinueExpr__visit_all(val
* self
, val
* p0
) {
3890 parser_prod__AContinueExpr__visit_all(self
, p0
); /* Direct call parser_prod#AContinueExpr#visit_all on <self:Object(AContinueExpr)>*/
3893 /* method parser_prod#ADoExpr#init_adoexpr for (self: ADoExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
3894 void parser_prod__ADoExpr__init_adoexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3895 val
* var_n_kwdo
/* var n_kwdo: nullable TKwdo */;
3896 val
* var_n_block
/* var n_block: nullable AExpr */;
3897 val
* var_n_label
/* var n_label: nullable ALabel */;
3898 val
* var
/* : null */;
3899 short int var2
/* : Bool */;
3900 short int var3
/* : Bool */;
3901 val
* var_other
/* var other: nullable Object */;
3902 short int var5
/* : Bool */;
3903 short int var6
/* : Bool */;
3904 short int var7
/* : Bool */;
3905 val
* var9
/* : null */;
3906 short int var10
/* : Bool */;
3907 short int var11
/* : Bool */;
3908 short int var13
/* : Bool */;
3909 short int var14
/* : Bool */;
3910 short int var15
/* : Bool */;
3914 if (unlikely(var_n_kwdo
== NULL
)) {
3915 PRINT_ERROR("Runtime error: %s", "Cast failed");
3916 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3240);
3919 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
= var_n_kwdo
; /* _n_kwdo on <self:ADoExpr> */
3920 if (var_n_kwdo
== NULL
) {
3921 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3922 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3241);
3925 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
3926 if (unlikely(var_n_kwdo
== NULL
)) {
3927 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3928 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
3931 var_n_kwdo
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwdo:nullable TKwdo> */
3935 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
= var_n_block
; /* _n_block on <self:ADoExpr> */
3937 if (var_n_block
== NULL
) {
3938 var2
= 0; /* is null */
3940 var2
= 1; /* arg is null and recv is not */
3943 { /* Inline kernel#Object#!= (var_n_block,var) on <var_n_block:nullable AExpr> */
3946 var6
= ((short int (*)(val
*, val
*))(var_n_block
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_block
, var_other
) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
3958 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
3959 var_n_block
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
3965 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:ADoExpr> */
3967 if (var_n_label
== NULL
) {
3968 var10
= 0; /* is null */
3970 var10
= 1; /* arg is null and recv is not */
3973 { /* Inline kernel#Object#!= (var_n_label,var9) on <var_n_label:nullable ALabel> */
3976 var14
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
3982 RET_LABEL12
:(void)0;
3988 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
3989 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
3990 RET_LABEL16
:(void)0;
3997 /* method parser_prod#ADoExpr#init_adoexpr for (self: Object, nullable TKwdo, nullable AExpr, nullable ALabel) */
3998 void VIRTUAL_parser_prod__ADoExpr__init_adoexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3999 parser_prod__ADoExpr__init_adoexpr(self
, p0
, p1
, p2
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <self:Object(ADoExpr)>*/
4002 /* method parser_prod#ADoExpr#replace_child for (self: ADoExpr, ANode, nullable ANode) */
4003 void parser_prod__ADoExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
4004 val
* var_old_child
/* var old_child: ANode */;
4005 val
* var_new_child
/* var new_child: nullable ANode */;
4006 val
* var
/* : TKwdo */;
4007 short int var1
/* : Bool */;
4008 short int var2
/* : Bool */;
4009 val
* var_other
/* var other: nullable Object */;
4010 short int var4
/* : Bool */;
4011 short int var6
/* : Bool */;
4012 short int var7
/* : Bool */;
4015 const char* var_class_name
;
4016 val
* var8
/* : nullable AExpr */;
4017 short int var9
/* : Bool */;
4018 short int var10
/* : Bool */;
4019 short int var12
/* : Bool */;
4020 short int var14
/* : Bool */;
4021 short int var15
/* : Bool */;
4024 const char* var_class_name18
;
4025 val
* var19
/* : nullable ALabel */;
4026 short int var20
/* : Bool */;
4027 short int var21
/* : Bool */;
4028 short int var23
/* : Bool */;
4029 short int var25
/* : Bool */;
4030 short int var26
/* : Bool */;
4033 const char* var_class_name29
;
4036 var
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
; /* _n_kwdo on <self:ADoExpr> */
4037 if (unlikely(var
== NULL
)) {
4038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
4039 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3250);
4043 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwdo> */
4044 var_other
= var_old_child
;
4046 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwdo> */
4047 var6
= var
== var_other
;
4060 /* <var_new_child:nullable ANode> isa TKwdo */
4061 cltype
= type_parser_nodes__TKwdo
.color
;
4062 idtype
= type_parser_nodes__TKwdo
.id
;
4063 if(var_new_child
== NULL
) {
4066 if(cltype
>= var_new_child
->type
->table_size
) {
4069 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
4072 if (unlikely(!var7
)) {
4073 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4074 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name
);
4075 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3251);
4079 parser_prod__ADoExpr__n_kwdo_61d(self
, var_new_child
); /* Direct call parser_prod#ADoExpr#n_kwdo= on <self:ADoExpr>*/
4084 var8
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
4086 var9
= 0; /* <var_old_child:ANode> cannot be null */
4088 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable AExpr> */
4089 var_other
= var_old_child
;
4091 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable AExpr(AExpr)> */
4092 var14
= var8
== var_other
;
4095 RET_LABEL13
:(void)0;
4100 RET_LABEL11
:(void)0;
4105 /* <var_new_child:nullable ANode> isa nullable AExpr */
4106 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
4107 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
4108 if(var_new_child
== NULL
) {
4111 if(cltype16
>= var_new_child
->type
->table_size
) {
4114 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
4117 if (unlikely(!var15
)) {
4118 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4119 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18
);
4120 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3255);
4124 parser_prod__ADoExpr__n_block_61d(self
, var_new_child
); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
4129 var19
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ADoExpr> */
4130 if (var19
== NULL
) {
4131 var20
= 0; /* <var_old_child:ANode> cannot be null */
4133 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable ALabel> */
4134 var_other
= var_old_child
;
4136 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable ALabel(ALabel)> */
4137 var25
= var19
== var_other
;
4140 RET_LABEL24
:(void)0;
4145 RET_LABEL22
:(void)0;
4150 /* <var_new_child:nullable ANode> isa nullable ALabel */
4151 cltype27
= type_nullable_parser_nodes__ALabel
.color
;
4152 idtype28
= type_nullable_parser_nodes__ALabel
.id
;
4153 if(var_new_child
== NULL
) {
4156 if(cltype27
>= var_new_child
->type
->table_size
) {
4159 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
4162 if (unlikely(!var26
)) {
4163 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4164 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name29
);
4165 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3259);
4169 parser_prod__ADoExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#ADoExpr#n_label= on <self:ADoExpr>*/
4176 /* method parser_prod#ADoExpr#replace_child for (self: Object, ANode, nullable ANode) */
4177 void VIRTUAL_parser_prod__ADoExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
4178 parser_prod__ADoExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ADoExpr#replace_child on <self:Object(ADoExpr)>*/
4181 /* method parser_prod#ADoExpr#n_kwdo= for (self: ADoExpr, TKwdo) */
4182 void parser_prod__ADoExpr__n_kwdo_61d(val
* self
, val
* p0
) {
4183 val
* var_node
/* var node: TKwdo */;
4185 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
= var_node
; /* _n_kwdo on <self:ADoExpr> */
4187 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
4188 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwdo> */
4194 /* method parser_prod#ADoExpr#n_kwdo= for (self: Object, TKwdo) */
4195 void VIRTUAL_parser_prod__ADoExpr__n_kwdo_61d(val
* self
, val
* p0
) {
4196 parser_prod__ADoExpr__n_kwdo_61d(self
, p0
); /* Direct call parser_prod#ADoExpr#n_kwdo= on <self:Object(ADoExpr)>*/
4199 /* method parser_prod#ADoExpr#n_block= for (self: ADoExpr, nullable AExpr) */
4200 void parser_prod__ADoExpr__n_block_61d(val
* self
, val
* p0
) {
4201 val
* var_node
/* var node: nullable AExpr */;
4202 val
* var
/* : null */;
4203 short int var1
/* : Bool */;
4204 short int var2
/* : Bool */;
4205 val
* var_other
/* var other: nullable Object */;
4206 short int var4
/* : Bool */;
4207 short int var5
/* : Bool */;
4208 short int var6
/* : Bool */;
4210 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
= var_node
; /* _n_block on <self:ADoExpr> */
4212 if (var_node
== NULL
) {
4213 var1
= 0; /* is null */
4215 var1
= 1; /* arg is null and recv is not */
4218 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
4221 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
4233 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
4234 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
4242 /* method parser_prod#ADoExpr#n_block= for (self: Object, nullable AExpr) */
4243 void VIRTUAL_parser_prod__ADoExpr__n_block_61d(val
* self
, val
* p0
) {
4244 parser_prod__ADoExpr__n_block_61d(self
, p0
); /* Direct call parser_prod#ADoExpr#n_block= on <self:Object(ADoExpr)>*/
4247 /* method parser_prod#ADoExpr#n_label= for (self: ADoExpr, nullable ALabel) */
4248 void parser_prod__ADoExpr__n_label_61d(val
* self
, val
* p0
) {
4249 val
* var_node
/* var node: nullable ALabel */;
4250 val
* var
/* : null */;
4251 short int var1
/* : Bool */;
4252 short int var2
/* : Bool */;
4253 val
* var_other
/* var other: nullable Object */;
4254 short int var4
/* : Bool */;
4255 short int var5
/* : Bool */;
4256 short int var6
/* : Bool */;
4258 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:ADoExpr> */
4260 if (var_node
== NULL
) {
4261 var1
= 0; /* is null */
4263 var1
= 1; /* arg is null and recv is not */
4266 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
4269 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
4281 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
4282 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
4290 /* method parser_prod#ADoExpr#n_label= for (self: Object, nullable ALabel) */
4291 void VIRTUAL_parser_prod__ADoExpr__n_label_61d(val
* self
, val
* p0
) {
4292 parser_prod__ADoExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#ADoExpr#n_label= on <self:Object(ADoExpr)>*/
4295 /* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */
4296 void parser_prod__ADoExpr__visit_all(val
* self
, val
* p0
) {
4297 val
* var_v
/* var v: Visitor */;
4298 val
* var
/* : TKwdo */;
4299 val
* var1
/* : nullable AExpr */;
4300 val
* var2
/* : nullable ALabel */;
4302 var
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
; /* _n_kwdo on <self:ADoExpr> */
4303 if (unlikely(var
== NULL
)) {
4304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
4305 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3283);
4309 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4311 var1
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
4313 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4315 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ADoExpr> */
4317 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4321 /* method parser_prod#ADoExpr#visit_all for (self: Object, Visitor) */
4322 void VIRTUAL_parser_prod__ADoExpr__visit_all(val
* self
, val
* p0
) {
4323 parser_prod__ADoExpr__visit_all(self
, p0
); /* Direct call parser_prod#ADoExpr#visit_all on <self:Object(ADoExpr)>*/
4326 /* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */
4327 void parser_prod__AIfExpr__init_aifexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
4328 val
* var_n_kwif
/* var n_kwif: nullable TKwif */;
4329 val
* var_n_expr
/* var n_expr: nullable AExpr */;
4330 val
* var_n_then
/* var n_then: nullable AExpr */;
4331 val
* var_n_else
/* var n_else: nullable AExpr */;
4332 val
* var
/* : null */;
4333 short int var3
/* : Bool */;
4334 short int var4
/* : Bool */;
4335 val
* var_other
/* var other: nullable Object */;
4336 short int var6
/* : Bool */;
4337 short int var7
/* : Bool */;
4338 short int var8
/* : Bool */;
4339 val
* var10
/* : null */;
4340 short int var11
/* : Bool */;
4341 short int var12
/* : Bool */;
4342 short int var14
/* : Bool */;
4343 short int var15
/* : Bool */;
4344 short int var16
/* : Bool */;
4349 if (unlikely(var_n_kwif
== NULL
)) {
4350 PRINT_ERROR("Runtime error: %s", "Cast failed");
4351 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3296);
4354 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
= var_n_kwif
; /* _n_kwif on <self:AIfExpr> */
4355 if (var_n_kwif
== NULL
) {
4356 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3297);
4360 { /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on <var_n_kwif:nullable TKwif> */
4361 if (unlikely(var_n_kwif
== NULL
)) {
4362 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4363 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4366 var_n_kwif
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwif:nullable TKwif> */
4370 if (unlikely(var_n_expr
== NULL
)) {
4371 PRINT_ERROR("Runtime error: %s", "Cast failed");
4372 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3298);
4375 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AIfExpr> */
4376 if (var_n_expr
== NULL
) {
4377 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4378 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3299);
4381 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
4382 if (unlikely(var_n_expr
== NULL
)) {
4383 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4384 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4387 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
4391 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
= var_n_then
; /* _n_then on <self:AIfExpr> */
4393 if (var_n_then
== NULL
) {
4394 var3
= 0; /* is null */
4396 var3
= 1; /* arg is null and recv is not */
4399 { /* Inline kernel#Object#!= (var_n_then,var) on <var_n_then:nullable AExpr> */
4402 var7
= ((short int (*)(val
*, val
*))(var_n_then
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_then
, var_other
) /* == on <var_n_then:nullable AExpr(AExpr)>*/;
4414 { /* Inline parser_nodes#ANode#parent= (var_n_then,self) on <var_n_then:nullable AExpr(AExpr)> */
4415 var_n_then
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_then:nullable AExpr(AExpr)> */
4421 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
= var_n_else
; /* _n_else on <self:AIfExpr> */
4423 if (var_n_else
== NULL
) {
4424 var11
= 0; /* is null */
4426 var11
= 1; /* arg is null and recv is not */
4429 { /* Inline kernel#Object#!= (var_n_else,var10) on <var_n_else:nullable AExpr> */
4432 var15
= ((short int (*)(val
*, val
*))(var_n_else
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_else
, var_other
) /* == on <var_n_else:nullable AExpr(AExpr)>*/;
4438 RET_LABEL13
:(void)0;
4444 { /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
4445 var_n_else
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
4446 RET_LABEL17
:(void)0;
4453 /* method parser_prod#AIfExpr#init_aifexpr for (self: Object, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */
4454 void VIRTUAL_parser_prod__AIfExpr__init_aifexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
4455 parser_prod__AIfExpr__init_aifexpr(self
, p0
, p1
, p2
, p3
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <self:Object(AIfExpr)>*/
4458 /* method parser_prod#AIfExpr#replace_child for (self: AIfExpr, ANode, nullable ANode) */
4459 void parser_prod__AIfExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
4460 val
* var_old_child
/* var old_child: ANode */;
4461 val
* var_new_child
/* var new_child: nullable ANode */;
4462 val
* var
/* : TKwif */;
4463 short int var1
/* : Bool */;
4464 short int var2
/* : Bool */;
4465 val
* var_other
/* var other: nullable Object */;
4466 short int var4
/* : Bool */;
4467 short int var6
/* : Bool */;
4468 short int var7
/* : Bool */;
4471 const char* var_class_name
;
4472 val
* var8
/* : AExpr */;
4473 short int var9
/* : Bool */;
4474 short int var10
/* : Bool */;
4475 short int var12
/* : Bool */;
4476 short int var14
/* : Bool */;
4477 short int var15
/* : Bool */;
4480 const char* var_class_name18
;
4481 val
* var19
/* : nullable AExpr */;
4482 short int var20
/* : Bool */;
4483 short int var21
/* : Bool */;
4484 short int var23
/* : Bool */;
4485 short int var25
/* : Bool */;
4486 short int var26
/* : Bool */;
4489 const char* var_class_name29
;
4490 val
* var30
/* : nullable AExpr */;
4491 short int var31
/* : Bool */;
4492 short int var32
/* : Bool */;
4493 short int var34
/* : Bool */;
4494 short int var36
/* : Bool */;
4495 short int var37
/* : Bool */;
4498 const char* var_class_name40
;
4501 var
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
; /* _n_kwif on <self:AIfExpr> */
4502 if (unlikely(var
== NULL
)) {
4503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
4504 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3308);
4508 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwif> */
4509 var_other
= var_old_child
;
4511 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwif> */
4512 var6
= var
== var_other
;
4525 /* <var_new_child:nullable ANode> isa TKwif */
4526 cltype
= type_parser_nodes__TKwif
.color
;
4527 idtype
= type_parser_nodes__TKwif
.id
;
4528 if(var_new_child
== NULL
) {
4531 if(cltype
>= var_new_child
->type
->table_size
) {
4534 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
4537 if (unlikely(!var7
)) {
4538 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4539 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name
);
4540 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3309);
4544 parser_prod__AIfExpr__n_kwif_61d(self
, var_new_child
); /* Direct call parser_prod#AIfExpr#n_kwif= on <self:AIfExpr>*/
4549 var8
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
4550 if (unlikely(var8
== NULL
)) {
4551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4552 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3312);
4556 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
4557 var_other
= var_old_child
;
4559 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
4560 var14
= var8
== var_other
;
4563 RET_LABEL13
:(void)0;
4568 RET_LABEL11
:(void)0;
4573 /* <var_new_child:nullable ANode> isa AExpr */
4574 cltype16
= type_parser_nodes__AExpr
.color
;
4575 idtype17
= type_parser_nodes__AExpr
.id
;
4576 if(var_new_child
== NULL
) {
4579 if(cltype16
>= var_new_child
->type
->table_size
) {
4582 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
4585 if (unlikely(!var15
)) {
4586 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
4588 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3313);
4592 parser_prod__AIfExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AIfExpr#n_expr= on <self:AIfExpr>*/
4597 var19
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
4598 if (var19
== NULL
) {
4599 var20
= 0; /* <var_old_child:ANode> cannot be null */
4601 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable AExpr> */
4602 var_other
= var_old_child
;
4604 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable AExpr(AExpr)> */
4605 var25
= var19
== var_other
;
4608 RET_LABEL24
:(void)0;
4613 RET_LABEL22
:(void)0;
4618 /* <var_new_child:nullable ANode> isa nullable AExpr */
4619 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
4620 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
4621 if(var_new_child
== NULL
) {
4624 if(cltype27
>= var_new_child
->type
->table_size
) {
4627 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
4630 if (unlikely(!var26
)) {
4631 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4632 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name29
);
4633 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3317);
4637 parser_prod__AIfExpr__n_then_61d(self
, var_new_child
); /* Direct call parser_prod#AIfExpr#n_then= on <self:AIfExpr>*/
4642 var30
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
4643 if (var30
== NULL
) {
4644 var31
= 0; /* <var_old_child:ANode> cannot be null */
4646 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable AExpr> */
4647 var_other
= var_old_child
;
4649 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable AExpr(AExpr)> */
4650 var36
= var30
== var_other
;
4653 RET_LABEL35
:(void)0;
4658 RET_LABEL33
:(void)0;
4663 /* <var_new_child:nullable ANode> isa nullable AExpr */
4664 cltype38
= type_nullable_parser_nodes__AExpr
.color
;
4665 idtype39
= type_nullable_parser_nodes__AExpr
.id
;
4666 if(var_new_child
== NULL
) {
4669 if(cltype38
>= var_new_child
->type
->table_size
) {
4672 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
4675 if (unlikely(!var37
)) {
4676 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
4677 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40
);
4678 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3321);
4682 parser_prod__AIfExpr__n_else_61d(self
, var_new_child
); /* Direct call parser_prod#AIfExpr#n_else= on <self:AIfExpr>*/
4689 /* method parser_prod#AIfExpr#replace_child for (self: Object, ANode, nullable ANode) */
4690 void VIRTUAL_parser_prod__AIfExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
4691 parser_prod__AIfExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AIfExpr#replace_child on <self:Object(AIfExpr)>*/
4694 /* method parser_prod#AIfExpr#n_kwif= for (self: AIfExpr, TKwif) */
4695 void parser_prod__AIfExpr__n_kwif_61d(val
* self
, val
* p0
) {
4696 val
* var_node
/* var node: TKwif */;
4698 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
= var_node
; /* _n_kwif on <self:AIfExpr> */
4700 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwif> */
4701 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwif> */
4707 /* method parser_prod#AIfExpr#n_kwif= for (self: Object, TKwif) */
4708 void VIRTUAL_parser_prod__AIfExpr__n_kwif_61d(val
* self
, val
* p0
) {
4709 parser_prod__AIfExpr__n_kwif_61d(self
, p0
); /* Direct call parser_prod#AIfExpr#n_kwif= on <self:Object(AIfExpr)>*/
4712 /* method parser_prod#AIfExpr#n_expr= for (self: AIfExpr, AExpr) */
4713 void parser_prod__AIfExpr__n_expr_61d(val
* self
, val
* p0
) {
4714 val
* var_node
/* var node: AExpr */;
4716 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AIfExpr> */
4718 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
4719 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
4725 /* method parser_prod#AIfExpr#n_expr= for (self: Object, AExpr) */
4726 void VIRTUAL_parser_prod__AIfExpr__n_expr_61d(val
* self
, val
* p0
) {
4727 parser_prod__AIfExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AIfExpr#n_expr= on <self:Object(AIfExpr)>*/
4730 /* method parser_prod#AIfExpr#n_then= for (self: AIfExpr, nullable AExpr) */
4731 void parser_prod__AIfExpr__n_then_61d(val
* self
, val
* p0
) {
4732 val
* var_node
/* var node: nullable AExpr */;
4733 val
* var
/* : null */;
4734 short int var1
/* : Bool */;
4735 short int var2
/* : Bool */;
4736 val
* var_other
/* var other: nullable Object */;
4737 short int var4
/* : Bool */;
4738 short int var5
/* : Bool */;
4739 short int var6
/* : Bool */;
4741 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
= var_node
; /* _n_then on <self:AIfExpr> */
4743 if (var_node
== NULL
) {
4744 var1
= 0; /* is null */
4746 var1
= 1; /* arg is null and recv is not */
4749 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
4752 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
4764 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
4765 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
4773 /* method parser_prod#AIfExpr#n_then= for (self: Object, nullable AExpr) */
4774 void VIRTUAL_parser_prod__AIfExpr__n_then_61d(val
* self
, val
* p0
) {
4775 parser_prod__AIfExpr__n_then_61d(self
, p0
); /* Direct call parser_prod#AIfExpr#n_then= on <self:Object(AIfExpr)>*/
4778 /* method parser_prod#AIfExpr#n_else= for (self: AIfExpr, nullable AExpr) */
4779 void parser_prod__AIfExpr__n_else_61d(val
* self
, val
* p0
) {
4780 val
* var_node
/* var node: nullable AExpr */;
4781 val
* var
/* : null */;
4782 short int var1
/* : Bool */;
4783 short int var2
/* : Bool */;
4784 val
* var_other
/* var other: nullable Object */;
4785 short int var4
/* : Bool */;
4786 short int var5
/* : Bool */;
4787 short int var6
/* : Bool */;
4789 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
= var_node
; /* _n_else on <self:AIfExpr> */
4791 if (var_node
== NULL
) {
4792 var1
= 0; /* is null */
4794 var1
= 1; /* arg is null and recv is not */
4797 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
4800 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
4812 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
4813 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
4821 /* method parser_prod#AIfExpr#n_else= for (self: Object, nullable AExpr) */
4822 void VIRTUAL_parser_prod__AIfExpr__n_else_61d(val
* self
, val
* p0
) {
4823 parser_prod__AIfExpr__n_else_61d(self
, p0
); /* Direct call parser_prod#AIfExpr#n_else= on <self:Object(AIfExpr)>*/
4826 /* method parser_prod#AIfExpr#visit_all for (self: AIfExpr, Visitor) */
4827 void parser_prod__AIfExpr__visit_all(val
* self
, val
* p0
) {
4828 val
* var_v
/* var v: Visitor */;
4829 val
* var
/* : TKwif */;
4830 val
* var1
/* : AExpr */;
4831 val
* var2
/* : nullable AExpr */;
4832 val
* var3
/* : nullable AExpr */;
4834 var
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
; /* _n_kwif on <self:AIfExpr> */
4835 if (unlikely(var
== NULL
)) {
4836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
4837 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3350);
4841 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4843 var1
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
4844 if (unlikely(var1
== NULL
)) {
4845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4846 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3351);
4850 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4852 var2
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
4854 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4856 var3
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
4858 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
4862 /* method parser_prod#AIfExpr#visit_all for (self: Object, Visitor) */
4863 void VIRTUAL_parser_prod__AIfExpr__visit_all(val
* self
, val
* p0
) {
4864 parser_prod__AIfExpr__visit_all(self
, p0
); /* Direct call parser_prod#AIfExpr#visit_all on <self:Object(AIfExpr)>*/
4867 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
4868 void parser_prod__AIfexprExpr__init_aifexprexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
4869 val
* var_n_kwif
/* var n_kwif: nullable TKwif */;
4870 val
* var_n_expr
/* var n_expr: nullable AExpr */;
4871 val
* var_n_kwthen
/* var n_kwthen: nullable TKwthen */;
4872 val
* var_n_then
/* var n_then: nullable AExpr */;
4873 val
* var_n_kwelse
/* var n_kwelse: nullable TKwelse */;
4874 val
* var_n_else
/* var n_else: nullable AExpr */;
4881 if (unlikely(var_n_kwif
== NULL
)) {
4882 PRINT_ERROR("Runtime error: %s", "Cast failed");
4883 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3366);
4886 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwif
].val
= var_n_kwif
; /* _n_kwif on <self:AIfexprExpr> */
4887 if (var_n_kwif
== NULL
) {
4888 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4889 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3367);
4892 { /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on <var_n_kwif:nullable TKwif> */
4893 if (unlikely(var_n_kwif
== NULL
)) {
4894 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4895 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4898 var_n_kwif
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwif:nullable TKwif> */
4902 if (unlikely(var_n_expr
== NULL
)) {
4903 PRINT_ERROR("Runtime error: %s", "Cast failed");
4904 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3368);
4907 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AIfexprExpr> */
4908 if (var_n_expr
== NULL
) {
4909 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4910 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3369);
4913 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
4914 if (unlikely(var_n_expr
== NULL
)) {
4915 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4916 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4919 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
4923 if (unlikely(var_n_kwthen
== NULL
)) {
4924 PRINT_ERROR("Runtime error: %s", "Cast failed");
4925 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3370);
4928 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwthen
].val
= var_n_kwthen
; /* _n_kwthen on <self:AIfexprExpr> */
4929 if (var_n_kwthen
== NULL
) {
4930 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4931 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3371);
4934 { /* Inline parser_nodes#ANode#parent= (var_n_kwthen,self) on <var_n_kwthen:nullable TKwthen> */
4935 if (unlikely(var_n_kwthen
== NULL
)) {
4936 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4937 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4940 var_n_kwthen
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwthen:nullable TKwthen> */
4944 if (unlikely(var_n_then
== NULL
)) {
4945 PRINT_ERROR("Runtime error: %s", "Cast failed");
4946 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3372);
4949 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_then
].val
= var_n_then
; /* _n_then on <self:AIfexprExpr> */
4950 if (var_n_then
== NULL
) {
4951 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4952 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3373);
4955 { /* Inline parser_nodes#ANode#parent= (var_n_then,self) on <var_n_then:nullable AExpr> */
4956 if (unlikely(var_n_then
== NULL
)) {
4957 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4958 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4961 var_n_then
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_then:nullable AExpr> */
4965 if (unlikely(var_n_kwelse
== NULL
)) {
4966 PRINT_ERROR("Runtime error: %s", "Cast failed");
4967 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3374);
4970 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwelse
].val
= var_n_kwelse
; /* _n_kwelse on <self:AIfexprExpr> */
4971 if (var_n_kwelse
== NULL
) {
4972 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4973 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3375);
4976 { /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse> */
4977 if (unlikely(var_n_kwelse
== NULL
)) {
4978 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4979 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
4982 var_n_kwelse
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwelse:nullable TKwelse> */
4986 if (unlikely(var_n_else
== NULL
)) {
4987 PRINT_ERROR("Runtime error: %s", "Cast failed");
4988 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3376);
4991 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_else
].val
= var_n_else
; /* _n_else on <self:AIfexprExpr> */
4992 if (var_n_else
== NULL
) {
4993 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4994 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3377);
4997 { /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr> */
4998 if (unlikely(var_n_else
== NULL
)) {
4999 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5000 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
5003 var_n_else
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_else:nullable AExpr> */
5009 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: Object, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
5010 void VIRTUAL_parser_prod__AIfexprExpr__init_aifexprexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
5011 parser_prod__AIfexprExpr__init_aifexprexpr(self
, p0
, p1
, p2
, p3
, p4
, p5
); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on <self:Object(AIfexprExpr)>*/
5014 /* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */
5015 void parser_prod__AIfexprExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
5016 val
* var_old_child
/* var old_child: ANode */;
5017 val
* var_new_child
/* var new_child: nullable ANode */;
5018 val
* var
/* : TKwif */;
5019 short int var1
/* : Bool */;
5020 short int var2
/* : Bool */;
5021 val
* var_other
/* var other: nullable Object */;
5022 short int var4
/* : Bool */;
5023 short int var6
/* : Bool */;
5024 short int var7
/* : Bool */;
5027 const char* var_class_name
;
5028 val
* var8
/* : AExpr */;
5029 short int var9
/* : Bool */;
5030 short int var10
/* : Bool */;
5031 short int var12
/* : Bool */;
5032 short int var14
/* : Bool */;
5033 short int var15
/* : Bool */;
5036 const char* var_class_name18
;
5037 val
* var19
/* : TKwthen */;
5038 short int var20
/* : Bool */;
5039 short int var21
/* : Bool */;
5040 short int var23
/* : Bool */;
5041 short int var25
/* : Bool */;
5042 short int var26
/* : Bool */;
5045 const char* var_class_name29
;
5046 val
* var30
/* : AExpr */;
5047 short int var31
/* : Bool */;
5048 short int var32
/* : Bool */;
5049 short int var34
/* : Bool */;
5050 short int var36
/* : Bool */;
5051 short int var37
/* : Bool */;
5054 const char* var_class_name40
;
5055 val
* var41
/* : TKwelse */;
5056 short int var42
/* : Bool */;
5057 short int var43
/* : Bool */;
5058 short int var45
/* : Bool */;
5059 short int var47
/* : Bool */;
5060 short int var48
/* : Bool */;
5063 const char* var_class_name51
;
5064 val
* var52
/* : AExpr */;
5065 short int var53
/* : Bool */;
5066 short int var54
/* : Bool */;
5067 short int var56
/* : Bool */;
5068 short int var58
/* : Bool */;
5069 short int var59
/* : Bool */;
5072 const char* var_class_name62
;
5075 var
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwif
].val
; /* _n_kwif on <self:AIfexprExpr> */
5076 if (unlikely(var
== NULL
)) {
5077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
5078 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3382);
5082 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwif> */
5083 var_other
= var_old_child
;
5085 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwif> */
5086 var6
= var
== var_other
;
5099 /* <var_new_child:nullable ANode> isa TKwif */
5100 cltype
= type_parser_nodes__TKwif
.color
;
5101 idtype
= type_parser_nodes__TKwif
.id
;
5102 if(var_new_child
== NULL
) {
5105 if(cltype
>= var_new_child
->type
->table_size
) {
5108 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
5111 if (unlikely(!var7
)) {
5112 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5113 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name
);
5114 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3383);
5118 parser_prod__AIfexprExpr__n_kwif_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_kwif= on <self:AIfexprExpr>*/
5123 var8
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_expr
].val
; /* _n_expr on <self:AIfexprExpr> */
5124 if (unlikely(var8
== NULL
)) {
5125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5126 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3386);
5130 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
5131 var_other
= var_old_child
;
5133 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
5134 var14
= var8
== var_other
;
5137 RET_LABEL13
:(void)0;
5142 RET_LABEL11
:(void)0;
5147 /* <var_new_child:nullable ANode> isa AExpr */
5148 cltype16
= type_parser_nodes__AExpr
.color
;
5149 idtype17
= type_parser_nodes__AExpr
.id
;
5150 if(var_new_child
== NULL
) {
5153 if(cltype16
>= var_new_child
->type
->table_size
) {
5156 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
5159 if (unlikely(!var15
)) {
5160 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5161 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
5162 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3387);
5166 parser_prod__AIfexprExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_expr= on <self:AIfexprExpr>*/
5171 var19
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwthen
].val
; /* _n_kwthen on <self:AIfexprExpr> */
5172 if (unlikely(var19
== NULL
)) {
5173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
5174 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3390);
5178 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:TKwthen> */
5179 var_other
= var_old_child
;
5181 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:TKwthen> */
5182 var25
= var19
== var_other
;
5185 RET_LABEL24
:(void)0;
5190 RET_LABEL22
:(void)0;
5195 /* <var_new_child:nullable ANode> isa TKwthen */
5196 cltype27
= type_parser_nodes__TKwthen
.color
;
5197 idtype28
= type_parser_nodes__TKwthen
.id
;
5198 if(var_new_child
== NULL
) {
5201 if(cltype27
>= var_new_child
->type
->table_size
) {
5204 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
5207 if (unlikely(!var26
)) {
5208 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5209 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwthen", var_class_name29
);
5210 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3391);
5214 parser_prod__AIfexprExpr__n_kwthen_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on <self:AIfexprExpr>*/
5219 var30
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_then
].val
; /* _n_then on <self:AIfexprExpr> */
5220 if (unlikely(var30
== NULL
)) {
5221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
5222 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3394);
5226 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:AExpr> */
5227 var_other
= var_old_child
;
5229 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:AExpr> */
5230 var36
= var30
== var_other
;
5233 RET_LABEL35
:(void)0;
5238 RET_LABEL33
:(void)0;
5243 /* <var_new_child:nullable ANode> isa AExpr */
5244 cltype38
= type_parser_nodes__AExpr
.color
;
5245 idtype39
= type_parser_nodes__AExpr
.id
;
5246 if(var_new_child
== NULL
) {
5249 if(cltype38
>= var_new_child
->type
->table_size
) {
5252 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
5255 if (unlikely(!var37
)) {
5256 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40
);
5258 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3395);
5262 parser_prod__AIfexprExpr__n_then_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_then= on <self:AIfexprExpr>*/
5267 var41
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwelse
].val
; /* _n_kwelse on <self:AIfexprExpr> */
5268 if (unlikely(var41
== NULL
)) {
5269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
5270 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3398);
5274 { /* Inline kernel#Object#== (var41,var_old_child) on <var41:TKwelse> */
5275 var_other
= var_old_child
;
5277 { /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:TKwelse> */
5278 var47
= var41
== var_other
;
5281 RET_LABEL46
:(void)0;
5286 RET_LABEL44
:(void)0;
5291 /* <var_new_child:nullable ANode> isa TKwelse */
5292 cltype49
= type_parser_nodes__TKwelse
.color
;
5293 idtype50
= type_parser_nodes__TKwelse
.id
;
5294 if(var_new_child
== NULL
) {
5297 if(cltype49
>= var_new_child
->type
->table_size
) {
5300 var48
= var_new_child
->type
->type_table
[cltype49
] == idtype50
;
5303 if (unlikely(!var48
)) {
5304 var_class_name51
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwelse", var_class_name51
);
5306 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3399);
5310 parser_prod__AIfexprExpr__n_kwelse_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on <self:AIfexprExpr>*/
5315 var52
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_else
].val
; /* _n_else on <self:AIfexprExpr> */
5316 if (unlikely(var52
== NULL
)) {
5317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
5318 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3402);
5322 { /* Inline kernel#Object#== (var52,var_old_child) on <var52:AExpr> */
5323 var_other
= var_old_child
;
5325 { /* Inline kernel#Object#is_same_instance (var52,var_other) on <var52:AExpr> */
5326 var58
= var52
== var_other
;
5329 RET_LABEL57
:(void)0;
5334 RET_LABEL55
:(void)0;
5339 /* <var_new_child:nullable ANode> isa AExpr */
5340 cltype60
= type_parser_nodes__AExpr
.color
;
5341 idtype61
= type_parser_nodes__AExpr
.id
;
5342 if(var_new_child
== NULL
) {
5345 if(cltype60
>= var_new_child
->type
->table_size
) {
5348 var59
= var_new_child
->type
->type_table
[cltype60
] == idtype61
;
5351 if (unlikely(!var59
)) {
5352 var_class_name62
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5353 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name62
);
5354 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3403);
5358 parser_prod__AIfexprExpr__n_else_61d(self
, var_new_child
); /* Direct call parser_prod#AIfexprExpr#n_else= on <self:AIfexprExpr>*/
5365 /* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */
5366 void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
5367 parser_prod__AIfexprExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AIfexprExpr#replace_child on <self:Object(AIfexprExpr)>*/
5370 /* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
5371 void parser_prod__AIfexprExpr__n_kwif_61d(val
* self
, val
* p0
) {
5372 val
* var_node
/* var node: TKwif */;
5374 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwif
].val
= var_node
; /* _n_kwif on <self:AIfexprExpr> */
5376 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwif> */
5377 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwif> */
5383 /* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */
5384 void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val
* self
, val
* p0
) {
5385 parser_prod__AIfexprExpr__n_kwif_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_kwif= on <self:Object(AIfexprExpr)>*/
5388 /* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
5389 void parser_prod__AIfexprExpr__n_expr_61d(val
* self
, val
* p0
) {
5390 val
* var_node
/* var node: AExpr */;
5392 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AIfexprExpr> */
5394 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5395 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
5401 /* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */
5402 void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val
* self
, val
* p0
) {
5403 parser_prod__AIfexprExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_expr= on <self:Object(AIfexprExpr)>*/
5406 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
5407 void parser_prod__AIfexprExpr__n_kwthen_61d(val
* self
, val
* p0
) {
5408 val
* var_node
/* var node: TKwthen */;
5410 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwthen
].val
= var_node
; /* _n_kwthen on <self:AIfexprExpr> */
5412 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwthen> */
5413 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwthen> */
5419 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */
5420 void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val
* self
, val
* p0
) {
5421 parser_prod__AIfexprExpr__n_kwthen_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on <self:Object(AIfexprExpr)>*/
5424 /* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
5425 void parser_prod__AIfexprExpr__n_then_61d(val
* self
, val
* p0
) {
5426 val
* var_node
/* var node: AExpr */;
5428 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_then
].val
= var_node
; /* _n_then on <self:AIfexprExpr> */
5430 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5431 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
5437 /* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */
5438 void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val
* self
, val
* p0
) {
5439 parser_prod__AIfexprExpr__n_then_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_then= on <self:Object(AIfexprExpr)>*/
5442 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
5443 void parser_prod__AIfexprExpr__n_kwelse_61d(val
* self
, val
* p0
) {
5444 val
* var_node
/* var node: TKwelse */;
5446 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwelse
].val
= var_node
; /* _n_kwelse on <self:AIfexprExpr> */
5448 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwelse> */
5449 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwelse> */
5455 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */
5456 void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val
* self
, val
* p0
) {
5457 parser_prod__AIfexprExpr__n_kwelse_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on <self:Object(AIfexprExpr)>*/
5460 /* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
5461 void parser_prod__AIfexprExpr__n_else_61d(val
* self
, val
* p0
) {
5462 val
* var_node
/* var node: AExpr */;
5464 self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_else
].val
= var_node
; /* _n_else on <self:AIfexprExpr> */
5466 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
5467 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
5473 /* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */
5474 void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val
* self
, val
* p0
) {
5475 parser_prod__AIfexprExpr__n_else_61d(self
, p0
); /* Direct call parser_prod#AIfexprExpr#n_else= on <self:Object(AIfexprExpr)>*/
5478 /* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
5479 void parser_prod__AIfexprExpr__visit_all(val
* self
, val
* p0
) {
5480 val
* var_v
/* var v: Visitor */;
5481 val
* var
/* : TKwif */;
5482 val
* var1
/* : AExpr */;
5483 val
* var2
/* : TKwthen */;
5484 val
* var3
/* : AExpr */;
5485 val
* var4
/* : TKwelse */;
5486 val
* var5
/* : AExpr */;
5488 var
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwif
].val
; /* _n_kwif on <self:AIfexprExpr> */
5489 if (unlikely(var
== NULL
)) {
5490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
5491 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3442);
5495 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5497 var1
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_expr
].val
; /* _n_expr on <self:AIfexprExpr> */
5498 if (unlikely(var1
== NULL
)) {
5499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5500 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3443);
5504 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5506 var2
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwthen
].val
; /* _n_kwthen on <self:AIfexprExpr> */
5507 if (unlikely(var2
== NULL
)) {
5508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
5509 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3444);
5513 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5515 var3
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_then
].val
; /* _n_then on <self:AIfexprExpr> */
5516 if (unlikely(var3
== NULL
)) {
5517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
5518 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3445);
5522 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5524 var4
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_kwelse
].val
; /* _n_kwelse on <self:AIfexprExpr> */
5525 if (unlikely(var4
== NULL
)) {
5526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
5527 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3446);
5531 parser_nodes__Visitor__enter_visit(var_v
, var4
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5533 var5
= self
->attrs
[COLOR_parser_nodes__AIfexprExpr___n_else
].val
; /* _n_else on <self:AIfexprExpr> */
5534 if (unlikely(var5
== NULL
)) {
5535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
5536 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3447);
5540 parser_nodes__Visitor__enter_visit(var_v
, var5
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
5544 /* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */
5545 void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val
* self
, val
* p0
) {
5546 parser_prod__AIfexprExpr__visit_all(self
, p0
); /* Direct call parser_prod#AIfexprExpr#visit_all on <self:Object(AIfexprExpr)>*/
5549 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
5550 void parser_prod__AWhileExpr__init_awhileexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
) {
5551 val
* var_n_kwwhile
/* var n_kwwhile: nullable TKwwhile */;
5552 val
* var_n_expr
/* var n_expr: nullable AExpr */;
5553 val
* var_n_kwdo
/* var n_kwdo: nullable TKwdo */;
5554 val
* var_n_block
/* var n_block: nullable AExpr */;
5555 val
* var_n_label
/* var n_label: nullable ALabel */;
5556 val
* var
/* : null */;
5557 short int var4
/* : Bool */;
5558 short int var5
/* : Bool */;
5559 val
* var_other
/* var other: nullable Object */;
5560 short int var7
/* : Bool */;
5561 short int var8
/* : Bool */;
5562 short int var9
/* : Bool */;
5563 val
* var11
/* : null */;
5564 short int var12
/* : Bool */;
5565 short int var13
/* : Bool */;
5566 short int var15
/* : Bool */;
5567 short int var16
/* : Bool */;
5568 short int var17
/* : Bool */;
5574 if (unlikely(var_n_kwwhile
== NULL
)) {
5575 PRINT_ERROR("Runtime error: %s", "Cast failed");
5576 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3459);
5579 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwwhile
].val
= var_n_kwwhile
; /* _n_kwwhile on <self:AWhileExpr> */
5580 if (var_n_kwwhile
== NULL
) {
5581 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5582 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3460);
5585 { /* Inline parser_nodes#ANode#parent= (var_n_kwwhile,self) on <var_n_kwwhile:nullable TKwwhile> */
5586 if (unlikely(var_n_kwwhile
== NULL
)) {
5587 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5588 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
5591 var_n_kwwhile
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwwhile:nullable TKwwhile> */
5595 if (unlikely(var_n_expr
== NULL
)) {
5596 PRINT_ERROR("Runtime error: %s", "Cast failed");
5597 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3461);
5600 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AWhileExpr> */
5601 if (var_n_expr
== NULL
) {
5602 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5603 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3462);
5606 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
5607 if (unlikely(var_n_expr
== NULL
)) {
5608 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5609 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
5612 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
5616 if (unlikely(var_n_kwdo
== NULL
)) {
5617 PRINT_ERROR("Runtime error: %s", "Cast failed");
5618 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3463);
5621 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwdo
].val
= var_n_kwdo
; /* _n_kwdo on <self:AWhileExpr> */
5622 if (var_n_kwdo
== NULL
) {
5623 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5624 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3464);
5627 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
5628 if (unlikely(var_n_kwdo
== NULL
)) {
5629 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5630 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
5633 var_n_kwdo
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwdo:nullable TKwdo> */
5637 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_block
].val
= var_n_block
; /* _n_block on <self:AWhileExpr> */
5639 if (var_n_block
== NULL
) {
5640 var4
= 0; /* is null */
5642 var4
= 1; /* arg is null and recv is not */
5645 { /* Inline kernel#Object#!= (var_n_block,var) on <var_n_block:nullable AExpr> */
5648 var8
= ((short int (*)(val
*, val
*))(var_n_block
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_block
, var_other
) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
5660 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
5661 var_n_block
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
5662 RET_LABEL10
:(void)0;
5667 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:AWhileExpr> */
5669 if (var_n_label
== NULL
) {
5670 var12
= 0; /* is null */
5672 var12
= 1; /* arg is null and recv is not */
5675 { /* Inline kernel#Object#!= (var_n_label,var11) on <var_n_label:nullable ALabel> */
5678 var16
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
5684 RET_LABEL14
:(void)0;
5690 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
5691 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
5692 RET_LABEL18
:(void)0;
5699 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
5700 void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
) {
5701 parser_prod__AWhileExpr__init_awhileexpr(self
, p0
, p1
, p2
, p3
, p4
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <self:Object(AWhileExpr)>*/
5704 /* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
5705 void parser_prod__AWhileExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
5706 val
* var_old_child
/* var old_child: ANode */;
5707 val
* var_new_child
/* var new_child: nullable ANode */;
5708 val
* var
/* : TKwwhile */;
5709 short int var1
/* : Bool */;
5710 short int var2
/* : Bool */;
5711 val
* var_other
/* var other: nullable Object */;
5712 short int var4
/* : Bool */;
5713 short int var6
/* : Bool */;
5714 short int var7
/* : Bool */;
5717 const char* var_class_name
;
5718 val
* var8
/* : AExpr */;
5719 short int var9
/* : Bool */;
5720 short int var10
/* : Bool */;
5721 short int var12
/* : Bool */;
5722 short int var14
/* : Bool */;
5723 short int var15
/* : Bool */;
5726 const char* var_class_name18
;
5727 val
* var19
/* : TKwdo */;
5728 short int var20
/* : Bool */;
5729 short int var21
/* : Bool */;
5730 short int var23
/* : Bool */;
5731 short int var25
/* : Bool */;
5732 short int var26
/* : Bool */;
5735 const char* var_class_name29
;
5736 val
* var30
/* : nullable AExpr */;
5737 short int var31
/* : Bool */;
5738 short int var32
/* : Bool */;
5739 short int var34
/* : Bool */;
5740 short int var36
/* : Bool */;
5741 short int var37
/* : Bool */;
5744 const char* var_class_name40
;
5745 val
* var41
/* : nullable ALabel */;
5746 short int var42
/* : Bool */;
5747 short int var43
/* : Bool */;
5748 short int var45
/* : Bool */;
5749 short int var47
/* : Bool */;
5750 short int var48
/* : Bool */;
5753 const char* var_class_name51
;
5756 var
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwwhile
].val
; /* _n_kwwhile on <self:AWhileExpr> */
5757 if (unlikely(var
== NULL
)) {
5758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
5759 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3473);
5763 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwwhile> */
5764 var_other
= var_old_child
;
5766 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwwhile> */
5767 var6
= var
== var_other
;
5780 /* <var_new_child:nullable ANode> isa TKwwhile */
5781 cltype
= type_parser_nodes__TKwwhile
.color
;
5782 idtype
= type_parser_nodes__TKwwhile
.id
;
5783 if(var_new_child
== NULL
) {
5786 if(cltype
>= var_new_child
->type
->table_size
) {
5789 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
5792 if (unlikely(!var7
)) {
5793 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5794 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwhile", var_class_name
);
5795 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3474);
5799 parser_prod__AWhileExpr__n_kwwhile_61d(self
, var_new_child
); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on <self:AWhileExpr>*/
5804 var8
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
5805 if (unlikely(var8
== NULL
)) {
5806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5807 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3477);
5811 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
5812 var_other
= var_old_child
;
5814 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
5815 var14
= var8
== var_other
;
5818 RET_LABEL13
:(void)0;
5823 RET_LABEL11
:(void)0;
5828 /* <var_new_child:nullable ANode> isa AExpr */
5829 cltype16
= type_parser_nodes__AExpr
.color
;
5830 idtype17
= type_parser_nodes__AExpr
.id
;
5831 if(var_new_child
== NULL
) {
5834 if(cltype16
>= var_new_child
->type
->table_size
) {
5837 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
5840 if (unlikely(!var15
)) {
5841 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
5843 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3478);
5847 parser_prod__AWhileExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AWhileExpr#n_expr= on <self:AWhileExpr>*/
5852 var19
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwdo
].val
; /* _n_kwdo on <self:AWhileExpr> */
5853 if (unlikely(var19
== NULL
)) {
5854 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
5855 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3481);
5859 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:TKwdo> */
5860 var_other
= var_old_child
;
5862 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:TKwdo> */
5863 var25
= var19
== var_other
;
5866 RET_LABEL24
:(void)0;
5871 RET_LABEL22
:(void)0;
5876 /* <var_new_child:nullable ANode> isa TKwdo */
5877 cltype27
= type_parser_nodes__TKwdo
.color
;
5878 idtype28
= type_parser_nodes__TKwdo
.id
;
5879 if(var_new_child
== NULL
) {
5882 if(cltype27
>= var_new_child
->type
->table_size
) {
5885 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
5888 if (unlikely(!var26
)) {
5889 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5890 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name29
);
5891 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3482);
5895 parser_prod__AWhileExpr__n_kwdo_61d(self
, var_new_child
); /* Direct call parser_prod#AWhileExpr#n_kwdo= on <self:AWhileExpr>*/
5900 var30
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
5901 if (var30
== NULL
) {
5902 var31
= 0; /* <var_old_child:ANode> cannot be null */
5904 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable AExpr> */
5905 var_other
= var_old_child
;
5907 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable AExpr(AExpr)> */
5908 var36
= var30
== var_other
;
5911 RET_LABEL35
:(void)0;
5916 RET_LABEL33
:(void)0;
5921 /* <var_new_child:nullable ANode> isa nullable AExpr */
5922 cltype38
= type_nullable_parser_nodes__AExpr
.color
;
5923 idtype39
= type_nullable_parser_nodes__AExpr
.id
;
5924 if(var_new_child
== NULL
) {
5927 if(cltype38
>= var_new_child
->type
->table_size
) {
5930 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
5933 if (unlikely(!var37
)) {
5934 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5935 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40
);
5936 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3486);
5940 parser_prod__AWhileExpr__n_block_61d(self
, var_new_child
); /* Direct call parser_prod#AWhileExpr#n_block= on <self:AWhileExpr>*/
5945 var41
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AWhileExpr> */
5946 if (var41
== NULL
) {
5947 var42
= 0; /* <var_old_child:ANode> cannot be null */
5949 { /* Inline kernel#Object#== (var41,var_old_child) on <var41:nullable ALabel> */
5950 var_other
= var_old_child
;
5952 { /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:nullable ALabel(ALabel)> */
5953 var47
= var41
== var_other
;
5956 RET_LABEL46
:(void)0;
5961 RET_LABEL44
:(void)0;
5966 /* <var_new_child:nullable ANode> isa nullable ALabel */
5967 cltype49
= type_nullable_parser_nodes__ALabel
.color
;
5968 idtype50
= type_nullable_parser_nodes__ALabel
.id
;
5969 if(var_new_child
== NULL
) {
5972 if(cltype49
>= var_new_child
->type
->table_size
) {
5975 var48
= var_new_child
->type
->type_table
[cltype49
] == idtype50
;
5978 if (unlikely(!var48
)) {
5979 var_class_name51
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
5980 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name51
);
5981 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3490);
5985 parser_prod__AWhileExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#AWhileExpr#n_label= on <self:AWhileExpr>*/
5992 /* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */
5993 void VIRTUAL_parser_prod__AWhileExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
5994 parser_prod__AWhileExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AWhileExpr#replace_child on <self:Object(AWhileExpr)>*/
5997 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
5998 void parser_prod__AWhileExpr__n_kwwhile_61d(val
* self
, val
* p0
) {
5999 val
* var_node
/* var node: TKwwhile */;
6001 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwwhile
].val
= var_node
; /* _n_kwwhile on <self:AWhileExpr> */
6003 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwwhile> */
6004 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwwhile> */
6010 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */
6011 void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val
* self
, val
* p0
) {
6012 parser_prod__AWhileExpr__n_kwwhile_61d(self
, p0
); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on <self:Object(AWhileExpr)>*/
6015 /* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
6016 void parser_prod__AWhileExpr__n_expr_61d(val
* self
, val
* p0
) {
6017 val
* var_node
/* var node: AExpr */;
6019 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AWhileExpr> */
6021 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
6022 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
6028 /* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */
6029 void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val
* self
, val
* p0
) {
6030 parser_prod__AWhileExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AWhileExpr#n_expr= on <self:Object(AWhileExpr)>*/
6033 /* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
6034 void parser_prod__AWhileExpr__n_kwdo_61d(val
* self
, val
* p0
) {
6035 val
* var_node
/* var node: TKwdo */;
6037 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwdo
].val
= var_node
; /* _n_kwdo on <self:AWhileExpr> */
6039 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
6040 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwdo> */
6046 /* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */
6047 void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val
* self
, val
* p0
) {
6048 parser_prod__AWhileExpr__n_kwdo_61d(self
, p0
); /* Direct call parser_prod#AWhileExpr#n_kwdo= on <self:Object(AWhileExpr)>*/
6051 /* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
6052 void parser_prod__AWhileExpr__n_block_61d(val
* self
, val
* p0
) {
6053 val
* var_node
/* var node: nullable AExpr */;
6054 val
* var
/* : null */;
6055 short int var1
/* : Bool */;
6056 short int var2
/* : Bool */;
6057 val
* var_other
/* var other: nullable Object */;
6058 short int var4
/* : Bool */;
6059 short int var5
/* : Bool */;
6060 short int var6
/* : Bool */;
6062 self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_block
].val
= var_node
; /* _n_block on <self:AWhileExpr> */
6064 if (var_node
== NULL
) {
6065 var1
= 0; /* is null */
6067 var1
= 1; /* arg is null and recv is not */
6070 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
6073 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
6085 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
6086 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
6094 /* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */
6095 void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val
* self
, val
* p0
) {
6096 parser_prod__AWhileExpr__n_block_61d(self
, p0
); /* Direct call parser_prod#AWhileExpr#n_block= on <self:Object(AWhileExpr)>*/
6099 /* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
6100 void parser_prod__AWhileExpr__n_label_61d(val
* self
, val
* p0
) {
6101 val
* var_node
/* var node: nullable ALabel */;
6102 val
* var
/* : null */;
6103 short int var1
/* : Bool */;
6104 short int var2
/* : Bool */;
6105 val
* var_other
/* var other: nullable Object */;
6106 short int var4
/* : Bool */;
6107 short int var5
/* : Bool */;
6108 short int var6
/* : Bool */;
6110 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:AWhileExpr> */
6112 if (var_node
== NULL
) {
6113 var1
= 0; /* is null */
6115 var1
= 1; /* arg is null and recv is not */
6118 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
6121 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
6133 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
6134 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
6142 /* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */
6143 void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val
* self
, val
* p0
) {
6144 parser_prod__AWhileExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#AWhileExpr#n_label= on <self:Object(AWhileExpr)>*/
6147 /* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
6148 void parser_prod__AWhileExpr__visit_all(val
* self
, val
* p0
) {
6149 val
* var_v
/* var v: Visitor */;
6150 val
* var
/* : TKwwhile */;
6151 val
* var1
/* : AExpr */;
6152 val
* var2
/* : TKwdo */;
6153 val
* var3
/* : nullable AExpr */;
6154 val
* var4
/* : nullable ALabel */;
6156 var
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwwhile
].val
; /* _n_kwwhile on <self:AWhileExpr> */
6157 if (unlikely(var
== NULL
)) {
6158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
6159 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3524);
6163 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6165 var1
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
6166 if (unlikely(var1
== NULL
)) {
6167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6168 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3525);
6172 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6174 var2
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_kwdo
].val
; /* _n_kwdo on <self:AWhileExpr> */
6175 if (unlikely(var2
== NULL
)) {
6176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
6177 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3526);
6181 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6183 var3
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
6185 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6187 var4
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AWhileExpr> */
6189 parser_nodes__Visitor__enter_visit(var_v
, var4
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6193 /* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */
6194 void VIRTUAL_parser_prod__AWhileExpr__visit_all(val
* self
, val
* p0
) {
6195 parser_prod__AWhileExpr__visit_all(self
, p0
); /* Direct call parser_prod#AWhileExpr#visit_all on <self:Object(AWhileExpr)>*/
6198 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
6199 void parser_prod__ALoopExpr__init_aloopexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6200 val
* var_n_kwloop
/* var n_kwloop: nullable TKwloop */;
6201 val
* var_n_block
/* var n_block: nullable AExpr */;
6202 val
* var_n_label
/* var n_label: nullable ALabel */;
6203 val
* var
/* : null */;
6204 short int var2
/* : Bool */;
6205 short int var3
/* : Bool */;
6206 val
* var_other
/* var other: nullable Object */;
6207 short int var5
/* : Bool */;
6208 short int var6
/* : Bool */;
6209 short int var7
/* : Bool */;
6210 val
* var9
/* : null */;
6211 short int var10
/* : Bool */;
6212 short int var11
/* : Bool */;
6213 short int var13
/* : Bool */;
6214 short int var14
/* : Bool */;
6215 short int var15
/* : Bool */;
6219 if (unlikely(var_n_kwloop
== NULL
)) {
6220 PRINT_ERROR("Runtime error: %s", "Cast failed");
6221 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3538);
6224 self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_kwloop
].val
= var_n_kwloop
; /* _n_kwloop on <self:ALoopExpr> */
6225 if (var_n_kwloop
== NULL
) {
6226 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6227 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3539);
6230 { /* Inline parser_nodes#ANode#parent= (var_n_kwloop,self) on <var_n_kwloop:nullable TKwloop> */
6231 if (unlikely(var_n_kwloop
== NULL
)) {
6232 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6233 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
6236 var_n_kwloop
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwloop:nullable TKwloop> */
6240 self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
= var_n_block
; /* _n_block on <self:ALoopExpr> */
6242 if (var_n_block
== NULL
) {
6243 var2
= 0; /* is null */
6245 var2
= 1; /* arg is null and recv is not */
6248 { /* Inline kernel#Object#!= (var_n_block,var) on <var_n_block:nullable AExpr> */
6251 var6
= ((short int (*)(val
*, val
*))(var_n_block
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_block
, var_other
) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
6263 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
6264 var_n_block
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
6270 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:ALoopExpr> */
6272 if (var_n_label
== NULL
) {
6273 var10
= 0; /* is null */
6275 var10
= 1; /* arg is null and recv is not */
6278 { /* Inline kernel#Object#!= (var_n_label,var9) on <var_n_label:nullable ALabel> */
6281 var14
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
6287 RET_LABEL12
:(void)0;
6293 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
6294 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
6295 RET_LABEL16
:(void)0;
6302 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */
6303 void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6304 parser_prod__ALoopExpr__init_aloopexpr(self
, p0
, p1
, p2
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <self:Object(ALoopExpr)>*/
6307 /* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
6308 void parser_prod__ALoopExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
6309 val
* var_old_child
/* var old_child: ANode */;
6310 val
* var_new_child
/* var new_child: nullable ANode */;
6311 val
* var
/* : TKwloop */;
6312 short int var1
/* : Bool */;
6313 short int var2
/* : Bool */;
6314 val
* var_other
/* var other: nullable Object */;
6315 short int var4
/* : Bool */;
6316 short int var6
/* : Bool */;
6317 short int var7
/* : Bool */;
6320 const char* var_class_name
;
6321 val
* var8
/* : nullable AExpr */;
6322 short int var9
/* : Bool */;
6323 short int var10
/* : Bool */;
6324 short int var12
/* : Bool */;
6325 short int var14
/* : Bool */;
6326 short int var15
/* : Bool */;
6329 const char* var_class_name18
;
6330 val
* var19
/* : nullable ALabel */;
6331 short int var20
/* : Bool */;
6332 short int var21
/* : Bool */;
6333 short int var23
/* : Bool */;
6334 short int var25
/* : Bool */;
6335 short int var26
/* : Bool */;
6338 const char* var_class_name29
;
6341 var
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_kwloop
].val
; /* _n_kwloop on <self:ALoopExpr> */
6342 if (unlikely(var
== NULL
)) {
6343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
6344 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3548);
6348 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwloop> */
6349 var_other
= var_old_child
;
6351 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwloop> */
6352 var6
= var
== var_other
;
6365 /* <var_new_child:nullable ANode> isa TKwloop */
6366 cltype
= type_parser_nodes__TKwloop
.color
;
6367 idtype
= type_parser_nodes__TKwloop
.id
;
6368 if(var_new_child
== NULL
) {
6371 if(cltype
>= var_new_child
->type
->table_size
) {
6374 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
6377 if (unlikely(!var7
)) {
6378 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
6379 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwloop", var_class_name
);
6380 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3549);
6384 parser_prod__ALoopExpr__n_kwloop_61d(self
, var_new_child
); /* Direct call parser_prod#ALoopExpr#n_kwloop= on <self:ALoopExpr>*/
6389 var8
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
6391 var9
= 0; /* <var_old_child:ANode> cannot be null */
6393 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable AExpr> */
6394 var_other
= var_old_child
;
6396 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable AExpr(AExpr)> */
6397 var14
= var8
== var_other
;
6400 RET_LABEL13
:(void)0;
6405 RET_LABEL11
:(void)0;
6410 /* <var_new_child:nullable ANode> isa nullable AExpr */
6411 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
6412 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
6413 if(var_new_child
== NULL
) {
6416 if(cltype16
>= var_new_child
->type
->table_size
) {
6419 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
6422 if (unlikely(!var15
)) {
6423 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
6424 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18
);
6425 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3553);
6429 parser_prod__ALoopExpr__n_block_61d(self
, var_new_child
); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
6434 var19
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ALoopExpr> */
6435 if (var19
== NULL
) {
6436 var20
= 0; /* <var_old_child:ANode> cannot be null */
6438 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable ALabel> */
6439 var_other
= var_old_child
;
6441 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable ALabel(ALabel)> */
6442 var25
= var19
== var_other
;
6445 RET_LABEL24
:(void)0;
6450 RET_LABEL22
:(void)0;
6455 /* <var_new_child:nullable ANode> isa nullable ALabel */
6456 cltype27
= type_nullable_parser_nodes__ALabel
.color
;
6457 idtype28
= type_nullable_parser_nodes__ALabel
.id
;
6458 if(var_new_child
== NULL
) {
6461 if(cltype27
>= var_new_child
->type
->table_size
) {
6464 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
6467 if (unlikely(!var26
)) {
6468 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
6469 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name29
);
6470 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3557);
6474 parser_prod__ALoopExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#ALoopExpr#n_label= on <self:ALoopExpr>*/
6481 /* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */
6482 void VIRTUAL_parser_prod__ALoopExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
6483 parser_prod__ALoopExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ALoopExpr#replace_child on <self:Object(ALoopExpr)>*/
6486 /* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
6487 void parser_prod__ALoopExpr__n_kwloop_61d(val
* self
, val
* p0
) {
6488 val
* var_node
/* var node: TKwloop */;
6490 self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_kwloop
].val
= var_node
; /* _n_kwloop on <self:ALoopExpr> */
6492 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwloop> */
6493 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwloop> */
6499 /* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */
6500 void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val
* self
, val
* p0
) {
6501 parser_prod__ALoopExpr__n_kwloop_61d(self
, p0
); /* Direct call parser_prod#ALoopExpr#n_kwloop= on <self:Object(ALoopExpr)>*/
6504 /* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
6505 void parser_prod__ALoopExpr__n_block_61d(val
* self
, val
* p0
) {
6506 val
* var_node
/* var node: nullable AExpr */;
6507 val
* var
/* : null */;
6508 short int var1
/* : Bool */;
6509 short int var2
/* : Bool */;
6510 val
* var_other
/* var other: nullable Object */;
6511 short int var4
/* : Bool */;
6512 short int var5
/* : Bool */;
6513 short int var6
/* : Bool */;
6515 self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
= var_node
; /* _n_block on <self:ALoopExpr> */
6517 if (var_node
== NULL
) {
6518 var1
= 0; /* is null */
6520 var1
= 1; /* arg is null and recv is not */
6523 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
6526 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
6538 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
6539 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
6547 /* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */
6548 void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val
* self
, val
* p0
) {
6549 parser_prod__ALoopExpr__n_block_61d(self
, p0
); /* Direct call parser_prod#ALoopExpr#n_block= on <self:Object(ALoopExpr)>*/
6552 /* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
6553 void parser_prod__ALoopExpr__n_label_61d(val
* self
, val
* p0
) {
6554 val
* var_node
/* var node: nullable ALabel */;
6555 val
* var
/* : null */;
6556 short int var1
/* : Bool */;
6557 short int var2
/* : Bool */;
6558 val
* var_other
/* var other: nullable Object */;
6559 short int var4
/* : Bool */;
6560 short int var5
/* : Bool */;
6561 short int var6
/* : Bool */;
6563 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:ALoopExpr> */
6565 if (var_node
== NULL
) {
6566 var1
= 0; /* is null */
6568 var1
= 1; /* arg is null and recv is not */
6571 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
6574 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
6586 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
6587 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
6595 /* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */
6596 void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val
* self
, val
* p0
) {
6597 parser_prod__ALoopExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#ALoopExpr#n_label= on <self:Object(ALoopExpr)>*/
6600 /* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
6601 void parser_prod__ALoopExpr__visit_all(val
* self
, val
* p0
) {
6602 val
* var_v
/* var v: Visitor */;
6603 val
* var
/* : TKwloop */;
6604 val
* var1
/* : nullable AExpr */;
6605 val
* var2
/* : nullable ALabel */;
6607 var
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_kwloop
].val
; /* _n_kwloop on <self:ALoopExpr> */
6608 if (unlikely(var
== NULL
)) {
6609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
6610 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3581);
6614 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6616 var1
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
6618 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6620 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ALoopExpr> */
6622 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
6626 /* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */
6627 void VIRTUAL_parser_prod__ALoopExpr__visit_all(val
* self
, val
* p0
) {
6628 parser_prod__ALoopExpr__visit_all(self
, p0
); /* Direct call parser_prod#ALoopExpr#visit_all on <self:Object(ALoopExpr)>*/
6631 /* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
6632 void parser_prod__AForExpr__init_aforexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
6633 val
* var_n_kwfor
/* var n_kwfor: nullable TKwfor */;
6634 val
* var_n_ids
/* var n_ids: Collection[Object] */;
6635 val
* var_n_expr
/* var n_expr: nullable AExpr */;
6636 val
* var_n_kwdo
/* var n_kwdo: nullable TKwdo */;
6637 val
* var_n_block
/* var n_block: nullable AExpr */;
6638 val
* var_n_label
/* var n_label: nullable ALabel */;
6639 val
* var
/* : ANodes[TId] */;
6640 val
* var3
/* : ANodes[TId] */;
6641 val
* var6
/* : null */;
6642 short int var7
/* : Bool */;
6643 short int var8
/* : Bool */;
6644 val
* var_other
/* var other: nullable Object */;
6645 short int var10
/* : Bool */;
6646 short int var11
/* : Bool */;
6647 short int var12
/* : Bool */;
6648 val
* var14
/* : null */;
6649 short int var15
/* : Bool */;
6650 short int var16
/* : Bool */;
6651 short int var18
/* : Bool */;
6652 short int var19
/* : Bool */;
6653 short int var20
/* : Bool */;
6660 if (unlikely(var_n_kwfor
== NULL
)) {
6661 PRINT_ERROR("Runtime error: %s", "Cast failed");
6662 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3596);
6665 self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwfor
].val
= var_n_kwfor
; /* _n_kwfor on <self:AForExpr> */
6666 if (var_n_kwfor
== NULL
) {
6667 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6668 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3597);
6671 { /* Inline parser_nodes#ANode#parent= (var_n_kwfor,self) on <var_n_kwfor:nullable TKwfor> */
6672 if (unlikely(var_n_kwfor
== NULL
)) {
6673 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6674 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
6677 var_n_kwfor
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwfor:nullable TKwfor> */
6682 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
6683 var3
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_ids
].val
; /* _n_ids on <self:AForExpr> */
6684 if (unlikely(var3
== NULL
)) {
6685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
6686 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604);
6694 parser_nodes__ANodes__unsafe_add_all(var
, var_n_ids
); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TId]>*/
6696 if (unlikely(var_n_expr
== NULL
)) {
6697 PRINT_ERROR("Runtime error: %s", "Cast failed");
6698 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3599);
6701 self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AForExpr> */
6702 if (var_n_expr
== NULL
) {
6703 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6704 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3600);
6707 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
6708 if (unlikely(var_n_expr
== NULL
)) {
6709 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6710 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
6713 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
6717 if (unlikely(var_n_kwdo
== NULL
)) {
6718 PRINT_ERROR("Runtime error: %s", "Cast failed");
6719 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3601);
6722 self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwdo
].val
= var_n_kwdo
; /* _n_kwdo on <self:AForExpr> */
6723 if (var_n_kwdo
== NULL
) {
6724 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6725 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3602);
6728 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
6729 if (unlikely(var_n_kwdo
== NULL
)) {
6730 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6731 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
6734 var_n_kwdo
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwdo:nullable TKwdo> */
6738 self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
= var_n_block
; /* _n_block on <self:AForExpr> */
6740 if (var_n_block
== NULL
) {
6741 var7
= 0; /* is null */
6743 var7
= 1; /* arg is null and recv is not */
6746 { /* Inline kernel#Object#!= (var_n_block,var6) on <var_n_block:nullable AExpr> */
6749 var11
= ((short int (*)(val
*, val
*))(var_n_block
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_block
, var_other
) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
6761 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
6762 var_n_block
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
6763 RET_LABEL13
:(void)0;
6768 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_n_label
; /* _n_label on <self:AForExpr> */
6770 if (var_n_label
== NULL
) {
6771 var15
= 0; /* is null */
6773 var15
= 1; /* arg is null and recv is not */
6776 { /* Inline kernel#Object#!= (var_n_label,var14) on <var_n_label:nullable ALabel> */
6779 var19
= ((short int (*)(val
*, val
*))(var_n_label
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_label
, var_other
) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
6785 RET_LABEL17
:(void)0;
6791 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
6792 var_n_label
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
6793 RET_LABEL21
:(void)0;
6800 /* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
6801 void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
, val
* p4
, val
* p5
) {
6802 parser_prod__AForExpr__init_aforexpr(self
, p0
, p1
, p2
, p3
, p4
, p5
); /* Direct call parser_prod#AForExpr#init_aforexpr on <self:Object(AForExpr)>*/
6805 /* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
6806 void parser_prod__AForExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
6807 val
* var_old_child
/* var old_child: ANode */;
6808 val
* var_new_child
/* var new_child: nullable ANode */;
6809 val
* var
/* : TKwfor */;
6810 short int var1
/* : Bool */;
6811 short int var2
/* : Bool */;
6812 val
* var_other
/* var other: nullable Object */;
6813 short int var4
/* : Bool */;
6814 short int var6
/* : Bool */;
6815 short int var7
/* : Bool */;
6818 const char* var_class_name
;
6819 val
* var8
/* : ANodes[TId] */;
6820 val
* var10
/* : ANodes[TId] */;
6821 short int var11
/* : Bool */;
6822 val
* var12
/* : AExpr */;
6823 short int var13
/* : Bool */;
6824 short int var14
/* : Bool */;
6825 short int var16
/* : Bool */;
6826 short int var18
/* : Bool */;
6827 short int var19
/* : Bool */;
6830 const char* var_class_name22
;
6831 val
* var23
/* : TKwdo */;
6832 short int var24
/* : Bool */;
6833 short int var25
/* : Bool */;
6834 short int var27
/* : Bool */;
6835 short int var29
/* : Bool */;
6836 short int var30
/* : Bool */;
6839 const char* var_class_name33
;
6840 val
* var34
/* : nullable AExpr */;
6841 short int var35
/* : Bool */;
6842 short int var36
/* : Bool */;
6843 short int var38
/* : Bool */;
6844 short int var40
/* : Bool */;
6845 short int var41
/* : Bool */;
6848 const char* var_class_name44
;
6849 val
* var45
/* : nullable ALabel */;
6850 short int var46
/* : Bool */;
6851 short int var47
/* : Bool */;
6852 short int var49
/* : Bool */;
6853 short int var51
/* : Bool */;
6854 short int var52
/* : Bool */;
6857 const char* var_class_name55
;
6860 var
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwfor
].val
; /* _n_kwfor on <self:AForExpr> */
6861 if (unlikely(var
== NULL
)) {
6862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
6863 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3611);
6867 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwfor> */
6868 var_other
= var_old_child
;
6870 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwfor> */
6871 var6
= var
== var_other
;
6884 /* <var_new_child:nullable ANode> isa TKwfor */
6885 cltype
= type_parser_nodes__TKwfor
.color
;
6886 idtype
= type_parser_nodes__TKwfor
.id
;
6887 if(var_new_child
== NULL
) {
6890 if(cltype
>= var_new_child
->type
->table_size
) {
6893 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
6896 if (unlikely(!var7
)) {
6897 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
6898 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwfor", var_class_name
);
6899 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3612);
6903 parser_prod__AForExpr__n_kwfor_61d(self
, var_new_child
); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:AForExpr>*/
6909 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
6910 var10
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_ids
].val
; /* _n_ids on <self:AForExpr> */
6911 if (unlikely(var10
== NULL
)) {
6912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
6913 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604);
6921 var11
= parser_nodes__ANodes__replace_child(var8
, var_old_child
, var_new_child
);
6927 var12
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
6928 if (unlikely(var12
== NULL
)) {
6929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6930 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3616);
6934 { /* Inline kernel#Object#== (var12,var_old_child) on <var12:AExpr> */
6935 var_other
= var_old_child
;
6937 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:AExpr> */
6938 var18
= var12
== var_other
;
6941 RET_LABEL17
:(void)0;
6946 RET_LABEL15
:(void)0;
6951 /* <var_new_child:nullable ANode> isa AExpr */
6952 cltype20
= type_parser_nodes__AExpr
.color
;
6953 idtype21
= type_parser_nodes__AExpr
.id
;
6954 if(var_new_child
== NULL
) {
6957 if(cltype20
>= var_new_child
->type
->table_size
) {
6960 var19
= var_new_child
->type
->type_table
[cltype20
] == idtype21
;
6963 if (unlikely(!var19
)) {
6964 var_class_name22
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
6965 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name22
);
6966 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3617);
6970 parser_prod__AForExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AForExpr#n_expr= on <self:AForExpr>*/
6975 var23
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwdo
].val
; /* _n_kwdo on <self:AForExpr> */
6976 if (unlikely(var23
== NULL
)) {
6977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
6978 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3620);
6982 { /* Inline kernel#Object#== (var23,var_old_child) on <var23:TKwdo> */
6983 var_other
= var_old_child
;
6985 { /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:TKwdo> */
6986 var29
= var23
== var_other
;
6989 RET_LABEL28
:(void)0;
6994 RET_LABEL26
:(void)0;
6999 /* <var_new_child:nullable ANode> isa TKwdo */
7000 cltype31
= type_parser_nodes__TKwdo
.color
;
7001 idtype32
= type_parser_nodes__TKwdo
.id
;
7002 if(var_new_child
== NULL
) {
7005 if(cltype31
>= var_new_child
->type
->table_size
) {
7008 var30
= var_new_child
->type
->type_table
[cltype31
] == idtype32
;
7011 if (unlikely(!var30
)) {
7012 var_class_name33
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7013 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name33
);
7014 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3621);
7018 parser_prod__AForExpr__n_kwdo_61d(self
, var_new_child
); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:AForExpr>*/
7023 var34
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
7024 if (var34
== NULL
) {
7025 var35
= 0; /* <var_old_child:ANode> cannot be null */
7027 { /* Inline kernel#Object#== (var34,var_old_child) on <var34:nullable AExpr> */
7028 var_other
= var_old_child
;
7030 { /* Inline kernel#Object#is_same_instance (var34,var_other) on <var34:nullable AExpr(AExpr)> */
7031 var40
= var34
== var_other
;
7034 RET_LABEL39
:(void)0;
7039 RET_LABEL37
:(void)0;
7044 /* <var_new_child:nullable ANode> isa nullable AExpr */
7045 cltype42
= type_nullable_parser_nodes__AExpr
.color
;
7046 idtype43
= type_nullable_parser_nodes__AExpr
.id
;
7047 if(var_new_child
== NULL
) {
7050 if(cltype42
>= var_new_child
->type
->table_size
) {
7053 var41
= var_new_child
->type
->type_table
[cltype42
] == idtype43
;
7056 if (unlikely(!var41
)) {
7057 var_class_name44
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7058 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name44
);
7059 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3625);
7063 parser_prod__AForExpr__n_block_61d(self
, var_new_child
); /* Direct call parser_prod#AForExpr#n_block= on <self:AForExpr>*/
7068 var45
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AForExpr> */
7069 if (var45
== NULL
) {
7070 var46
= 0; /* <var_old_child:ANode> cannot be null */
7072 { /* Inline kernel#Object#== (var45,var_old_child) on <var45:nullable ALabel> */
7073 var_other
= var_old_child
;
7075 { /* Inline kernel#Object#is_same_instance (var45,var_other) on <var45:nullable ALabel(ALabel)> */
7076 var51
= var45
== var_other
;
7079 RET_LABEL50
:(void)0;
7084 RET_LABEL48
:(void)0;
7089 /* <var_new_child:nullable ANode> isa nullable ALabel */
7090 cltype53
= type_nullable_parser_nodes__ALabel
.color
;
7091 idtype54
= type_nullable_parser_nodes__ALabel
.id
;
7092 if(var_new_child
== NULL
) {
7095 if(cltype53
>= var_new_child
->type
->table_size
) {
7098 var52
= var_new_child
->type
->type_table
[cltype53
] == idtype54
;
7101 if (unlikely(!var52
)) {
7102 var_class_name55
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7103 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name55
);
7104 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3629);
7108 parser_prod__AForExpr__n_label_61d(self
, var_new_child
); /* Direct call parser_prod#AForExpr#n_label= on <self:AForExpr>*/
7115 /* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */
7116 void VIRTUAL_parser_prod__AForExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
7117 parser_prod__AForExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AForExpr#replace_child on <self:Object(AForExpr)>*/
7120 /* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
7121 void parser_prod__AForExpr__n_kwfor_61d(val
* self
, val
* p0
) {
7122 val
* var_node
/* var node: TKwfor */;
7124 self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwfor
].val
= var_node
; /* _n_kwfor on <self:AForExpr> */
7126 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwfor> */
7127 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwfor> */
7133 /* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */
7134 void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val
* self
, val
* p0
) {
7135 parser_prod__AForExpr__n_kwfor_61d(self
, p0
); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:Object(AForExpr)>*/
7138 /* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
7139 void parser_prod__AForExpr__n_expr_61d(val
* self
, val
* p0
) {
7140 val
* var_node
/* var node: AExpr */;
7142 self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AForExpr> */
7144 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7145 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
7151 /* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */
7152 void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val
* self
, val
* p0
) {
7153 parser_prod__AForExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AForExpr#n_expr= on <self:Object(AForExpr)>*/
7156 /* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
7157 void parser_prod__AForExpr__n_kwdo_61d(val
* self
, val
* p0
) {
7158 val
* var_node
/* var node: TKwdo */;
7160 self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwdo
].val
= var_node
; /* _n_kwdo on <self:AForExpr> */
7162 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
7163 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwdo> */
7169 /* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */
7170 void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val
* self
, val
* p0
) {
7171 parser_prod__AForExpr__n_kwdo_61d(self
, p0
); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:Object(AForExpr)>*/
7174 /* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
7175 void parser_prod__AForExpr__n_block_61d(val
* self
, val
* p0
) {
7176 val
* var_node
/* var node: nullable AExpr */;
7177 val
* var
/* : null */;
7178 short int var1
/* : Bool */;
7179 short int var2
/* : Bool */;
7180 val
* var_other
/* var other: nullable Object */;
7181 short int var4
/* : Bool */;
7182 short int var5
/* : Bool */;
7183 short int var6
/* : Bool */;
7185 self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
= var_node
; /* _n_block on <self:AForExpr> */
7187 if (var_node
== NULL
) {
7188 var1
= 0; /* is null */
7190 var1
= 1; /* arg is null and recv is not */
7193 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
7196 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
7208 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
7209 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
7217 /* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */
7218 void VIRTUAL_parser_prod__AForExpr__n_block_61d(val
* self
, val
* p0
) {
7219 parser_prod__AForExpr__n_block_61d(self
, p0
); /* Direct call parser_prod#AForExpr#n_block= on <self:Object(AForExpr)>*/
7222 /* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
7223 void parser_prod__AForExpr__n_label_61d(val
* self
, val
* p0
) {
7224 val
* var_node
/* var node: nullable ALabel */;
7225 val
* var
/* : null */;
7226 short int var1
/* : Bool */;
7227 short int var2
/* : Bool */;
7228 val
* var_other
/* var other: nullable Object */;
7229 short int var4
/* : Bool */;
7230 short int var5
/* : Bool */;
7231 short int var6
/* : Bool */;
7233 self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
= var_node
; /* _n_label on <self:AForExpr> */
7235 if (var_node
== NULL
) {
7236 var1
= 0; /* is null */
7238 var1
= 1; /* arg is null and recv is not */
7241 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
7244 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ALabel(ALabel)>*/;
7256 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
7257 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable ALabel(ALabel)> */
7265 /* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */
7266 void VIRTUAL_parser_prod__AForExpr__n_label_61d(val
* self
, val
* p0
) {
7267 parser_prod__AForExpr__n_label_61d(self
, p0
); /* Direct call parser_prod#AForExpr#n_label= on <self:Object(AForExpr)>*/
7270 /* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
7271 void parser_prod__AForExpr__visit_all(val
* self
, val
* p0
) {
7272 val
* var_v
/* var v: Visitor */;
7273 val
* var
/* : TKwfor */;
7274 val
* var1
/* : ANodes[TId] */;
7275 val
* var3
/* : ANodes[TId] */;
7276 val
* var4
/* : AExpr */;
7277 val
* var5
/* : TKwdo */;
7278 val
* var6
/* : nullable AExpr */;
7279 val
* var7
/* : nullable ALabel */;
7281 var
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwfor
].val
; /* _n_kwfor on <self:AForExpr> */
7282 if (unlikely(var
== NULL
)) {
7283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
7284 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3663);
7288 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7291 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
7292 var3
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_ids
].val
; /* _n_ids on <self:AForExpr> */
7293 if (unlikely(var3
== NULL
)) {
7294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
7295 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604);
7303 parser_nodes__ANodes__visit_all(var1
, var_v
); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[TId]>*/
7305 var4
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
7306 if (unlikely(var4
== NULL
)) {
7307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7308 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3665);
7312 parser_nodes__Visitor__enter_visit(var_v
, var4
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7314 var5
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_kwdo
].val
; /* _n_kwdo on <self:AForExpr> */
7315 if (unlikely(var5
== NULL
)) {
7316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
7317 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3666);
7321 parser_nodes__Visitor__enter_visit(var_v
, var5
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7323 var6
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
7325 parser_nodes__Visitor__enter_visit(var_v
, var6
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7327 var7
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AForExpr> */
7329 parser_nodes__Visitor__enter_visit(var_v
, var7
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7333 /* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */
7334 void VIRTUAL_parser_prod__AForExpr__visit_all(val
* self
, val
* p0
) {
7335 parser_prod__AForExpr__visit_all(self
, p0
); /* Direct call parser_prod#AForExpr#visit_all on <self:Object(AForExpr)>*/
7338 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
7339 void parser_prod__AAssertExpr__init_aassertexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
7340 val
* var_n_kwassert
/* var n_kwassert: nullable TKwassert */;
7341 val
* var_n_id
/* var n_id: nullable TId */;
7342 val
* var_n_expr
/* var n_expr: nullable AExpr */;
7343 val
* var_n_else
/* var n_else: nullable AExpr */;
7344 val
* var
/* : null */;
7345 short int var2
/* : Bool */;
7346 short int var3
/* : Bool */;
7347 val
* var_other
/* var other: nullable Object */;
7348 short int var5
/* : Bool */;
7349 short int var6
/* : Bool */;
7350 short int var7
/* : Bool */;
7351 val
* var10
/* : null */;
7352 short int var11
/* : Bool */;
7353 short int var12
/* : Bool */;
7354 short int var14
/* : Bool */;
7355 short int var15
/* : Bool */;
7356 short int var16
/* : Bool */;
7357 var_n_kwassert
= p0
;
7361 if (unlikely(var_n_kwassert
== NULL
)) {
7362 PRINT_ERROR("Runtime error: %s", "Cast failed");
7363 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3679);
7366 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_kwassert
].val
= var_n_kwassert
; /* _n_kwassert on <self:AAssertExpr> */
7367 if (var_n_kwassert
== NULL
) {
7368 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7369 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3680);
7372 { /* Inline parser_nodes#ANode#parent= (var_n_kwassert,self) on <var_n_kwassert:nullable TKwassert> */
7373 if (unlikely(var_n_kwassert
== NULL
)) {
7374 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7375 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
7378 var_n_kwassert
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwassert:nullable TKwassert> */
7382 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_id
].val
= var_n_id
; /* _n_id on <self:AAssertExpr> */
7384 if (var_n_id
== NULL
) {
7385 var2
= 0; /* is null */
7387 var2
= 1; /* arg is null and recv is not */
7390 { /* Inline kernel#Object#!= (var_n_id,var) on <var_n_id:nullable TId> */
7393 var6
= ((short int (*)(val
*, val
*))(var_n_id
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_id
, var_other
) /* == on <var_n_id:nullable TId(TId)>*/;
7405 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
7406 var_n_id
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_id:nullable TId(TId)> */
7412 if (unlikely(var_n_expr
== NULL
)) {
7413 PRINT_ERROR("Runtime error: %s", "Cast failed");
7414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3683);
7417 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AAssertExpr> */
7418 if (var_n_expr
== NULL
) {
7419 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3684);
7423 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
7424 if (unlikely(var_n_expr
== NULL
)) {
7425 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7426 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
7429 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
7433 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
= var_n_else
; /* _n_else on <self:AAssertExpr> */
7435 if (var_n_else
== NULL
) {
7436 var11
= 0; /* is null */
7438 var11
= 1; /* arg is null and recv is not */
7441 { /* Inline kernel#Object#!= (var_n_else,var10) on <var_n_else:nullable AExpr> */
7444 var15
= ((short int (*)(val
*, val
*))(var_n_else
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_else
, var_other
) /* == on <var_n_else:nullable AExpr(AExpr)>*/;
7450 RET_LABEL13
:(void)0;
7456 { /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
7457 var_n_else
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
7458 RET_LABEL17
:(void)0;
7465 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
7466 void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
7467 parser_prod__AAssertExpr__init_aassertexpr(self
, p0
, p1
, p2
, p3
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <self:Object(AAssertExpr)>*/
7470 /* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
7471 void parser_prod__AAssertExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
7472 val
* var_old_child
/* var old_child: ANode */;
7473 val
* var_new_child
/* var new_child: nullable ANode */;
7474 val
* var
/* : TKwassert */;
7475 short int var1
/* : Bool */;
7476 short int var2
/* : Bool */;
7477 val
* var_other
/* var other: nullable Object */;
7478 short int var4
/* : Bool */;
7479 short int var6
/* : Bool */;
7480 short int var7
/* : Bool */;
7483 const char* var_class_name
;
7484 val
* var8
/* : nullable TId */;
7485 short int var9
/* : Bool */;
7486 short int var10
/* : Bool */;
7487 short int var12
/* : Bool */;
7488 short int var14
/* : Bool */;
7489 short int var15
/* : Bool */;
7492 const char* var_class_name18
;
7493 val
* var19
/* : AExpr */;
7494 short int var20
/* : Bool */;
7495 short int var21
/* : Bool */;
7496 short int var23
/* : Bool */;
7497 short int var25
/* : Bool */;
7498 short int var26
/* : Bool */;
7501 const char* var_class_name29
;
7502 val
* var30
/* : nullable AExpr */;
7503 short int var31
/* : Bool */;
7504 short int var32
/* : Bool */;
7505 short int var34
/* : Bool */;
7506 short int var36
/* : Bool */;
7507 short int var37
/* : Bool */;
7510 const char* var_class_name40
;
7513 var
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_kwassert
].val
; /* _n_kwassert on <self:AAssertExpr> */
7514 if (unlikely(var
== NULL
)) {
7515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
7516 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3691);
7520 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwassert> */
7521 var_other
= var_old_child
;
7523 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwassert> */
7524 var6
= var
== var_other
;
7537 /* <var_new_child:nullable ANode> isa TKwassert */
7538 cltype
= type_parser_nodes__TKwassert
.color
;
7539 idtype
= type_parser_nodes__TKwassert
.id
;
7540 if(var_new_child
== NULL
) {
7543 if(cltype
>= var_new_child
->type
->table_size
) {
7546 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
7549 if (unlikely(!var7
)) {
7550 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7551 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwassert", var_class_name
);
7552 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3692);
7556 parser_prod__AAssertExpr__n_kwassert_61d(self
, var_new_child
); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:AAssertExpr>*/
7561 var8
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_id
].val
; /* _n_id on <self:AAssertExpr> */
7563 var9
= 0; /* <var_old_child:ANode> cannot be null */
7565 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable TId> */
7566 var_other
= var_old_child
;
7568 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable TId(TId)> */
7569 var14
= var8
== var_other
;
7572 RET_LABEL13
:(void)0;
7577 RET_LABEL11
:(void)0;
7582 /* <var_new_child:nullable ANode> isa nullable TId */
7583 cltype16
= type_nullable_parser_nodes__TId
.color
;
7584 idtype17
= type_nullable_parser_nodes__TId
.id
;
7585 if(var_new_child
== NULL
) {
7588 if(cltype16
>= var_new_child
->type
->table_size
) {
7591 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
7594 if (unlikely(!var15
)) {
7595 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18
);
7597 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3696);
7601 parser_prod__AAssertExpr__n_id_61d(self
, var_new_child
); /* Direct call parser_prod#AAssertExpr#n_id= on <self:AAssertExpr>*/
7606 var19
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
7607 if (unlikely(var19
== NULL
)) {
7608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7609 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3699);
7613 { /* Inline kernel#Object#== (var19,var_old_child) on <var19:AExpr> */
7614 var_other
= var_old_child
;
7616 { /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:AExpr> */
7617 var25
= var19
== var_other
;
7620 RET_LABEL24
:(void)0;
7625 RET_LABEL22
:(void)0;
7630 /* <var_new_child:nullable ANode> isa AExpr */
7631 cltype27
= type_parser_nodes__AExpr
.color
;
7632 idtype28
= type_parser_nodes__AExpr
.id
;
7633 if(var_new_child
== NULL
) {
7636 if(cltype27
>= var_new_child
->type
->table_size
) {
7639 var26
= var_new_child
->type
->type_table
[cltype27
] == idtype28
;
7642 if (unlikely(!var26
)) {
7643 var_class_name29
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7644 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29
);
7645 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3700);
7649 parser_prod__AAssertExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:AAssertExpr>*/
7654 var30
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
7655 if (var30
== NULL
) {
7656 var31
= 0; /* <var_old_child:ANode> cannot be null */
7658 { /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable AExpr> */
7659 var_other
= var_old_child
;
7661 { /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable AExpr(AExpr)> */
7662 var36
= var30
== var_other
;
7665 RET_LABEL35
:(void)0;
7670 RET_LABEL33
:(void)0;
7675 /* <var_new_child:nullable ANode> isa nullable AExpr */
7676 cltype38
= type_nullable_parser_nodes__AExpr
.color
;
7677 idtype39
= type_nullable_parser_nodes__AExpr
.id
;
7678 if(var_new_child
== NULL
) {
7681 if(cltype38
>= var_new_child
->type
->table_size
) {
7684 var37
= var_new_child
->type
->type_table
[cltype38
] == idtype39
;
7687 if (unlikely(!var37
)) {
7688 var_class_name40
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7689 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40
);
7690 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3704);
7694 parser_prod__AAssertExpr__n_else_61d(self
, var_new_child
); /* Direct call parser_prod#AAssertExpr#n_else= on <self:AAssertExpr>*/
7701 /* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */
7702 void VIRTUAL_parser_prod__AAssertExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
7703 parser_prod__AAssertExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AAssertExpr#replace_child on <self:Object(AAssertExpr)>*/
7706 /* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
7707 void parser_prod__AAssertExpr__n_kwassert_61d(val
* self
, val
* p0
) {
7708 val
* var_node
/* var node: TKwassert */;
7710 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_kwassert
].val
= var_node
; /* _n_kwassert on <self:AAssertExpr> */
7712 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwassert> */
7713 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwassert> */
7719 /* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */
7720 void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val
* self
, val
* p0
) {
7721 parser_prod__AAssertExpr__n_kwassert_61d(self
, p0
); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:Object(AAssertExpr)>*/
7724 /* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
7725 void parser_prod__AAssertExpr__n_id_61d(val
* self
, val
* p0
) {
7726 val
* var_node
/* var node: nullable TId */;
7727 val
* var
/* : null */;
7728 short int var1
/* : Bool */;
7729 short int var2
/* : Bool */;
7730 val
* var_other
/* var other: nullable Object */;
7731 short int var4
/* : Bool */;
7732 short int var5
/* : Bool */;
7733 short int var6
/* : Bool */;
7735 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_id
].val
= var_node
; /* _n_id on <self:AAssertExpr> */
7737 if (var_node
== NULL
) {
7738 var1
= 0; /* is null */
7740 var1
= 1; /* arg is null and recv is not */
7743 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TId> */
7746 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable TId(TId)>*/;
7758 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
7759 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable TId(TId)> */
7767 /* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */
7768 void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val
* self
, val
* p0
) {
7769 parser_prod__AAssertExpr__n_id_61d(self
, p0
); /* Direct call parser_prod#AAssertExpr#n_id= on <self:Object(AAssertExpr)>*/
7772 /* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
7773 void parser_prod__AAssertExpr__n_expr_61d(val
* self
, val
* p0
) {
7774 val
* var_node
/* var node: AExpr */;
7776 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AAssertExpr> */
7778 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
7779 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
7785 /* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */
7786 void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val
* self
, val
* p0
) {
7787 parser_prod__AAssertExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:Object(AAssertExpr)>*/
7790 /* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
7791 void parser_prod__AAssertExpr__n_else_61d(val
* self
, val
* p0
) {
7792 val
* var_node
/* var node: nullable AExpr */;
7793 val
* var
/* : null */;
7794 short int var1
/* : Bool */;
7795 short int var2
/* : Bool */;
7796 val
* var_other
/* var other: nullable Object */;
7797 short int var4
/* : Bool */;
7798 short int var5
/* : Bool */;
7799 short int var6
/* : Bool */;
7801 self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
= var_node
; /* _n_else on <self:AAssertExpr> */
7803 if (var_node
== NULL
) {
7804 var1
= 0; /* is null */
7806 var1
= 1; /* arg is null and recv is not */
7809 { /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
7812 var5
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable AExpr(AExpr)>*/;
7824 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
7825 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:nullable AExpr(AExpr)> */
7833 /* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */
7834 void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val
* self
, val
* p0
) {
7835 parser_prod__AAssertExpr__n_else_61d(self
, p0
); /* Direct call parser_prod#AAssertExpr#n_else= on <self:Object(AAssertExpr)>*/
7838 /* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
7839 void parser_prod__AAssertExpr__visit_all(val
* self
, val
* p0
) {
7840 val
* var_v
/* var v: Visitor */;
7841 val
* var
/* : TKwassert */;
7842 val
* var1
/* : nullable TId */;
7843 val
* var2
/* : AExpr */;
7844 val
* var3
/* : nullable AExpr */;
7846 var
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_kwassert
].val
; /* _n_kwassert on <self:AAssertExpr> */
7847 if (unlikely(var
== NULL
)) {
7848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
7849 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3733);
7853 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7855 var1
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_id
].val
; /* _n_id on <self:AAssertExpr> */
7857 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7859 var2
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
7860 if (unlikely(var2
== NULL
)) {
7861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7862 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3735);
7866 parser_nodes__Visitor__enter_visit(var_v
, var2
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7868 var3
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
7870 parser_nodes__Visitor__enter_visit(var_v
, var3
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
7874 /* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */
7875 void VIRTUAL_parser_prod__AAssertExpr__visit_all(val
* self
, val
* p0
) {
7876 parser_prod__AAssertExpr__visit_all(self
, p0
); /* Direct call parser_prod#AAssertExpr#visit_all on <self:Object(AAssertExpr)>*/
7879 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
7880 void parser_prod__AOnceExpr__init_aonceexpr(val
* self
, val
* p0
, val
* p1
) {
7881 val
* var_n_kwonce
/* var n_kwonce: nullable TKwonce */;
7882 val
* var_n_expr
/* var n_expr: nullable AExpr */;
7885 if (unlikely(var_n_kwonce
== NULL
)) {
7886 PRINT_ERROR("Runtime error: %s", "Cast failed");
7887 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3745);
7890 self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_kwonce
].val
= var_n_kwonce
; /* _n_kwonce on <self:AOnceExpr> */
7891 if (var_n_kwonce
== NULL
) {
7892 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7893 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3746);
7896 { /* Inline parser_nodes#ANode#parent= (var_n_kwonce,self) on <var_n_kwonce:nullable TKwonce> */
7897 if (unlikely(var_n_kwonce
== NULL
)) {
7898 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7899 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
7902 var_n_kwonce
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwonce:nullable TKwonce> */
7906 if (unlikely(var_n_expr
== NULL
)) {
7907 PRINT_ERROR("Runtime error: %s", "Cast failed");
7908 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3747);
7911 self
->attrs
[COLOR_parser_nodes__AProxyExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AOnceExpr> */
7912 if (var_n_expr
== NULL
) {
7913 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7914 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3748);
7917 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
7918 if (unlikely(var_n_expr
== NULL
)) {
7919 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7920 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
7923 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
7929 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */
7930 void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val
* self
, val
* p0
, val
* p1
) {
7931 parser_prod__AOnceExpr__init_aonceexpr(self
, p0
, p1
); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <self:Object(AOnceExpr)>*/
7934 /* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
7935 void parser_prod__AOnceExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
7936 val
* var_old_child
/* var old_child: ANode */;
7937 val
* var_new_child
/* var new_child: nullable ANode */;
7938 val
* var
/* : TKwonce */;
7939 short int var1
/* : Bool */;
7940 short int var2
/* : Bool */;
7941 val
* var_other
/* var other: nullable Object */;
7942 short int var4
/* : Bool */;
7943 short int var6
/* : Bool */;
7944 short int var7
/* : Bool */;
7947 const char* var_class_name
;
7948 val
* var8
/* : AExpr */;
7949 short int var9
/* : Bool */;
7950 short int var10
/* : Bool */;
7951 short int var12
/* : Bool */;
7952 short int var14
/* : Bool */;
7953 short int var15
/* : Bool */;
7956 const char* var_class_name18
;
7959 var
= self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_kwonce
].val
; /* _n_kwonce on <self:AOnceExpr> */
7960 if (unlikely(var
== NULL
)) {
7961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
7962 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3753);
7966 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwonce> */
7967 var_other
= var_old_child
;
7969 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwonce> */
7970 var6
= var
== var_other
;
7983 /* <var_new_child:nullable ANode> isa TKwonce */
7984 cltype
= type_parser_nodes__TKwonce
.color
;
7985 idtype
= type_parser_nodes__TKwonce
.id
;
7986 if(var_new_child
== NULL
) {
7989 if(cltype
>= var_new_child
->type
->table_size
) {
7992 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
7995 if (unlikely(!var7
)) {
7996 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
7997 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwonce", var_class_name
);
7998 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3754);
8002 parser_prod__AOnceExpr__n_kwonce_61d(self
, var_new_child
); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:AOnceExpr>*/
8007 var8
= self
->attrs
[COLOR_parser_nodes__AProxyExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
8008 if (unlikely(var8
== NULL
)) {
8009 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8010 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3757);
8014 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
8015 var_other
= var_old_child
;
8017 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
8018 var14
= var8
== var_other
;
8021 RET_LABEL13
:(void)0;
8026 RET_LABEL11
:(void)0;
8031 /* <var_new_child:nullable ANode> isa AExpr */
8032 cltype16
= type_parser_nodes__AExpr
.color
;
8033 idtype17
= type_parser_nodes__AExpr
.id
;
8034 if(var_new_child
== NULL
) {
8037 if(cltype16
>= var_new_child
->type
->table_size
) {
8040 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
8043 if (unlikely(!var15
)) {
8044 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8045 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
8046 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3758);
8050 parser_prod__AOnceExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:AOnceExpr>*/
8057 /* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */
8058 void VIRTUAL_parser_prod__AOnceExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8059 parser_prod__AOnceExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AOnceExpr#replace_child on <self:Object(AOnceExpr)>*/
8062 /* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
8063 void parser_prod__AOnceExpr__n_kwonce_61d(val
* self
, val
* p0
) {
8064 val
* var_node
/* var node: TKwonce */;
8066 self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_kwonce
].val
= var_node
; /* _n_kwonce on <self:AOnceExpr> */
8068 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwonce> */
8069 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwonce> */
8075 /* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */
8076 void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val
* self
, val
* p0
) {
8077 parser_prod__AOnceExpr__n_kwonce_61d(self
, p0
); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:Object(AOnceExpr)>*/
8080 /* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
8081 void parser_prod__AOnceExpr__n_expr_61d(val
* self
, val
* p0
) {
8082 val
* var_node
/* var node: AExpr */;
8084 self
->attrs
[COLOR_parser_nodes__AProxyExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AOnceExpr> */
8086 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8087 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8093 /* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */
8094 void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val
* self
, val
* p0
) {
8095 parser_prod__AOnceExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:Object(AOnceExpr)>*/
8098 /* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
8099 void parser_prod__AOnceExpr__visit_all(val
* self
, val
* p0
) {
8100 val
* var_v
/* var v: Visitor */;
8101 val
* var
/* : TKwonce */;
8102 val
* var1
/* : AExpr */;
8104 var
= self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_kwonce
].val
; /* _n_kwonce on <self:AOnceExpr> */
8105 if (unlikely(var
== NULL
)) {
8106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
8107 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3777);
8111 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8113 var1
= self
->attrs
[COLOR_parser_nodes__AProxyExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
8114 if (unlikely(var1
== NULL
)) {
8115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8116 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3778);
8120 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8124 /* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */
8125 void VIRTUAL_parser_prod__AOnceExpr__visit_all(val
* self
, val
* p0
) {
8126 parser_prod__AOnceExpr__visit_all(self
, p0
); /* Direct call parser_prod#AOnceExpr#visit_all on <self:Object(AOnceExpr)>*/
8129 /* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */
8130 void parser_prod__AOrExpr__init_aorexpr(val
* self
, val
* p0
, val
* p1
) {
8131 val
* var_n_expr
/* var n_expr: nullable AExpr */;
8132 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
8135 if (unlikely(var_n_expr
== NULL
)) {
8136 PRINT_ERROR("Runtime error: %s", "Cast failed");
8137 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3858);
8140 self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AOrExpr> */
8141 if (var_n_expr
== NULL
) {
8142 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8143 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3859);
8146 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8147 if (unlikely(var_n_expr
== NULL
)) {
8148 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8149 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8152 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
8156 if (unlikely(var_n_expr2
== NULL
)) {
8157 PRINT_ERROR("Runtime error: %s", "Cast failed");
8158 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3860);
8161 self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:AOrExpr> */
8162 if (var_n_expr2
== NULL
) {
8163 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8164 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3861);
8167 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
8168 if (unlikely(var_n_expr2
== NULL
)) {
8169 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8170 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8173 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
8179 /* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */
8180 void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val
* self
, val
* p0
, val
* p1
) {
8181 parser_prod__AOrExpr__init_aorexpr(self
, p0
, p1
); /* Direct call parser_prod#AOrExpr#init_aorexpr on <self:Object(AOrExpr)>*/
8184 /* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
8185 void parser_prod__AOrExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8186 val
* var_old_child
/* var old_child: ANode */;
8187 val
* var_new_child
/* var new_child: nullable ANode */;
8188 val
* var
/* : AExpr */;
8189 short int var1
/* : Bool */;
8190 short int var2
/* : Bool */;
8191 val
* var_other
/* var other: nullable Object */;
8192 short int var4
/* : Bool */;
8193 short int var6
/* : Bool */;
8194 short int var7
/* : Bool */;
8197 const char* var_class_name
;
8198 val
* var8
/* : AExpr */;
8199 short int var9
/* : Bool */;
8200 short int var10
/* : Bool */;
8201 short int var12
/* : Bool */;
8202 short int var14
/* : Bool */;
8203 short int var15
/* : Bool */;
8206 const char* var_class_name18
;
8209 var
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
8210 if (unlikely(var
== NULL
)) {
8211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8212 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3866);
8216 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8217 var_other
= var_old_child
;
8219 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8220 var6
= var
== var_other
;
8233 /* <var_new_child:nullable ANode> isa AExpr */
8234 cltype
= type_parser_nodes__AExpr
.color
;
8235 idtype
= type_parser_nodes__AExpr
.id
;
8236 if(var_new_child
== NULL
) {
8239 if(cltype
>= var_new_child
->type
->table_size
) {
8242 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
8245 if (unlikely(!var7
)) {
8246 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8247 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
8248 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3867);
8252 parser_prod__AOrExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AOrExpr#n_expr= on <self:AOrExpr>*/
8257 var8
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
8258 if (unlikely(var8
== NULL
)) {
8259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8260 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3870);
8264 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
8265 var_other
= var_old_child
;
8267 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
8268 var14
= var8
== var_other
;
8271 RET_LABEL13
:(void)0;
8276 RET_LABEL11
:(void)0;
8281 /* <var_new_child:nullable ANode> isa AExpr */
8282 cltype16
= type_parser_nodes__AExpr
.color
;
8283 idtype17
= type_parser_nodes__AExpr
.id
;
8284 if(var_new_child
== NULL
) {
8287 if(cltype16
>= var_new_child
->type
->table_size
) {
8290 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
8293 if (unlikely(!var15
)) {
8294 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8295 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
8296 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3871);
8300 parser_prod__AOrExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:AOrExpr>*/
8307 /* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */
8308 void VIRTUAL_parser_prod__AOrExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8309 parser_prod__AOrExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AOrExpr#replace_child on <self:Object(AOrExpr)>*/
8312 /* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
8313 void parser_prod__AOrExpr__n_expr_61d(val
* self
, val
* p0
) {
8314 val
* var_node
/* var node: AExpr */;
8316 self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AOrExpr> */
8318 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8319 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8325 /* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */
8326 void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val
* self
, val
* p0
) {
8327 parser_prod__AOrExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AOrExpr#n_expr= on <self:Object(AOrExpr)>*/
8330 /* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
8331 void parser_prod__AOrExpr__n_expr2_61d(val
* self
, val
* p0
) {
8332 val
* var_node
/* var node: AExpr */;
8334 self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:AOrExpr> */
8336 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8337 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8343 /* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */
8344 void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val
* self
, val
* p0
) {
8345 parser_prod__AOrExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:Object(AOrExpr)>*/
8348 /* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
8349 void parser_prod__AOrExpr__visit_all(val
* self
, val
* p0
) {
8350 val
* var_v
/* var v: Visitor */;
8351 val
* var
/* : AExpr */;
8352 val
* var1
/* : AExpr */;
8354 var
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
8355 if (unlikely(var
== NULL
)) {
8356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3890);
8361 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8363 var1
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
8364 if (unlikely(var1
== NULL
)) {
8365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3891);
8370 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8374 /* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */
8375 void VIRTUAL_parser_prod__AOrExpr__visit_all(val
* self
, val
* p0
) {
8376 parser_prod__AOrExpr__visit_all(self
, p0
); /* Direct call parser_prod#AOrExpr#visit_all on <self:Object(AOrExpr)>*/
8379 /* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */
8380 void parser_prod__AAndExpr__init_aandexpr(val
* self
, val
* p0
, val
* p1
) {
8381 val
* var_n_expr
/* var n_expr: nullable AExpr */;
8382 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
8385 if (unlikely(var_n_expr
== NULL
)) {
8386 PRINT_ERROR("Runtime error: %s", "Cast failed");
8387 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3900);
8390 self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AAndExpr> */
8391 if (var_n_expr
== NULL
) {
8392 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8393 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3901);
8396 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8397 if (unlikely(var_n_expr
== NULL
)) {
8398 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8399 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8402 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
8406 if (unlikely(var_n_expr2
== NULL
)) {
8407 PRINT_ERROR("Runtime error: %s", "Cast failed");
8408 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3902);
8411 self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:AAndExpr> */
8412 if (var_n_expr2
== NULL
) {
8413 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3903);
8417 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
8418 if (unlikely(var_n_expr2
== NULL
)) {
8419 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8423 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
8429 /* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */
8430 void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val
* self
, val
* p0
, val
* p1
) {
8431 parser_prod__AAndExpr__init_aandexpr(self
, p0
, p1
); /* Direct call parser_prod#AAndExpr#init_aandexpr on <self:Object(AAndExpr)>*/
8434 /* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
8435 void parser_prod__AAndExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8436 val
* var_old_child
/* var old_child: ANode */;
8437 val
* var_new_child
/* var new_child: nullable ANode */;
8438 val
* var
/* : AExpr */;
8439 short int var1
/* : Bool */;
8440 short int var2
/* : Bool */;
8441 val
* var_other
/* var other: nullable Object */;
8442 short int var4
/* : Bool */;
8443 short int var6
/* : Bool */;
8444 short int var7
/* : Bool */;
8447 const char* var_class_name
;
8448 val
* var8
/* : AExpr */;
8449 short int var9
/* : Bool */;
8450 short int var10
/* : Bool */;
8451 short int var12
/* : Bool */;
8452 short int var14
/* : Bool */;
8453 short int var15
/* : Bool */;
8456 const char* var_class_name18
;
8459 var
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
8460 if (unlikely(var
== NULL
)) {
8461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8462 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3908);
8466 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8467 var_other
= var_old_child
;
8469 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8470 var6
= var
== var_other
;
8483 /* <var_new_child:nullable ANode> isa AExpr */
8484 cltype
= type_parser_nodes__AExpr
.color
;
8485 idtype
= type_parser_nodes__AExpr
.id
;
8486 if(var_new_child
== NULL
) {
8489 if(cltype
>= var_new_child
->type
->table_size
) {
8492 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
8495 if (unlikely(!var7
)) {
8496 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8497 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
8498 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3909);
8502 parser_prod__AAndExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AAndExpr#n_expr= on <self:AAndExpr>*/
8507 var8
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
8508 if (unlikely(var8
== NULL
)) {
8509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8510 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3912);
8514 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
8515 var_other
= var_old_child
;
8517 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
8518 var14
= var8
== var_other
;
8521 RET_LABEL13
:(void)0;
8526 RET_LABEL11
:(void)0;
8531 /* <var_new_child:nullable ANode> isa AExpr */
8532 cltype16
= type_parser_nodes__AExpr
.color
;
8533 idtype17
= type_parser_nodes__AExpr
.id
;
8534 if(var_new_child
== NULL
) {
8537 if(cltype16
>= var_new_child
->type
->table_size
) {
8540 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
8543 if (unlikely(!var15
)) {
8544 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8545 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
8546 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3913);
8550 parser_prod__AAndExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:AAndExpr>*/
8557 /* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */
8558 void VIRTUAL_parser_prod__AAndExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8559 parser_prod__AAndExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AAndExpr#replace_child on <self:Object(AAndExpr)>*/
8562 /* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
8563 void parser_prod__AAndExpr__n_expr_61d(val
* self
, val
* p0
) {
8564 val
* var_node
/* var node: AExpr */;
8566 self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AAndExpr> */
8568 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8569 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8575 /* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */
8576 void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val
* self
, val
* p0
) {
8577 parser_prod__AAndExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AAndExpr#n_expr= on <self:Object(AAndExpr)>*/
8580 /* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
8581 void parser_prod__AAndExpr__n_expr2_61d(val
* self
, val
* p0
) {
8582 val
* var_node
/* var node: AExpr */;
8584 self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:AAndExpr> */
8586 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8587 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8593 /* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */
8594 void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val
* self
, val
* p0
) {
8595 parser_prod__AAndExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:Object(AAndExpr)>*/
8598 /* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
8599 void parser_prod__AAndExpr__visit_all(val
* self
, val
* p0
) {
8600 val
* var_v
/* var v: Visitor */;
8601 val
* var
/* : AExpr */;
8602 val
* var1
/* : AExpr */;
8604 var
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
8605 if (unlikely(var
== NULL
)) {
8606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8607 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3932);
8611 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8613 var1
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
8614 if (unlikely(var1
== NULL
)) {
8615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8616 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3933);
8620 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8624 /* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */
8625 void VIRTUAL_parser_prod__AAndExpr__visit_all(val
* self
, val
* p0
) {
8626 parser_prod__AAndExpr__visit_all(self
, p0
); /* Direct call parser_prod#AAndExpr#visit_all on <self:Object(AAndExpr)>*/
8629 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */
8630 void parser_prod__AOrElseExpr__init_aorelseexpr(val
* self
, val
* p0
, val
* p1
) {
8631 val
* var_n_expr
/* var n_expr: nullable AExpr */;
8632 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
8635 if (unlikely(var_n_expr
== NULL
)) {
8636 PRINT_ERROR("Runtime error: %s", "Cast failed");
8637 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3942);
8640 self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AOrElseExpr> */
8641 if (var_n_expr
== NULL
) {
8642 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8643 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3943);
8646 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8647 if (unlikely(var_n_expr
== NULL
)) {
8648 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8649 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8652 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
8656 if (unlikely(var_n_expr2
== NULL
)) {
8657 PRINT_ERROR("Runtime error: %s", "Cast failed");
8658 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3944);
8661 self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:AOrElseExpr> */
8662 if (var_n_expr2
== NULL
) {
8663 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8664 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3945);
8667 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
8668 if (unlikely(var_n_expr2
== NULL
)) {
8669 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8670 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8673 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
8679 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */
8680 void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val
* self
, val
* p0
, val
* p1
) {
8681 parser_prod__AOrElseExpr__init_aorelseexpr(self
, p0
, p1
); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <self:Object(AOrElseExpr)>*/
8684 /* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
8685 void parser_prod__AOrElseExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8686 val
* var_old_child
/* var old_child: ANode */;
8687 val
* var_new_child
/* var new_child: nullable ANode */;
8688 val
* var
/* : AExpr */;
8689 short int var1
/* : Bool */;
8690 short int var2
/* : Bool */;
8691 val
* var_other
/* var other: nullable Object */;
8692 short int var4
/* : Bool */;
8693 short int var6
/* : Bool */;
8694 short int var7
/* : Bool */;
8697 const char* var_class_name
;
8698 val
* var8
/* : AExpr */;
8699 short int var9
/* : Bool */;
8700 short int var10
/* : Bool */;
8701 short int var12
/* : Bool */;
8702 short int var14
/* : Bool */;
8703 short int var15
/* : Bool */;
8706 const char* var_class_name18
;
8709 var
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
8710 if (unlikely(var
== NULL
)) {
8711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8712 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3950);
8716 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8717 var_other
= var_old_child
;
8719 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8720 var6
= var
== var_other
;
8733 /* <var_new_child:nullable ANode> isa AExpr */
8734 cltype
= type_parser_nodes__AExpr
.color
;
8735 idtype
= type_parser_nodes__AExpr
.id
;
8736 if(var_new_child
== NULL
) {
8739 if(cltype
>= var_new_child
->type
->table_size
) {
8742 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
8745 if (unlikely(!var7
)) {
8746 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8747 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
8748 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3951);
8752 parser_prod__AOrElseExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:AOrElseExpr>*/
8757 var8
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
8758 if (unlikely(var8
== NULL
)) {
8759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8760 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3954);
8764 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
8765 var_other
= var_old_child
;
8767 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
8768 var14
= var8
== var_other
;
8771 RET_LABEL13
:(void)0;
8776 RET_LABEL11
:(void)0;
8781 /* <var_new_child:nullable ANode> isa AExpr */
8782 cltype16
= type_parser_nodes__AExpr
.color
;
8783 idtype17
= type_parser_nodes__AExpr
.id
;
8784 if(var_new_child
== NULL
) {
8787 if(cltype16
>= var_new_child
->type
->table_size
) {
8790 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
8793 if (unlikely(!var15
)) {
8794 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8795 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
8796 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3955);
8800 parser_prod__AOrElseExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:AOrElseExpr>*/
8807 /* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */
8808 void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8809 parser_prod__AOrElseExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AOrElseExpr#replace_child on <self:Object(AOrElseExpr)>*/
8812 /* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
8813 void parser_prod__AOrElseExpr__n_expr_61d(val
* self
, val
* p0
) {
8814 val
* var_node
/* var node: AExpr */;
8816 self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AOrElseExpr> */
8818 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8819 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8825 /* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */
8826 void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val
* self
, val
* p0
) {
8827 parser_prod__AOrElseExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:Object(AOrElseExpr)>*/
8830 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
8831 void parser_prod__AOrElseExpr__n_expr2_61d(val
* self
, val
* p0
) {
8832 val
* var_node
/* var node: AExpr */;
8834 self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:AOrElseExpr> */
8836 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
8837 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
8843 /* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */
8844 void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val
* self
, val
* p0
) {
8845 parser_prod__AOrElseExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:Object(AOrElseExpr)>*/
8848 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
8849 void parser_prod__AOrElseExpr__visit_all(val
* self
, val
* p0
) {
8850 val
* var_v
/* var v: Visitor */;
8851 val
* var
/* : AExpr */;
8852 val
* var1
/* : AExpr */;
8854 var
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
8855 if (unlikely(var
== NULL
)) {
8856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8857 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3974);
8861 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8863 var1
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
8864 if (unlikely(var1
== NULL
)) {
8865 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
8866 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3975);
8870 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
8874 /* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */
8875 void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val
* self
, val
* p0
) {
8876 parser_prod__AOrElseExpr__visit_all(self
, p0
); /* Direct call parser_prod#AOrElseExpr#visit_all on <self:Object(AOrElseExpr)>*/
8879 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
8880 void parser_prod__AImpliesExpr__init_aimpliesexpr(val
* self
, val
* p0
, val
* p1
) {
8881 val
* var_n_expr
/* var n_expr: nullable AExpr */;
8882 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
8885 if (unlikely(var_n_expr
== NULL
)) {
8886 PRINT_ERROR("Runtime error: %s", "Cast failed");
8887 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3984);
8890 self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AImpliesExpr> */
8891 if (var_n_expr
== NULL
) {
8892 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8893 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3985);
8896 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
8897 if (unlikely(var_n_expr
== NULL
)) {
8898 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8899 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8902 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
8906 if (unlikely(var_n_expr2
== NULL
)) {
8907 PRINT_ERROR("Runtime error: %s", "Cast failed");
8908 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3986);
8911 self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:AImpliesExpr> */
8912 if (var_n_expr2
== NULL
) {
8913 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8914 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3987);
8917 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
8918 if (unlikely(var_n_expr2
== NULL
)) {
8919 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8920 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
8923 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
8929 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */
8930 void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val
* self
, val
* p0
, val
* p1
) {
8931 parser_prod__AImpliesExpr__init_aimpliesexpr(self
, p0
, p1
); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <self:Object(AImpliesExpr)>*/
8934 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
8935 void parser_prod__AImpliesExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
8936 val
* var_old_child
/* var old_child: ANode */;
8937 val
* var_new_child
/* var new_child: nullable ANode */;
8938 val
* var
/* : AExpr */;
8939 short int var1
/* : Bool */;
8940 short int var2
/* : Bool */;
8941 val
* var_other
/* var other: nullable Object */;
8942 short int var4
/* : Bool */;
8943 short int var6
/* : Bool */;
8944 short int var7
/* : Bool */;
8947 const char* var_class_name
;
8948 val
* var8
/* : AExpr */;
8949 short int var9
/* : Bool */;
8950 short int var10
/* : Bool */;
8951 short int var12
/* : Bool */;
8952 short int var14
/* : Bool */;
8953 short int var15
/* : Bool */;
8956 const char* var_class_name18
;
8959 var
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
8960 if (unlikely(var
== NULL
)) {
8961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8962 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3992);
8966 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
8967 var_other
= var_old_child
;
8969 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
8970 var6
= var
== var_other
;
8983 /* <var_new_child:nullable ANode> isa AExpr */
8984 cltype
= type_parser_nodes__AExpr
.color
;
8985 idtype
= type_parser_nodes__AExpr
.id
;
8986 if(var_new_child
== NULL
) {
8989 if(cltype
>= var_new_child
->type
->table_size
) {
8992 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
8995 if (unlikely(!var7
)) {
8996 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
8997 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
8998 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3993);
9002 parser_prod__AImpliesExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
9007 var8
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
9008 if (unlikely(var8
== NULL
)) {
9009 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9010 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3996);
9014 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
9015 var_other
= var_old_child
;
9017 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
9018 var14
= var8
== var_other
;
9021 RET_LABEL13
:(void)0;
9026 RET_LABEL11
:(void)0;
9031 /* <var_new_child:nullable ANode> isa AExpr */
9032 cltype16
= type_parser_nodes__AExpr
.color
;
9033 idtype17
= type_parser_nodes__AExpr
.id
;
9034 if(var_new_child
== NULL
) {
9037 if(cltype16
>= var_new_child
->type
->table_size
) {
9040 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
9043 if (unlikely(!var15
)) {
9044 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9045 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
9046 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3997);
9050 parser_prod__AImpliesExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:AImpliesExpr>*/
9057 /* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */
9058 void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9059 parser_prod__AImpliesExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AImpliesExpr#replace_child on <self:Object(AImpliesExpr)>*/
9062 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
9063 void parser_prod__AImpliesExpr__n_expr_61d(val
* self
, val
* p0
) {
9064 val
* var_node
/* var node: AExpr */;
9066 self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AImpliesExpr> */
9068 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9069 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9075 /* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */
9076 void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val
* self
, val
* p0
) {
9077 parser_prod__AImpliesExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:Object(AImpliesExpr)>*/
9080 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
9081 void parser_prod__AImpliesExpr__n_expr2_61d(val
* self
, val
* p0
) {
9082 val
* var_node
/* var node: AExpr */;
9084 self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:AImpliesExpr> */
9086 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9087 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9093 /* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */
9094 void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val
* self
, val
* p0
) {
9095 parser_prod__AImpliesExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:Object(AImpliesExpr)>*/
9098 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
9099 void parser_prod__AImpliesExpr__visit_all(val
* self
, val
* p0
) {
9100 val
* var_v
/* var v: Visitor */;
9101 val
* var
/* : AExpr */;
9102 val
* var1
/* : AExpr */;
9104 var
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
9105 if (unlikely(var
== NULL
)) {
9106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9107 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4016);
9111 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9113 var1
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
9114 if (unlikely(var1
== NULL
)) {
9115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9116 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4017);
9120 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9124 /* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */
9125 void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val
* self
, val
* p0
) {
9126 parser_prod__AImpliesExpr__visit_all(self
, p0
); /* Direct call parser_prod#AImpliesExpr#visit_all on <self:Object(AImpliesExpr)>*/
9129 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
9130 void parser_prod__ANotExpr__init_anotexpr(val
* self
, val
* p0
, val
* p1
) {
9131 val
* var_n_kwnot
/* var n_kwnot: nullable TKwnot */;
9132 val
* var_n_expr
/* var n_expr: nullable AExpr */;
9135 if (unlikely(var_n_kwnot
== NULL
)) {
9136 PRINT_ERROR("Runtime error: %s", "Cast failed");
9137 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4026);
9140 self
->attrs
[COLOR_parser_nodes__ANotExpr___n_kwnot
].val
= var_n_kwnot
; /* _n_kwnot on <self:ANotExpr> */
9141 if (var_n_kwnot
== NULL
) {
9142 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9143 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4027);
9146 { /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on <var_n_kwnot:nullable TKwnot> */
9147 if (unlikely(var_n_kwnot
== NULL
)) {
9148 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9149 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9152 var_n_kwnot
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_kwnot:nullable TKwnot> */
9156 if (unlikely(var_n_expr
== NULL
)) {
9157 PRINT_ERROR("Runtime error: %s", "Cast failed");
9158 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4028);
9161 self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:ANotExpr> */
9162 if (var_n_expr
== NULL
) {
9163 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9164 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4029);
9167 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9168 if (unlikely(var_n_expr
== NULL
)) {
9169 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9170 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9173 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
9179 /* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */
9180 void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val
* self
, val
* p0
, val
* p1
) {
9181 parser_prod__ANotExpr__init_anotexpr(self
, p0
, p1
); /* Direct call parser_prod#ANotExpr#init_anotexpr on <self:Object(ANotExpr)>*/
9184 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
9185 void parser_prod__ANotExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9186 val
* var_old_child
/* var old_child: ANode */;
9187 val
* var_new_child
/* var new_child: nullable ANode */;
9188 val
* var
/* : TKwnot */;
9189 short int var1
/* : Bool */;
9190 short int var2
/* : Bool */;
9191 val
* var_other
/* var other: nullable Object */;
9192 short int var4
/* : Bool */;
9193 short int var6
/* : Bool */;
9194 short int var7
/* : Bool */;
9197 const char* var_class_name
;
9198 val
* var8
/* : AExpr */;
9199 short int var9
/* : Bool */;
9200 short int var10
/* : Bool */;
9201 short int var12
/* : Bool */;
9202 short int var14
/* : Bool */;
9203 short int var15
/* : Bool */;
9206 const char* var_class_name18
;
9209 var
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_kwnot
].val
; /* _n_kwnot on <self:ANotExpr> */
9210 if (unlikely(var
== NULL
)) {
9211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
9212 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4034);
9216 { /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnot> */
9217 var_other
= var_old_child
;
9219 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnot> */
9220 var6
= var
== var_other
;
9233 /* <var_new_child:nullable ANode> isa TKwnot */
9234 cltype
= type_parser_nodes__TKwnot
.color
;
9235 idtype
= type_parser_nodes__TKwnot
.id
;
9236 if(var_new_child
== NULL
) {
9239 if(cltype
>= var_new_child
->type
->table_size
) {
9242 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
9245 if (unlikely(!var7
)) {
9246 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9247 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name
);
9248 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4035);
9252 parser_prod__ANotExpr__n_kwnot_61d(self
, var_new_child
); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
9257 var8
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
9258 if (unlikely(var8
== NULL
)) {
9259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9260 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4038);
9264 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
9265 var_other
= var_old_child
;
9267 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
9268 var14
= var8
== var_other
;
9271 RET_LABEL13
:(void)0;
9276 RET_LABEL11
:(void)0;
9281 /* <var_new_child:nullable ANode> isa AExpr */
9282 cltype16
= type_parser_nodes__AExpr
.color
;
9283 idtype17
= type_parser_nodes__AExpr
.id
;
9284 if(var_new_child
== NULL
) {
9287 if(cltype16
>= var_new_child
->type
->table_size
) {
9290 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
9293 if (unlikely(!var15
)) {
9294 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9295 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
9296 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4039);
9300 parser_prod__ANotExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#ANotExpr#n_expr= on <self:ANotExpr>*/
9307 /* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */
9308 void VIRTUAL_parser_prod__ANotExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9309 parser_prod__ANotExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ANotExpr#replace_child on <self:Object(ANotExpr)>*/
9312 /* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
9313 void parser_prod__ANotExpr__n_kwnot_61d(val
* self
, val
* p0
) {
9314 val
* var_node
/* var node: TKwnot */;
9316 self
->attrs
[COLOR_parser_nodes__ANotExpr___n_kwnot
].val
= var_node
; /* _n_kwnot on <self:ANotExpr> */
9318 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
9319 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:TKwnot> */
9325 /* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */
9326 void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val
* self
, val
* p0
) {
9327 parser_prod__ANotExpr__n_kwnot_61d(self
, p0
); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:Object(ANotExpr)>*/
9330 /* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
9331 void parser_prod__ANotExpr__n_expr_61d(val
* self
, val
* p0
) {
9332 val
* var_node
/* var node: AExpr */;
9334 self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
= var_node
; /* _n_expr on <self:ANotExpr> */
9336 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9337 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9343 /* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */
9344 void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val
* self
, val
* p0
) {
9345 parser_prod__ANotExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#ANotExpr#n_expr= on <self:Object(ANotExpr)>*/
9348 /* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
9349 void parser_prod__ANotExpr__visit_all(val
* self
, val
* p0
) {
9350 val
* var_v
/* var v: Visitor */;
9351 val
* var
/* : TKwnot */;
9352 val
* var1
/* : AExpr */;
9354 var
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_kwnot
].val
; /* _n_kwnot on <self:ANotExpr> */
9355 if (unlikely(var
== NULL
)) {
9356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
9357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4058);
9361 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9363 var1
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
9364 if (unlikely(var1
== NULL
)) {
9365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4059);
9370 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9374 /* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */
9375 void VIRTUAL_parser_prod__ANotExpr__visit_all(val
* self
, val
* p0
) {
9376 parser_prod__ANotExpr__visit_all(self
, p0
); /* Direct call parser_prod#ANotExpr#visit_all on <self:Object(ANotExpr)>*/
9379 /* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
9380 void parser_prod__AEqExpr__init_aeqexpr(val
* self
, val
* p0
, val
* p1
) {
9381 val
* var_n_expr
/* var n_expr: nullable AExpr */;
9382 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
9385 if (unlikely(var_n_expr
== NULL
)) {
9386 PRINT_ERROR("Runtime error: %s", "Cast failed");
9387 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4068);
9390 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:AEqExpr> */
9391 if (var_n_expr
== NULL
) {
9392 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9393 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4069);
9396 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9397 if (unlikely(var_n_expr
== NULL
)) {
9398 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9399 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9402 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
9406 if (unlikely(var_n_expr2
== NULL
)) {
9407 PRINT_ERROR("Runtime error: %s", "Cast failed");
9408 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4070);
9411 self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:AEqExpr> */
9412 if (var_n_expr2
== NULL
) {
9413 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4071);
9417 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
9418 if (unlikely(var_n_expr2
== NULL
)) {
9419 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9423 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
9429 /* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */
9430 void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val
* self
, val
* p0
, val
* p1
) {
9431 parser_prod__AEqExpr__init_aeqexpr(self
, p0
, p1
); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <self:Object(AEqExpr)>*/
9434 /* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
9435 void parser_prod__AEqExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9436 val
* var_old_child
/* var old_child: ANode */;
9437 val
* var_new_child
/* var new_child: nullable ANode */;
9438 val
* var
/* : AExpr */;
9439 short int var1
/* : Bool */;
9440 short int var2
/* : Bool */;
9441 val
* var_other
/* var other: nullable Object */;
9442 short int var4
/* : Bool */;
9443 short int var6
/* : Bool */;
9444 short int var7
/* : Bool */;
9447 const char* var_class_name
;
9448 val
* var8
/* : AExpr */;
9449 short int var9
/* : Bool */;
9450 short int var10
/* : Bool */;
9451 short int var12
/* : Bool */;
9452 short int var14
/* : Bool */;
9453 short int var15
/* : Bool */;
9456 const char* var_class_name18
;
9459 var
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:AEqExpr> */
9460 if (unlikely(var
== NULL
)) {
9461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9462 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4076);
9466 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
9467 var_other
= var_old_child
;
9469 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
9470 var6
= var
== var_other
;
9483 /* <var_new_child:nullable ANode> isa AExpr */
9484 cltype
= type_parser_nodes__AExpr
.color
;
9485 idtype
= type_parser_nodes__AExpr
.id
;
9486 if(var_new_child
== NULL
) {
9489 if(cltype
>= var_new_child
->type
->table_size
) {
9492 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
9495 if (unlikely(!var7
)) {
9496 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9497 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
9498 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4077);
9502 parser_prod__AEqExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
9507 var8
= self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:AEqExpr> */
9508 if (unlikely(var8
== NULL
)) {
9509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9510 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4080);
9514 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
9515 var_other
= var_old_child
;
9517 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
9518 var14
= var8
== var_other
;
9521 RET_LABEL13
:(void)0;
9526 RET_LABEL11
:(void)0;
9531 /* <var_new_child:nullable ANode> isa AExpr */
9532 cltype16
= type_parser_nodes__AExpr
.color
;
9533 idtype17
= type_parser_nodes__AExpr
.id
;
9534 if(var_new_child
== NULL
) {
9537 if(cltype16
>= var_new_child
->type
->table_size
) {
9540 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
9543 if (unlikely(!var15
)) {
9544 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9545 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
9546 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4081);
9550 parser_prod__AEqExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:AEqExpr>*/
9557 /* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */
9558 void VIRTUAL_parser_prod__AEqExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9559 parser_prod__AEqExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#AEqExpr#replace_child on <self:Object(AEqExpr)>*/
9562 /* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
9563 void parser_prod__AEqExpr__n_expr_61d(val
* self
, val
* p0
) {
9564 val
* var_node
/* var node: AExpr */;
9566 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_node
; /* _n_expr on <self:AEqExpr> */
9568 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9569 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9575 /* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */
9576 void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val
* self
, val
* p0
) {
9577 parser_prod__AEqExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#AEqExpr#n_expr= on <self:Object(AEqExpr)>*/
9580 /* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
9581 void parser_prod__AEqExpr__n_expr2_61d(val
* self
, val
* p0
) {
9582 val
* var_node
/* var node: AExpr */;
9584 self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:AEqExpr> */
9586 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9587 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9593 /* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */
9594 void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val
* self
, val
* p0
) {
9595 parser_prod__AEqExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:Object(AEqExpr)>*/
9598 /* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
9599 void parser_prod__AEqExpr__visit_all(val
* self
, val
* p0
) {
9600 val
* var_v
/* var v: Visitor */;
9601 val
* var
/* : AExpr */;
9602 val
* var1
/* : AExpr */;
9604 var
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:AEqExpr> */
9605 if (unlikely(var
== NULL
)) {
9606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9607 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4100);
9611 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9613 var1
= self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:AEqExpr> */
9614 if (unlikely(var1
== NULL
)) {
9615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9616 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4101);
9620 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9624 /* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */
9625 void VIRTUAL_parser_prod__AEqExpr__visit_all(val
* self
, val
* p0
) {
9626 parser_prod__AEqExpr__visit_all(self
, p0
); /* Direct call parser_prod#AEqExpr#visit_all on <self:Object(AEqExpr)>*/
9629 /* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
9630 void parser_prod__ANeExpr__init_aneexpr(val
* self
, val
* p0
, val
* p1
) {
9631 val
* var_n_expr
/* var n_expr: nullable AExpr */;
9632 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
9635 if (unlikely(var_n_expr
== NULL
)) {
9636 PRINT_ERROR("Runtime error: %s", "Cast failed");
9637 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4110);
9640 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:ANeExpr> */
9641 if (var_n_expr
== NULL
) {
9642 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9643 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4111);
9646 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9647 if (unlikely(var_n_expr
== NULL
)) {
9648 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9649 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9652 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
9656 if (unlikely(var_n_expr2
== NULL
)) {
9657 PRINT_ERROR("Runtime error: %s", "Cast failed");
9658 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4112);
9661 self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:ANeExpr> */
9662 if (var_n_expr2
== NULL
) {
9663 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9664 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4113);
9667 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
9668 if (unlikely(var_n_expr2
== NULL
)) {
9669 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9670 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9673 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
9679 /* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */
9680 void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val
* self
, val
* p0
, val
* p1
) {
9681 parser_prod__ANeExpr__init_aneexpr(self
, p0
, p1
); /* Direct call parser_prod#ANeExpr#init_aneexpr on <self:Object(ANeExpr)>*/
9684 /* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
9685 void parser_prod__ANeExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9686 val
* var_old_child
/* var old_child: ANode */;
9687 val
* var_new_child
/* var new_child: nullable ANode */;
9688 val
* var
/* : AExpr */;
9689 short int var1
/* : Bool */;
9690 short int var2
/* : Bool */;
9691 val
* var_other
/* var other: nullable Object */;
9692 short int var4
/* : Bool */;
9693 short int var6
/* : Bool */;
9694 short int var7
/* : Bool */;
9697 const char* var_class_name
;
9698 val
* var8
/* : AExpr */;
9699 short int var9
/* : Bool */;
9700 short int var10
/* : Bool */;
9701 short int var12
/* : Bool */;
9702 short int var14
/* : Bool */;
9703 short int var15
/* : Bool */;
9706 const char* var_class_name18
;
9709 var
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ANeExpr> */
9710 if (unlikely(var
== NULL
)) {
9711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9712 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4118);
9716 { /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
9717 var_other
= var_old_child
;
9719 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
9720 var6
= var
== var_other
;
9733 /* <var_new_child:nullable ANode> isa AExpr */
9734 cltype
= type_parser_nodes__AExpr
.color
;
9735 idtype
= type_parser_nodes__AExpr
.id
;
9736 if(var_new_child
== NULL
) {
9739 if(cltype
>= var_new_child
->type
->table_size
) {
9742 var7
= var_new_child
->type
->type_table
[cltype
] == idtype
;
9745 if (unlikely(!var7
)) {
9746 var_class_name
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9747 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name
);
9748 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4119);
9752 parser_prod__ANeExpr__n_expr_61d(self
, var_new_child
); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
9757 var8
= self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:ANeExpr> */
9758 if (unlikely(var8
== NULL
)) {
9759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9760 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4122);
9764 { /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
9765 var_other
= var_old_child
;
9767 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
9768 var14
= var8
== var_other
;
9771 RET_LABEL13
:(void)0;
9776 RET_LABEL11
:(void)0;
9781 /* <var_new_child:nullable ANode> isa AExpr */
9782 cltype16
= type_parser_nodes__AExpr
.color
;
9783 idtype17
= type_parser_nodes__AExpr
.id
;
9784 if(var_new_child
== NULL
) {
9787 if(cltype16
>= var_new_child
->type
->table_size
) {
9790 var15
= var_new_child
->type
->type_table
[cltype16
] == idtype17
;
9793 if (unlikely(!var15
)) {
9794 var_class_name18
= var_new_child
== NULL ?
"null" : var_new_child
->type
->name
;
9795 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18
);
9796 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4123);
9800 parser_prod__ANeExpr__n_expr2_61d(self
, var_new_child
); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:ANeExpr>*/
9807 /* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */
9808 void VIRTUAL_parser_prod__ANeExpr__replace_child(val
* self
, val
* p0
, val
* p1
) {
9809 parser_prod__ANeExpr__replace_child(self
, p0
, p1
); /* Direct call parser_prod#ANeExpr#replace_child on <self:Object(ANeExpr)>*/
9812 /* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
9813 void parser_prod__ANeExpr__n_expr_61d(val
* self
, val
* p0
) {
9814 val
* var_node
/* var node: AExpr */;
9816 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_node
; /* _n_expr on <self:ANeExpr> */
9818 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9819 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9825 /* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */
9826 void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val
* self
, val
* p0
) {
9827 parser_prod__ANeExpr__n_expr_61d(self
, p0
); /* Direct call parser_prod#ANeExpr#n_expr= on <self:Object(ANeExpr)>*/
9830 /* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
9831 void parser_prod__ANeExpr__n_expr2_61d(val
* self
, val
* p0
) {
9832 val
* var_node
/* var node: AExpr */;
9834 self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
= var_node
; /* _n_expr2 on <self:ANeExpr> */
9836 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
9837 var_node
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_node:AExpr> */
9843 /* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */
9844 void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val
* self
, val
* p0
) {
9845 parser_prod__ANeExpr__n_expr2_61d(self
, p0
); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:Object(ANeExpr)>*/
9848 /* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
9849 void parser_prod__ANeExpr__visit_all(val
* self
, val
* p0
) {
9850 val
* var_v
/* var v: Visitor */;
9851 val
* var
/* : AExpr */;
9852 val
* var1
/* : AExpr */;
9854 var
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ANeExpr> */
9855 if (unlikely(var
== NULL
)) {
9856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
9857 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4142);
9861 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9863 var1
= self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
; /* _n_expr2 on <self:ANeExpr> */
9864 if (unlikely(var1
== NULL
)) {
9865 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
9866 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4143);
9870 parser_nodes__Visitor__enter_visit(var_v
, var1
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
9874 /* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */
9875 void VIRTUAL_parser_prod__ANeExpr__visit_all(val
* self
, val
* p0
) {
9876 parser_prod__ANeExpr__visit_all(self
, p0
); /* Direct call parser_prod#ANeExpr#visit_all on <self:Object(ANeExpr)>*/
9879 /* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
9880 void parser_prod__ALtExpr__init_altexpr(val
* self
, val
* p0
, val
* p1
) {
9881 val
* var_n_expr
/* var n_expr: nullable AExpr */;
9882 val
* var_n_expr2
/* var n_expr2: nullable AExpr */;
9885 if (unlikely(var_n_expr
== NULL
)) {
9886 PRINT_ERROR("Runtime error: %s", "Cast failed");
9887 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4152);
9890 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_n_expr
; /* _n_expr on <self:ALtExpr> */
9891 if (var_n_expr
== NULL
) {
9892 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9893 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4153);
9896 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
9897 if (unlikely(var_n_expr
== NULL
)) {
9898 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9899 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9902 var_n_expr
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr:nullable AExpr> */
9906 if (unlikely(var_n_expr2
== NULL
)) {
9907 PRINT_ERROR("Runtime error: %s", "Cast failed");
9908 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4154);
9911 self
->attrs
[COLOR_parser_nodes__ABinopExpr___n_expr2
].val
= var_n_expr2
; /* _n_expr2 on <self:ALtExpr> */
9912 if (var_n_expr2
== NULL
) {
9913 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9914 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4155);
9917 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
9918 if (unlikely(var_n_expr2
== NULL
)) {
9919 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9920 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
9923 var_n_expr2
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_n_expr2:nullable AExpr> */
9929 /* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */
9930 void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val
* self
, val
* p0
, val
* p1
) {
9931 parser_prod__ALtExpr__init_altexpr(self
, p0
, p1
); /* Direct call parser_prod#ALtExpr#init_altexpr on <self:Object(ALtExpr)>*/