1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
3 void parser__ReduceAction250__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
11 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
12 short int var3
/* : Bool */;
15 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
16 short int var4
/* : Bool */;
19 val
* var7
/* : ADoExpr */;
20 val
* var8
/* : null */;
21 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
22 long var9
/* : Int */;
23 long var10
/* : Int */;
28 var1
= parser_work__Parser__pop(var_p
);
30 var_nodearraylist2
= var1
;
32 var2
= parser_work__Parser__pop(var_p
);
34 var_nodearraylist1
= var2
;
35 var_tkwdonode2
= var_nodearraylist1
;
36 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
37 cltype
= type_nullable_parser_nodes__TKwdo
.color
;
38 idtype
= type_nullable_parser_nodes__TKwdo
.id
;
39 if(var_tkwdonode2
== NULL
) {
42 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
45 var3
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
48 if (unlikely(!var3
)) {
49 PRINT_ERROR("Runtime error: %s", "Assert failed");
50 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7159);
53 var_pexprnode3
= var_nodearraylist2
;
54 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
55 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
56 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
57 if(var_pexprnode3
== NULL
) {
60 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
63 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
66 if (unlikely(!var4
)) {
67 PRINT_ERROR("Runtime error: %s", "Assert failed");
68 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7161);
71 var7
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
74 parser_prod__ADoExpr__init_adoexpr(var7
, var_tkwdonode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var7:ADoExpr>*/
76 var_pexprnode1
= var7
;
77 var_node_list
= var_pexprnode1
;
78 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction250> */
80 var10
= parser_work__Parser__go_to(var_p
, var9
);
83 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
87 /* method parser#ReduceAction250#action for (self: Object, Parser) */
88 void VIRTUAL_parser__ReduceAction250__action(val
* self
, val
* p0
) {
89 parser__ReduceAction250__action(self
, p0
); /* Direct call parser#ReduceAction250#action on <self:Object(ReduceAction250)>*/
92 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
93 void parser__ReduceAction251__action(val
* self
, val
* p0
) {
94 val
* var_p
/* var p: Parser */;
95 val
* var
/* : null */;
96 val
* var_node_list
/* var node_list: nullable Object */;
97 val
* var1
/* : nullable Object */;
98 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
99 val
* var2
/* : nullable Object */;
100 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
101 val
* var3
/* : nullable Object */;
102 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
103 val
* var4
/* : nullable Object */;
104 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
105 val
* var5
/* : nullable Object */;
106 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
107 val
* var6
/* : nullable Object */;
108 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
109 val
* var7
/* : nullable Object */;
110 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
111 val
* var8
/* : nullable Object */;
112 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
113 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
114 short int var9
/* : Bool */;
117 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
118 short int var10
/* : Bool */;
121 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
122 short int var13
/* : Bool */;
125 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
126 short int var16
/* : Bool */;
129 val
* var19
/* : AIfExpr */;
130 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
131 long var20
/* : Int */;
132 long var21
/* : Int */;
137 var1
= parser_work__Parser__pop(var_p
);
139 var_nodearraylist8
= var1
;
141 var2
= parser_work__Parser__pop(var_p
);
143 var_nodearraylist7
= var2
;
145 var3
= parser_work__Parser__pop(var_p
);
147 var_nodearraylist6
= var3
;
149 var4
= parser_work__Parser__pop(var_p
);
151 var_nodearraylist5
= var4
;
153 var5
= parser_work__Parser__pop(var_p
);
155 var_nodearraylist4
= var5
;
157 var6
= parser_work__Parser__pop(var_p
);
159 var_nodearraylist3
= var6
;
161 var7
= parser_work__Parser__pop(var_p
);
163 var_nodearraylist2
= var7
;
165 var8
= parser_work__Parser__pop(var_p
);
167 var_nodearraylist1
= var8
;
168 var_tkwifnode2
= var_nodearraylist1
;
169 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
170 cltype
= type_nullable_parser_nodes__TKwif
.color
;
171 idtype
= type_nullable_parser_nodes__TKwif
.id
;
172 if(var_tkwifnode2
== NULL
) {
175 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
178 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
181 if (unlikely(!var9
)) {
182 PRINT_ERROR("Runtime error: %s", "Assert failed");
183 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7185);
186 var_pexprnode3
= var_nodearraylist3
;
187 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
188 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
189 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
190 if(var_pexprnode3
== NULL
) {
193 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
196 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
199 if (unlikely(!var10
)) {
200 PRINT_ERROR("Runtime error: %s", "Assert failed");
201 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7187);
204 var_pexprnode4
= var_nodearraylist6
;
205 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
206 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
207 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
208 if(var_pexprnode4
== NULL
) {
211 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
214 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
217 if (unlikely(!var13
)) {
218 PRINT_ERROR("Runtime error: %s", "Assert failed");
219 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7189);
222 var_pexprnode5
= var_nodearraylist8
;
223 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
224 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
225 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
226 if(var_pexprnode5
== NULL
) {
229 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
232 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
235 if (unlikely(!var16
)) {
236 PRINT_ERROR("Runtime error: %s", "Assert failed");
237 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7191);
240 var19
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
242 parser_prod__AIfExpr__init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
244 var_pexprnode1
= var19
;
245 var_node_list
= var_pexprnode1
;
246 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction251> */
248 var21
= parser_work__Parser__go_to(var_p
, var20
);
251 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
255 /* method parser#ReduceAction251#action for (self: Object, Parser) */
256 void VIRTUAL_parser__ReduceAction251__action(val
* self
, val
* p0
) {
257 parser__ReduceAction251__action(self
, p0
); /* Direct call parser#ReduceAction251#action on <self:Object(ReduceAction251)>*/
260 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
261 void parser__ReduceAction252__action(val
* self
, val
* p0
) {
262 val
* var_p
/* var p: Parser */;
263 val
* var
/* : null */;
264 val
* var_node_list
/* var node_list: nullable Object */;
265 val
* var1
/* : nullable Object */;
266 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
267 val
* var2
/* : nullable Object */;
268 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
269 val
* var3
/* : nullable Object */;
270 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
271 val
* var4
/* : nullable Object */;
272 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
273 val
* var5
/* : nullable Object */;
274 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
275 val
* var6
/* : nullable Object */;
276 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
277 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
278 short int var7
/* : Bool */;
281 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
282 short int var8
/* : Bool */;
285 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
286 short int var11
/* : Bool */;
289 val
* var14
/* : AIfExpr */;
290 val
* var15
/* : null */;
291 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
292 long var16
/* : Int */;
293 long var17
/* : Int */;
298 var1
= parser_work__Parser__pop(var_p
);
300 var_nodearraylist6
= var1
;
302 var2
= parser_work__Parser__pop(var_p
);
304 var_nodearraylist5
= var2
;
306 var3
= parser_work__Parser__pop(var_p
);
308 var_nodearraylist4
= var3
;
310 var4
= parser_work__Parser__pop(var_p
);
312 var_nodearraylist3
= var4
;
314 var5
= parser_work__Parser__pop(var_p
);
316 var_nodearraylist2
= var5
;
318 var6
= parser_work__Parser__pop(var_p
);
320 var_nodearraylist1
= var6
;
321 var_tkwifnode2
= var_nodearraylist1
;
322 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
323 cltype
= type_nullable_parser_nodes__TKwif
.color
;
324 idtype
= type_nullable_parser_nodes__TKwif
.id
;
325 if(var_tkwifnode2
== NULL
) {
328 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
331 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
334 if (unlikely(!var7
)) {
335 PRINT_ERROR("Runtime error: %s", "Assert failed");
336 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7214);
339 var_pexprnode3
= var_nodearraylist3
;
340 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
341 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
342 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
343 if(var_pexprnode3
== NULL
) {
346 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
349 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
352 if (unlikely(!var8
)) {
353 PRINT_ERROR("Runtime error: %s", "Assert failed");
354 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7216);
357 var_pexprnode4
= var_nodearraylist6
;
358 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
359 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
360 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
361 if(var_pexprnode4
== NULL
) {
364 if(cltype12
>= var_pexprnode4
->type
->table_size
) {
367 var11
= var_pexprnode4
->type
->type_table
[cltype12
] == idtype13
;
370 if (unlikely(!var11
)) {
371 PRINT_ERROR("Runtime error: %s", "Assert failed");
372 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7218);
375 var14
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
378 parser_prod__AIfExpr__init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var15
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
380 var_pexprnode1
= var14
;
381 var_node_list
= var_pexprnode1
;
382 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction252> */
384 var17
= parser_work__Parser__go_to(var_p
, var16
);
387 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
391 /* method parser#ReduceAction252#action for (self: Object, Parser) */
392 void VIRTUAL_parser__ReduceAction252__action(val
* self
, val
* p0
) {
393 parser__ReduceAction252__action(self
, p0
); /* Direct call parser#ReduceAction252#action on <self:Object(ReduceAction252)>*/
396 /* method parser#ReduceAction253#action for (self: ReduceAction253, Parser) */
397 void parser__ReduceAction253__action(val
* self
, val
* p0
) {
398 val
* var_p
/* var p: Parser */;
399 val
* var
/* : null */;
400 val
* var_node_list
/* var node_list: nullable Object */;
401 val
* var1
/* : nullable Object */;
402 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
403 val
* var2
/* : nullable Object */;
404 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
405 val
* var3
/* : nullable Object */;
406 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
407 val
* var4
/* : nullable Object */;
408 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
409 val
* var5
/* : nullable Object */;
410 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
411 val
* var6
/* : nullable Object */;
412 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
413 val
* var7
/* : nullable Object */;
414 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
415 val
* var8
/* : nullable Object */;
416 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
417 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
418 short int var9
/* : Bool */;
421 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
422 short int var10
/* : Bool */;
425 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
426 short int var13
/* : Bool */;
429 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
430 short int var16
/* : Bool */;
433 val
* var19
/* : AIfExpr */;
434 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
435 long var20
/* : Int */;
436 long var21
/* : Int */;
441 var1
= parser_work__Parser__pop(var_p
);
443 var_nodearraylist8
= var1
;
445 var2
= parser_work__Parser__pop(var_p
);
447 var_nodearraylist7
= var2
;
449 var3
= parser_work__Parser__pop(var_p
);
451 var_nodearraylist6
= var3
;
453 var4
= parser_work__Parser__pop(var_p
);
455 var_nodearraylist5
= var4
;
457 var5
= parser_work__Parser__pop(var_p
);
459 var_nodearraylist4
= var5
;
461 var6
= parser_work__Parser__pop(var_p
);
463 var_nodearraylist3
= var6
;
465 var7
= parser_work__Parser__pop(var_p
);
467 var_nodearraylist2
= var7
;
469 var8
= parser_work__Parser__pop(var_p
);
471 var_nodearraylist1
= var8
;
472 var_tkwifnode2
= var_nodearraylist1
;
473 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
474 cltype
= type_nullable_parser_nodes__TKwif
.color
;
475 idtype
= type_nullable_parser_nodes__TKwif
.id
;
476 if(var_tkwifnode2
== NULL
) {
479 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
482 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
485 if (unlikely(!var9
)) {
486 PRINT_ERROR("Runtime error: %s", "Assert failed");
487 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7243);
490 var_pexprnode3
= var_nodearraylist3
;
491 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
492 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
493 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
494 if(var_pexprnode3
== NULL
) {
497 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
500 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
503 if (unlikely(!var10
)) {
504 PRINT_ERROR("Runtime error: %s", "Assert failed");
505 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7245);
508 var_pexprnode4
= var_nodearraylist7
;
509 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
510 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
511 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
512 if(var_pexprnode4
== NULL
) {
515 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
518 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
521 if (unlikely(!var13
)) {
522 PRINT_ERROR("Runtime error: %s", "Assert failed");
523 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7247);
526 var_pexprnode5
= var_nodearraylist8
;
527 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
528 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
529 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
530 if(var_pexprnode5
== NULL
) {
533 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
536 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
539 if (unlikely(!var16
)) {
540 PRINT_ERROR("Runtime error: %s", "Assert failed");
541 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7249);
544 var19
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
546 parser_prod__AIfExpr__init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
548 var_pexprnode1
= var19
;
549 var_node_list
= var_pexprnode1
;
550 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction253> */
552 var21
= parser_work__Parser__go_to(var_p
, var20
);
555 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
559 /* method parser#ReduceAction253#action for (self: Object, Parser) */
560 void VIRTUAL_parser__ReduceAction253__action(val
* self
, val
* p0
) {
561 parser__ReduceAction253__action(self
, p0
); /* Direct call parser#ReduceAction253#action on <self:Object(ReduceAction253)>*/
564 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
565 void parser__ReduceAction254__action(val
* self
, val
* p0
) {
566 val
* var_p
/* var p: Parser */;
567 val
* var
/* : null */;
568 val
* var_node_list
/* var node_list: nullable Object */;
569 val
* var1
/* : nullable Object */;
570 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
571 val
* var2
/* : nullable Object */;
572 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
573 val
* var3
/* : nullable Object */;
574 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
575 val
* var4
/* : nullable Object */;
576 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
577 val
* var5
/* : nullable Object */;
578 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
579 val
* var6
/* : nullable Object */;
580 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
581 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
582 short int var7
/* : Bool */;
585 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
586 short int var8
/* : Bool */;
589 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
590 short int var11
/* : Bool */;
593 val
* var14
/* : AIfExpr */;
594 val
* var15
/* : null */;
595 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
596 long var16
/* : Int */;
597 long var17
/* : Int */;
602 var1
= parser_work__Parser__pop(var_p
);
604 var_nodearraylist6
= var1
;
606 var2
= parser_work__Parser__pop(var_p
);
608 var_nodearraylist5
= var2
;
610 var3
= parser_work__Parser__pop(var_p
);
612 var_nodearraylist4
= var3
;
614 var4
= parser_work__Parser__pop(var_p
);
616 var_nodearraylist3
= var4
;
618 var5
= parser_work__Parser__pop(var_p
);
620 var_nodearraylist2
= var5
;
622 var6
= parser_work__Parser__pop(var_p
);
624 var_nodearraylist1
= var6
;
625 var_tkwifnode2
= var_nodearraylist1
;
626 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
627 cltype
= type_nullable_parser_nodes__TKwif
.color
;
628 idtype
= type_nullable_parser_nodes__TKwif
.id
;
629 if(var_tkwifnode2
== NULL
) {
632 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
635 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
638 if (unlikely(!var7
)) {
639 PRINT_ERROR("Runtime error: %s", "Assert failed");
640 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7272);
643 var_pexprnode3
= var_nodearraylist3
;
644 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
645 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
646 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
647 if(var_pexprnode3
== NULL
) {
650 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
653 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
656 if (unlikely(!var8
)) {
657 PRINT_ERROR("Runtime error: %s", "Assert failed");
658 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7274);
661 var_pexprnode5
= var_nodearraylist6
;
662 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
663 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
664 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
665 if(var_pexprnode5
== NULL
) {
668 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
671 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
674 if (unlikely(!var11
)) {
675 PRINT_ERROR("Runtime error: %s", "Assert failed");
676 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7276);
679 var14
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
682 parser_prod__AIfExpr__init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var15
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
684 var_pexprnode1
= var14
;
685 var_node_list
= var_pexprnode1
;
686 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction254> */
688 var17
= parser_work__Parser__go_to(var_p
, var16
);
691 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
695 /* method parser#ReduceAction254#action for (self: Object, Parser) */
696 void VIRTUAL_parser__ReduceAction254__action(val
* self
, val
* p0
) {
697 parser__ReduceAction254__action(self
, p0
); /* Direct call parser#ReduceAction254#action on <self:Object(ReduceAction254)>*/
700 /* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */
701 void parser__ReduceAction255__action(val
* self
, val
* p0
) {
702 val
* var_p
/* var p: Parser */;
703 val
* var
/* : null */;
704 val
* var_node_list
/* var node_list: nullable Object */;
705 val
* var1
/* : nullable Object */;
706 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
707 val
* var2
/* : nullable Object */;
708 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
709 val
* var3
/* : nullable Object */;
710 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
711 val
* var4
/* : nullable Object */;
712 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
713 val
* var5
/* : nullable Object */;
714 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
715 val
* var6
/* : nullable Object */;
716 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
717 val
* var7
/* : nullable Object */;
718 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
719 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
720 short int var8
/* : Bool */;
723 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
724 short int var9
/* : Bool */;
727 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
728 short int var12
/* : Bool */;
731 val
* var15
/* : AIfExpr */;
732 val
* var16
/* : null */;
733 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
734 long var17
/* : Int */;
735 long var18
/* : Int */;
740 var1
= parser_work__Parser__pop(var_p
);
742 var_nodearraylist7
= var1
;
744 var2
= parser_work__Parser__pop(var_p
);
746 var_nodearraylist6
= var2
;
748 var3
= parser_work__Parser__pop(var_p
);
750 var_nodearraylist5
= var3
;
752 var4
= parser_work__Parser__pop(var_p
);
754 var_nodearraylist4
= var4
;
756 var5
= parser_work__Parser__pop(var_p
);
758 var_nodearraylist3
= var5
;
760 var6
= parser_work__Parser__pop(var_p
);
762 var_nodearraylist2
= var6
;
764 var7
= parser_work__Parser__pop(var_p
);
766 var_nodearraylist1
= var7
;
767 var_tkwifnode2
= var_nodearraylist1
;
768 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
769 cltype
= type_nullable_parser_nodes__TKwif
.color
;
770 idtype
= type_nullable_parser_nodes__TKwif
.id
;
771 if(var_tkwifnode2
== NULL
) {
774 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
777 var8
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
780 if (unlikely(!var8
)) {
781 PRINT_ERROR("Runtime error: %s", "Assert failed");
782 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7300);
785 var_pexprnode3
= var_nodearraylist3
;
786 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
787 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
788 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
789 if(var_pexprnode3
== NULL
) {
792 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
795 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
798 if (unlikely(!var9
)) {
799 PRINT_ERROR("Runtime error: %s", "Assert failed");
800 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7302);
803 var_pexprnode5
= var_nodearraylist7
;
804 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
805 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
806 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
807 if(var_pexprnode5
== NULL
) {
810 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
813 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
816 if (unlikely(!var12
)) {
817 PRINT_ERROR("Runtime error: %s", "Assert failed");
818 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7304);
821 var15
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
824 parser_prod__AIfExpr__init_aifexpr(var15
, var_tkwifnode2
, var_pexprnode3
, var16
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var15:AIfExpr>*/
826 var_pexprnode1
= var15
;
827 var_node_list
= var_pexprnode1
;
828 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction255> */
830 var18
= parser_work__Parser__go_to(var_p
, var17
);
833 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
837 /* method parser#ReduceAction255#action for (self: Object, Parser) */
838 void VIRTUAL_parser__ReduceAction255__action(val
* self
, val
* p0
) {
839 parser__ReduceAction255__action(self
, p0
); /* Direct call parser#ReduceAction255#action on <self:Object(ReduceAction255)>*/
842 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
843 void parser__ReduceAction258__action(val
* self
, val
* p0
) {
844 val
* var_p
/* var p: Parser */;
845 val
* var
/* : null */;
846 val
* var_node_list
/* var node_list: nullable Object */;
847 val
* var1
/* : nullable Object */;
848 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
849 val
* var2
/* : nullable Object */;
850 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
851 val
* var3
/* : nullable Object */;
852 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
853 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
854 short int var4
/* : Bool */;
857 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
858 short int var5
/* : Bool */;
861 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
862 short int var8
/* : Bool */;
865 val
* var11
/* : ALoopExpr */;
866 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
867 long var12
/* : Int */;
868 long var13
/* : Int */;
873 var1
= parser_work__Parser__pop(var_p
);
875 var_nodearraylist3
= var1
;
877 var2
= parser_work__Parser__pop(var_p
);
879 var_nodearraylist2
= var2
;
881 var3
= parser_work__Parser__pop(var_p
);
883 var_nodearraylist1
= var3
;
884 var_tkwloopnode2
= var_nodearraylist1
;
885 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
886 cltype
= type_nullable_parser_nodes__TKwloop
.color
;
887 idtype
= type_nullable_parser_nodes__TKwloop
.id
;
888 if(var_tkwloopnode2
== NULL
) {
891 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
894 var4
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
897 if (unlikely(!var4
)) {
898 PRINT_ERROR("Runtime error: %s", "Assert failed");
899 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7324);
902 var_pexprnode3
= var_nodearraylist2
;
903 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
904 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
905 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
906 if(var_pexprnode3
== NULL
) {
909 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
912 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
915 if (unlikely(!var5
)) {
916 PRINT_ERROR("Runtime error: %s", "Assert failed");
917 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7326);
920 var_plabelnode4
= var_nodearraylist3
;
921 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
922 cltype9
= type_nullable_parser_nodes__ALabel
.color
;
923 idtype10
= type_nullable_parser_nodes__ALabel
.id
;
924 if(var_plabelnode4
== NULL
) {
927 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
930 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
933 if (unlikely(!var8
)) {
934 PRINT_ERROR("Runtime error: %s", "Assert failed");
935 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7328);
938 var11
= NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr
);
940 parser_prod__ALoopExpr__init_aloopexpr(var11
, var_tkwloopnode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var11:ALoopExpr>*/
942 var_pexprnode1
= var11
;
943 var_node_list
= var_pexprnode1
;
944 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction258> */
946 var13
= parser_work__Parser__go_to(var_p
, var12
);
949 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
953 /* method parser#ReduceAction258#action for (self: Object, Parser) */
954 void VIRTUAL_parser__ReduceAction258__action(val
* self
, val
* p0
) {
955 parser__ReduceAction258__action(self
, p0
); /* Direct call parser#ReduceAction258#action on <self:Object(ReduceAction258)>*/
958 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
959 void parser__ReduceAction259__action(val
* self
, val
* p0
) {
960 val
* var_p
/* var p: Parser */;
961 val
* var
/* : null */;
962 val
* var_node_list
/* var node_list: nullable Object */;
963 val
* var1
/* : nullable Object */;
964 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
965 val
* var2
/* : nullable Object */;
966 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
967 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
968 short int var3
/* : Bool */;
971 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
972 short int var4
/* : Bool */;
975 val
* var7
/* : ALoopExpr */;
976 val
* var8
/* : null */;
977 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
978 long var9
/* : Int */;
979 long var10
/* : Int */;
984 var1
= parser_work__Parser__pop(var_p
);
986 var_nodearraylist2
= var1
;
988 var2
= parser_work__Parser__pop(var_p
);
990 var_nodearraylist1
= var2
;
991 var_tkwloopnode2
= var_nodearraylist1
;
992 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
993 cltype
= type_nullable_parser_nodes__TKwloop
.color
;
994 idtype
= type_nullable_parser_nodes__TKwloop
.id
;
995 if(var_tkwloopnode2
== NULL
) {
998 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
1001 var3
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
1004 if (unlikely(!var3
)) {
1005 PRINT_ERROR("Runtime error: %s", "Assert failed");
1006 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7346);
1009 var_pexprnode3
= var_nodearraylist2
;
1010 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1011 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
1012 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
1013 if(var_pexprnode3
== NULL
) {
1016 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
1019 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
1022 if (unlikely(!var4
)) {
1023 PRINT_ERROR("Runtime error: %s", "Assert failed");
1024 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7348);
1027 var7
= NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr
);
1030 parser_prod__ALoopExpr__init_aloopexpr(var7
, var_tkwloopnode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var7:ALoopExpr>*/
1032 var_pexprnode1
= var7
;
1033 var_node_list
= var_pexprnode1
;
1034 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction259> */
1036 var10
= parser_work__Parser__go_to(var_p
, var9
);
1039 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1043 /* method parser#ReduceAction259#action for (self: Object, Parser) */
1044 void VIRTUAL_parser__ReduceAction259__action(val
* self
, val
* p0
) {
1045 parser__ReduceAction259__action(self
, p0
); /* Direct call parser#ReduceAction259#action on <self:Object(ReduceAction259)>*/
1048 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
1049 void parser__ReduceAction260__action(val
* self
, val
* p0
) {
1050 val
* var_p
/* var p: Parser */;
1051 val
* var
/* : null */;
1052 val
* var_node_list
/* var node_list: nullable Object */;
1053 val
* var1
/* : nullable Object */;
1054 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1055 val
* var2
/* : nullable Object */;
1056 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1057 val
* var3
/* : nullable Object */;
1058 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1059 val
* var4
/* : nullable Object */;
1060 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1061 val
* var5
/* : nullable Object */;
1062 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1063 val
* var6
/* : nullable Object */;
1064 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1065 val
* var7
/* : nullable Object */;
1066 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1067 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
1068 short int var8
/* : Bool */;
1071 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1072 short int var9
/* : Bool */;
1075 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
1076 short int var12
/* : Bool */;
1079 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1080 short int var15
/* : Bool */;
1083 val
* var_plabelnode6
/* var plabelnode6: nullable Object */;
1084 short int var18
/* : Bool */;
1087 val
* var21
/* : AWhileExpr */;
1088 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
1089 long var22
/* : Int */;
1090 long var23
/* : Int */;
1093 var_node_list
= var
;
1095 var1
= parser_work__Parser__pop(var_p
);
1097 var_nodearraylist7
= var1
;
1099 var2
= parser_work__Parser__pop(var_p
);
1101 var_nodearraylist6
= var2
;
1103 var3
= parser_work__Parser__pop(var_p
);
1105 var_nodearraylist5
= var3
;
1107 var4
= parser_work__Parser__pop(var_p
);
1109 var_nodearraylist4
= var4
;
1111 var5
= parser_work__Parser__pop(var_p
);
1113 var_nodearraylist3
= var5
;
1115 var6
= parser_work__Parser__pop(var_p
);
1117 var_nodearraylist2
= var6
;
1119 var7
= parser_work__Parser__pop(var_p
);
1121 var_nodearraylist1
= var7
;
1122 var_tkwwhilenode2
= var_nodearraylist1
;
1123 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
1124 cltype
= type_nullable_parser_nodes__TKwwhile
.color
;
1125 idtype
= type_nullable_parser_nodes__TKwwhile
.id
;
1126 if(var_tkwwhilenode2
== NULL
) {
1129 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
1132 var8
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
1135 if (unlikely(!var8
)) {
1136 PRINT_ERROR("Runtime error: %s", "Assert failed");
1137 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7371);
1140 var_pexprnode3
= var_nodearraylist3
;
1141 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1142 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
1143 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
1144 if(var_pexprnode3
== NULL
) {
1147 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
1150 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
1153 if (unlikely(!var9
)) {
1154 PRINT_ERROR("Runtime error: %s", "Assert failed");
1155 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7373);
1158 var_tkwdonode4
= var_nodearraylist5
;
1159 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
1160 cltype13
= type_nullable_parser_nodes__TKwdo
.color
;
1161 idtype14
= type_nullable_parser_nodes__TKwdo
.id
;
1162 if(var_tkwdonode4
== NULL
) {
1165 if(cltype13
>= var_tkwdonode4
->type
->table_size
) {
1168 var12
= var_tkwdonode4
->type
->type_table
[cltype13
] == idtype14
;
1171 if (unlikely(!var12
)) {
1172 PRINT_ERROR("Runtime error: %s", "Assert failed");
1173 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7375);
1176 var_pexprnode5
= var_nodearraylist6
;
1177 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1178 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
1179 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
1180 if(var_pexprnode5
== NULL
) {
1183 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
1186 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
1189 if (unlikely(!var15
)) {
1190 PRINT_ERROR("Runtime error: %s", "Assert failed");
1191 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7377);
1194 var_plabelnode6
= var_nodearraylist7
;
1195 /* <var_plabelnode6:nullable Object> isa nullable ALabel */
1196 cltype19
= type_nullable_parser_nodes__ALabel
.color
;
1197 idtype20
= type_nullable_parser_nodes__ALabel
.id
;
1198 if(var_plabelnode6
== NULL
) {
1201 if(cltype19
>= var_plabelnode6
->type
->table_size
) {
1204 var18
= var_plabelnode6
->type
->type_table
[cltype19
] == idtype20
;
1207 if (unlikely(!var18
)) {
1208 PRINT_ERROR("Runtime error: %s", "Assert failed");
1209 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7379);
1212 var21
= NEW_parser_nodes__AWhileExpr(&type_parser_nodes__AWhileExpr
);
1214 parser_prod__AWhileExpr__init_awhileexpr(var21
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var_plabelnode6
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var21:AWhileExpr>*/
1216 var_pexprnode1
= var21
;
1217 var_node_list
= var_pexprnode1
;
1218 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction260> */
1220 var23
= parser_work__Parser__go_to(var_p
, var22
);
1223 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1227 /* method parser#ReduceAction260#action for (self: Object, Parser) */
1228 void VIRTUAL_parser__ReduceAction260__action(val
* self
, val
* p0
) {
1229 parser__ReduceAction260__action(self
, p0
); /* Direct call parser#ReduceAction260#action on <self:Object(ReduceAction260)>*/
1232 /* method parser#ReduceAction261#action for (self: ReduceAction261, Parser) */
1233 void parser__ReduceAction261__action(val
* self
, val
* p0
) {
1234 val
* var_p
/* var p: Parser */;
1235 val
* var
/* : null */;
1236 val
* var_node_list
/* var node_list: nullable Object */;
1237 val
* var1
/* : nullable Object */;
1238 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1239 val
* var2
/* : nullable Object */;
1240 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1241 val
* var3
/* : nullable Object */;
1242 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1243 val
* var4
/* : nullable Object */;
1244 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1245 val
* var5
/* : nullable Object */;
1246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1247 val
* var6
/* : nullable Object */;
1248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1249 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
1250 short int var7
/* : Bool */;
1253 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1254 short int var8
/* : Bool */;
1257 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
1258 short int var11
/* : Bool */;
1261 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1262 short int var14
/* : Bool */;
1265 val
* var17
/* : AWhileExpr */;
1266 val
* var18
/* : null */;
1267 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
1268 long var19
/* : Int */;
1269 long var20
/* : Int */;
1272 var_node_list
= var
;
1274 var1
= parser_work__Parser__pop(var_p
);
1276 var_nodearraylist6
= var1
;
1278 var2
= parser_work__Parser__pop(var_p
);
1280 var_nodearraylist5
= var2
;
1282 var3
= parser_work__Parser__pop(var_p
);
1284 var_nodearraylist4
= var3
;
1286 var4
= parser_work__Parser__pop(var_p
);
1288 var_nodearraylist3
= var4
;
1290 var5
= parser_work__Parser__pop(var_p
);
1292 var_nodearraylist2
= var5
;
1294 var6
= parser_work__Parser__pop(var_p
);
1296 var_nodearraylist1
= var6
;
1297 var_tkwwhilenode2
= var_nodearraylist1
;
1298 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
1299 cltype
= type_nullable_parser_nodes__TKwwhile
.color
;
1300 idtype
= type_nullable_parser_nodes__TKwwhile
.id
;
1301 if(var_tkwwhilenode2
== NULL
) {
1304 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
1307 var7
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
1310 if (unlikely(!var7
)) {
1311 PRINT_ERROR("Runtime error: %s", "Assert failed");
1312 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7403);
1315 var_pexprnode3
= var_nodearraylist3
;
1316 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1317 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
1318 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
1319 if(var_pexprnode3
== NULL
) {
1322 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
1325 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
1328 if (unlikely(!var8
)) {
1329 PRINT_ERROR("Runtime error: %s", "Assert failed");
1330 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7405);
1333 var_tkwdonode4
= var_nodearraylist5
;
1334 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
1335 cltype12
= type_nullable_parser_nodes__TKwdo
.color
;
1336 idtype13
= type_nullable_parser_nodes__TKwdo
.id
;
1337 if(var_tkwdonode4
== NULL
) {
1340 if(cltype12
>= var_tkwdonode4
->type
->table_size
) {
1343 var11
= var_tkwdonode4
->type
->type_table
[cltype12
] == idtype13
;
1346 if (unlikely(!var11
)) {
1347 PRINT_ERROR("Runtime error: %s", "Assert failed");
1348 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7407);
1351 var_pexprnode5
= var_nodearraylist6
;
1352 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1353 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
1354 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
1355 if(var_pexprnode5
== NULL
) {
1358 if(cltype15
>= var_pexprnode5
->type
->table_size
) {
1361 var14
= var_pexprnode5
->type
->type_table
[cltype15
] == idtype16
;
1364 if (unlikely(!var14
)) {
1365 PRINT_ERROR("Runtime error: %s", "Assert failed");
1366 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7409);
1369 var17
= NEW_parser_nodes__AWhileExpr(&type_parser_nodes__AWhileExpr
);
1372 parser_prod__AWhileExpr__init_awhileexpr(var17
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var18
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var17:AWhileExpr>*/
1374 var_pexprnode1
= var17
;
1375 var_node_list
= var_pexprnode1
;
1376 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction261> */
1378 var20
= parser_work__Parser__go_to(var_p
, var19
);
1381 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1385 /* method parser#ReduceAction261#action for (self: Object, Parser) */
1386 void VIRTUAL_parser__ReduceAction261__action(val
* self
, val
* p0
) {
1387 parser__ReduceAction261__action(self
, p0
); /* Direct call parser#ReduceAction261#action on <self:Object(ReduceAction261)>*/
1390 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
1391 void parser__ReduceAction262__action(val
* self
, val
* p0
) {
1392 val
* var_p
/* var p: Parser */;
1393 val
* var
/* : null */;
1394 val
* var_node_list
/* var node_list: nullable Object */;
1395 val
* var1
/* : nullable Object */;
1396 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
1397 val
* var2
/* : nullable Object */;
1398 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1399 val
* var3
/* : nullable Object */;
1400 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1401 val
* var4
/* : nullable Object */;
1402 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1403 val
* var5
/* : nullable Object */;
1404 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1405 val
* var6
/* : nullable Object */;
1406 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1407 val
* var7
/* : nullable Object */;
1408 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1409 val
* var8
/* : nullable Object */;
1410 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1411 val
* var9
/* : nullable Object */;
1412 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1413 val
* var10
/* : nullable Object */;
1414 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1415 val
* var11
/* : nullable Object */;
1416 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1417 val
* var12
/* : Array[Object] */;
1418 val
* var_listnode4
/* var listnode4: Array[Object] */;
1419 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
1420 short int var13
/* : Bool */;
1423 val
* var_listnode3
/* var listnode3: nullable Object */;
1424 short int var14
/* : Bool */;
1427 val
* var17
/* : Array[Object] */;
1428 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1429 short int var18
/* : Bool */;
1432 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
1433 short int var21
/* : Bool */;
1436 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
1437 short int var24
/* : Bool */;
1440 val
* var_plabelnode8
/* var plabelnode8: nullable Object */;
1441 short int var27
/* : Bool */;
1444 val
* var30
/* : AForExpr */;
1445 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
1446 long var31
/* : Int */;
1447 long var32
/* : Int */;
1450 var_node_list
= var
;
1452 var1
= parser_work__Parser__pop(var_p
);
1454 var_nodearraylist11
= var1
;
1456 var2
= parser_work__Parser__pop(var_p
);
1458 var_nodearraylist10
= var2
;
1460 var3
= parser_work__Parser__pop(var_p
);
1462 var_nodearraylist9
= var3
;
1464 var4
= parser_work__Parser__pop(var_p
);
1466 var_nodearraylist8
= var4
;
1468 var5
= parser_work__Parser__pop(var_p
);
1470 var_nodearraylist7
= var5
;
1472 var6
= parser_work__Parser__pop(var_p
);
1474 var_nodearraylist6
= var6
;
1476 var7
= parser_work__Parser__pop(var_p
);
1478 var_nodearraylist5
= var7
;
1480 var8
= parser_work__Parser__pop(var_p
);
1482 var_nodearraylist4
= var8
;
1484 var9
= parser_work__Parser__pop(var_p
);
1486 var_nodearraylist3
= var9
;
1488 var10
= parser_work__Parser__pop(var_p
);
1490 var_nodearraylist2
= var10
;
1492 var11
= parser_work__Parser__pop(var_p
);
1494 var_nodearraylist1
= var11
;
1495 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
1497 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
1499 var_listnode4
= var12
;
1500 var_tkwfornode2
= var_nodearraylist1
;
1501 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
1502 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
1503 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
1504 if(var_tkwfornode2
== NULL
) {
1507 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
1510 var13
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
1513 if (unlikely(!var13
)) {
1514 PRINT_ERROR("Runtime error: %s", "Assert failed");
1515 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7439);
1518 var_listnode3
= var_nodearraylist3
;
1519 /* <var_listnode3:nullable Object> isa Array[Object] */
1520 cltype15
= type_array__Arraykernel__Object
.color
;
1521 idtype16
= type_array__Arraykernel__Object
.id
;
1522 if(var_listnode3
== NULL
) {
1525 if(cltype15
>= var_listnode3
->type
->table_size
) {
1528 var14
= var_listnode3
->type
->type_table
[cltype15
] == idtype16
;
1531 if (unlikely(!var14
)) {
1532 PRINT_ERROR("Runtime error: %s", "Assert failed");
1533 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7441);
1537 var17
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1539 var_listnode4
= var17
;
1540 var_pexprnode5
= var_nodearraylist7
;
1541 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1542 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
1543 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
1544 if(var_pexprnode5
== NULL
) {
1547 if(cltype19
>= var_pexprnode5
->type
->table_size
) {
1550 var18
= var_pexprnode5
->type
->type_table
[cltype19
] == idtype20
;
1553 if (unlikely(!var18
)) {
1554 PRINT_ERROR("Runtime error: %s", "Assert failed");
1555 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7444);
1558 var_tkwdonode6
= var_nodearraylist9
;
1559 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
1560 cltype22
= type_nullable_parser_nodes__TKwdo
.color
;
1561 idtype23
= type_nullable_parser_nodes__TKwdo
.id
;
1562 if(var_tkwdonode6
== NULL
) {
1565 if(cltype22
>= var_tkwdonode6
->type
->table_size
) {
1568 var21
= var_tkwdonode6
->type
->type_table
[cltype22
] == idtype23
;
1571 if (unlikely(!var21
)) {
1572 PRINT_ERROR("Runtime error: %s", "Assert failed");
1573 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7446);
1576 var_pexprnode7
= var_nodearraylist10
;
1577 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
1578 cltype25
= type_nullable_parser_nodes__AExpr
.color
;
1579 idtype26
= type_nullable_parser_nodes__AExpr
.id
;
1580 if(var_pexprnode7
== NULL
) {
1583 if(cltype25
>= var_pexprnode7
->type
->table_size
) {
1586 var24
= var_pexprnode7
->type
->type_table
[cltype25
] == idtype26
;
1589 if (unlikely(!var24
)) {
1590 PRINT_ERROR("Runtime error: %s", "Assert failed");
1591 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7448);
1594 var_plabelnode8
= var_nodearraylist11
;
1595 /* <var_plabelnode8:nullable Object> isa nullable ALabel */
1596 cltype28
= type_nullable_parser_nodes__ALabel
.color
;
1597 idtype29
= type_nullable_parser_nodes__ALabel
.id
;
1598 if(var_plabelnode8
== NULL
) {
1601 if(cltype28
>= var_plabelnode8
->type
->table_size
) {
1604 var27
= var_plabelnode8
->type
->type_table
[cltype28
] == idtype29
;
1607 if (unlikely(!var27
)) {
1608 PRINT_ERROR("Runtime error: %s", "Assert failed");
1609 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7450);
1612 var30
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
1614 parser_prod__AForExpr__init_aforexpr(var30
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var_plabelnode8
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var30:AForExpr>*/
1616 var_pexprnode1
= var30
;
1617 var_node_list
= var_pexprnode1
;
1618 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction262> */
1620 var32
= parser_work__Parser__go_to(var_p
, var31
);
1623 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1627 /* method parser#ReduceAction262#action for (self: Object, Parser) */
1628 void VIRTUAL_parser__ReduceAction262__action(val
* self
, val
* p0
) {
1629 parser__ReduceAction262__action(self
, p0
); /* Direct call parser#ReduceAction262#action on <self:Object(ReduceAction262)>*/
1632 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
1633 void parser__ReduceAction263__action(val
* self
, val
* p0
) {
1634 val
* var_p
/* var p: Parser */;
1635 val
* var
/* : null */;
1636 val
* var_node_list
/* var node_list: nullable Object */;
1637 val
* var1
/* : nullable Object */;
1638 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1639 val
* var2
/* : nullable Object */;
1640 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1641 val
* var3
/* : nullable Object */;
1642 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1643 val
* var4
/* : nullable Object */;
1644 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1645 val
* var5
/* : nullable Object */;
1646 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1647 val
* var6
/* : nullable Object */;
1648 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1649 val
* var7
/* : nullable Object */;
1650 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1651 val
* var8
/* : nullable Object */;
1652 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1653 val
* var9
/* : nullable Object */;
1654 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1655 val
* var10
/* : nullable Object */;
1656 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1657 val
* var11
/* : Array[Object] */;
1658 val
* var_listnode4
/* var listnode4: Array[Object] */;
1659 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
1660 short int var12
/* : Bool */;
1663 val
* var_listnode3
/* var listnode3: nullable Object */;
1664 short int var13
/* : Bool */;
1667 val
* var16
/* : Array[Object] */;
1668 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1669 short int var17
/* : Bool */;
1672 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
1673 short int var20
/* : Bool */;
1676 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
1677 short int var23
/* : Bool */;
1680 val
* var26
/* : AForExpr */;
1681 val
* var27
/* : null */;
1682 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
1683 long var28
/* : Int */;
1684 long var29
/* : Int */;
1687 var_node_list
= var
;
1689 var1
= parser_work__Parser__pop(var_p
);
1691 var_nodearraylist10
= var1
;
1693 var2
= parser_work__Parser__pop(var_p
);
1695 var_nodearraylist9
= var2
;
1697 var3
= parser_work__Parser__pop(var_p
);
1699 var_nodearraylist8
= var3
;
1701 var4
= parser_work__Parser__pop(var_p
);
1703 var_nodearraylist7
= var4
;
1705 var5
= parser_work__Parser__pop(var_p
);
1707 var_nodearraylist6
= var5
;
1709 var6
= parser_work__Parser__pop(var_p
);
1711 var_nodearraylist5
= var6
;
1713 var7
= parser_work__Parser__pop(var_p
);
1715 var_nodearraylist4
= var7
;
1717 var8
= parser_work__Parser__pop(var_p
);
1719 var_nodearraylist3
= var8
;
1721 var9
= parser_work__Parser__pop(var_p
);
1723 var_nodearraylist2
= var9
;
1725 var10
= parser_work__Parser__pop(var_p
);
1727 var_nodearraylist1
= var10
;
1728 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1730 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
1732 var_listnode4
= var11
;
1733 var_tkwfornode2
= var_nodearraylist1
;
1734 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
1735 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
1736 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
1737 if(var_tkwfornode2
== NULL
) {
1740 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
1743 var12
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
1746 if (unlikely(!var12
)) {
1747 PRINT_ERROR("Runtime error: %s", "Assert failed");
1748 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7480);
1751 var_listnode3
= var_nodearraylist3
;
1752 /* <var_listnode3:nullable Object> isa Array[Object] */
1753 cltype14
= type_array__Arraykernel__Object
.color
;
1754 idtype15
= type_array__Arraykernel__Object
.id
;
1755 if(var_listnode3
== NULL
) {
1758 if(cltype14
>= var_listnode3
->type
->table_size
) {
1761 var13
= var_listnode3
->type
->type_table
[cltype14
] == idtype15
;
1764 if (unlikely(!var13
)) {
1765 PRINT_ERROR("Runtime error: %s", "Assert failed");
1766 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7482);
1770 var16
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1772 var_listnode4
= var16
;
1773 var_pexprnode5
= var_nodearraylist7
;
1774 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1775 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
1776 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
1777 if(var_pexprnode5
== NULL
) {
1780 if(cltype18
>= var_pexprnode5
->type
->table_size
) {
1783 var17
= var_pexprnode5
->type
->type_table
[cltype18
] == idtype19
;
1786 if (unlikely(!var17
)) {
1787 PRINT_ERROR("Runtime error: %s", "Assert failed");
1788 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7485);
1791 var_tkwdonode6
= var_nodearraylist9
;
1792 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
1793 cltype21
= type_nullable_parser_nodes__TKwdo
.color
;
1794 idtype22
= type_nullable_parser_nodes__TKwdo
.id
;
1795 if(var_tkwdonode6
== NULL
) {
1798 if(cltype21
>= var_tkwdonode6
->type
->table_size
) {
1801 var20
= var_tkwdonode6
->type
->type_table
[cltype21
] == idtype22
;
1804 if (unlikely(!var20
)) {
1805 PRINT_ERROR("Runtime error: %s", "Assert failed");
1806 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7487);
1809 var_pexprnode7
= var_nodearraylist10
;
1810 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
1811 cltype24
= type_nullable_parser_nodes__AExpr
.color
;
1812 idtype25
= type_nullable_parser_nodes__AExpr
.id
;
1813 if(var_pexprnode7
== NULL
) {
1816 if(cltype24
>= var_pexprnode7
->type
->table_size
) {
1819 var23
= var_pexprnode7
->type
->type_table
[cltype24
] == idtype25
;
1822 if (unlikely(!var23
)) {
1823 PRINT_ERROR("Runtime error: %s", "Assert failed");
1824 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7489);
1827 var26
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
1830 parser_prod__AForExpr__init_aforexpr(var26
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var27
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var26:AForExpr>*/
1832 var_pexprnode1
= var26
;
1833 var_node_list
= var_pexprnode1
;
1834 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction263> */
1836 var29
= parser_work__Parser__go_to(var_p
, var28
);
1839 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1843 /* method parser#ReduceAction263#action for (self: Object, Parser) */
1844 void VIRTUAL_parser__ReduceAction263__action(val
* self
, val
* p0
) {
1845 parser__ReduceAction263__action(self
, p0
); /* Direct call parser#ReduceAction263#action on <self:Object(ReduceAction263)>*/
1848 /* method parser#ReduceAction264#action for (self: ReduceAction264, Parser) */
1849 void parser__ReduceAction264__action(val
* self
, val
* p0
) {
1850 val
* var_p
/* var p: Parser */;
1851 val
* var
/* : null */;
1852 val
* var_node_list
/* var node_list: nullable Object */;
1853 val
* var1
/* : nullable Object */;
1854 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1855 val
* var2
/* : nullable Object */;
1856 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1857 val
* var3
/* : nullable Object */;
1858 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1859 val
* var4
/* : nullable Object */;
1860 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1861 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
1862 short int var5
/* : Bool */;
1865 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1866 short int var6
/* : Bool */;
1869 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1870 short int var9
/* : Bool */;
1873 val
* var12
/* : AAssertExpr */;
1874 val
* var13
/* : null */;
1875 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
1876 long var14
/* : Int */;
1877 long var15
/* : Int */;
1880 var_node_list
= var
;
1882 var1
= parser_work__Parser__pop(var_p
);
1884 var_nodearraylist4
= var1
;
1886 var2
= parser_work__Parser__pop(var_p
);
1888 var_nodearraylist3
= var2
;
1890 var3
= parser_work__Parser__pop(var_p
);
1892 var_nodearraylist2
= var3
;
1894 var4
= parser_work__Parser__pop(var_p
);
1896 var_nodearraylist1
= var4
;
1897 var_tkwassertnode2
= var_nodearraylist1
;
1898 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
1899 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
1900 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
1901 if(var_tkwassertnode2
== NULL
) {
1904 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
1907 var5
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
1910 if (unlikely(!var5
)) {
1911 PRINT_ERROR("Runtime error: %s", "Assert failed");
1912 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7512);
1915 var_pexprnode4
= var_nodearraylist2
;
1916 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1917 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1918 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1919 if(var_pexprnode4
== NULL
) {
1922 if(cltype7
>= var_pexprnode4
->type
->table_size
) {
1925 var6
= var_pexprnode4
->type
->type_table
[cltype7
] == idtype8
;
1928 if (unlikely(!var6
)) {
1929 PRINT_ERROR("Runtime error: %s", "Assert failed");
1930 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7514);
1933 var_pexprnode5
= var_nodearraylist4
;
1934 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1935 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
1936 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
1937 if(var_pexprnode5
== NULL
) {
1940 if(cltype10
>= var_pexprnode5
->type
->table_size
) {
1943 var9
= var_pexprnode5
->type
->type_table
[cltype10
] == idtype11
;
1946 if (unlikely(!var9
)) {
1947 PRINT_ERROR("Runtime error: %s", "Assert failed");
1948 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7516);
1951 var12
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
1954 parser_prod__AAssertExpr__init_aassertexpr(var12
, var_tkwassertnode2
, var13
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var12:AAssertExpr>*/
1956 var_pexprnode1
= var12
;
1957 var_node_list
= var_pexprnode1
;
1958 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction264> */
1960 var15
= parser_work__Parser__go_to(var_p
, var14
);
1963 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1967 /* method parser#ReduceAction264#action for (self: Object, Parser) */
1968 void VIRTUAL_parser__ReduceAction264__action(val
* self
, val
* p0
) {
1969 parser__ReduceAction264__action(self
, p0
); /* Direct call parser#ReduceAction264#action on <self:Object(ReduceAction264)>*/
1972 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
1973 void parser__ReduceAction265__action(val
* self
, val
* p0
) {
1974 val
* var_p
/* var p: Parser */;
1975 val
* var
/* : null */;
1976 val
* var_node_list
/* var node_list: nullable Object */;
1977 val
* var1
/* : nullable Object */;
1978 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1979 val
* var2
/* : nullable Object */;
1980 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1981 val
* var3
/* : nullable Object */;
1982 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1983 val
* var4
/* : nullable Object */;
1984 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1985 val
* var5
/* : nullable Object */;
1986 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1987 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
1988 short int var6
/* : Bool */;
1991 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1992 short int var7
/* : Bool */;
1995 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1996 short int var10
/* : Bool */;
1999 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2000 short int var13
/* : Bool */;
2003 val
* var16
/* : AAssertExpr */;
2004 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2005 long var17
/* : Int */;
2006 long var18
/* : Int */;
2009 var_node_list
= var
;
2011 var1
= parser_work__Parser__pop(var_p
);
2013 var_nodearraylist5
= var1
;
2015 var2
= parser_work__Parser__pop(var_p
);
2017 var_nodearraylist4
= var2
;
2019 var3
= parser_work__Parser__pop(var_p
);
2021 var_nodearraylist3
= var3
;
2023 var4
= parser_work__Parser__pop(var_p
);
2025 var_nodearraylist2
= var4
;
2027 var5
= parser_work__Parser__pop(var_p
);
2029 var_nodearraylist1
= var5
;
2030 var_tkwassertnode2
= var_nodearraylist1
;
2031 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2032 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
2033 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
2034 if(var_tkwassertnode2
== NULL
) {
2037 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2040 var6
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2043 if (unlikely(!var6
)) {
2044 PRINT_ERROR("Runtime error: %s", "Assert failed");
2045 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7538);
2048 var_tidnode3
= var_nodearraylist2
;
2049 /* <var_tidnode3:nullable Object> isa nullable TId */
2050 cltype8
= type_nullable_parser_nodes__TId
.color
;
2051 idtype9
= type_nullable_parser_nodes__TId
.id
;
2052 if(var_tidnode3
== NULL
) {
2055 if(cltype8
>= var_tidnode3
->type
->table_size
) {
2058 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
2061 if (unlikely(!var7
)) {
2062 PRINT_ERROR("Runtime error: %s", "Assert failed");
2063 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7540);
2066 var_pexprnode4
= var_nodearraylist3
;
2067 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2068 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
2069 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
2070 if(var_pexprnode4
== NULL
) {
2073 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
2076 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
2079 if (unlikely(!var10
)) {
2080 PRINT_ERROR("Runtime error: %s", "Assert failed");
2081 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7542);
2084 var_pexprnode5
= var_nodearraylist5
;
2085 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2086 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
2087 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
2088 if(var_pexprnode5
== NULL
) {
2091 if(cltype14
>= var_pexprnode5
->type
->table_size
) {
2094 var13
= var_pexprnode5
->type
->type_table
[cltype14
] == idtype15
;
2097 if (unlikely(!var13
)) {
2098 PRINT_ERROR("Runtime error: %s", "Assert failed");
2099 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7544);
2102 var16
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
2104 parser_prod__AAssertExpr__init_aassertexpr(var16
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var16:AAssertExpr>*/
2106 var_pexprnode1
= var16
;
2107 var_node_list
= var_pexprnode1
;
2108 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction265> */
2110 var18
= parser_work__Parser__go_to(var_p
, var17
);
2113 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2117 /* method parser#ReduceAction265#action for (self: Object, Parser) */
2118 void VIRTUAL_parser__ReduceAction265__action(val
* self
, val
* p0
) {
2119 parser__ReduceAction265__action(self
, p0
); /* Direct call parser#ReduceAction265#action on <self:Object(ReduceAction265)>*/
2122 /* method parser#ReduceAction266#action for (self: ReduceAction266, Parser) */
2123 void parser__ReduceAction266__action(val
* self
, val
* p0
) {
2124 val
* var_p
/* var p: Parser */;
2125 val
* var
/* : null */;
2126 val
* var_node_list
/* var node_list: nullable Object */;
2127 val
* var1
/* : nullable Object */;
2128 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2129 val
* var2
/* : nullable Object */;
2130 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2131 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2132 short int var3
/* : Bool */;
2135 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2136 short int var4
/* : Bool */;
2139 val
* var7
/* : AAssertExpr */;
2140 val
* var8
/* : null */;
2141 val
* var9
/* : null */;
2142 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2143 long var10
/* : Int */;
2144 long var11
/* : Int */;
2147 var_node_list
= var
;
2149 var1
= parser_work__Parser__pop(var_p
);
2151 var_nodearraylist2
= var1
;
2153 var2
= parser_work__Parser__pop(var_p
);
2155 var_nodearraylist1
= var2
;
2156 var_tkwassertnode2
= var_nodearraylist1
;
2157 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2158 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
2159 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
2160 if(var_tkwassertnode2
== NULL
) {
2163 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2166 var3
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2169 if (unlikely(!var3
)) {
2170 PRINT_ERROR("Runtime error: %s", "Assert failed");
2171 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7563);
2174 var_pexprnode4
= var_nodearraylist2
;
2175 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2176 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
2177 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
2178 if(var_pexprnode4
== NULL
) {
2181 if(cltype5
>= var_pexprnode4
->type
->table_size
) {
2184 var4
= var_pexprnode4
->type
->type_table
[cltype5
] == idtype6
;
2187 if (unlikely(!var4
)) {
2188 PRINT_ERROR("Runtime error: %s", "Assert failed");
2189 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7565);
2192 var7
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
2196 parser_prod__AAssertExpr__init_aassertexpr(var7
, var_tkwassertnode2
, var8
, var_pexprnode4
, var9
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var7:AAssertExpr>*/
2198 var_pexprnode1
= var7
;
2199 var_node_list
= var_pexprnode1
;
2200 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction266> */
2202 var11
= parser_work__Parser__go_to(var_p
, var10
);
2205 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2209 /* method parser#ReduceAction266#action for (self: Object, Parser) */
2210 void VIRTUAL_parser__ReduceAction266__action(val
* self
, val
* p0
) {
2211 parser__ReduceAction266__action(self
, p0
); /* Direct call parser#ReduceAction266#action on <self:Object(ReduceAction266)>*/
2214 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
2215 void parser__ReduceAction267__action(val
* self
, val
* p0
) {
2216 val
* var_p
/* var p: Parser */;
2217 val
* var
/* : null */;
2218 val
* var_node_list
/* var node_list: nullable Object */;
2219 val
* var1
/* : nullable Object */;
2220 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2221 val
* var2
/* : nullable Object */;
2222 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2223 val
* var3
/* : nullable Object */;
2224 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2225 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2226 short int var4
/* : Bool */;
2229 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2230 short int var5
/* : Bool */;
2233 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2234 short int var8
/* : Bool */;
2237 val
* var11
/* : AAssertExpr */;
2238 val
* var12
/* : null */;
2239 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2240 long var13
/* : Int */;
2241 long var14
/* : Int */;
2244 var_node_list
= var
;
2246 var1
= parser_work__Parser__pop(var_p
);
2248 var_nodearraylist3
= var1
;
2250 var2
= parser_work__Parser__pop(var_p
);
2252 var_nodearraylist2
= var2
;
2254 var3
= parser_work__Parser__pop(var_p
);
2256 var_nodearraylist1
= var3
;
2257 var_tkwassertnode2
= var_nodearraylist1
;
2258 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2259 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
2260 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
2261 if(var_tkwassertnode2
== NULL
) {
2264 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2267 var4
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2270 if (unlikely(!var4
)) {
2271 PRINT_ERROR("Runtime error: %s", "Assert failed");
2272 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7585);
2275 var_tidnode3
= var_nodearraylist2
;
2276 /* <var_tidnode3:nullable Object> isa nullable TId */
2277 cltype6
= type_nullable_parser_nodes__TId
.color
;
2278 idtype7
= type_nullable_parser_nodes__TId
.id
;
2279 if(var_tidnode3
== NULL
) {
2282 if(cltype6
>= var_tidnode3
->type
->table_size
) {
2285 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
2288 if (unlikely(!var5
)) {
2289 PRINT_ERROR("Runtime error: %s", "Assert failed");
2290 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7587);
2293 var_pexprnode4
= var_nodearraylist3
;
2294 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2295 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
2296 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
2297 if(var_pexprnode4
== NULL
) {
2300 if(cltype9
>= var_pexprnode4
->type
->table_size
) {
2303 var8
= var_pexprnode4
->type
->type_table
[cltype9
] == idtype10
;
2306 if (unlikely(!var8
)) {
2307 PRINT_ERROR("Runtime error: %s", "Assert failed");
2308 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7589);
2311 var11
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
2314 parser_prod__AAssertExpr__init_aassertexpr(var11
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var12
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var11:AAssertExpr>*/
2316 var_pexprnode1
= var11
;
2317 var_node_list
= var_pexprnode1
;
2318 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction267> */
2320 var14
= parser_work__Parser__go_to(var_p
, var13
);
2323 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2327 /* method parser#ReduceAction267#action for (self: Object, Parser) */
2328 void VIRTUAL_parser__ReduceAction267__action(val
* self
, val
* p0
) {
2329 parser__ReduceAction267__action(self
, p0
); /* Direct call parser#ReduceAction267#action on <self:Object(ReduceAction267)>*/
2332 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
2333 void parser__ReduceAction268__action(val
* self
, val
* p0
) {
2334 val
* var_p
/* var p: Parser */;
2335 val
* var
/* : null */;
2336 val
* var_node_list
/* var node_list: nullable Object */;
2337 val
* var1
/* : nullable Object */;
2338 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2339 val
* var2
/* : nullable Object */;
2340 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2341 val
* var_tidnode1
/* var tidnode1: nullable Object */;
2342 long var3
/* : Int */;
2343 long var4
/* : Int */;
2346 var_node_list
= var
;
2348 var1
= parser_work__Parser__pop(var_p
);
2350 var_nodearraylist2
= var1
;
2352 var2
= parser_work__Parser__pop(var_p
);
2354 var_nodearraylist1
= var2
;
2355 var_tidnode1
= var_nodearraylist1
;
2356 var_node_list
= var_tidnode1
;
2357 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction268> */
2359 var4
= parser_work__Parser__go_to(var_p
, var3
);
2362 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2366 /* method parser#ReduceAction268#action for (self: Object, Parser) */
2367 void VIRTUAL_parser__ReduceAction268__action(val
* self
, val
* p0
) {
2368 parser__ReduceAction268__action(self
, p0
); /* Direct call parser#ReduceAction268#action on <self:Object(ReduceAction268)>*/
2371 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
2372 void parser__ReduceAction270__action(val
* self
, val
* p0
) {
2373 val
* var_p
/* var p: Parser */;
2374 val
* var
/* : null */;
2375 val
* var_node_list
/* var node_list: nullable Object */;
2376 val
* var1
/* : nullable Object */;
2377 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2378 val
* var2
/* : nullable Object */;
2379 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2380 val
* var3
/* : nullable Object */;
2381 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2382 val
* var4
/* : nullable Object */;
2383 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2384 val
* var5
/* : nullable Object */;
2385 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2386 val
* var6
/* : nullable Object */;
2387 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2388 val
* var7
/* : nullable Object */;
2389 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2390 val
* var8
/* : nullable Object */;
2391 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2392 val
* var9
/* : nullable Object */;
2393 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2394 val
* var10
/* : nullable Object */;
2395 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2396 val
* var11
/* : nullable Object */;
2397 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2398 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
2399 short int var12
/* : Bool */;
2402 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2403 short int var13
/* : Bool */;
2406 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
2407 short int var16
/* : Bool */;
2410 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2411 short int var19
/* : Bool */;
2414 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
2415 short int var22
/* : Bool */;
2418 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2419 short int var25
/* : Bool */;
2422 val
* var28
/* : AIfexprExpr */;
2423 val
* var_pexprnode1
/* var pexprnode1: nullable AIfexprExpr */;
2424 long var29
/* : Int */;
2425 long var30
/* : Int */;
2428 var_node_list
= var
;
2430 var1
= parser_work__Parser__pop(var_p
);
2432 var_nodearraylist11
= var1
;
2434 var2
= parser_work__Parser__pop(var_p
);
2436 var_nodearraylist10
= var2
;
2438 var3
= parser_work__Parser__pop(var_p
);
2440 var_nodearraylist9
= var3
;
2442 var4
= parser_work__Parser__pop(var_p
);
2444 var_nodearraylist8
= var4
;
2446 var5
= parser_work__Parser__pop(var_p
);
2448 var_nodearraylist7
= var5
;
2450 var6
= parser_work__Parser__pop(var_p
);
2452 var_nodearraylist6
= var6
;
2454 var7
= parser_work__Parser__pop(var_p
);
2456 var_nodearraylist5
= var7
;
2458 var8
= parser_work__Parser__pop(var_p
);
2460 var_nodearraylist4
= var8
;
2462 var9
= parser_work__Parser__pop(var_p
);
2464 var_nodearraylist3
= var9
;
2466 var10
= parser_work__Parser__pop(var_p
);
2468 var_nodearraylist2
= var10
;
2470 var11
= parser_work__Parser__pop(var_p
);
2472 var_nodearraylist1
= var11
;
2473 var_tkwifnode2
= var_nodearraylist1
;
2474 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
2475 cltype
= type_nullable_parser_nodes__TKwif
.color
;
2476 idtype
= type_nullable_parser_nodes__TKwif
.id
;
2477 if(var_tkwifnode2
== NULL
) {
2480 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
2483 var12
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
2486 if (unlikely(!var12
)) {
2487 PRINT_ERROR("Runtime error: %s", "Assert failed");
2488 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7629);
2491 var_pexprnode3
= var_nodearraylist3
;
2492 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2493 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
2494 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
2495 if(var_pexprnode3
== NULL
) {
2498 if(cltype14
>= var_pexprnode3
->type
->table_size
) {
2501 var13
= var_pexprnode3
->type
->type_table
[cltype14
] == idtype15
;
2504 if (unlikely(!var13
)) {
2505 PRINT_ERROR("Runtime error: %s", "Assert failed");
2506 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7631);
2509 var_tkwthennode4
= var_nodearraylist5
;
2510 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
2511 cltype17
= type_nullable_parser_nodes__TKwthen
.color
;
2512 idtype18
= type_nullable_parser_nodes__TKwthen
.id
;
2513 if(var_tkwthennode4
== NULL
) {
2516 if(cltype17
>= var_tkwthennode4
->type
->table_size
) {
2519 var16
= var_tkwthennode4
->type
->type_table
[cltype17
] == idtype18
;
2522 if (unlikely(!var16
)) {
2523 PRINT_ERROR("Runtime error: %s", "Assert failed");
2524 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7633);
2527 var_pexprnode5
= var_nodearraylist7
;
2528 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2529 cltype20
= type_nullable_parser_nodes__AExpr
.color
;
2530 idtype21
= type_nullable_parser_nodes__AExpr
.id
;
2531 if(var_pexprnode5
== NULL
) {
2534 if(cltype20
>= var_pexprnode5
->type
->table_size
) {
2537 var19
= var_pexprnode5
->type
->type_table
[cltype20
] == idtype21
;
2540 if (unlikely(!var19
)) {
2541 PRINT_ERROR("Runtime error: %s", "Assert failed");
2542 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7635);
2545 var_tkwelsenode6
= var_nodearraylist9
;
2546 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
2547 cltype23
= type_nullable_parser_nodes__TKwelse
.color
;
2548 idtype24
= type_nullable_parser_nodes__TKwelse
.id
;
2549 if(var_tkwelsenode6
== NULL
) {
2552 if(cltype23
>= var_tkwelsenode6
->type
->table_size
) {
2555 var22
= var_tkwelsenode6
->type
->type_table
[cltype23
] == idtype24
;
2558 if (unlikely(!var22
)) {
2559 PRINT_ERROR("Runtime error: %s", "Assert failed");
2560 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7637);
2563 var_pexprnode7
= var_nodearraylist11
;
2564 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
2565 cltype26
= type_nullable_parser_nodes__AExpr
.color
;
2566 idtype27
= type_nullable_parser_nodes__AExpr
.id
;
2567 if(var_pexprnode7
== NULL
) {
2570 if(cltype26
>= var_pexprnode7
->type
->table_size
) {
2573 var25
= var_pexprnode7
->type
->type_table
[cltype26
] == idtype27
;
2576 if (unlikely(!var25
)) {
2577 PRINT_ERROR("Runtime error: %s", "Assert failed");
2578 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7639);
2581 var28
= NEW_parser_nodes__AIfexprExpr(&type_parser_nodes__AIfexprExpr
);
2583 parser_prod__AIfexprExpr__init_aifexprexpr(var28
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on <var28:AIfexprExpr>*/
2585 var_pexprnode1
= var28
;
2586 var_node_list
= var_pexprnode1
;
2587 var29
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction270> */
2589 var30
= parser_work__Parser__go_to(var_p
, var29
);
2592 parser_work__Parser__push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2596 /* method parser#ReduceAction270#action for (self: Object, Parser) */
2597 void VIRTUAL_parser__ReduceAction270__action(val
* self
, val
* p0
) {
2598 parser__ReduceAction270__action(self
, p0
); /* Direct call parser#ReduceAction270#action on <self:Object(ReduceAction270)>*/
2601 /* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */
2602 void parser__ReduceAction272__action(val
* self
, val
* p0
) {
2603 val
* var_p
/* var p: Parser */;
2604 val
* var
/* : null */;
2605 val
* var_node_list
/* var node_list: nullable Object */;
2606 val
* var1
/* : nullable Object */;
2607 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2608 val
* var2
/* : nullable Object */;
2609 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2610 val
* var3
/* : nullable Object */;
2611 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2612 val
* var4
/* : nullable Object */;
2613 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2614 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2615 short int var5
/* : Bool */;
2618 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2619 short int var6
/* : Bool */;
2622 val
* var9
/* : AOrExpr */;
2623 val
* var_pexprnode1
/* var pexprnode1: nullable AOrExpr */;
2624 long var10
/* : Int */;
2625 long var11
/* : Int */;
2628 var_node_list
= var
;
2630 var1
= parser_work__Parser__pop(var_p
);
2632 var_nodearraylist4
= var1
;
2634 var2
= parser_work__Parser__pop(var_p
);
2636 var_nodearraylist3
= var2
;
2638 var3
= parser_work__Parser__pop(var_p
);
2640 var_nodearraylist2
= var3
;
2642 var4
= parser_work__Parser__pop(var_p
);
2644 var_nodearraylist1
= var4
;
2645 var_pexprnode2
= var_nodearraylist1
;
2646 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2647 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2648 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2649 if(var_pexprnode2
== NULL
) {
2652 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2655 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2658 if (unlikely(!var5
)) {
2659 PRINT_ERROR("Runtime error: %s", "Assert failed");
2660 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7662);
2663 var_pexprnode3
= var_nodearraylist4
;
2664 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2665 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
2666 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
2667 if(var_pexprnode3
== NULL
) {
2670 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
2673 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
2676 if (unlikely(!var6
)) {
2677 PRINT_ERROR("Runtime error: %s", "Assert failed");
2678 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7664);
2681 var9
= NEW_parser_nodes__AOrExpr(&type_parser_nodes__AOrExpr
);
2683 parser_prod__AOrExpr__init_aorexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrExpr#init_aorexpr on <var9:AOrExpr>*/
2685 var_pexprnode1
= var9
;
2686 var_node_list
= var_pexprnode1
;
2687 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction272> */
2689 var11
= parser_work__Parser__go_to(var_p
, var10
);
2692 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2696 /* method parser#ReduceAction272#action for (self: Object, Parser) */
2697 void VIRTUAL_parser__ReduceAction272__action(val
* self
, val
* p0
) {
2698 parser__ReduceAction272__action(self
, p0
); /* Direct call parser#ReduceAction272#action on <self:Object(ReduceAction272)>*/
2701 /* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
2702 void parser__ReduceAction273__action(val
* self
, val
* p0
) {
2703 val
* var_p
/* var p: Parser */;
2704 val
* var
/* : null */;
2705 val
* var_node_list
/* var node_list: nullable Object */;
2706 val
* var1
/* : nullable Object */;
2707 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2708 val
* var2
/* : nullable Object */;
2709 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2710 val
* var3
/* : nullable Object */;
2711 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2712 val
* var4
/* : nullable Object */;
2713 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2714 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2715 short int var5
/* : Bool */;
2718 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2719 short int var6
/* : Bool */;
2722 val
* var9
/* : AAndExpr */;
2723 val
* var_pexprnode1
/* var pexprnode1: nullable AAndExpr */;
2724 long var10
/* : Int */;
2725 long var11
/* : Int */;
2728 var_node_list
= var
;
2730 var1
= parser_work__Parser__pop(var_p
);
2732 var_nodearraylist4
= var1
;
2734 var2
= parser_work__Parser__pop(var_p
);
2736 var_nodearraylist3
= var2
;
2738 var3
= parser_work__Parser__pop(var_p
);
2740 var_nodearraylist2
= var3
;
2742 var4
= parser_work__Parser__pop(var_p
);
2744 var_nodearraylist1
= var4
;
2745 var_pexprnode2
= var_nodearraylist1
;
2746 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2747 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2748 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2749 if(var_pexprnode2
== NULL
) {
2752 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2755 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2758 if (unlikely(!var5
)) {
2759 PRINT_ERROR("Runtime error: %s", "Assert failed");
2760 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7683);
2763 var_pexprnode3
= var_nodearraylist4
;
2764 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2765 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
2766 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
2767 if(var_pexprnode3
== NULL
) {
2770 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
2773 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
2776 if (unlikely(!var6
)) {
2777 PRINT_ERROR("Runtime error: %s", "Assert failed");
2778 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7685);
2781 var9
= NEW_parser_nodes__AAndExpr(&type_parser_nodes__AAndExpr
);
2783 parser_prod__AAndExpr__init_aandexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AAndExpr#init_aandexpr on <var9:AAndExpr>*/
2785 var_pexprnode1
= var9
;
2786 var_node_list
= var_pexprnode1
;
2787 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction273> */
2789 var11
= parser_work__Parser__go_to(var_p
, var10
);
2792 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2796 /* method parser#ReduceAction273#action for (self: Object, Parser) */
2797 void VIRTUAL_parser__ReduceAction273__action(val
* self
, val
* p0
) {
2798 parser__ReduceAction273__action(self
, p0
); /* Direct call parser#ReduceAction273#action on <self:Object(ReduceAction273)>*/
2801 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
2802 void parser__ReduceAction274__action(val
* self
, val
* p0
) {
2803 val
* var_p
/* var p: Parser */;
2804 val
* var
/* : null */;
2805 val
* var_node_list
/* var node_list: nullable Object */;
2806 val
* var1
/* : nullable Object */;
2807 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2808 val
* var2
/* : nullable Object */;
2809 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2810 val
* var3
/* : nullable Object */;
2811 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2812 val
* var4
/* : nullable Object */;
2813 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2814 val
* var5
/* : nullable Object */;
2815 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2816 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2817 short int var6
/* : Bool */;
2820 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2821 short int var7
/* : Bool */;
2824 val
* var10
/* : AOrElseExpr */;
2825 val
* var_pexprnode1
/* var pexprnode1: nullable AOrElseExpr */;
2826 long var11
/* : Int */;
2827 long var12
/* : Int */;
2830 var_node_list
= var
;
2832 var1
= parser_work__Parser__pop(var_p
);
2834 var_nodearraylist5
= var1
;
2836 var2
= parser_work__Parser__pop(var_p
);
2838 var_nodearraylist4
= var2
;
2840 var3
= parser_work__Parser__pop(var_p
);
2842 var_nodearraylist3
= var3
;
2844 var4
= parser_work__Parser__pop(var_p
);
2846 var_nodearraylist2
= var4
;
2848 var5
= parser_work__Parser__pop(var_p
);
2850 var_nodearraylist1
= var5
;
2851 var_pexprnode2
= var_nodearraylist1
;
2852 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2853 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2854 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2855 if(var_pexprnode2
== NULL
) {
2858 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2861 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2864 if (unlikely(!var6
)) {
2865 PRINT_ERROR("Runtime error: %s", "Assert failed");
2866 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7705);
2869 var_pexprnode3
= var_nodearraylist5
;
2870 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2871 cltype8
= type_nullable_parser_nodes__AExpr
.color
;
2872 idtype9
= type_nullable_parser_nodes__AExpr
.id
;
2873 if(var_pexprnode3
== NULL
) {
2876 if(cltype8
>= var_pexprnode3
->type
->table_size
) {
2879 var7
= var_pexprnode3
->type
->type_table
[cltype8
] == idtype9
;
2882 if (unlikely(!var7
)) {
2883 PRINT_ERROR("Runtime error: %s", "Assert failed");
2884 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7707);
2887 var10
= NEW_parser_nodes__AOrElseExpr(&type_parser_nodes__AOrElseExpr
);
2889 parser_prod__AOrElseExpr__init_aorelseexpr(var10
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <var10:AOrElseExpr>*/
2891 var_pexprnode1
= var10
;
2892 var_node_list
= var_pexprnode1
;
2893 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction274> */
2895 var12
= parser_work__Parser__go_to(var_p
, var11
);
2898 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2902 /* method parser#ReduceAction274#action for (self: Object, Parser) */
2903 void VIRTUAL_parser__ReduceAction274__action(val
* self
, val
* p0
) {
2904 parser__ReduceAction274__action(self
, p0
); /* Direct call parser#ReduceAction274#action on <self:Object(ReduceAction274)>*/
2907 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
2908 void parser__ReduceAction275__action(val
* self
, val
* p0
) {
2909 val
* var_p
/* var p: Parser */;
2910 val
* var
/* : null */;
2911 val
* var_node_list
/* var node_list: nullable Object */;
2912 val
* var1
/* : nullable Object */;
2913 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2914 val
* var2
/* : nullable Object */;
2915 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2916 val
* var3
/* : nullable Object */;
2917 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2918 val
* var4
/* : nullable Object */;
2919 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2920 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2921 short int var5
/* : Bool */;
2924 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2925 short int var6
/* : Bool */;
2928 val
* var9
/* : AImpliesExpr */;
2929 val
* var_pexprnode1
/* var pexprnode1: nullable AImpliesExpr */;
2930 long var10
/* : Int */;
2931 long var11
/* : Int */;
2934 var_node_list
= var
;
2936 var1
= parser_work__Parser__pop(var_p
);
2938 var_nodearraylist4
= var1
;
2940 var2
= parser_work__Parser__pop(var_p
);
2942 var_nodearraylist3
= var2
;
2944 var3
= parser_work__Parser__pop(var_p
);
2946 var_nodearraylist2
= var3
;
2948 var4
= parser_work__Parser__pop(var_p
);
2950 var_nodearraylist1
= var4
;
2951 var_pexprnode2
= var_nodearraylist1
;
2952 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2953 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2954 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2955 if(var_pexprnode2
== NULL
) {
2958 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2961 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2964 if (unlikely(!var5
)) {
2965 PRINT_ERROR("Runtime error: %s", "Assert failed");
2966 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7726);
2969 var_pexprnode3
= var_nodearraylist4
;
2970 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2971 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
2972 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
2973 if(var_pexprnode3
== NULL
) {
2976 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
2979 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
2982 if (unlikely(!var6
)) {
2983 PRINT_ERROR("Runtime error: %s", "Assert failed");
2984 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7728);
2987 var9
= NEW_parser_nodes__AImpliesExpr(&type_parser_nodes__AImpliesExpr
);
2989 parser_prod__AImpliesExpr__init_aimpliesexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <var9:AImpliesExpr>*/
2991 var_pexprnode1
= var9
;
2992 var_node_list
= var_pexprnode1
;
2993 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction275> */
2995 var11
= parser_work__Parser__go_to(var_p
, var10
);
2998 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3002 /* method parser#ReduceAction275#action for (self: Object, Parser) */
3003 void VIRTUAL_parser__ReduceAction275__action(val
* self
, val
* p0
) {
3004 parser__ReduceAction275__action(self
, p0
); /* Direct call parser#ReduceAction275#action on <self:Object(ReduceAction275)>*/
3007 /* method parser#ReduceAction277#action for (self: ReduceAction277, Parser) */
3008 void parser__ReduceAction277__action(val
* self
, val
* p0
) {
3009 val
* var_p
/* var p: Parser */;
3010 val
* var
/* : null */;
3011 val
* var_node_list
/* var node_list: nullable Object */;
3012 val
* var1
/* : nullable Object */;
3013 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3014 val
* var2
/* : nullable Object */;
3015 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3016 val
* var3
/* : nullable Object */;
3017 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3018 val
* var_tkwnotnode2
/* var tkwnotnode2: nullable Object */;
3019 short int var4
/* : Bool */;
3022 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3023 short int var5
/* : Bool */;
3026 val
* var8
/* : ANotExpr */;
3027 val
* var_pexprnode1
/* var pexprnode1: nullable ANotExpr */;
3028 long var9
/* : Int */;
3029 long var10
/* : Int */;
3032 var_node_list
= var
;
3034 var1
= parser_work__Parser__pop(var_p
);
3036 var_nodearraylist3
= var1
;
3038 var2
= parser_work__Parser__pop(var_p
);
3040 var_nodearraylist2
= var2
;
3042 var3
= parser_work__Parser__pop(var_p
);
3044 var_nodearraylist1
= var3
;
3045 var_tkwnotnode2
= var_nodearraylist1
;
3046 /* <var_tkwnotnode2:nullable Object> isa nullable TKwnot */
3047 cltype
= type_nullable_parser_nodes__TKwnot
.color
;
3048 idtype
= type_nullable_parser_nodes__TKwnot
.id
;
3049 if(var_tkwnotnode2
== NULL
) {
3052 if(cltype
>= var_tkwnotnode2
->type
->table_size
) {
3055 var4
= var_tkwnotnode2
->type
->type_table
[cltype
] == idtype
;
3058 if (unlikely(!var4
)) {
3059 PRINT_ERROR("Runtime error: %s", "Assert failed");
3060 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7746);
3063 var_pexprnode3
= var_nodearraylist3
;
3064 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3065 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
3066 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
3067 if(var_pexprnode3
== NULL
) {
3070 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
3073 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
3076 if (unlikely(!var5
)) {
3077 PRINT_ERROR("Runtime error: %s", "Assert failed");
3078 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7748);
3081 var8
= NEW_parser_nodes__ANotExpr(&type_parser_nodes__ANotExpr
);
3083 parser_prod__ANotExpr__init_anotexpr(var8
, var_tkwnotnode2
, var_pexprnode3
); /* Direct call parser_prod#ANotExpr#init_anotexpr on <var8:ANotExpr>*/
3085 var_pexprnode1
= var8
;
3086 var_node_list
= var_pexprnode1
;
3087 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction277> */
3089 var10
= parser_work__Parser__go_to(var_p
, var9
);
3092 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3096 /* method parser#ReduceAction277#action for (self: Object, Parser) */
3097 void VIRTUAL_parser__ReduceAction277__action(val
* self
, val
* p0
) {
3098 parser__ReduceAction277__action(self
, p0
); /* Direct call parser#ReduceAction277#action on <self:Object(ReduceAction277)>*/
3101 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
3102 void parser__ReduceAction279__action(val
* self
, val
* p0
) {
3103 val
* var_p
/* var p: Parser */;
3104 val
* var
/* : null */;
3105 val
* var_node_list
/* var node_list: nullable Object */;
3106 val
* var1
/* : nullable Object */;
3107 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3108 val
* var2
/* : nullable Object */;
3109 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3110 val
* var3
/* : nullable Object */;
3111 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3112 val
* var4
/* : nullable Object */;
3113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3114 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3115 short int var5
/* : Bool */;
3118 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3119 short int var6
/* : Bool */;
3122 val
* var9
/* : AEqExpr */;
3123 val
* var_pexprnode1
/* var pexprnode1: nullable AEqExpr */;
3124 long var10
/* : Int */;
3125 long var11
/* : Int */;
3128 var_node_list
= var
;
3130 var1
= parser_work__Parser__pop(var_p
);
3132 var_nodearraylist4
= var1
;
3134 var2
= parser_work__Parser__pop(var_p
);
3136 var_nodearraylist3
= var2
;
3138 var3
= parser_work__Parser__pop(var_p
);
3140 var_nodearraylist2
= var3
;
3142 var4
= parser_work__Parser__pop(var_p
);
3144 var_nodearraylist1
= var4
;
3145 var_pexprnode2
= var_nodearraylist1
;
3146 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3147 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3148 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3149 if(var_pexprnode2
== NULL
) {
3152 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3155 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3158 if (unlikely(!var5
)) {
3159 PRINT_ERROR("Runtime error: %s", "Assert failed");
3160 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7767);
3163 var_pexprnode3
= var_nodearraylist4
;
3164 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3165 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3166 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3167 if(var_pexprnode3
== NULL
) {
3170 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3173 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3176 if (unlikely(!var6
)) {
3177 PRINT_ERROR("Runtime error: %s", "Assert failed");
3178 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7769);
3181 var9
= NEW_parser_nodes__AEqExpr(&type_parser_nodes__AEqExpr
);
3183 parser_prod__AEqExpr__init_aeqexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <var9:AEqExpr>*/
3185 var_pexprnode1
= var9
;
3186 var_node_list
= var_pexprnode1
;
3187 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction279> */
3189 var11
= parser_work__Parser__go_to(var_p
, var10
);
3192 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3196 /* method parser#ReduceAction279#action for (self: Object, Parser) */
3197 void VIRTUAL_parser__ReduceAction279__action(val
* self
, val
* p0
) {
3198 parser__ReduceAction279__action(self
, p0
); /* Direct call parser#ReduceAction279#action on <self:Object(ReduceAction279)>*/
3201 /* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */
3202 void parser__ReduceAction280__action(val
* self
, val
* p0
) {
3203 val
* var_p
/* var p: Parser */;
3204 val
* var
/* : null */;
3205 val
* var_node_list
/* var node_list: nullable Object */;
3206 val
* var1
/* : nullable Object */;
3207 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3208 val
* var2
/* : nullable Object */;
3209 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3210 val
* var3
/* : nullable Object */;
3211 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3212 val
* var4
/* : nullable Object */;
3213 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3214 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3215 short int var5
/* : Bool */;
3218 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3219 short int var6
/* : Bool */;
3222 val
* var9
/* : ANeExpr */;
3223 val
* var_pexprnode1
/* var pexprnode1: nullable ANeExpr */;
3224 long var10
/* : Int */;
3225 long var11
/* : Int */;
3228 var_node_list
= var
;
3230 var1
= parser_work__Parser__pop(var_p
);
3232 var_nodearraylist4
= var1
;
3234 var2
= parser_work__Parser__pop(var_p
);
3236 var_nodearraylist3
= var2
;
3238 var3
= parser_work__Parser__pop(var_p
);
3240 var_nodearraylist2
= var3
;
3242 var4
= parser_work__Parser__pop(var_p
);
3244 var_nodearraylist1
= var4
;
3245 var_pexprnode2
= var_nodearraylist1
;
3246 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3247 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3248 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3249 if(var_pexprnode2
== NULL
) {
3252 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3255 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3258 if (unlikely(!var5
)) {
3259 PRINT_ERROR("Runtime error: %s", "Assert failed");
3260 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7788);
3263 var_pexprnode3
= var_nodearraylist4
;
3264 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3265 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3266 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3267 if(var_pexprnode3
== NULL
) {
3270 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3273 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3276 if (unlikely(!var6
)) {
3277 PRINT_ERROR("Runtime error: %s", "Assert failed");
3278 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7790);
3281 var9
= NEW_parser_nodes__ANeExpr(&type_parser_nodes__ANeExpr
);
3283 parser_prod__ANeExpr__init_aneexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ANeExpr#init_aneexpr on <var9:ANeExpr>*/
3285 var_pexprnode1
= var9
;
3286 var_node_list
= var_pexprnode1
;
3287 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction280> */
3289 var11
= parser_work__Parser__go_to(var_p
, var10
);
3292 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3296 /* method parser#ReduceAction280#action for (self: Object, Parser) */
3297 void VIRTUAL_parser__ReduceAction280__action(val
* self
, val
* p0
) {
3298 parser__ReduceAction280__action(self
, p0
); /* Direct call parser#ReduceAction280#action on <self:Object(ReduceAction280)>*/
3301 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
3302 void parser__ReduceAction281__action(val
* self
, val
* p0
) {
3303 val
* var_p
/* var p: Parser */;
3304 val
* var
/* : null */;
3305 val
* var_node_list
/* var node_list: nullable Object */;
3306 val
* var1
/* : nullable Object */;
3307 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3308 val
* var2
/* : nullable Object */;
3309 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3310 val
* var3
/* : nullable Object */;
3311 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3312 val
* var4
/* : nullable Object */;
3313 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3314 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3315 short int var5
/* : Bool */;
3318 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3319 short int var6
/* : Bool */;
3322 val
* var9
/* : ALtExpr */;
3323 val
* var_pexprnode1
/* var pexprnode1: nullable ALtExpr */;
3324 long var10
/* : Int */;
3325 long var11
/* : Int */;
3328 var_node_list
= var
;
3330 var1
= parser_work__Parser__pop(var_p
);
3332 var_nodearraylist4
= var1
;
3334 var2
= parser_work__Parser__pop(var_p
);
3336 var_nodearraylist3
= var2
;
3338 var3
= parser_work__Parser__pop(var_p
);
3340 var_nodearraylist2
= var3
;
3342 var4
= parser_work__Parser__pop(var_p
);
3344 var_nodearraylist1
= var4
;
3345 var_pexprnode2
= var_nodearraylist1
;
3346 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3347 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3348 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3349 if(var_pexprnode2
== NULL
) {
3352 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3355 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3358 if (unlikely(!var5
)) {
3359 PRINT_ERROR("Runtime error: %s", "Assert failed");
3360 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7809);
3363 var_pexprnode3
= var_nodearraylist4
;
3364 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3365 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3366 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3367 if(var_pexprnode3
== NULL
) {
3370 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3373 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3376 if (unlikely(!var6
)) {
3377 PRINT_ERROR("Runtime error: %s", "Assert failed");
3378 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7811);
3381 var9
= NEW_parser_nodes__ALtExpr(&type_parser_nodes__ALtExpr
);
3383 parser_prod__ALtExpr__init_altexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALtExpr#init_altexpr on <var9:ALtExpr>*/
3385 var_pexprnode1
= var9
;
3386 var_node_list
= var_pexprnode1
;
3387 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction281> */
3389 var11
= parser_work__Parser__go_to(var_p
, var10
);
3392 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3396 /* method parser#ReduceAction281#action for (self: Object, Parser) */
3397 void VIRTUAL_parser__ReduceAction281__action(val
* self
, val
* p0
) {
3398 parser__ReduceAction281__action(self
, p0
); /* Direct call parser#ReduceAction281#action on <self:Object(ReduceAction281)>*/
3401 /* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */
3402 void parser__ReduceAction282__action(val
* self
, val
* p0
) {
3403 val
* var_p
/* var p: Parser */;
3404 val
* var
/* : null */;
3405 val
* var_node_list
/* var node_list: nullable Object */;
3406 val
* var1
/* : nullable Object */;
3407 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3408 val
* var2
/* : nullable Object */;
3409 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3410 val
* var3
/* : nullable Object */;
3411 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3412 val
* var4
/* : nullable Object */;
3413 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3414 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3415 short int var5
/* : Bool */;
3418 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3419 short int var6
/* : Bool */;
3422 val
* var9
/* : ALeExpr */;
3423 val
* var_pexprnode1
/* var pexprnode1: nullable ALeExpr */;
3424 long var10
/* : Int */;
3425 long var11
/* : Int */;
3428 var_node_list
= var
;
3430 var1
= parser_work__Parser__pop(var_p
);
3432 var_nodearraylist4
= var1
;
3434 var2
= parser_work__Parser__pop(var_p
);
3436 var_nodearraylist3
= var2
;
3438 var3
= parser_work__Parser__pop(var_p
);
3440 var_nodearraylist2
= var3
;
3442 var4
= parser_work__Parser__pop(var_p
);
3444 var_nodearraylist1
= var4
;
3445 var_pexprnode2
= var_nodearraylist1
;
3446 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3447 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3448 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3449 if(var_pexprnode2
== NULL
) {
3452 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3455 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3458 if (unlikely(!var5
)) {
3459 PRINT_ERROR("Runtime error: %s", "Assert failed");
3460 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7830);
3463 var_pexprnode3
= var_nodearraylist4
;
3464 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3465 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3466 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3467 if(var_pexprnode3
== NULL
) {
3470 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3473 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3476 if (unlikely(!var6
)) {
3477 PRINT_ERROR("Runtime error: %s", "Assert failed");
3478 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7832);
3481 var9
= NEW_parser_nodes__ALeExpr(&type_parser_nodes__ALeExpr
);
3483 parser_prod__ALeExpr__init_aleexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALeExpr#init_aleexpr on <var9:ALeExpr>*/
3485 var_pexprnode1
= var9
;
3486 var_node_list
= var_pexprnode1
;
3487 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction282> */
3489 var11
= parser_work__Parser__go_to(var_p
, var10
);
3492 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3496 /* method parser#ReduceAction282#action for (self: Object, Parser) */
3497 void VIRTUAL_parser__ReduceAction282__action(val
* self
, val
* p0
) {
3498 parser__ReduceAction282__action(self
, p0
); /* Direct call parser#ReduceAction282#action on <self:Object(ReduceAction282)>*/
3501 /* method parser#ReduceAction283#action for (self: ReduceAction283, Parser) */
3502 void parser__ReduceAction283__action(val
* self
, val
* p0
) {
3503 val
* var_p
/* var p: Parser */;
3504 val
* var
/* : null */;
3505 val
* var_node_list
/* var node_list: nullable Object */;
3506 val
* var1
/* : nullable Object */;
3507 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3508 val
* var2
/* : nullable Object */;
3509 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3510 val
* var3
/* : nullable Object */;
3511 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3512 val
* var4
/* : nullable Object */;
3513 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3514 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3515 short int var5
/* : Bool */;
3518 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3519 short int var6
/* : Bool */;
3522 val
* var9
/* : ALlExpr */;
3523 val
* var_pexprnode1
/* var pexprnode1: nullable ALlExpr */;
3524 long var10
/* : Int */;
3525 long var11
/* : Int */;
3528 var_node_list
= var
;
3530 var1
= parser_work__Parser__pop(var_p
);
3532 var_nodearraylist4
= var1
;
3534 var2
= parser_work__Parser__pop(var_p
);
3536 var_nodearraylist3
= var2
;
3538 var3
= parser_work__Parser__pop(var_p
);
3540 var_nodearraylist2
= var3
;
3542 var4
= parser_work__Parser__pop(var_p
);
3544 var_nodearraylist1
= var4
;
3545 var_pexprnode2
= var_nodearraylist1
;
3546 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3547 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3548 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3549 if(var_pexprnode2
== NULL
) {
3552 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3555 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3558 if (unlikely(!var5
)) {
3559 PRINT_ERROR("Runtime error: %s", "Assert failed");
3560 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7851);
3563 var_pexprnode3
= var_nodearraylist4
;
3564 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3565 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3566 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3567 if(var_pexprnode3
== NULL
) {
3570 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3573 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3576 if (unlikely(!var6
)) {
3577 PRINT_ERROR("Runtime error: %s", "Assert failed");
3578 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7853);
3581 var9
= NEW_parser_nodes__ALlExpr(&type_parser_nodes__ALlExpr
);
3583 parser_prod__ALlExpr__init_allexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALlExpr#init_allexpr on <var9:ALlExpr>*/
3585 var_pexprnode1
= var9
;
3586 var_node_list
= var_pexprnode1
;
3587 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction283> */
3589 var11
= parser_work__Parser__go_to(var_p
, var10
);
3592 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3596 /* method parser#ReduceAction283#action for (self: Object, Parser) */
3597 void VIRTUAL_parser__ReduceAction283__action(val
* self
, val
* p0
) {
3598 parser__ReduceAction283__action(self
, p0
); /* Direct call parser#ReduceAction283#action on <self:Object(ReduceAction283)>*/
3601 /* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */
3602 void parser__ReduceAction284__action(val
* self
, val
* p0
) {
3603 val
* var_p
/* var p: Parser */;
3604 val
* var
/* : null */;
3605 val
* var_node_list
/* var node_list: nullable Object */;
3606 val
* var1
/* : nullable Object */;
3607 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3608 val
* var2
/* : nullable Object */;
3609 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3610 val
* var3
/* : nullable Object */;
3611 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3612 val
* var4
/* : nullable Object */;
3613 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3614 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3615 short int var5
/* : Bool */;
3618 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3619 short int var6
/* : Bool */;
3622 val
* var9
/* : AGtExpr */;
3623 val
* var_pexprnode1
/* var pexprnode1: nullable AGtExpr */;
3624 long var10
/* : Int */;
3625 long var11
/* : Int */;
3628 var_node_list
= var
;
3630 var1
= parser_work__Parser__pop(var_p
);
3632 var_nodearraylist4
= var1
;
3634 var2
= parser_work__Parser__pop(var_p
);
3636 var_nodearraylist3
= var2
;
3638 var3
= parser_work__Parser__pop(var_p
);
3640 var_nodearraylist2
= var3
;
3642 var4
= parser_work__Parser__pop(var_p
);
3644 var_nodearraylist1
= var4
;
3645 var_pexprnode2
= var_nodearraylist1
;
3646 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3647 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3648 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3649 if(var_pexprnode2
== NULL
) {
3652 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3655 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3658 if (unlikely(!var5
)) {
3659 PRINT_ERROR("Runtime error: %s", "Assert failed");
3660 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7872);
3663 var_pexprnode3
= var_nodearraylist4
;
3664 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3665 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3666 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3667 if(var_pexprnode3
== NULL
) {
3670 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3673 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3676 if (unlikely(!var6
)) {
3677 PRINT_ERROR("Runtime error: %s", "Assert failed");
3678 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7874);
3681 var9
= NEW_parser_nodes__AGtExpr(&type_parser_nodes__AGtExpr
);
3683 parser_prod__AGtExpr__init_agtexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGtExpr#init_agtexpr on <var9:AGtExpr>*/
3685 var_pexprnode1
= var9
;
3686 var_node_list
= var_pexprnode1
;
3687 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction284> */
3689 var11
= parser_work__Parser__go_to(var_p
, var10
);
3692 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3696 /* method parser#ReduceAction284#action for (self: Object, Parser) */
3697 void VIRTUAL_parser__ReduceAction284__action(val
* self
, val
* p0
) {
3698 parser__ReduceAction284__action(self
, p0
); /* Direct call parser#ReduceAction284#action on <self:Object(ReduceAction284)>*/
3701 /* method parser#ReduceAction285#action for (self: ReduceAction285, Parser) */
3702 void parser__ReduceAction285__action(val
* self
, val
* p0
) {
3703 val
* var_p
/* var p: Parser */;
3704 val
* var
/* : null */;
3705 val
* var_node_list
/* var node_list: nullable Object */;
3706 val
* var1
/* : nullable Object */;
3707 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3708 val
* var2
/* : nullable Object */;
3709 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3710 val
* var3
/* : nullable Object */;
3711 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3712 val
* var4
/* : nullable Object */;
3713 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3714 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3715 short int var5
/* : Bool */;
3718 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3719 short int var6
/* : Bool */;
3722 val
* var9
/* : AGeExpr */;
3723 val
* var_pexprnode1
/* var pexprnode1: nullable AGeExpr */;
3724 long var10
/* : Int */;
3725 long var11
/* : Int */;
3728 var_node_list
= var
;
3730 var1
= parser_work__Parser__pop(var_p
);
3732 var_nodearraylist4
= var1
;
3734 var2
= parser_work__Parser__pop(var_p
);
3736 var_nodearraylist3
= var2
;
3738 var3
= parser_work__Parser__pop(var_p
);
3740 var_nodearraylist2
= var3
;
3742 var4
= parser_work__Parser__pop(var_p
);
3744 var_nodearraylist1
= var4
;
3745 var_pexprnode2
= var_nodearraylist1
;
3746 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3747 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3748 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3749 if(var_pexprnode2
== NULL
) {
3752 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3755 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3758 if (unlikely(!var5
)) {
3759 PRINT_ERROR("Runtime error: %s", "Assert failed");
3760 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7893);
3763 var_pexprnode3
= var_nodearraylist4
;
3764 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3765 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3766 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3767 if(var_pexprnode3
== NULL
) {
3770 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3773 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3776 if (unlikely(!var6
)) {
3777 PRINT_ERROR("Runtime error: %s", "Assert failed");
3778 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7895);
3781 var9
= NEW_parser_nodes__AGeExpr(&type_parser_nodes__AGeExpr
);
3783 parser_prod__AGeExpr__init_ageexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGeExpr#init_ageexpr on <var9:AGeExpr>*/
3785 var_pexprnode1
= var9
;
3786 var_node_list
= var_pexprnode1
;
3787 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction285> */
3789 var11
= parser_work__Parser__go_to(var_p
, var10
);
3792 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3796 /* method parser#ReduceAction285#action for (self: Object, Parser) */
3797 void VIRTUAL_parser__ReduceAction285__action(val
* self
, val
* p0
) {
3798 parser__ReduceAction285__action(self
, p0
); /* Direct call parser#ReduceAction285#action on <self:Object(ReduceAction285)>*/
3801 /* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */
3802 void parser__ReduceAction286__action(val
* self
, val
* p0
) {
3803 val
* var_p
/* var p: Parser */;
3804 val
* var
/* : null */;
3805 val
* var_node_list
/* var node_list: nullable Object */;
3806 val
* var1
/* : nullable Object */;
3807 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3808 val
* var2
/* : nullable Object */;
3809 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3810 val
* var3
/* : nullable Object */;
3811 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3812 val
* var4
/* : nullable Object */;
3813 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3814 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3815 short int var5
/* : Bool */;
3818 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3819 short int var6
/* : Bool */;
3822 val
* var9
/* : AGgExpr */;
3823 val
* var_pexprnode1
/* var pexprnode1: nullable AGgExpr */;
3824 long var10
/* : Int */;
3825 long var11
/* : Int */;
3828 var_node_list
= var
;
3830 var1
= parser_work__Parser__pop(var_p
);
3832 var_nodearraylist4
= var1
;
3834 var2
= parser_work__Parser__pop(var_p
);
3836 var_nodearraylist3
= var2
;
3838 var3
= parser_work__Parser__pop(var_p
);
3840 var_nodearraylist2
= var3
;
3842 var4
= parser_work__Parser__pop(var_p
);
3844 var_nodearraylist1
= var4
;
3845 var_pexprnode2
= var_nodearraylist1
;
3846 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3847 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3848 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3849 if(var_pexprnode2
== NULL
) {
3852 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3855 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3858 if (unlikely(!var5
)) {
3859 PRINT_ERROR("Runtime error: %s", "Assert failed");
3860 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7914);
3863 var_pexprnode3
= var_nodearraylist4
;
3864 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3865 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3866 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3867 if(var_pexprnode3
== NULL
) {
3870 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3873 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3876 if (unlikely(!var6
)) {
3877 PRINT_ERROR("Runtime error: %s", "Assert failed");
3878 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7916);
3881 var9
= NEW_parser_nodes__AGgExpr(&type_parser_nodes__AGgExpr
);
3883 parser_prod__AGgExpr__init_aggexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGgExpr#init_aggexpr on <var9:AGgExpr>*/
3885 var_pexprnode1
= var9
;
3886 var_node_list
= var_pexprnode1
;
3887 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction286> */
3889 var11
= parser_work__Parser__go_to(var_p
, var10
);
3892 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3896 /* method parser#ReduceAction286#action for (self: Object, Parser) */
3897 void VIRTUAL_parser__ReduceAction286__action(val
* self
, val
* p0
) {
3898 parser__ReduceAction286__action(self
, p0
); /* Direct call parser#ReduceAction286#action on <self:Object(ReduceAction286)>*/
3901 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
3902 void parser__ReduceAction287__action(val
* self
, val
* p0
) {
3903 val
* var_p
/* var p: Parser */;
3904 val
* var
/* : null */;
3905 val
* var_node_list
/* var node_list: nullable Object */;
3906 val
* var1
/* : nullable Object */;
3907 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3908 val
* var2
/* : nullable Object */;
3909 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3910 val
* var3
/* : nullable Object */;
3911 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3912 val
* var4
/* : nullable Object */;
3913 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3914 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3915 short int var5
/* : Bool */;
3918 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3919 short int var6
/* : Bool */;
3922 val
* var9
/* : AStarshipExpr */;
3923 val
* var_pexprnode1
/* var pexprnode1: nullable AStarshipExpr */;
3924 long var10
/* : Int */;
3925 long var11
/* : Int */;
3928 var_node_list
= var
;
3930 var1
= parser_work__Parser__pop(var_p
);
3932 var_nodearraylist4
= var1
;
3934 var2
= parser_work__Parser__pop(var_p
);
3936 var_nodearraylist3
= var2
;
3938 var3
= parser_work__Parser__pop(var_p
);
3940 var_nodearraylist2
= var3
;
3942 var4
= parser_work__Parser__pop(var_p
);
3944 var_nodearraylist1
= var4
;
3945 var_pexprnode2
= var_nodearraylist1
;
3946 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3947 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3948 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3949 if(var_pexprnode2
== NULL
) {
3952 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3955 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3958 if (unlikely(!var5
)) {
3959 PRINT_ERROR("Runtime error: %s", "Assert failed");
3960 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7935);
3963 var_pexprnode3
= var_nodearraylist4
;
3964 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3965 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3966 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3967 if(var_pexprnode3
== NULL
) {
3970 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3973 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3976 if (unlikely(!var6
)) {
3977 PRINT_ERROR("Runtime error: %s", "Assert failed");
3978 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7937);
3981 var9
= NEW_parser_nodes__AStarshipExpr(&type_parser_nodes__AStarshipExpr
);
3983 parser_prod__AStarshipExpr__init_astarshipexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on <var9:AStarshipExpr>*/
3985 var_pexprnode1
= var9
;
3986 var_node_list
= var_pexprnode1
;
3987 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction287> */
3989 var11
= parser_work__Parser__go_to(var_p
, var10
);
3992 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3996 /* method parser#ReduceAction287#action for (self: Object, Parser) */
3997 void VIRTUAL_parser__ReduceAction287__action(val
* self
, val
* p0
) {
3998 parser__ReduceAction287__action(self
, p0
); /* Direct call parser#ReduceAction287#action on <self:Object(ReduceAction287)>*/
4001 /* method parser#ReduceAction288#action for (self: ReduceAction288, Parser) */
4002 void parser__ReduceAction288__action(val
* self
, val
* p0
) {
4003 val
* var_p
/* var p: Parser */;
4004 val
* var
/* : null */;
4005 val
* var_node_list
/* var node_list: nullable Object */;
4006 val
* var1
/* : nullable Object */;
4007 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4008 val
* var2
/* : nullable Object */;
4009 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4010 val
* var3
/* : nullable Object */;
4011 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4012 val
* var4
/* : nullable Object */;
4013 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4014 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4015 short int var5
/* : Bool */;
4018 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
4019 short int var6
/* : Bool */;
4022 val
* var9
/* : AIsaExpr */;
4023 val
* var_pexprnode1
/* var pexprnode1: nullable AIsaExpr */;
4024 long var10
/* : Int */;
4025 long var11
/* : Int */;
4028 var_node_list
= var
;
4030 var1
= parser_work__Parser__pop(var_p
);
4032 var_nodearraylist4
= var1
;
4034 var2
= parser_work__Parser__pop(var_p
);
4036 var_nodearraylist3
= var2
;
4038 var3
= parser_work__Parser__pop(var_p
);
4040 var_nodearraylist2
= var3
;
4042 var4
= parser_work__Parser__pop(var_p
);
4044 var_nodearraylist1
= var4
;
4045 var_pexprnode2
= var_nodearraylist1
;
4046 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4047 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4048 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4049 if(var_pexprnode2
== NULL
) {
4052 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4055 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4058 if (unlikely(!var5
)) {
4059 PRINT_ERROR("Runtime error: %s", "Assert failed");
4060 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7956);
4063 var_ptypenode3
= var_nodearraylist4
;
4064 /* <var_ptypenode3:nullable Object> isa nullable AType */
4065 cltype7
= type_nullable_parser_nodes__AType
.color
;
4066 idtype8
= type_nullable_parser_nodes__AType
.id
;
4067 if(var_ptypenode3
== NULL
) {
4070 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
4073 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
4076 if (unlikely(!var6
)) {
4077 PRINT_ERROR("Runtime error: %s", "Assert failed");
4078 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7958);
4081 var9
= NEW_parser_nodes__AIsaExpr(&type_parser_nodes__AIsaExpr
);
4083 parser_prod__AIsaExpr__init_aisaexpr(var9
, var_pexprnode2
, var_ptypenode3
); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on <var9:AIsaExpr>*/
4085 var_pexprnode1
= var9
;
4086 var_node_list
= var_pexprnode1
;
4087 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction288> */
4089 var11
= parser_work__Parser__go_to(var_p
, var10
);
4092 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4096 /* method parser#ReduceAction288#action for (self: Object, Parser) */
4097 void VIRTUAL_parser__ReduceAction288__action(val
* self
, val
* p0
) {
4098 parser__ReduceAction288__action(self
, p0
); /* Direct call parser#ReduceAction288#action on <self:Object(ReduceAction288)>*/
4101 /* method parser#ReduceAction290#action for (self: ReduceAction290, Parser) */
4102 void parser__ReduceAction290__action(val
* self
, val
* p0
) {
4103 val
* var_p
/* var p: Parser */;
4104 val
* var
/* : null */;
4105 val
* var_node_list
/* var node_list: nullable Object */;
4106 val
* var1
/* : nullable Object */;
4107 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4108 val
* var2
/* : nullable Object */;
4109 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4110 val
* var3
/* : nullable Object */;
4111 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4112 val
* var4
/* : nullable Object */;
4113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4114 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4115 short int var5
/* : Bool */;
4118 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4119 short int var6
/* : Bool */;
4122 val
* var9
/* : APlusExpr */;
4123 val
* var_pexprnode1
/* var pexprnode1: nullable APlusExpr */;
4124 long var10
/* : Int */;
4125 long var11
/* : Int */;
4128 var_node_list
= var
;
4130 var1
= parser_work__Parser__pop(var_p
);
4132 var_nodearraylist4
= var1
;
4134 var2
= parser_work__Parser__pop(var_p
);
4136 var_nodearraylist3
= var2
;
4138 var3
= parser_work__Parser__pop(var_p
);
4140 var_nodearraylist2
= var3
;
4142 var4
= parser_work__Parser__pop(var_p
);
4144 var_nodearraylist1
= var4
;
4145 var_pexprnode2
= var_nodearraylist1
;
4146 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4147 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4148 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4149 if(var_pexprnode2
== NULL
) {
4152 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4155 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4158 if (unlikely(!var5
)) {
4159 PRINT_ERROR("Runtime error: %s", "Assert failed");
4160 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7977);
4163 var_pexprnode3
= var_nodearraylist4
;
4164 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4165 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4166 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4167 if(var_pexprnode3
== NULL
) {
4170 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4173 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4176 if (unlikely(!var6
)) {
4177 PRINT_ERROR("Runtime error: %s", "Assert failed");
4178 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7979);
4181 var9
= NEW_parser_nodes__APlusExpr(&type_parser_nodes__APlusExpr
);
4183 parser_prod__APlusExpr__init_aplusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APlusExpr#init_aplusexpr on <var9:APlusExpr>*/
4185 var_pexprnode1
= var9
;
4186 var_node_list
= var_pexprnode1
;
4187 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction290> */
4189 var11
= parser_work__Parser__go_to(var_p
, var10
);
4192 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4196 /* method parser#ReduceAction290#action for (self: Object, Parser) */
4197 void VIRTUAL_parser__ReduceAction290__action(val
* self
, val
* p0
) {
4198 parser__ReduceAction290__action(self
, p0
); /* Direct call parser#ReduceAction290#action on <self:Object(ReduceAction290)>*/
4201 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
4202 void parser__ReduceAction291__action(val
* self
, val
* p0
) {
4203 val
* var_p
/* var p: Parser */;
4204 val
* var
/* : null */;
4205 val
* var_node_list
/* var node_list: nullable Object */;
4206 val
* var1
/* : nullable Object */;
4207 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4208 val
* var2
/* : nullable Object */;
4209 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4210 val
* var3
/* : nullable Object */;
4211 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4212 val
* var4
/* : nullable Object */;
4213 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4214 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4215 short int var5
/* : Bool */;
4218 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4219 short int var6
/* : Bool */;
4222 val
* var9
/* : AMinusExpr */;
4223 val
* var_pexprnode1
/* var pexprnode1: nullable AMinusExpr */;
4224 long var10
/* : Int */;
4225 long var11
/* : Int */;
4228 var_node_list
= var
;
4230 var1
= parser_work__Parser__pop(var_p
);
4232 var_nodearraylist4
= var1
;
4234 var2
= parser_work__Parser__pop(var_p
);
4236 var_nodearraylist3
= var2
;
4238 var3
= parser_work__Parser__pop(var_p
);
4240 var_nodearraylist2
= var3
;
4242 var4
= parser_work__Parser__pop(var_p
);
4244 var_nodearraylist1
= var4
;
4245 var_pexprnode2
= var_nodearraylist1
;
4246 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4247 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4248 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4249 if(var_pexprnode2
== NULL
) {
4252 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4255 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4258 if (unlikely(!var5
)) {
4259 PRINT_ERROR("Runtime error: %s", "Assert failed");
4260 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7998);
4263 var_pexprnode3
= var_nodearraylist4
;
4264 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4265 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4266 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4267 if(var_pexprnode3
== NULL
) {
4270 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4273 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4276 if (unlikely(!var6
)) {
4277 PRINT_ERROR("Runtime error: %s", "Assert failed");
4278 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8000);
4281 var9
= NEW_parser_nodes__AMinusExpr(&type_parser_nodes__AMinusExpr
);
4283 parser_prod__AMinusExpr__init_aminusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on <var9:AMinusExpr>*/
4285 var_pexprnode1
= var9
;
4286 var_node_list
= var_pexprnode1
;
4287 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction291> */
4289 var11
= parser_work__Parser__go_to(var_p
, var10
);
4292 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4296 /* method parser#ReduceAction291#action for (self: Object, Parser) */
4297 void VIRTUAL_parser__ReduceAction291__action(val
* self
, val
* p0
) {
4298 parser__ReduceAction291__action(self
, p0
); /* Direct call parser#ReduceAction291#action on <self:Object(ReduceAction291)>*/
4301 /* method parser#ReduceAction293#action for (self: ReduceAction293, Parser) */
4302 void parser__ReduceAction293__action(val
* self
, val
* p0
) {
4303 val
* var_p
/* var p: Parser */;
4304 val
* var
/* : null */;
4305 val
* var_node_list
/* var node_list: nullable Object */;
4306 val
* var1
/* : nullable Object */;
4307 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4308 val
* var2
/* : nullable Object */;
4309 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4310 val
* var3
/* : nullable Object */;
4311 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4312 val
* var4
/* : nullable Object */;
4313 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4314 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4315 short int var5
/* : Bool */;
4318 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4319 short int var6
/* : Bool */;
4322 val
* var9
/* : AStarExpr */;
4323 val
* var_pexprnode1
/* var pexprnode1: nullable AStarExpr */;
4324 long var10
/* : Int */;
4325 long var11
/* : Int */;
4328 var_node_list
= var
;
4330 var1
= parser_work__Parser__pop(var_p
);
4332 var_nodearraylist4
= var1
;
4334 var2
= parser_work__Parser__pop(var_p
);
4336 var_nodearraylist3
= var2
;
4338 var3
= parser_work__Parser__pop(var_p
);
4340 var_nodearraylist2
= var3
;
4342 var4
= parser_work__Parser__pop(var_p
);
4344 var_nodearraylist1
= var4
;
4345 var_pexprnode2
= var_nodearraylist1
;
4346 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4347 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4348 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4349 if(var_pexprnode2
== NULL
) {
4352 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4355 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4358 if (unlikely(!var5
)) {
4359 PRINT_ERROR("Runtime error: %s", "Assert failed");
4360 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8019);
4363 var_pexprnode3
= var_nodearraylist4
;
4364 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4365 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4366 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4367 if(var_pexprnode3
== NULL
) {
4370 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4373 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4376 if (unlikely(!var6
)) {
4377 PRINT_ERROR("Runtime error: %s", "Assert failed");
4378 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8021);
4381 var9
= NEW_parser_nodes__AStarExpr(&type_parser_nodes__AStarExpr
);
4383 parser_prod__AStarExpr__init_astarexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarExpr#init_astarexpr on <var9:AStarExpr>*/
4385 var_pexprnode1
= var9
;
4386 var_node_list
= var_pexprnode1
;
4387 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction293> */
4389 var11
= parser_work__Parser__go_to(var_p
, var10
);
4392 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4396 /* method parser#ReduceAction293#action for (self: Object, Parser) */
4397 void VIRTUAL_parser__ReduceAction293__action(val
* self
, val
* p0
) {
4398 parser__ReduceAction293__action(self
, p0
); /* Direct call parser#ReduceAction293#action on <self:Object(ReduceAction293)>*/
4401 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
4402 void parser__ReduceAction294__action(val
* self
, val
* p0
) {
4403 val
* var_p
/* var p: Parser */;
4404 val
* var
/* : null */;
4405 val
* var_node_list
/* var node_list: nullable Object */;
4406 val
* var1
/* : nullable Object */;
4407 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4408 val
* var2
/* : nullable Object */;
4409 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4410 val
* var3
/* : nullable Object */;
4411 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4412 val
* var4
/* : nullable Object */;
4413 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4414 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4415 short int var5
/* : Bool */;
4418 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4419 short int var6
/* : Bool */;
4422 val
* var9
/* : ASlashExpr */;
4423 val
* var_pexprnode1
/* var pexprnode1: nullable ASlashExpr */;
4424 long var10
/* : Int */;
4425 long var11
/* : Int */;
4428 var_node_list
= var
;
4430 var1
= parser_work__Parser__pop(var_p
);
4432 var_nodearraylist4
= var1
;
4434 var2
= parser_work__Parser__pop(var_p
);
4436 var_nodearraylist3
= var2
;
4438 var3
= parser_work__Parser__pop(var_p
);
4440 var_nodearraylist2
= var3
;
4442 var4
= parser_work__Parser__pop(var_p
);
4444 var_nodearraylist1
= var4
;
4445 var_pexprnode2
= var_nodearraylist1
;
4446 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4447 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4448 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4449 if(var_pexprnode2
== NULL
) {
4452 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4455 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4458 if (unlikely(!var5
)) {
4459 PRINT_ERROR("Runtime error: %s", "Assert failed");
4460 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8040);
4463 var_pexprnode3
= var_nodearraylist4
;
4464 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4465 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4466 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4467 if(var_pexprnode3
== NULL
) {
4470 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4473 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4476 if (unlikely(!var6
)) {
4477 PRINT_ERROR("Runtime error: %s", "Assert failed");
4478 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8042);
4481 var9
= NEW_parser_nodes__ASlashExpr(&type_parser_nodes__ASlashExpr
);
4483 parser_prod__ASlashExpr__init_aslashexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on <var9:ASlashExpr>*/
4485 var_pexprnode1
= var9
;
4486 var_node_list
= var_pexprnode1
;
4487 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction294> */
4489 var11
= parser_work__Parser__go_to(var_p
, var10
);
4492 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4496 /* method parser#ReduceAction294#action for (self: Object, Parser) */
4497 void VIRTUAL_parser__ReduceAction294__action(val
* self
, val
* p0
) {
4498 parser__ReduceAction294__action(self
, p0
); /* Direct call parser#ReduceAction294#action on <self:Object(ReduceAction294)>*/
4501 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
4502 void parser__ReduceAction295__action(val
* self
, val
* p0
) {
4503 val
* var_p
/* var p: Parser */;
4504 val
* var
/* : null */;
4505 val
* var_node_list
/* var node_list: nullable Object */;
4506 val
* var1
/* : nullable Object */;
4507 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4508 val
* var2
/* : nullable Object */;
4509 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4510 val
* var3
/* : nullable Object */;
4511 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4512 val
* var4
/* : nullable Object */;
4513 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4514 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4515 short int var5
/* : Bool */;
4518 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4519 short int var6
/* : Bool */;
4522 val
* var9
/* : APercentExpr */;
4523 val
* var_pexprnode1
/* var pexprnode1: nullable APercentExpr */;
4524 long var10
/* : Int */;
4525 long var11
/* : Int */;
4528 var_node_list
= var
;
4530 var1
= parser_work__Parser__pop(var_p
);
4532 var_nodearraylist4
= var1
;
4534 var2
= parser_work__Parser__pop(var_p
);
4536 var_nodearraylist3
= var2
;
4538 var3
= parser_work__Parser__pop(var_p
);
4540 var_nodearraylist2
= var3
;
4542 var4
= parser_work__Parser__pop(var_p
);
4544 var_nodearraylist1
= var4
;
4545 var_pexprnode2
= var_nodearraylist1
;
4546 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4547 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4548 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4549 if(var_pexprnode2
== NULL
) {
4552 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4555 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4558 if (unlikely(!var5
)) {
4559 PRINT_ERROR("Runtime error: %s", "Assert failed");
4560 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8061);
4563 var_pexprnode3
= var_nodearraylist4
;
4564 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4565 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4566 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4567 if(var_pexprnode3
== NULL
) {
4570 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4573 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4576 if (unlikely(!var6
)) {
4577 PRINT_ERROR("Runtime error: %s", "Assert failed");
4578 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8063);
4581 var9
= NEW_parser_nodes__APercentExpr(&type_parser_nodes__APercentExpr
);
4583 parser_prod__APercentExpr__init_apercentexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APercentExpr#init_apercentexpr on <var9:APercentExpr>*/
4585 var_pexprnode1
= var9
;
4586 var_node_list
= var_pexprnode1
;
4587 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction295> */
4589 var11
= parser_work__Parser__go_to(var_p
, var10
);
4592 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4596 /* method parser#ReduceAction295#action for (self: Object, Parser) */
4597 void VIRTUAL_parser__ReduceAction295__action(val
* self
, val
* p0
) {
4598 parser__ReduceAction295__action(self
, p0
); /* Direct call parser#ReduceAction295#action on <self:Object(ReduceAction295)>*/
4601 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
4602 void parser__ReduceAction297__action(val
* self
, val
* p0
) {
4603 val
* var_p
/* var p: Parser */;
4604 val
* var
/* : null */;
4605 val
* var_node_list
/* var node_list: nullable Object */;
4606 val
* var1
/* : nullable Object */;
4607 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4608 val
* var2
/* : nullable Object */;
4609 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4610 val
* var3
/* : nullable Object */;
4611 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4612 val
* var4
/* : nullable Object */;
4613 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4614 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4615 short int var5
/* : Bool */;
4618 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4619 short int var6
/* : Bool */;
4622 val
* var9
/* : AStarstarExpr */;
4623 val
* var_pexprnode1
/* var pexprnode1: nullable AStarstarExpr */;
4624 long var10
/* : Int */;
4625 long var11
/* : Int */;
4628 var_node_list
= var
;
4630 var1
= parser_work__Parser__pop(var_p
);
4632 var_nodearraylist4
= var1
;
4634 var2
= parser_work__Parser__pop(var_p
);
4636 var_nodearraylist3
= var2
;
4638 var3
= parser_work__Parser__pop(var_p
);
4640 var_nodearraylist2
= var3
;
4642 var4
= parser_work__Parser__pop(var_p
);
4644 var_nodearraylist1
= var4
;
4645 var_pexprnode2
= var_nodearraylist1
;
4646 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4647 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4648 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4649 if(var_pexprnode2
== NULL
) {
4652 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4655 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4658 if (unlikely(!var5
)) {
4659 PRINT_ERROR("Runtime error: %s", "Assert failed");
4660 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8082);
4663 var_pexprnode3
= var_nodearraylist4
;
4664 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4665 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4666 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4667 if(var_pexprnode3
== NULL
) {
4670 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4673 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4676 if (unlikely(!var6
)) {
4677 PRINT_ERROR("Runtime error: %s", "Assert failed");
4678 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8084);
4681 var9
= NEW_parser_nodes__AStarstarExpr(&type_parser_nodes__AStarstarExpr
);
4683 parser_prod__AStarstarExpr__init_astarstarexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on <var9:AStarstarExpr>*/
4685 var_pexprnode1
= var9
;
4686 var_node_list
= var_pexprnode1
;
4687 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction297> */
4689 var11
= parser_work__Parser__go_to(var_p
, var10
);
4692 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4696 /* method parser#ReduceAction297#action for (self: Object, Parser) */
4697 void VIRTUAL_parser__ReduceAction297__action(val
* self
, val
* p0
) {
4698 parser__ReduceAction297__action(self
, p0
); /* Direct call parser#ReduceAction297#action on <self:Object(ReduceAction297)>*/
4701 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
4702 void parser__ReduceAction299__action(val
* self
, val
* p0
) {
4703 val
* var_p
/* var p: Parser */;
4704 val
* var
/* : null */;
4705 val
* var_node_list
/* var node_list: nullable Object */;
4706 val
* var1
/* : nullable Object */;
4707 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4708 val
* var2
/* : nullable Object */;
4709 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4710 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
4711 short int var3
/* : Bool */;
4714 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4715 short int var4
/* : Bool */;
4718 val
* var7
/* : AUminusExpr */;
4719 val
* var_pexprnode1
/* var pexprnode1: nullable AUminusExpr */;
4720 long var8
/* : Int */;
4721 long var9
/* : Int */;
4724 var_node_list
= var
;
4726 var1
= parser_work__Parser__pop(var_p
);
4728 var_nodearraylist2
= var1
;
4730 var2
= parser_work__Parser__pop(var_p
);
4732 var_nodearraylist1
= var2
;
4733 var_tminusnode2
= var_nodearraylist1
;
4734 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
4735 cltype
= type_nullable_parser_nodes__TMinus
.color
;
4736 idtype
= type_nullable_parser_nodes__TMinus
.id
;
4737 if(var_tminusnode2
== NULL
) {
4740 if(cltype
>= var_tminusnode2
->type
->table_size
) {
4743 var3
= var_tminusnode2
->type
->type_table
[cltype
] == idtype
;
4746 if (unlikely(!var3
)) {
4747 PRINT_ERROR("Runtime error: %s", "Assert failed");
4748 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8101);
4751 var_pexprnode3
= var_nodearraylist2
;
4752 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4753 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
4754 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
4755 if(var_pexprnode3
== NULL
) {
4758 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
4761 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
4764 if (unlikely(!var4
)) {
4765 PRINT_ERROR("Runtime error: %s", "Assert failed");
4766 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8103);
4769 var7
= NEW_parser_nodes__AUminusExpr(&type_parser_nodes__AUminusExpr
);
4771 parser_prod__AUminusExpr__init_auminusexpr(var7
, var_tminusnode2
, var_pexprnode3
); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on <var7:AUminusExpr>*/
4773 var_pexprnode1
= var7
;
4774 var_node_list
= var_pexprnode1
;
4775 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction299> */
4777 var9
= parser_work__Parser__go_to(var_p
, var8
);
4780 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4784 /* method parser#ReduceAction299#action for (self: Object, Parser) */
4785 void VIRTUAL_parser__ReduceAction299__action(val
* self
, val
* p0
) {
4786 parser__ReduceAction299__action(self
, p0
); /* Direct call parser#ReduceAction299#action on <self:Object(ReduceAction299)>*/
4789 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
4790 void parser__ReduceAction300__action(val
* self
, val
* p0
) {
4791 val
* var_p
/* var p: Parser */;
4792 val
* var
/* : null */;
4793 val
* var_node_list
/* var node_list: nullable Object */;
4794 val
* var1
/* : nullable Object */;
4795 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4796 val
* var2
/* : nullable Object */;
4797 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4798 val
* var3
/* : nullable Object */;
4799 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4800 val
* var_tkwoncenode2
/* var tkwoncenode2: nullable Object */;
4801 short int var4
/* : Bool */;
4804 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4805 short int var5
/* : Bool */;
4808 val
* var8
/* : AOnceExpr */;
4809 val
* var_pexprnode1
/* var pexprnode1: nullable AOnceExpr */;
4810 long var9
/* : Int */;
4811 long var10
/* : Int */;
4814 var_node_list
= var
;
4816 var1
= parser_work__Parser__pop(var_p
);
4818 var_nodearraylist3
= var1
;
4820 var2
= parser_work__Parser__pop(var_p
);
4822 var_nodearraylist2
= var2
;
4824 var3
= parser_work__Parser__pop(var_p
);
4826 var_nodearraylist1
= var3
;
4827 var_tkwoncenode2
= var_nodearraylist1
;
4828 /* <var_tkwoncenode2:nullable Object> isa nullable TKwonce */
4829 cltype
= type_nullable_parser_nodes__TKwonce
.color
;
4830 idtype
= type_nullable_parser_nodes__TKwonce
.id
;
4831 if(var_tkwoncenode2
== NULL
) {
4834 if(cltype
>= var_tkwoncenode2
->type
->table_size
) {
4837 var4
= var_tkwoncenode2
->type
->type_table
[cltype
] == idtype
;
4840 if (unlikely(!var4
)) {
4841 PRINT_ERROR("Runtime error: %s", "Assert failed");
4842 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8121);
4845 var_pexprnode3
= var_nodearraylist3
;
4846 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4847 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
4848 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
4849 if(var_pexprnode3
== NULL
) {
4852 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
4855 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
4858 if (unlikely(!var5
)) {
4859 PRINT_ERROR("Runtime error: %s", "Assert failed");
4860 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8123);
4863 var8
= NEW_parser_nodes__AOnceExpr(&type_parser_nodes__AOnceExpr
);
4865 parser_prod__AOnceExpr__init_aonceexpr(var8
, var_tkwoncenode2
, var_pexprnode3
); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <var8:AOnceExpr>*/
4867 var_pexprnode1
= var8
;
4868 var_node_list
= var_pexprnode1
;
4869 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction300> */
4871 var10
= parser_work__Parser__go_to(var_p
, var9
);
4874 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4878 /* method parser#ReduceAction300#action for (self: Object, Parser) */
4879 void VIRTUAL_parser__ReduceAction300__action(val
* self
, val
* p0
) {
4880 parser__ReduceAction300__action(self
, p0
); /* Direct call parser#ReduceAction300#action on <self:Object(ReduceAction300)>*/
4883 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
4884 void parser__ReduceAction302__action(val
* self
, val
* p0
) {
4885 val
* var_p
/* var p: Parser */;
4886 val
* var
/* : null */;
4887 val
* var_node_list
/* var node_list: nullable Object */;
4888 val
* var1
/* : nullable Object */;
4889 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4890 val
* var2
/* : nullable Object */;
4891 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4892 val
* var3
/* : nullable Object */;
4893 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4894 val
* var4
/* : nullable Object */;
4895 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4896 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
4897 short int var5
/* : Bool */;
4900 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
4901 short int var6
/* : Bool */;
4904 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
4905 short int var9
/* : Bool */;
4908 val
* var12
/* : ANewExpr */;
4909 val
* var13
/* : null */;
4910 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
4911 long var14
/* : Int */;
4912 long var15
/* : Int */;
4915 var_node_list
= var
;
4917 var1
= parser_work__Parser__pop(var_p
);
4919 var_nodearraylist4
= var1
;
4921 var2
= parser_work__Parser__pop(var_p
);
4923 var_nodearraylist3
= var2
;
4925 var3
= parser_work__Parser__pop(var_p
);
4927 var_nodearraylist2
= var3
;
4929 var4
= parser_work__Parser__pop(var_p
);
4931 var_nodearraylist1
= var4
;
4932 var_tkwnewnode2
= var_nodearraylist1
;
4933 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
4934 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
4935 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
4936 if(var_tkwnewnode2
== NULL
) {
4939 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
4942 var5
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
4945 if (unlikely(!var5
)) {
4946 PRINT_ERROR("Runtime error: %s", "Assert failed");
4947 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8142);
4950 var_ptypenode3
= var_nodearraylist3
;
4951 /* <var_ptypenode3:nullable Object> isa nullable AType */
4952 cltype7
= type_nullable_parser_nodes__AType
.color
;
4953 idtype8
= type_nullable_parser_nodes__AType
.id
;
4954 if(var_ptypenode3
== NULL
) {
4957 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
4960 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
4963 if (unlikely(!var6
)) {
4964 PRINT_ERROR("Runtime error: %s", "Assert failed");
4965 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8144);
4968 var_pexprsnode5
= var_nodearraylist4
;
4969 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
4970 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
4971 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
4972 if(var_pexprsnode5
== NULL
) {
4975 if(cltype10
>= var_pexprsnode5
->type
->table_size
) {
4978 var9
= var_pexprsnode5
->type
->type_table
[cltype10
] == idtype11
;
4981 if (unlikely(!var9
)) {
4982 PRINT_ERROR("Runtime error: %s", "Assert failed");
4983 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8146);
4986 var12
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
4989 parser_prod__ANewExpr__init_anewexpr(var12
, var_tkwnewnode2
, var_ptypenode3
, var13
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var12:ANewExpr>*/
4991 var_pexprnode1
= var12
;
4992 var_node_list
= var_pexprnode1
;
4993 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction302> */
4995 var15
= parser_work__Parser__go_to(var_p
, var14
);
4998 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5002 /* method parser#ReduceAction302#action for (self: Object, Parser) */
5003 void VIRTUAL_parser__ReduceAction302__action(val
* self
, val
* p0
) {
5004 parser__ReduceAction302__action(self
, p0
); /* Direct call parser#ReduceAction302#action on <self:Object(ReduceAction302)>*/
5007 /* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */
5008 void parser__ReduceAction303__action(val
* self
, val
* p0
) {
5009 val
* var_p
/* var p: Parser */;
5010 val
* var
/* : null */;
5011 val
* var_node_list
/* var node_list: nullable Object */;
5012 val
* var1
/* : nullable Object */;
5013 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5014 val
* var2
/* : nullable Object */;
5015 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5016 val
* var3
/* : nullable Object */;
5017 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5018 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
5019 short int var4
/* : Bool */;
5022 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
5023 short int var5
/* : Bool */;
5026 val
* var8
/* : Array[Object] */;
5027 val
* var_listnode6
/* var listnode6: Array[Object] */;
5028 val
* var9
/* : AListExprs */;
5029 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
5030 val
* var10
/* : ANewExpr */;
5031 val
* var11
/* : null */;
5032 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
5033 long var12
/* : Int */;
5034 long var13
/* : Int */;
5037 var_node_list
= var
;
5039 var1
= parser_work__Parser__pop(var_p
);
5041 var_nodearraylist3
= var1
;
5043 var2
= parser_work__Parser__pop(var_p
);
5045 var_nodearraylist2
= var2
;
5047 var3
= parser_work__Parser__pop(var_p
);
5049 var_nodearraylist1
= var3
;
5050 var_tkwnewnode2
= var_nodearraylist1
;
5051 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
5052 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
5053 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
5054 if(var_tkwnewnode2
== NULL
) {
5057 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
5060 var4
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
5063 if (unlikely(!var4
)) {
5064 PRINT_ERROR("Runtime error: %s", "Assert failed");
5065 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8166);
5068 var_ptypenode3
= var_nodearraylist3
;
5069 /* <var_ptypenode3:nullable Object> isa nullable AType */
5070 cltype6
= type_nullable_parser_nodes__AType
.color
;
5071 idtype7
= type_nullable_parser_nodes__AType
.id
;
5072 if(var_ptypenode3
== NULL
) {
5075 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
5078 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
5081 if (unlikely(!var5
)) {
5082 PRINT_ERROR("Runtime error: %s", "Assert failed");
5083 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8168);
5086 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
5088 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[Object]>*/;
5090 var_listnode6
= var8
;
5091 var9
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5093 parser_prod__AListExprs__init_alistexprs(var9
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
5095 var_pexprsnode5
= var9
;
5096 var10
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
5099 parser_prod__ANewExpr__init_anewexpr(var10
, var_tkwnewnode2
, var_ptypenode3
, var11
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var10:ANewExpr>*/
5101 var_pexprnode1
= var10
;
5102 var_node_list
= var_pexprnode1
;
5103 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction303> */
5105 var13
= parser_work__Parser__go_to(var_p
, var12
);
5108 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5112 /* method parser#ReduceAction303#action for (self: Object, Parser) */
5113 void VIRTUAL_parser__ReduceAction303__action(val
* self
, val
* p0
) {
5114 parser__ReduceAction303__action(self
, p0
); /* Direct call parser#ReduceAction303#action on <self:Object(ReduceAction303)>*/
5117 /* method parser#ReduceAction304#action for (self: ReduceAction304, Parser) */
5118 void parser__ReduceAction304__action(val
* self
, val
* p0
) {
5119 val
* var_p
/* var p: Parser */;
5120 val
* var
/* : null */;
5121 val
* var_node_list
/* var node_list: nullable Object */;
5122 val
* var1
/* : nullable Object */;
5123 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5124 val
* var2
/* : nullable Object */;
5125 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5126 val
* var3
/* : nullable Object */;
5127 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5128 val
* var4
/* : nullable Object */;
5129 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5130 val
* var5
/* : nullable Object */;
5131 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5132 val
* var6
/* : nullable Object */;
5133 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5134 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
5135 short int var7
/* : Bool */;
5138 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5139 short int var8
/* : Bool */;
5142 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
5143 short int var11
/* : Bool */;
5146 val
* var14
/* : AIssetAttrExpr */;
5147 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
5148 long var15
/* : Int */;
5149 long var16
/* : Int */;
5152 var_node_list
= var
;
5154 var1
= parser_work__Parser__pop(var_p
);
5156 var_nodearraylist6
= var1
;
5158 var2
= parser_work__Parser__pop(var_p
);
5160 var_nodearraylist5
= var2
;
5162 var3
= parser_work__Parser__pop(var_p
);
5164 var_nodearraylist4
= var3
;
5166 var4
= parser_work__Parser__pop(var_p
);
5168 var_nodearraylist3
= var4
;
5170 var5
= parser_work__Parser__pop(var_p
);
5172 var_nodearraylist2
= var5
;
5174 var6
= parser_work__Parser__pop(var_p
);
5176 var_nodearraylist1
= var6
;
5177 var_tkwissetnode2
= var_nodearraylist1
;
5178 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
5179 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
5180 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
5181 if(var_tkwissetnode2
== NULL
) {
5184 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
5187 var7
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
5190 if (unlikely(!var7
)) {
5191 PRINT_ERROR("Runtime error: %s", "Assert failed");
5192 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8195);
5195 var_pexprnode3
= var_nodearraylist2
;
5196 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5197 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
5198 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
5199 if(var_pexprnode3
== NULL
) {
5202 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
5205 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
5208 if (unlikely(!var8
)) {
5209 PRINT_ERROR("Runtime error: %s", "Assert failed");
5210 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8197);
5213 var_tattridnode4
= var_nodearraylist6
;
5214 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
5215 cltype12
= type_nullable_parser_nodes__TAttrid
.color
;
5216 idtype13
= type_nullable_parser_nodes__TAttrid
.id
;
5217 if(var_tattridnode4
== NULL
) {
5220 if(cltype12
>= var_tattridnode4
->type
->table_size
) {
5223 var11
= var_tattridnode4
->type
->type_table
[cltype12
] == idtype13
;
5226 if (unlikely(!var11
)) {
5227 PRINT_ERROR("Runtime error: %s", "Assert failed");
5228 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8199);
5231 var14
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
5233 parser_prod__AIssetAttrExpr__init_aissetattrexpr(var14
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var14:AIssetAttrExpr>*/
5235 var_pexprnode1
= var14
;
5236 var_node_list
= var_pexprnode1
;
5237 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction304> */
5239 var16
= parser_work__Parser__go_to(var_p
, var15
);
5242 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5246 /* method parser#ReduceAction304#action for (self: Object, Parser) */
5247 void VIRTUAL_parser__ReduceAction304__action(val
* self
, val
* p0
) {
5248 parser__ReduceAction304__action(self
, p0
); /* Direct call parser#ReduceAction304#action on <self:Object(ReduceAction304)>*/
5251 /* method parser#ReduceAction305#action for (self: ReduceAction305, Parser) */
5252 void parser__ReduceAction305__action(val
* self
, val
* p0
) {
5253 val
* var_p
/* var p: Parser */;
5254 val
* var
/* : null */;
5255 val
* var_node_list
/* var node_list: nullable Object */;
5256 val
* var1
/* : nullable Object */;
5257 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5258 val
* var2
/* : nullable Object */;
5259 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5260 val
* var3
/* : nullable Object */;
5261 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5262 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
5263 short int var4
/* : Bool */;
5266 val
* var5
/* : AImplicitSelfExpr */;
5267 val
* var_pexprnode3
/* var pexprnode3: nullable AImplicitSelfExpr */;
5268 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
5269 short int var7
/* : Bool */;
5272 val
* var10
/* : AIssetAttrExpr */;
5273 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
5274 long var11
/* : Int */;
5275 long var12
/* : Int */;
5278 var_node_list
= var
;
5280 var1
= parser_work__Parser__pop(var_p
);
5282 var_nodearraylist3
= var1
;
5284 var2
= parser_work__Parser__pop(var_p
);
5286 var_nodearraylist2
= var2
;
5288 var3
= parser_work__Parser__pop(var_p
);
5290 var_nodearraylist1
= var3
;
5291 var_tkwissetnode2
= var_nodearraylist1
;
5292 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
5293 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
5294 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
5295 if(var_tkwissetnode2
== NULL
) {
5298 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
5301 var4
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
5304 if (unlikely(!var4
)) {
5305 PRINT_ERROR("Runtime error: %s", "Assert failed");
5306 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8218);
5309 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5311 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5315 var_pexprnode3
= var5
;
5316 var_tattridnode4
= var_nodearraylist3
;
5317 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
5318 cltype8
= type_nullable_parser_nodes__TAttrid
.color
;
5319 idtype9
= type_nullable_parser_nodes__TAttrid
.id
;
5320 if(var_tattridnode4
== NULL
) {
5323 if(cltype8
>= var_tattridnode4
->type
->table_size
) {
5326 var7
= var_tattridnode4
->type
->type_table
[cltype8
] == idtype9
;
5329 if (unlikely(!var7
)) {
5330 PRINT_ERROR("Runtime error: %s", "Assert failed");
5331 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8221);
5334 var10
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
5336 parser_prod__AIssetAttrExpr__init_aissetattrexpr(var10
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var10:AIssetAttrExpr>*/
5338 var_pexprnode1
= var10
;
5339 var_node_list
= var_pexprnode1
;
5340 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction305> */
5342 var12
= parser_work__Parser__go_to(var_p
, var11
);
5345 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5349 /* method parser#ReduceAction305#action for (self: Object, Parser) */
5350 void VIRTUAL_parser__ReduceAction305__action(val
* self
, val
* p0
) {
5351 parser__ReduceAction305__action(self
, p0
); /* Direct call parser#ReduceAction305#action on <self:Object(ReduceAction305)>*/
5354 /* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */
5355 void parser__ReduceAction307__action(val
* self
, val
* p0
) {
5356 val
* var_p
/* var p: Parser */;
5357 val
* var
/* : null */;
5358 val
* var_node_list
/* var node_list: nullable Object */;
5359 val
* var1
/* : nullable Object */;
5360 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5361 val
* var2
/* : nullable Object */;
5362 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5363 val
* var3
/* : nullable Object */;
5364 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5365 val
* var4
/* : nullable Object */;
5366 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5367 val
* var5
/* : nullable Object */;
5368 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5369 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5370 short int var6
/* : Bool */;
5373 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5374 short int var7
/* : Bool */;
5377 val
* var10
/* : AAttrExpr */;
5378 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
5379 long var11
/* : Int */;
5380 long var12
/* : Int */;
5383 var_node_list
= var
;
5385 var1
= parser_work__Parser__pop(var_p
);
5387 var_nodearraylist5
= var1
;
5389 var2
= parser_work__Parser__pop(var_p
);
5391 var_nodearraylist4
= var2
;
5393 var3
= parser_work__Parser__pop(var_p
);
5395 var_nodearraylist3
= var3
;
5397 var4
= parser_work__Parser__pop(var_p
);
5399 var_nodearraylist2
= var4
;
5401 var5
= parser_work__Parser__pop(var_p
);
5403 var_nodearraylist1
= var5
;
5404 var_pexprnode2
= var_nodearraylist1
;
5405 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5406 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5407 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5408 if(var_pexprnode2
== NULL
) {
5411 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5414 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5417 if (unlikely(!var6
)) {
5418 PRINT_ERROR("Runtime error: %s", "Assert failed");
5419 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8242);
5422 var_tattridnode3
= var_nodearraylist5
;
5423 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5424 cltype8
= type_nullable_parser_nodes__TAttrid
.color
;
5425 idtype9
= type_nullable_parser_nodes__TAttrid
.id
;
5426 if(var_tattridnode3
== NULL
) {
5429 if(cltype8
>= var_tattridnode3
->type
->table_size
) {
5432 var7
= var_tattridnode3
->type
->type_table
[cltype8
] == idtype9
;
5435 if (unlikely(!var7
)) {
5436 PRINT_ERROR("Runtime error: %s", "Assert failed");
5437 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8244);
5440 var10
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
5442 parser_prod__AAttrExpr__init_aattrexpr(var10
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var10:AAttrExpr>*/
5444 var_pexprnode1
= var10
;
5445 var_node_list
= var_pexprnode1
;
5446 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction307> */
5448 var12
= parser_work__Parser__go_to(var_p
, var11
);
5451 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5455 /* method parser#ReduceAction307#action for (self: Object, Parser) */
5456 void VIRTUAL_parser__ReduceAction307__action(val
* self
, val
* p0
) {
5457 parser__ReduceAction307__action(self
, p0
); /* Direct call parser#ReduceAction307#action on <self:Object(ReduceAction307)>*/
5460 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
5461 void parser__ReduceAction308__action(val
* self
, val
* p0
) {
5462 val
* var_p
/* var p: Parser */;
5463 val
* var
/* : null */;
5464 val
* var_node_list
/* var node_list: nullable Object */;
5465 val
* var1
/* : nullable Object */;
5466 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5467 val
* var2
/* : nullable Object */;
5468 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5469 val
* var3
/* : AImplicitSelfExpr */;
5470 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5471 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5472 short int var5
/* : Bool */;
5475 val
* var6
/* : AAttrExpr */;
5476 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
5477 long var7
/* : Int */;
5478 long var8
/* : Int */;
5481 var_node_list
= var
;
5483 var1
= parser_work__Parser__pop(var_p
);
5485 var_nodearraylist2
= var1
;
5487 var2
= parser_work__Parser__pop(var_p
);
5489 var_nodearraylist1
= var2
;
5490 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5492 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
5496 var_pexprnode2
= var3
;
5497 var_tattridnode3
= var_nodearraylist2
;
5498 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5499 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
5500 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
5501 if(var_tattridnode3
== NULL
) {
5504 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5507 var5
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5510 if (unlikely(!var5
)) {
5511 PRINT_ERROR("Runtime error: %s", "Assert failed");
5512 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8262);
5515 var6
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
5517 parser_prod__AAttrExpr__init_aattrexpr(var6
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var6:AAttrExpr>*/
5519 var_pexprnode1
= var6
;
5520 var_node_list
= var_pexprnode1
;
5521 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction308> */
5523 var8
= parser_work__Parser__go_to(var_p
, var7
);
5526 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5530 /* method parser#ReduceAction308#action for (self: Object, Parser) */
5531 void VIRTUAL_parser__ReduceAction308__action(val
* self
, val
* p0
) {
5532 parser__ReduceAction308__action(self
, p0
); /* Direct call parser#ReduceAction308#action on <self:Object(ReduceAction308)>*/
5535 /* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */
5536 void parser__ReduceAction310__action(val
* self
, val
* p0
) {
5537 val
* var_p
/* var p: Parser */;
5538 val
* var
/* : null */;
5539 val
* var_node_list
/* var node_list: nullable Object */;
5540 val
* var1
/* : nullable Object */;
5541 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5542 val
* var2
/* : nullable Object */;
5543 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5544 val
* var3
/* : nullable Object */;
5545 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5546 val
* var4
/* : nullable Object */;
5547 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5548 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5549 short int var5
/* : Bool */;
5552 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5553 short int var6
/* : Bool */;
5556 val
* var9
/* : Array[Object] */;
5557 val
* var_listnode5
/* var listnode5: Array[Object] */;
5558 val
* var10
/* : AListExprs */;
5559 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5560 val
* var11
/* : ACallExpr */;
5561 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5562 long var12
/* : Int */;
5563 long var13
/* : Int */;
5566 var_node_list
= var
;
5568 var1
= parser_work__Parser__pop(var_p
);
5570 var_nodearraylist4
= var1
;
5572 var2
= parser_work__Parser__pop(var_p
);
5574 var_nodearraylist3
= var2
;
5576 var3
= parser_work__Parser__pop(var_p
);
5578 var_nodearraylist2
= var3
;
5580 var4
= parser_work__Parser__pop(var_p
);
5582 var_nodearraylist1
= var4
;
5583 var_pexprnode2
= var_nodearraylist1
;
5584 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5585 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5586 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5587 if(var_pexprnode2
== NULL
) {
5590 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5593 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5596 if (unlikely(!var5
)) {
5597 PRINT_ERROR("Runtime error: %s", "Assert failed");
5598 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8281);
5601 var_tidnode3
= var_nodearraylist4
;
5602 /* <var_tidnode3:nullable Object> isa nullable TId */
5603 cltype7
= type_nullable_parser_nodes__TId
.color
;
5604 idtype8
= type_nullable_parser_nodes__TId
.id
;
5605 if(var_tidnode3
== NULL
) {
5608 if(cltype7
>= var_tidnode3
->type
->table_size
) {
5611 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
5614 if (unlikely(!var6
)) {
5615 PRINT_ERROR("Runtime error: %s", "Assert failed");
5616 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8283);
5619 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
5621 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[Object]>*/;
5623 var_listnode5
= var9
;
5624 var10
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5626 parser_prod__AListExprs__init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
5628 var_pexprsnode4
= var10
;
5629 var11
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
5631 parser_prod__ACallExpr__init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
5633 var_pexprnode1
= var11
;
5634 var_node_list
= var_pexprnode1
;
5635 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction310> */
5637 var13
= parser_work__Parser__go_to(var_p
, var12
);
5640 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5644 /* method parser#ReduceAction310#action for (self: Object, Parser) */
5645 void VIRTUAL_parser__ReduceAction310__action(val
* self
, val
* p0
) {
5646 parser__ReduceAction310__action(self
, p0
); /* Direct call parser#ReduceAction310#action on <self:Object(ReduceAction310)>*/
5649 /* method parser#ReduceAction312#action for (self: ReduceAction312, Parser) */
5650 void parser__ReduceAction312__action(val
* self
, val
* p0
) {
5651 val
* var_p
/* var p: Parser */;
5652 val
* var
/* : null */;
5653 val
* var_node_list
/* var node_list: nullable Object */;
5654 val
* var1
/* : nullable Object */;
5655 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5656 val
* var2
/* : nullable Object */;
5657 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5658 val
* var3
/* : nullable Object */;
5659 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5660 val
* var4
/* : nullable Object */;
5661 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5662 val
* var5
/* : nullable Object */;
5663 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5664 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5665 short int var6
/* : Bool */;
5668 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5669 short int var7
/* : Bool */;
5672 val
* var10
/* : Array[Object] */;
5673 val
* var_listnode5
/* var listnode5: Array[Object] */;
5674 val
* var11
/* : AListExprs */;
5675 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5676 val
* var12
/* : ACallExpr */;
5677 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5678 long var13
/* : Int */;
5679 long var14
/* : Int */;
5682 var_node_list
= var
;
5684 var1
= parser_work__Parser__pop(var_p
);
5686 var_nodearraylist5
= var1
;
5688 var2
= parser_work__Parser__pop(var_p
);
5690 var_nodearraylist4
= var2
;
5692 var3
= parser_work__Parser__pop(var_p
);
5694 var_nodearraylist3
= var3
;
5696 var4
= parser_work__Parser__pop(var_p
);
5698 var_nodearraylist2
= var4
;
5700 var5
= parser_work__Parser__pop(var_p
);
5702 var_nodearraylist1
= var5
;
5703 var_pexprnode2
= var_nodearraylist1
;
5704 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5705 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5706 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5707 if(var_pexprnode2
== NULL
) {
5710 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5713 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5716 if (unlikely(!var6
)) {
5717 PRINT_ERROR("Runtime error: %s", "Assert failed");
5718 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8308);
5721 var_tidnode3
= var_nodearraylist5
;
5722 /* <var_tidnode3:nullable Object> isa nullable TId */
5723 cltype8
= type_nullable_parser_nodes__TId
.color
;
5724 idtype9
= type_nullable_parser_nodes__TId
.id
;
5725 if(var_tidnode3
== NULL
) {
5728 if(cltype8
>= var_tidnode3
->type
->table_size
) {
5731 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
5734 if (unlikely(!var7
)) {
5735 PRINT_ERROR("Runtime error: %s", "Assert failed");
5736 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8310);
5739 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
5741 ((void (*)(val
*))(var10
->class->vft
[COLOR_kernel__Object__init
]))(var10
) /* init on <var10:Array[Object]>*/;
5743 var_listnode5
= var10
;
5744 var11
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5746 parser_prod__AListExprs__init_alistexprs(var11
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
5748 var_pexprsnode4
= var11
;
5749 var12
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
5751 parser_prod__ACallExpr__init_acallexpr(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var12:ACallExpr>*/
5753 var_pexprnode1
= var12
;
5754 var_node_list
= var_pexprnode1
;
5755 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction312> */
5757 var14
= parser_work__Parser__go_to(var_p
, var13
);
5760 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5764 /* method parser#ReduceAction312#action for (self: Object, Parser) */
5765 void VIRTUAL_parser__ReduceAction312__action(val
* self
, val
* p0
) {
5766 parser__ReduceAction312__action(self
, p0
); /* Direct call parser#ReduceAction312#action on <self:Object(ReduceAction312)>*/
5769 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
5770 void parser__ReduceAction314__action(val
* self
, val
* p0
) {
5771 val
* var_p
/* var p: Parser */;
5772 val
* var
/* : null */;
5773 val
* var_node_list
/* var node_list: nullable Object */;
5774 val
* var1
/* : nullable Object */;
5775 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5776 val
* var2
/* : nullable Object */;
5777 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5778 val
* var3
/* : nullable Object */;
5779 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5780 val
* var4
/* : nullable Object */;
5781 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5782 val
* var5
/* : nullable Object */;
5783 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5784 val
* var6
/* : nullable Object */;
5785 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5786 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5787 short int var7
/* : Bool */;
5790 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5791 short int var8
/* : Bool */;
5794 val
* var11
/* : Array[Object] */;
5795 val
* var_listnode5
/* var listnode5: Array[Object] */;
5796 val
* var12
/* : AListExprs */;
5797 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5798 val
* var13
/* : ACallExpr */;
5799 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5800 long var14
/* : Int */;
5801 long var15
/* : Int */;
5804 var_node_list
= var
;
5806 var1
= parser_work__Parser__pop(var_p
);
5808 var_nodearraylist6
= var1
;
5810 var2
= parser_work__Parser__pop(var_p
);
5812 var_nodearraylist5
= var2
;
5814 var3
= parser_work__Parser__pop(var_p
);
5816 var_nodearraylist4
= var3
;
5818 var4
= parser_work__Parser__pop(var_p
);
5820 var_nodearraylist3
= var4
;
5822 var5
= parser_work__Parser__pop(var_p
);
5824 var_nodearraylist2
= var5
;
5826 var6
= parser_work__Parser__pop(var_p
);
5828 var_nodearraylist1
= var6
;
5829 var_pexprnode2
= var_nodearraylist1
;
5830 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5831 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5832 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5833 if(var_pexprnode2
== NULL
) {
5836 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5839 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5842 if (unlikely(!var7
)) {
5843 PRINT_ERROR("Runtime error: %s", "Assert failed");
5844 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8336);
5847 var_tidnode3
= var_nodearraylist6
;
5848 /* <var_tidnode3:nullable Object> isa nullable TId */
5849 cltype9
= type_nullable_parser_nodes__TId
.color
;
5850 idtype10
= type_nullable_parser_nodes__TId
.id
;
5851 if(var_tidnode3
== NULL
) {
5854 if(cltype9
>= var_tidnode3
->type
->table_size
) {
5857 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
5860 if (unlikely(!var8
)) {
5861 PRINT_ERROR("Runtime error: %s", "Assert failed");
5862 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8338);
5865 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
5867 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
5869 var_listnode5
= var11
;
5870 var12
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5872 parser_prod__AListExprs__init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
5874 var_pexprsnode4
= var12
;
5875 var13
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
5877 parser_prod__ACallExpr__init_acallexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
5879 var_pexprnode1
= var13
;
5880 var_node_list
= var_pexprnode1
;
5881 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction314> */
5883 var15
= parser_work__Parser__go_to(var_p
, var14
);
5886 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5890 /* method parser#ReduceAction314#action for (self: Object, Parser) */
5891 void VIRTUAL_parser__ReduceAction314__action(val
* self
, val
* p0
) {
5892 parser__ReduceAction314__action(self
, p0
); /* Direct call parser#ReduceAction314#action on <self:Object(ReduceAction314)>*/
5895 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
5896 void parser__ReduceAction318__action(val
* self
, val
* p0
) {
5897 val
* var_p
/* var p: Parser */;
5898 val
* var
/* : null */;
5899 val
* var_node_list
/* var node_list: nullable Object */;
5900 val
* var1
/* : nullable Object */;
5901 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5902 val
* var2
/* : AImplicitSelfExpr */;
5903 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5904 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5905 short int var4
/* : Bool */;
5908 val
* var5
/* : Array[Object] */;
5909 val
* var_listnode5
/* var listnode5: Array[Object] */;
5910 val
* var6
/* : AListExprs */;
5911 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5912 val
* var7
/* : ACallExpr */;
5913 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5914 long var8
/* : Int */;
5915 long var9
/* : Int */;
5918 var_node_list
= var
;
5920 var1
= parser_work__Parser__pop(var_p
);
5922 var_nodearraylist1
= var1
;
5923 var2
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5925 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on <var2:AImplicitSelfExpr> */
5929 var_pexprnode2
= var2
;
5930 var_tidnode3
= var_nodearraylist1
;
5931 /* <var_tidnode3:nullable Object> isa nullable TId */
5932 cltype
= type_nullable_parser_nodes__TId
.color
;
5933 idtype
= type_nullable_parser_nodes__TId
.id
;
5934 if(var_tidnode3
== NULL
) {
5937 if(cltype
>= var_tidnode3
->type
->table_size
) {
5940 var4
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
5943 if (unlikely(!var4
)) {
5944 PRINT_ERROR("Runtime error: %s", "Assert failed");
5945 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8360);
5948 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5950 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5952 var_listnode5
= var5
;
5953 var6
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5955 parser_prod__AListExprs__init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
5957 var_pexprsnode4
= var6
;
5958 var7
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
5960 parser_prod__ACallExpr__init_acallexpr(var7
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var7:ACallExpr>*/
5962 var_pexprnode1
= var7
;
5963 var_node_list
= var_pexprnode1
;
5964 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction318> */
5966 var9
= parser_work__Parser__go_to(var_p
, var8
);
5969 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5973 /* method parser#ReduceAction318#action for (self: Object, Parser) */
5974 void VIRTUAL_parser__ReduceAction318__action(val
* self
, val
* p0
) {
5975 parser__ReduceAction318__action(self
, p0
); /* Direct call parser#ReduceAction318#action on <self:Object(ReduceAction318)>*/
5978 /* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */
5979 void parser__ReduceAction320__action(val
* self
, val
* p0
) {
5980 val
* var_p
/* var p: Parser */;
5981 val
* var
/* : null */;
5982 val
* var_node_list
/* var node_list: nullable Object */;
5983 val
* var1
/* : nullable Object */;
5984 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5985 val
* var2
/* : nullable Object */;
5986 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5987 val
* var3
/* : AImplicitSelfExpr */;
5988 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5989 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5990 short int var5
/* : Bool */;
5993 val
* var6
/* : Array[Object] */;
5994 val
* var_listnode5
/* var listnode5: Array[Object] */;
5995 val
* var7
/* : AListExprs */;
5996 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5997 val
* var8
/* : ACallExpr */;
5998 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5999 long var9
/* : Int */;
6000 long var10
/* : Int */;
6003 var_node_list
= var
;
6005 var1
= parser_work__Parser__pop(var_p
);
6007 var_nodearraylist2
= var1
;
6009 var2
= parser_work__Parser__pop(var_p
);
6011 var_nodearraylist1
= var2
;
6012 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6014 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
6018 var_pexprnode2
= var3
;
6019 var_tidnode3
= var_nodearraylist2
;
6020 /* <var_tidnode3:nullable Object> isa nullable TId */
6021 cltype
= type_nullable_parser_nodes__TId
.color
;
6022 idtype
= type_nullable_parser_nodes__TId
.id
;
6023 if(var_tidnode3
== NULL
) {
6026 if(cltype
>= var_tidnode3
->type
->table_size
) {
6029 var5
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6032 if (unlikely(!var5
)) {
6033 PRINT_ERROR("Runtime error: %s", "Assert failed");
6034 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8383);
6037 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6039 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6041 var_listnode5
= var6
;
6042 var7
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6044 parser_prod__AListExprs__init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
6046 var_pexprsnode4
= var7
;
6047 var8
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
6049 parser_prod__ACallExpr__init_acallexpr(var8
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var8:ACallExpr>*/
6051 var_pexprnode1
= var8
;
6052 var_node_list
= var_pexprnode1
;
6053 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction320> */
6055 var10
= parser_work__Parser__go_to(var_p
, var9
);
6058 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6062 /* method parser#ReduceAction320#action for (self: Object, Parser) */
6063 void VIRTUAL_parser__ReduceAction320__action(val
* self
, val
* p0
) {
6064 parser__ReduceAction320__action(self
, p0
); /* Direct call parser#ReduceAction320#action on <self:Object(ReduceAction320)>*/
6067 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
6068 void parser__ReduceAction322__action(val
* self
, val
* p0
) {
6069 val
* var_p
/* var p: Parser */;
6070 val
* var
/* : null */;
6071 val
* var_node_list
/* var node_list: nullable Object */;
6072 val
* var1
/* : nullable Object */;
6073 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6074 val
* var2
/* : nullable Object */;
6075 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6076 val
* var3
/* : nullable Object */;
6077 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6078 val
* var4
/* : AImplicitSelfExpr */;
6079 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6080 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6081 short int var6
/* : Bool */;
6084 val
* var7
/* : Array[Object] */;
6085 val
* var_listnode5
/* var listnode5: Array[Object] */;
6086 val
* var8
/* : AListExprs */;
6087 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6088 val
* var9
/* : ACallExpr */;
6089 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6090 long var10
/* : Int */;
6091 long var11
/* : Int */;
6094 var_node_list
= var
;
6096 var1
= parser_work__Parser__pop(var_p
);
6098 var_nodearraylist3
= var1
;
6100 var2
= parser_work__Parser__pop(var_p
);
6102 var_nodearraylist2
= var2
;
6104 var3
= parser_work__Parser__pop(var_p
);
6106 var_nodearraylist1
= var3
;
6107 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6109 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
6113 var_pexprnode2
= var4
;
6114 var_tidnode3
= var_nodearraylist3
;
6115 /* <var_tidnode3:nullable Object> isa nullable TId */
6116 cltype
= type_nullable_parser_nodes__TId
.color
;
6117 idtype
= type_nullable_parser_nodes__TId
.id
;
6118 if(var_tidnode3
== NULL
) {
6121 if(cltype
>= var_tidnode3
->type
->table_size
) {
6124 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6127 if (unlikely(!var6
)) {
6128 PRINT_ERROR("Runtime error: %s", "Assert failed");
6129 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8407);
6132 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6134 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6136 var_listnode5
= var7
;
6137 var8
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6139 parser_prod__AListExprs__init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6141 var_pexprsnode4
= var8
;
6142 var9
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
6144 parser_prod__ACallExpr__init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
6146 var_pexprnode1
= var9
;
6147 var_node_list
= var_pexprnode1
;
6148 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction322> */
6150 var11
= parser_work__Parser__go_to(var_p
, var10
);
6153 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6157 /* method parser#ReduceAction322#action for (self: Object, Parser) */
6158 void VIRTUAL_parser__ReduceAction322__action(val
* self
, val
* p0
) {
6159 parser__ReduceAction322__action(self
, p0
); /* Direct call parser#ReduceAction322#action on <self:Object(ReduceAction322)>*/
6162 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
6163 void parser__ReduceAction326__action(val
* self
, val
* p0
) {
6164 val
* var_p
/* var p: Parser */;
6165 val
* var
/* : null */;
6166 val
* var_node_list
/* var node_list: nullable Object */;
6167 val
* var1
/* : nullable Object */;
6168 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6169 val
* var2
/* : nullable Object */;
6170 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6171 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
6172 short int var3
/* : Bool */;
6175 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
6176 short int var4
/* : Bool */;
6179 val
* var7
/* : Array[Object] */;
6180 val
* var_listnode5
/* var listnode5: Array[Object] */;
6181 val
* var8
/* : AListExprs */;
6182 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6183 val
* var9
/* : ASuperExpr */;
6184 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
6185 long var10
/* : Int */;
6186 long var11
/* : Int */;
6189 var_node_list
= var
;
6191 var1
= parser_work__Parser__pop(var_p
);
6193 var_nodearraylist2
= var1
;
6195 var2
= parser_work__Parser__pop(var_p
);
6197 var_nodearraylist1
= var2
;
6198 var_pqualifiednode2
= var_nodearraylist1
;
6199 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
6200 cltype
= type_nullable_parser_nodes__AQualified
.color
;
6201 idtype
= type_nullable_parser_nodes__AQualified
.id
;
6202 if(var_pqualifiednode2
== NULL
) {
6205 if(cltype
>= var_pqualifiednode2
->type
->table_size
) {
6208 var3
= var_pqualifiednode2
->type
->type_table
[cltype
] == idtype
;
6211 if (unlikely(!var3
)) {
6212 PRINT_ERROR("Runtime error: %s", "Assert failed");
6213 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8429);
6216 var_tkwsupernode3
= var_nodearraylist2
;
6217 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
6218 cltype5
= type_nullable_parser_nodes__TKwsuper
.color
;
6219 idtype6
= type_nullable_parser_nodes__TKwsuper
.id
;
6220 if(var_tkwsupernode3
== NULL
) {
6223 if(cltype5
>= var_tkwsupernode3
->type
->table_size
) {
6226 var4
= var_tkwsupernode3
->type
->type_table
[cltype5
] == idtype6
;
6229 if (unlikely(!var4
)) {
6230 PRINT_ERROR("Runtime error: %s", "Assert failed");
6231 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8431);
6234 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6236 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6238 var_listnode5
= var7
;
6239 var8
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6241 parser_prod__AListExprs__init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6243 var_pexprsnode4
= var8
;
6244 var9
= NEW_parser_nodes__ASuperExpr(&type_parser_nodes__ASuperExpr
);
6246 parser_prod__ASuperExpr__init_asuperexpr(var9
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var9:ASuperExpr>*/
6248 var_pexprnode1
= var9
;
6249 var_node_list
= var_pexprnode1
;
6250 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction326> */
6252 var11
= parser_work__Parser__go_to(var_p
, var10
);
6255 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6259 /* method parser#ReduceAction326#action for (self: Object, Parser) */
6260 void VIRTUAL_parser__ReduceAction326__action(val
* self
, val
* p0
) {
6261 parser__ReduceAction326__action(self
, p0
); /* Direct call parser#ReduceAction326#action on <self:Object(ReduceAction326)>*/
6264 /* method parser#ReduceAction328#action for (self: ReduceAction328, Parser) */
6265 void parser__ReduceAction328__action(val
* self
, val
* p0
) {
6266 val
* var_p
/* var p: Parser */;
6267 val
* var
/* : null */;
6268 val
* var_node_list
/* var node_list: nullable Object */;
6269 val
* var1
/* : nullable Object */;
6270 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6271 val
* var2
/* : nullable Object */;
6272 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6273 val
* var3
/* : nullable Object */;
6274 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6275 val
* var4
/* : nullable Object */;
6276 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6277 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6278 short int var5
/* : Bool */;
6281 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6282 short int var6
/* : Bool */;
6285 val
* var9
/* : Array[Object] */;
6286 val
* var_listnode5
/* var listnode5: Array[Object] */;
6287 val
* var10
/* : AListExprs */;
6288 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6289 val
* var11
/* : AInitExpr */;
6290 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6291 long var12
/* : Int */;
6292 long var13
/* : Int */;
6295 var_node_list
= var
;
6297 var1
= parser_work__Parser__pop(var_p
);
6299 var_nodearraylist4
= var1
;
6301 var2
= parser_work__Parser__pop(var_p
);
6303 var_nodearraylist3
= var2
;
6305 var3
= parser_work__Parser__pop(var_p
);
6307 var_nodearraylist2
= var3
;
6309 var4
= parser_work__Parser__pop(var_p
);
6311 var_nodearraylist1
= var4
;
6312 var_pexprnode2
= var_nodearraylist1
;
6313 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6314 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6315 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6316 if(var_pexprnode2
== NULL
) {
6319 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6322 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6325 if (unlikely(!var5
)) {
6326 PRINT_ERROR("Runtime error: %s", "Assert failed");
6327 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8455);
6330 var_tkwinitnode3
= var_nodearraylist4
;
6331 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6332 cltype7
= type_nullable_parser_nodes__TKwinit
.color
;
6333 idtype8
= type_nullable_parser_nodes__TKwinit
.id
;
6334 if(var_tkwinitnode3
== NULL
) {
6337 if(cltype7
>= var_tkwinitnode3
->type
->table_size
) {
6340 var6
= var_tkwinitnode3
->type
->type_table
[cltype7
] == idtype8
;
6343 if (unlikely(!var6
)) {
6344 PRINT_ERROR("Runtime error: %s", "Assert failed");
6345 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8457);
6348 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
6350 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[Object]>*/;
6352 var_listnode5
= var9
;
6353 var10
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6355 parser_prod__AListExprs__init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
6357 var_pexprsnode4
= var10
;
6358 var11
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
6360 parser_prod__AInitExpr__init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
6362 var_pexprnode1
= var11
;
6363 var_node_list
= var_pexprnode1
;
6364 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction328> */
6366 var13
= parser_work__Parser__go_to(var_p
, var12
);
6369 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6373 /* method parser#ReduceAction328#action for (self: Object, Parser) */
6374 void VIRTUAL_parser__ReduceAction328__action(val
* self
, val
* p0
) {
6375 parser__ReduceAction328__action(self
, p0
); /* Direct call parser#ReduceAction328#action on <self:Object(ReduceAction328)>*/
6378 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
6379 void parser__ReduceAction330__action(val
* self
, val
* p0
) {
6380 val
* var_p
/* var p: Parser */;
6381 val
* var
/* : null */;
6382 val
* var_node_list
/* var node_list: nullable Object */;
6383 val
* var1
/* : nullable Object */;
6384 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6385 val
* var2
/* : AImplicitSelfExpr */;
6386 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6387 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6388 short int var4
/* : Bool */;
6391 val
* var5
/* : Array[Object] */;
6392 val
* var_listnode5
/* var listnode5: Array[Object] */;
6393 val
* var6
/* : AListExprs */;
6394 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6395 val
* var7
/* : AInitExpr */;
6396 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6397 long var8
/* : Int */;
6398 long var9
/* : Int */;
6401 var_node_list
= var
;
6403 var1
= parser_work__Parser__pop(var_p
);
6405 var_nodearraylist1
= var1
;
6406 var2
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6408 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on <var2:AImplicitSelfExpr> */
6412 var_pexprnode2
= var2
;
6413 var_tkwinitnode3
= var_nodearraylist1
;
6414 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6415 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
6416 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
6417 if(var_tkwinitnode3
== NULL
) {
6420 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
6423 var4
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
6426 if (unlikely(!var4
)) {
6427 PRINT_ERROR("Runtime error: %s", "Assert failed");
6428 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8479);
6431 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6433 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6435 var_listnode5
= var5
;
6436 var6
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6438 parser_prod__AListExprs__init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
6440 var_pexprsnode4
= var6
;
6441 var7
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
6443 parser_prod__AInitExpr__init_ainitexpr(var7
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var7:AInitExpr>*/
6445 var_pexprnode1
= var7
;
6446 var_node_list
= var_pexprnode1
;
6447 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction330> */
6449 var9
= parser_work__Parser__go_to(var_p
, var8
);
6452 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6456 /* method parser#ReduceAction330#action for (self: Object, Parser) */
6457 void VIRTUAL_parser__ReduceAction330__action(val
* self
, val
* p0
) {
6458 parser__ReduceAction330__action(self
, p0
); /* Direct call parser#ReduceAction330#action on <self:Object(ReduceAction330)>*/
6461 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
6462 void parser__ReduceAction331__action(val
* self
, val
* p0
) {
6463 val
* var_p
/* var p: Parser */;
6464 val
* var
/* : null */;
6465 val
* var_node_list
/* var node_list: nullable Object */;
6466 val
* var1
/* : nullable Object */;
6467 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6468 val
* var2
/* : nullable Object */;
6469 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6470 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6471 short int var3
/* : Bool */;
6474 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
6475 short int var4
/* : Bool */;
6478 val
* var7
/* : ABraExpr */;
6479 val
* var_pexprnode1
/* var pexprnode1: nullable ABraExpr */;
6480 long var8
/* : Int */;
6481 long var9
/* : Int */;
6484 var_node_list
= var
;
6486 var1
= parser_work__Parser__pop(var_p
);
6488 var_nodearraylist2
= var1
;
6490 var2
= parser_work__Parser__pop(var_p
);
6492 var_nodearraylist1
= var2
;
6493 var_pexprnode2
= var_nodearraylist1
;
6494 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6495 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6496 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6497 if(var_pexprnode2
== NULL
) {
6500 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6503 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6506 if (unlikely(!var3
)) {
6507 PRINT_ERROR("Runtime error: %s", "Assert failed");
6508 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8501);
6511 var_pexprsnode3
= var_nodearraylist2
;
6512 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
6513 cltype5
= type_nullable_parser_nodes__AExprs
.color
;
6514 idtype6
= type_nullable_parser_nodes__AExprs
.id
;
6515 if(var_pexprsnode3
== NULL
) {
6518 if(cltype5
>= var_pexprsnode3
->type
->table_size
) {
6521 var4
= var_pexprsnode3
->type
->type_table
[cltype5
] == idtype6
;
6524 if (unlikely(!var4
)) {
6525 PRINT_ERROR("Runtime error: %s", "Assert failed");
6526 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8503);
6529 var7
= NEW_parser_nodes__ABraExpr(&type_parser_nodes__ABraExpr
);
6531 parser_prod__ABraExpr__init_abraexpr(var7
, var_pexprnode2
, var_pexprsnode3
); /* Direct call parser_prod#ABraExpr#init_abraexpr on <var7:ABraExpr>*/
6533 var_pexprnode1
= var7
;
6534 var_node_list
= var_pexprnode1
;
6535 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction331> */
6537 var9
= parser_work__Parser__go_to(var_p
, var8
);
6540 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6544 /* method parser#ReduceAction331#action for (self: Object, Parser) */
6545 void VIRTUAL_parser__ReduceAction331__action(val
* self
, val
* p0
) {
6546 parser__ReduceAction331__action(self
, p0
); /* Direct call parser#ReduceAction331#action on <self:Object(ReduceAction331)>*/
6549 /* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */
6550 void parser__ReduceAction332__action(val
* self
, val
* p0
) {
6551 val
* var_p
/* var p: Parser */;
6552 val
* var
/* : null */;
6553 val
* var_node_list
/* var node_list: nullable Object */;
6554 val
* var1
/* : nullable Object */;
6555 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6556 val
* var2
/* : nullable Object */;
6557 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6558 val
* var3
/* : nullable Object */;
6559 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6560 val
* var4
/* : nullable Object */;
6561 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6562 val
* var5
/* : nullable Object */;
6563 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6564 val
* var6
/* : nullable Object */;
6565 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6566 val
* var7
/* : nullable Object */;
6567 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6568 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6569 short int var8
/* : Bool */;
6572 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6573 short int var9
/* : Bool */;
6576 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6577 short int var12
/* : Bool */;
6580 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6581 short int var15
/* : Bool */;
6584 val
* var18
/* : ANewExpr */;
6585 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6586 long var19
/* : Int */;
6587 long var20
/* : Int */;
6590 var_node_list
= var
;
6592 var1
= parser_work__Parser__pop(var_p
);
6594 var_nodearraylist7
= var1
;
6596 var2
= parser_work__Parser__pop(var_p
);
6598 var_nodearraylist6
= var2
;
6600 var3
= parser_work__Parser__pop(var_p
);
6602 var_nodearraylist5
= var3
;
6604 var4
= parser_work__Parser__pop(var_p
);
6606 var_nodearraylist4
= var4
;
6608 var5
= parser_work__Parser__pop(var_p
);
6610 var_nodearraylist3
= var5
;
6612 var6
= parser_work__Parser__pop(var_p
);
6614 var_nodearraylist2
= var6
;
6616 var7
= parser_work__Parser__pop(var_p
);
6618 var_nodearraylist1
= var7
;
6619 var_tkwnewnode2
= var_nodearraylist1
;
6620 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6621 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
6622 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
6623 if(var_tkwnewnode2
== NULL
) {
6626 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
6629 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
6632 if (unlikely(!var8
)) {
6633 PRINT_ERROR("Runtime error: %s", "Assert failed");
6634 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8525);
6637 var_ptypenode3
= var_nodearraylist3
;
6638 /* <var_ptypenode3:nullable Object> isa nullable AType */
6639 cltype10
= type_nullable_parser_nodes__AType
.color
;
6640 idtype11
= type_nullable_parser_nodes__AType
.id
;
6641 if(var_ptypenode3
== NULL
) {
6644 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
6647 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
6650 if (unlikely(!var9
)) {
6651 PRINT_ERROR("Runtime error: %s", "Assert failed");
6652 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8527);
6655 var_tidnode4
= var_nodearraylist6
;
6656 /* <var_tidnode4:nullable Object> isa nullable TId */
6657 cltype13
= type_nullable_parser_nodes__TId
.color
;
6658 idtype14
= type_nullable_parser_nodes__TId
.id
;
6659 if(var_tidnode4
== NULL
) {
6662 if(cltype13
>= var_tidnode4
->type
->table_size
) {
6665 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
6668 if (unlikely(!var12
)) {
6669 PRINT_ERROR("Runtime error: %s", "Assert failed");
6670 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8529);
6673 var_pexprsnode5
= var_nodearraylist7
;
6674 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
6675 cltype16
= type_nullable_parser_nodes__AExprs
.color
;
6676 idtype17
= type_nullable_parser_nodes__AExprs
.id
;
6677 if(var_pexprsnode5
== NULL
) {
6680 if(cltype16
>= var_pexprsnode5
->type
->table_size
) {
6683 var15
= var_pexprsnode5
->type
->type_table
[cltype16
] == idtype17
;
6686 if (unlikely(!var15
)) {
6687 PRINT_ERROR("Runtime error: %s", "Assert failed");
6688 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8531);
6691 var18
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
6693 parser_prod__ANewExpr__init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
6695 var_pexprnode1
= var18
;
6696 var_node_list
= var_pexprnode1
;
6697 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction332> */
6699 var20
= parser_work__Parser__go_to(var_p
, var19
);
6702 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6706 /* method parser#ReduceAction332#action for (self: Object, Parser) */
6707 void VIRTUAL_parser__ReduceAction332__action(val
* self
, val
* p0
) {
6708 parser__ReduceAction332__action(self
, p0
); /* Direct call parser#ReduceAction332#action on <self:Object(ReduceAction332)>*/
6711 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
6712 void parser__ReduceAction333__action(val
* self
, val
* p0
) {
6713 val
* var_p
/* var p: Parser */;
6714 val
* var
/* : null */;
6715 val
* var_node_list
/* var node_list: nullable Object */;
6716 val
* var1
/* : nullable Object */;
6717 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6718 val
* var2
/* : nullable Object */;
6719 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6720 val
* var3
/* : nullable Object */;
6721 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6722 val
* var4
/* : nullable Object */;
6723 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6724 val
* var5
/* : nullable Object */;
6725 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6726 val
* var6
/* : nullable Object */;
6727 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6728 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6729 short int var7
/* : Bool */;
6732 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6733 short int var8
/* : Bool */;
6736 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6737 short int var11
/* : Bool */;
6740 val
* var14
/* : Array[Object] */;
6741 val
* var_listnode6
/* var listnode6: Array[Object] */;
6742 val
* var15
/* : AListExprs */;
6743 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
6744 val
* var16
/* : ANewExpr */;
6745 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6746 long var17
/* : Int */;
6747 long var18
/* : Int */;
6750 var_node_list
= var
;
6752 var1
= parser_work__Parser__pop(var_p
);
6754 var_nodearraylist6
= var1
;
6756 var2
= parser_work__Parser__pop(var_p
);
6758 var_nodearraylist5
= var2
;
6760 var3
= parser_work__Parser__pop(var_p
);
6762 var_nodearraylist4
= var3
;
6764 var4
= parser_work__Parser__pop(var_p
);
6766 var_nodearraylist3
= var4
;
6768 var5
= parser_work__Parser__pop(var_p
);
6770 var_nodearraylist2
= var5
;
6772 var6
= parser_work__Parser__pop(var_p
);
6774 var_nodearraylist1
= var6
;
6775 var_tkwnewnode2
= var_nodearraylist1
;
6776 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6777 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
6778 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
6779 if(var_tkwnewnode2
== NULL
) {
6782 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
6785 var7
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
6788 if (unlikely(!var7
)) {
6789 PRINT_ERROR("Runtime error: %s", "Assert failed");
6790 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8554);
6793 var_ptypenode3
= var_nodearraylist3
;
6794 /* <var_ptypenode3:nullable Object> isa nullable AType */
6795 cltype9
= type_nullable_parser_nodes__AType
.color
;
6796 idtype10
= type_nullable_parser_nodes__AType
.id
;
6797 if(var_ptypenode3
== NULL
) {
6800 if(cltype9
>= var_ptypenode3
->type
->table_size
) {
6803 var8
= var_ptypenode3
->type
->type_table
[cltype9
] == idtype10
;
6806 if (unlikely(!var8
)) {
6807 PRINT_ERROR("Runtime error: %s", "Assert failed");
6808 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8556);
6811 var_tidnode4
= var_nodearraylist6
;
6812 /* <var_tidnode4:nullable Object> isa nullable TId */
6813 cltype12
= type_nullable_parser_nodes__TId
.color
;
6814 idtype13
= type_nullable_parser_nodes__TId
.id
;
6815 if(var_tidnode4
== NULL
) {
6818 if(cltype12
>= var_tidnode4
->type
->table_size
) {
6821 var11
= var_tidnode4
->type
->type_table
[cltype12
] == idtype13
;
6824 if (unlikely(!var11
)) {
6825 PRINT_ERROR("Runtime error: %s", "Assert failed");
6826 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8558);
6829 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
6831 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
6833 var_listnode6
= var14
;
6834 var15
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6836 parser_prod__AListExprs__init_alistexprs(var15
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var15:AListExprs>*/
6838 var_pexprsnode5
= var15
;
6839 var16
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
6841 parser_prod__ANewExpr__init_anewexpr(var16
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var16:ANewExpr>*/
6843 var_pexprnode1
= var16
;
6844 var_node_list
= var_pexprnode1
;
6845 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction333> */
6847 var18
= parser_work__Parser__go_to(var_p
, var17
);
6850 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6854 /* method parser#ReduceAction333#action for (self: Object, Parser) */
6855 void VIRTUAL_parser__ReduceAction333__action(val
* self
, val
* p0
) {
6856 parser__ReduceAction333__action(self
, p0
); /* Direct call parser#ReduceAction333#action on <self:Object(ReduceAction333)>*/
6859 /* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */
6860 void parser__ReduceAction334__action(val
* self
, val
* p0
) {
6861 val
* var_p
/* var p: Parser */;
6862 val
* var
/* : null */;
6863 val
* var_node_list
/* var node_list: nullable Object */;
6864 val
* var1
/* : nullable Object */;
6865 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6866 val
* var2
/* : nullable Object */;
6867 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6868 val
* var3
/* : nullable Object */;
6869 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6870 val
* var4
/* : nullable Object */;
6871 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6872 val
* var5
/* : nullable Object */;
6873 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6874 val
* var6
/* : nullable Object */;
6875 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6876 val
* var7
/* : nullable Object */;
6877 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6878 val
* var8
/* : nullable Object */;
6879 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6880 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6881 short int var9
/* : Bool */;
6884 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6885 short int var10
/* : Bool */;
6888 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6889 short int var13
/* : Bool */;
6892 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6893 short int var16
/* : Bool */;
6896 val
* var19
/* : ANewExpr */;
6897 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6898 long var20
/* : Int */;
6899 long var21
/* : Int */;
6902 var_node_list
= var
;
6904 var1
= parser_work__Parser__pop(var_p
);
6906 var_nodearraylist8
= var1
;
6908 var2
= parser_work__Parser__pop(var_p
);
6910 var_nodearraylist7
= var2
;
6912 var3
= parser_work__Parser__pop(var_p
);
6914 var_nodearraylist6
= var3
;
6916 var4
= parser_work__Parser__pop(var_p
);
6918 var_nodearraylist5
= var4
;
6920 var5
= parser_work__Parser__pop(var_p
);
6922 var_nodearraylist4
= var5
;
6924 var6
= parser_work__Parser__pop(var_p
);
6926 var_nodearraylist3
= var6
;
6928 var7
= parser_work__Parser__pop(var_p
);
6930 var_nodearraylist2
= var7
;
6932 var8
= parser_work__Parser__pop(var_p
);
6934 var_nodearraylist1
= var8
;
6935 var_tkwnewnode2
= var_nodearraylist1
;
6936 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6937 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
6938 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
6939 if(var_tkwnewnode2
== NULL
) {
6942 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
6945 var9
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
6948 if (unlikely(!var9
)) {
6949 PRINT_ERROR("Runtime error: %s", "Assert failed");
6950 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8587);
6953 var_ptypenode3
= var_nodearraylist3
;
6954 /* <var_ptypenode3:nullable Object> isa nullable AType */
6955 cltype11
= type_nullable_parser_nodes__AType
.color
;
6956 idtype12
= type_nullable_parser_nodes__AType
.id
;
6957 if(var_ptypenode3
== NULL
) {
6960 if(cltype11
>= var_ptypenode3
->type
->table_size
) {
6963 var10
= var_ptypenode3
->type
->type_table
[cltype11
] == idtype12
;
6966 if (unlikely(!var10
)) {
6967 PRINT_ERROR("Runtime error: %s", "Assert failed");
6968 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8589);
6971 var_tidnode4
= var_nodearraylist7
;
6972 /* <var_tidnode4:nullable Object> isa nullable TId */
6973 cltype14
= type_nullable_parser_nodes__TId
.color
;
6974 idtype15
= type_nullable_parser_nodes__TId
.id
;
6975 if(var_tidnode4
== NULL
) {
6978 if(cltype14
>= var_tidnode4
->type
->table_size
) {
6981 var13
= var_tidnode4
->type
->type_table
[cltype14
] == idtype15
;
6984 if (unlikely(!var13
)) {
6985 PRINT_ERROR("Runtime error: %s", "Assert failed");
6986 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8591);
6989 var_pexprsnode5
= var_nodearraylist8
;
6990 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
6991 cltype17
= type_nullable_parser_nodes__AExprs
.color
;
6992 idtype18
= type_nullable_parser_nodes__AExprs
.id
;
6993 if(var_pexprsnode5
== NULL
) {
6996 if(cltype17
>= var_pexprsnode5
->type
->table_size
) {
6999 var16
= var_pexprsnode5
->type
->type_table
[cltype17
] == idtype18
;
7002 if (unlikely(!var16
)) {
7003 PRINT_ERROR("Runtime error: %s", "Assert failed");
7004 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8593);
7007 var19
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
7009 parser_prod__ANewExpr__init_anewexpr(var19
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var19:ANewExpr>*/
7011 var_pexprnode1
= var19
;
7012 var_node_list
= var_pexprnode1
;
7013 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction334> */
7015 var21
= parser_work__Parser__go_to(var_p
, var20
);
7018 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7022 /* method parser#ReduceAction334#action for (self: Object, Parser) */
7023 void VIRTUAL_parser__ReduceAction334__action(val
* self
, val
* p0
) {
7024 parser__ReduceAction334__action(self
, p0
); /* Direct call parser#ReduceAction334#action on <self:Object(ReduceAction334)>*/
7027 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
7028 void parser__ReduceAction335__action(val
* self
, val
* p0
) {
7029 val
* var_p
/* var p: Parser */;
7030 val
* var
/* : null */;
7031 val
* var_node_list
/* var node_list: nullable Object */;
7032 val
* var1
/* : nullable Object */;
7033 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7034 val
* var2
/* : nullable Object */;
7035 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7036 val
* var3
/* : nullable Object */;
7037 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7038 val
* var4
/* : nullable Object */;
7039 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7040 val
* var5
/* : nullable Object */;
7041 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7042 val
* var6
/* : nullable Object */;
7043 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7044 val
* var7
/* : nullable Object */;
7045 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7046 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7047 short int var8
/* : Bool */;
7050 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7051 short int var9
/* : Bool */;
7054 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7055 short int var12
/* : Bool */;
7058 val
* var15
/* : Array[Object] */;
7059 val
* var_listnode6
/* var listnode6: Array[Object] */;
7060 val
* var16
/* : AListExprs */;
7061 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
7062 val
* var17
/* : ANewExpr */;
7063 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7064 long var18
/* : Int */;
7065 long var19
/* : Int */;
7068 var_node_list
= var
;
7070 var1
= parser_work__Parser__pop(var_p
);
7072 var_nodearraylist7
= var1
;
7074 var2
= parser_work__Parser__pop(var_p
);
7076 var_nodearraylist6
= var2
;
7078 var3
= parser_work__Parser__pop(var_p
);
7080 var_nodearraylist5
= var3
;
7082 var4
= parser_work__Parser__pop(var_p
);
7084 var_nodearraylist4
= var4
;
7086 var5
= parser_work__Parser__pop(var_p
);
7088 var_nodearraylist3
= var5
;
7090 var6
= parser_work__Parser__pop(var_p
);
7092 var_nodearraylist2
= var6
;
7094 var7
= parser_work__Parser__pop(var_p
);
7096 var_nodearraylist1
= var7
;
7097 var_tkwnewnode2
= var_nodearraylist1
;
7098 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7099 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
7100 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
7101 if(var_tkwnewnode2
== NULL
) {
7104 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7107 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7110 if (unlikely(!var8
)) {
7111 PRINT_ERROR("Runtime error: %s", "Assert failed");
7112 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8617);
7115 var_ptypenode3
= var_nodearraylist3
;
7116 /* <var_ptypenode3:nullable Object> isa nullable AType */
7117 cltype10
= type_nullable_parser_nodes__AType
.color
;
7118 idtype11
= type_nullable_parser_nodes__AType
.id
;
7119 if(var_ptypenode3
== NULL
) {
7122 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
7125 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
7128 if (unlikely(!var9
)) {
7129 PRINT_ERROR("Runtime error: %s", "Assert failed");
7130 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8619);
7133 var_tidnode4
= var_nodearraylist7
;
7134 /* <var_tidnode4:nullable Object> isa nullable TId */
7135 cltype13
= type_nullable_parser_nodes__TId
.color
;
7136 idtype14
= type_nullable_parser_nodes__TId
.id
;
7137 if(var_tidnode4
== NULL
) {
7140 if(cltype13
>= var_tidnode4
->type
->table_size
) {
7143 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
7146 if (unlikely(!var12
)) {
7147 PRINT_ERROR("Runtime error: %s", "Assert failed");
7148 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8621);
7151 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
7153 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
7155 var_listnode6
= var15
;
7156 var16
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
7158 parser_prod__AListExprs__init_alistexprs(var16
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var16:AListExprs>*/
7160 var_pexprsnode5
= var16
;
7161 var17
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
7163 parser_prod__ANewExpr__init_anewexpr(var17
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var17:ANewExpr>*/
7165 var_pexprnode1
= var17
;
7166 var_node_list
= var_pexprnode1
;
7167 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction335> */
7169 var19
= parser_work__Parser__go_to(var_p
, var18
);
7172 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7176 /* method parser#ReduceAction335#action for (self: Object, Parser) */
7177 void VIRTUAL_parser__ReduceAction335__action(val
* self
, val
* p0
) {
7178 parser__ReduceAction335__action(self
, p0
); /* Direct call parser#ReduceAction335#action on <self:Object(ReduceAction335)>*/
7181 /* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */
7182 void parser__ReduceAction336__action(val
* self
, val
* p0
) {
7183 val
* var_p
/* var p: Parser */;
7184 val
* var
/* : null */;
7185 val
* var_node_list
/* var node_list: nullable Object */;
7186 val
* var1
/* : nullable Object */;
7187 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7188 val
* var2
/* : nullable Object */;
7189 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7190 val
* var3
/* : nullable Object */;
7191 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7192 val
* var4
/* : nullable Object */;
7193 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7194 val
* var5
/* : nullable Object */;
7195 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7196 val
* var6
/* : nullable Object */;
7197 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7198 val
* var7
/* : nullable Object */;
7199 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7200 val
* var8
/* : nullable Object */;
7201 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7202 val
* var9
/* : nullable Object */;
7203 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7204 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7205 short int var10
/* : Bool */;
7208 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7209 short int var11
/* : Bool */;
7212 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7213 short int var14
/* : Bool */;
7216 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
7217 short int var17
/* : Bool */;
7220 val
* var20
/* : ANewExpr */;
7221 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7222 long var21
/* : Int */;
7223 long var22
/* : Int */;
7226 var_node_list
= var
;
7228 var1
= parser_work__Parser__pop(var_p
);
7230 var_nodearraylist9
= var1
;
7232 var2
= parser_work__Parser__pop(var_p
);
7234 var_nodearraylist8
= var2
;
7236 var3
= parser_work__Parser__pop(var_p
);
7238 var_nodearraylist7
= var3
;
7240 var4
= parser_work__Parser__pop(var_p
);
7242 var_nodearraylist6
= var4
;
7244 var5
= parser_work__Parser__pop(var_p
);
7246 var_nodearraylist5
= var5
;
7248 var6
= parser_work__Parser__pop(var_p
);
7250 var_nodearraylist4
= var6
;
7252 var7
= parser_work__Parser__pop(var_p
);
7254 var_nodearraylist3
= var7
;
7256 var8
= parser_work__Parser__pop(var_p
);
7258 var_nodearraylist2
= var8
;
7260 var9
= parser_work__Parser__pop(var_p
);
7262 var_nodearraylist1
= var9
;
7263 var_tkwnewnode2
= var_nodearraylist1
;
7264 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7265 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
7266 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
7267 if(var_tkwnewnode2
== NULL
) {
7270 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7273 var10
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7276 if (unlikely(!var10
)) {
7277 PRINT_ERROR("Runtime error: %s", "Assert failed");
7278 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8651);
7281 var_ptypenode3
= var_nodearraylist3
;
7282 /* <var_ptypenode3:nullable Object> isa nullable AType */
7283 cltype12
= type_nullable_parser_nodes__AType
.color
;
7284 idtype13
= type_nullable_parser_nodes__AType
.id
;
7285 if(var_ptypenode3
== NULL
) {
7288 if(cltype12
>= var_ptypenode3
->type
->table_size
) {
7291 var11
= var_ptypenode3
->type
->type_table
[cltype12
] == idtype13
;
7294 if (unlikely(!var11
)) {
7295 PRINT_ERROR("Runtime error: %s", "Assert failed");
7296 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8653);
7299 var_tidnode4
= var_nodearraylist8
;
7300 /* <var_tidnode4:nullable Object> isa nullable TId */
7301 cltype15
= type_nullable_parser_nodes__TId
.color
;
7302 idtype16
= type_nullable_parser_nodes__TId
.id
;
7303 if(var_tidnode4
== NULL
) {
7306 if(cltype15
>= var_tidnode4
->type
->table_size
) {
7309 var14
= var_tidnode4
->type
->type_table
[cltype15
] == idtype16
;
7312 if (unlikely(!var14
)) {
7313 PRINT_ERROR("Runtime error: %s", "Assert failed");
7314 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8655);
7317 var_pexprsnode5
= var_nodearraylist9
;
7318 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
7319 cltype18
= type_nullable_parser_nodes__AExprs
.color
;
7320 idtype19
= type_nullable_parser_nodes__AExprs
.id
;
7321 if(var_pexprsnode5
== NULL
) {
7324 if(cltype18
>= var_pexprsnode5
->type
->table_size
) {
7327 var17
= var_pexprsnode5
->type
->type_table
[cltype18
] == idtype19
;
7330 if (unlikely(!var17
)) {
7331 PRINT_ERROR("Runtime error: %s", "Assert failed");
7332 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8657);
7335 var20
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
7337 parser_prod__ANewExpr__init_anewexpr(var20
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var20:ANewExpr>*/
7339 var_pexprnode1
= var20
;
7340 var_node_list
= var_pexprnode1
;
7341 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction336> */
7343 var22
= parser_work__Parser__go_to(var_p
, var21
);
7346 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7350 /* method parser#ReduceAction336#action for (self: Object, Parser) */
7351 void VIRTUAL_parser__ReduceAction336__action(val
* self
, val
* p0
) {
7352 parser__ReduceAction336__action(self
, p0
); /* Direct call parser#ReduceAction336#action on <self:Object(ReduceAction336)>*/
7355 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
7356 void parser__ReduceAction337__action(val
* self
, val
* p0
) {
7357 val
* var_p
/* var p: Parser */;
7358 val
* var
/* : null */;
7359 val
* var_node_list
/* var node_list: nullable Object */;
7360 val
* var1
/* : nullable Object */;
7361 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7362 val
* var2
/* : nullable Object */;
7363 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7364 val
* var3
/* : nullable Object */;
7365 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7366 val
* var4
/* : nullable Object */;
7367 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7368 val
* var5
/* : nullable Object */;
7369 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7370 val
* var6
/* : nullable Object */;
7371 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7372 val
* var7
/* : nullable Object */;
7373 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7374 val
* var8
/* : nullable Object */;
7375 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7376 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7377 short int var9
/* : Bool */;
7380 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7381 short int var10
/* : Bool */;
7384 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7385 short int var13
/* : Bool */;
7388 val
* var16
/* : Array[Object] */;
7389 val
* var_listnode6
/* var listnode6: Array[Object] */;
7390 val
* var17
/* : AListExprs */;
7391 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
7392 val
* var18
/* : ANewExpr */;
7393 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7394 long var19
/* : Int */;
7395 long var20
/* : Int */;
7398 var_node_list
= var
;
7400 var1
= parser_work__Parser__pop(var_p
);
7402 var_nodearraylist8
= var1
;
7404 var2
= parser_work__Parser__pop(var_p
);
7406 var_nodearraylist7
= var2
;
7408 var3
= parser_work__Parser__pop(var_p
);
7410 var_nodearraylist6
= var3
;
7412 var4
= parser_work__Parser__pop(var_p
);
7414 var_nodearraylist5
= var4
;
7416 var5
= parser_work__Parser__pop(var_p
);
7418 var_nodearraylist4
= var5
;
7420 var6
= parser_work__Parser__pop(var_p
);
7422 var_nodearraylist3
= var6
;
7424 var7
= parser_work__Parser__pop(var_p
);
7426 var_nodearraylist2
= var7
;
7428 var8
= parser_work__Parser__pop(var_p
);
7430 var_nodearraylist1
= var8
;
7431 var_tkwnewnode2
= var_nodearraylist1
;
7432 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7433 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
7434 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
7435 if(var_tkwnewnode2
== NULL
) {
7438 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7441 var9
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7444 if (unlikely(!var9
)) {
7445 PRINT_ERROR("Runtime error: %s", "Assert failed");
7446 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8682);
7449 var_ptypenode3
= var_nodearraylist3
;
7450 /* <var_ptypenode3:nullable Object> isa nullable AType */
7451 cltype11
= type_nullable_parser_nodes__AType
.color
;
7452 idtype12
= type_nullable_parser_nodes__AType
.id
;
7453 if(var_ptypenode3
== NULL
) {
7456 if(cltype11
>= var_ptypenode3
->type
->table_size
) {
7459 var10
= var_ptypenode3
->type
->type_table
[cltype11
] == idtype12
;
7462 if (unlikely(!var10
)) {
7463 PRINT_ERROR("Runtime error: %s", "Assert failed");
7464 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8684);
7467 var_tidnode4
= var_nodearraylist8
;
7468 /* <var_tidnode4:nullable Object> isa nullable TId */
7469 cltype14
= type_nullable_parser_nodes__TId
.color
;
7470 idtype15
= type_nullable_parser_nodes__TId
.id
;
7471 if(var_tidnode4
== NULL
) {
7474 if(cltype14
>= var_tidnode4
->type
->table_size
) {
7477 var13
= var_tidnode4
->type
->type_table
[cltype14
] == idtype15
;
7480 if (unlikely(!var13
)) {
7481 PRINT_ERROR("Runtime error: %s", "Assert failed");
7482 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8686);
7485 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7487 ((void (*)(val
*))(var16
->class->vft
[COLOR_kernel__Object__init
]))(var16
) /* init on <var16:Array[Object]>*/;
7489 var_listnode6
= var16
;
7490 var17
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
7492 parser_prod__AListExprs__init_alistexprs(var17
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var17:AListExprs>*/
7494 var_pexprsnode5
= var17
;
7495 var18
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
7497 parser_prod__ANewExpr__init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
7499 var_pexprnode1
= var18
;
7500 var_node_list
= var_pexprnode1
;
7501 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction337> */
7503 var20
= parser_work__Parser__go_to(var_p
, var19
);
7506 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7510 /* method parser#ReduceAction337#action for (self: Object, Parser) */
7511 void VIRTUAL_parser__ReduceAction337__action(val
* self
, val
* p0
) {
7512 parser__ReduceAction337__action(self
, p0
); /* Direct call parser#ReduceAction337#action on <self:Object(ReduceAction337)>*/
7515 /* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */
7516 void parser__ReduceAction340__action(val
* self
, val
* p0
) {
7517 val
* var_p
/* var p: Parser */;
7518 val
* var
/* : null */;
7519 val
* var_node_list
/* var node_list: nullable Object */;
7520 val
* var1
/* : nullable Object */;
7521 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7522 val
* var2
/* : nullable Object */;
7523 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7524 val
* var3
/* : nullable Object */;
7525 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7526 val
* var4
/* : nullable Object */;
7527 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7528 val
* var5
/* : nullable Object */;
7529 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7530 val
* var6
/* : nullable Object */;
7531 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7532 val
* var7
/* : nullable Object */;
7533 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7534 val
* var8
/* : nullable Object */;
7535 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7536 val
* var9
/* : nullable Object */;
7537 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7538 val
* var10
/* : nullable Object */;
7539 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7540 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7541 short int var11
/* : Bool */;
7544 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7545 short int var12
/* : Bool */;
7548 val
* var_toparnode4
/* var toparnode4: nullable Object */;
7549 short int var15
/* : Bool */;
7552 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
7553 short int var18
/* : Bool */;
7556 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
7557 short int var21
/* : Bool */;
7560 val
* var24
/* : AAsCastExpr */;
7561 val
* var_pexprnode1
/* var pexprnode1: nullable AAsCastExpr */;
7562 long var25
/* : Int */;
7563 long var26
/* : Int */;
7566 var_node_list
= var
;
7568 var1
= parser_work__Parser__pop(var_p
);
7570 var_nodearraylist10
= var1
;
7572 var2
= parser_work__Parser__pop(var_p
);
7574 var_nodearraylist9
= var2
;
7576 var3
= parser_work__Parser__pop(var_p
);
7578 var_nodearraylist8
= var3
;
7580 var4
= parser_work__Parser__pop(var_p
);
7582 var_nodearraylist7
= var4
;
7584 var5
= parser_work__Parser__pop(var_p
);
7586 var_nodearraylist6
= var5
;
7588 var6
= parser_work__Parser__pop(var_p
);
7590 var_nodearraylist5
= var6
;
7592 var7
= parser_work__Parser__pop(var_p
);
7594 var_nodearraylist4
= var7
;
7596 var8
= parser_work__Parser__pop(var_p
);
7598 var_nodearraylist3
= var8
;
7600 var9
= parser_work__Parser__pop(var_p
);
7602 var_nodearraylist2
= var9
;
7604 var10
= parser_work__Parser__pop(var_p
);
7606 var_nodearraylist1
= var10
;
7607 var_pexprnode2
= var_nodearraylist1
;
7608 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7609 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7610 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7611 if(var_pexprnode2
== NULL
) {
7614 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7617 var11
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7620 if (unlikely(!var11
)) {
7621 PRINT_ERROR("Runtime error: %s", "Assert failed");
7622 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8717);
7625 var_tkwasnode3
= var_nodearraylist4
;
7626 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7627 cltype13
= type_nullable_parser_nodes__TKwas
.color
;
7628 idtype14
= type_nullable_parser_nodes__TKwas
.id
;
7629 if(var_tkwasnode3
== NULL
) {
7632 if(cltype13
>= var_tkwasnode3
->type
->table_size
) {
7635 var12
= var_tkwasnode3
->type
->type_table
[cltype13
] == idtype14
;
7638 if (unlikely(!var12
)) {
7639 PRINT_ERROR("Runtime error: %s", "Assert failed");
7640 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8719);
7643 var_toparnode4
= var_nodearraylist6
;
7644 /* <var_toparnode4:nullable Object> isa nullable TOpar */
7645 cltype16
= type_nullable_parser_nodes__TOpar
.color
;
7646 idtype17
= type_nullable_parser_nodes__TOpar
.id
;
7647 if(var_toparnode4
== NULL
) {
7650 if(cltype16
>= var_toparnode4
->type
->table_size
) {
7653 var15
= var_toparnode4
->type
->type_table
[cltype16
] == idtype17
;
7656 if (unlikely(!var15
)) {
7657 PRINT_ERROR("Runtime error: %s", "Assert failed");
7658 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8721);
7661 var_ptypenode5
= var_nodearraylist8
;
7662 /* <var_ptypenode5:nullable Object> isa nullable AType */
7663 cltype19
= type_nullable_parser_nodes__AType
.color
;
7664 idtype20
= type_nullable_parser_nodes__AType
.id
;
7665 if(var_ptypenode5
== NULL
) {
7668 if(cltype19
>= var_ptypenode5
->type
->table_size
) {
7671 var18
= var_ptypenode5
->type
->type_table
[cltype19
] == idtype20
;
7674 if (unlikely(!var18
)) {
7675 PRINT_ERROR("Runtime error: %s", "Assert failed");
7676 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8723);
7679 var_tcparnode6
= var_nodearraylist10
;
7680 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
7681 cltype22
= type_nullable_parser_nodes__TCpar
.color
;
7682 idtype23
= type_nullable_parser_nodes__TCpar
.id
;
7683 if(var_tcparnode6
== NULL
) {
7686 if(cltype22
>= var_tcparnode6
->type
->table_size
) {
7689 var21
= var_tcparnode6
->type
->type_table
[cltype22
] == idtype23
;
7692 if (unlikely(!var21
)) {
7693 PRINT_ERROR("Runtime error: %s", "Assert failed");
7694 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8725);
7697 var24
= NEW_parser_nodes__AAsCastExpr(&type_parser_nodes__AAsCastExpr
);
7699 parser_prod__AAsCastExpr__init_aascastexpr(var24
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_ptypenode5
, var_tcparnode6
); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on <var24:AAsCastExpr>*/
7701 var_pexprnode1
= var24
;
7702 var_node_list
= var_pexprnode1
;
7703 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction340> */
7705 var26
= parser_work__Parser__go_to(var_p
, var25
);
7708 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7712 /* method parser#ReduceAction340#action for (self: Object, Parser) */
7713 void VIRTUAL_parser__ReduceAction340__action(val
* self
, val
* p0
) {
7714 parser__ReduceAction340__action(self
, p0
); /* Direct call parser#ReduceAction340#action on <self:Object(ReduceAction340)>*/
7717 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
7718 void parser__ReduceAction341__action(val
* self
, val
* p0
) {
7719 val
* var_p
/* var p: Parser */;
7720 val
* var
/* : null */;
7721 val
* var_node_list
/* var node_list: nullable Object */;
7722 val
* var1
/* : nullable Object */;
7723 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
7724 val
* var2
/* : nullable Object */;
7725 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
7726 val
* var3
/* : nullable Object */;
7727 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7728 val
* var4
/* : nullable Object */;
7729 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7730 val
* var5
/* : nullable Object */;
7731 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7732 val
* var6
/* : nullable Object */;
7733 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7734 val
* var7
/* : nullable Object */;
7735 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7736 val
* var8
/* : nullable Object */;
7737 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7738 val
* var9
/* : nullable Object */;
7739 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7740 val
* var10
/* : nullable Object */;
7741 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7742 val
* var11
/* : nullable Object */;
7743 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7744 val
* var12
/* : nullable Object */;
7745 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7746 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7747 short int var13
/* : Bool */;
7750 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7751 short int var14
/* : Bool */;
7754 val
* var_toparnode4
/* var toparnode4: nullable Object */;
7755 short int var17
/* : Bool */;
7758 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
7759 short int var20
/* : Bool */;
7762 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
7763 short int var23
/* : Bool */;
7766 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
7767 short int var26
/* : Bool */;
7770 val
* var29
/* : AAsNotnullExpr */;
7771 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
7772 long var30
/* : Int */;
7773 long var31
/* : Int */;
7776 var_node_list
= var
;
7778 var1
= parser_work__Parser__pop(var_p
);
7780 var_nodearraylist12
= var1
;
7782 var2
= parser_work__Parser__pop(var_p
);
7784 var_nodearraylist11
= var2
;
7786 var3
= parser_work__Parser__pop(var_p
);
7788 var_nodearraylist10
= var3
;
7790 var4
= parser_work__Parser__pop(var_p
);
7792 var_nodearraylist9
= var4
;
7794 var5
= parser_work__Parser__pop(var_p
);
7796 var_nodearraylist8
= var5
;
7798 var6
= parser_work__Parser__pop(var_p
);
7800 var_nodearraylist7
= var6
;
7802 var7
= parser_work__Parser__pop(var_p
);
7804 var_nodearraylist6
= var7
;
7806 var8
= parser_work__Parser__pop(var_p
);
7808 var_nodearraylist5
= var8
;
7810 var9
= parser_work__Parser__pop(var_p
);
7812 var_nodearraylist4
= var9
;
7814 var10
= parser_work__Parser__pop(var_p
);
7816 var_nodearraylist3
= var10
;
7818 var11
= parser_work__Parser__pop(var_p
);
7820 var_nodearraylist2
= var11
;
7822 var12
= parser_work__Parser__pop(var_p
);
7824 var_nodearraylist1
= var12
;
7825 var_pexprnode2
= var_nodearraylist1
;
7826 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7827 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7828 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7829 if(var_pexprnode2
== NULL
) {
7832 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7835 var13
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7838 if (unlikely(!var13
)) {
7839 PRINT_ERROR("Runtime error: %s", "Assert failed");
7840 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8755);
7843 var_tkwasnode3
= var_nodearraylist4
;
7844 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7845 cltype15
= type_nullable_parser_nodes__TKwas
.color
;
7846 idtype16
= type_nullable_parser_nodes__TKwas
.id
;
7847 if(var_tkwasnode3
== NULL
) {
7850 if(cltype15
>= var_tkwasnode3
->type
->table_size
) {
7853 var14
= var_tkwasnode3
->type
->type_table
[cltype15
] == idtype16
;
7856 if (unlikely(!var14
)) {
7857 PRINT_ERROR("Runtime error: %s", "Assert failed");
7858 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8757);
7861 var_toparnode4
= var_nodearraylist6
;
7862 /* <var_toparnode4:nullable Object> isa nullable TOpar */
7863 cltype18
= type_nullable_parser_nodes__TOpar
.color
;
7864 idtype19
= type_nullable_parser_nodes__TOpar
.id
;
7865 if(var_toparnode4
== NULL
) {
7868 if(cltype18
>= var_toparnode4
->type
->table_size
) {
7871 var17
= var_toparnode4
->type
->type_table
[cltype18
] == idtype19
;
7874 if (unlikely(!var17
)) {
7875 PRINT_ERROR("Runtime error: %s", "Assert failed");
7876 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8759);
7879 var_tkwnotnode5
= var_nodearraylist8
;
7880 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
7881 cltype21
= type_nullable_parser_nodes__TKwnot
.color
;
7882 idtype22
= type_nullable_parser_nodes__TKwnot
.id
;
7883 if(var_tkwnotnode5
== NULL
) {
7886 if(cltype21
>= var_tkwnotnode5
->type
->table_size
) {
7889 var20
= var_tkwnotnode5
->type
->type_table
[cltype21
] == idtype22
;
7892 if (unlikely(!var20
)) {
7893 PRINT_ERROR("Runtime error: %s", "Assert failed");
7894 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8761);
7897 var_tkwnullnode6
= var_nodearraylist10
;
7898 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
7899 cltype24
= type_nullable_parser_nodes__TKwnull
.color
;
7900 idtype25
= type_nullable_parser_nodes__TKwnull
.id
;
7901 if(var_tkwnullnode6
== NULL
) {
7904 if(cltype24
>= var_tkwnullnode6
->type
->table_size
) {
7907 var23
= var_tkwnullnode6
->type
->type_table
[cltype24
] == idtype25
;
7910 if (unlikely(!var23
)) {
7911 PRINT_ERROR("Runtime error: %s", "Assert failed");
7912 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8763);
7915 var_tcparnode7
= var_nodearraylist12
;
7916 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
7917 cltype27
= type_nullable_parser_nodes__TCpar
.color
;
7918 idtype28
= type_nullable_parser_nodes__TCpar
.id
;
7919 if(var_tcparnode7
== NULL
) {
7922 if(cltype27
>= var_tcparnode7
->type
->table_size
) {
7925 var26
= var_tcparnode7
->type
->type_table
[cltype27
] == idtype28
;
7928 if (unlikely(!var26
)) {
7929 PRINT_ERROR("Runtime error: %s", "Assert failed");
7930 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8765);
7933 var29
= NEW_parser_nodes__AAsNotnullExpr(&type_parser_nodes__AAsNotnullExpr
);
7935 parser_prod__AAsNotnullExpr__init_aasnotnullexpr(var29
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_tkwnotnode5
, var_tkwnullnode6
, var_tcparnode7
); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var29:AAsNotnullExpr>*/
7937 var_pexprnode1
= var29
;
7938 var_node_list
= var_pexprnode1
;
7939 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction341> */
7941 var31
= parser_work__Parser__go_to(var_p
, var30
);
7944 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7948 /* method parser#ReduceAction341#action for (self: Object, Parser) */
7949 void VIRTUAL_parser__ReduceAction341__action(val
* self
, val
* p0
) {
7950 parser__ReduceAction341__action(self
, p0
); /* Direct call parser#ReduceAction341#action on <self:Object(ReduceAction341)>*/
7953 /* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */
7954 void parser__ReduceAction342__action(val
* self
, val
* p0
) {
7955 val
* var_p
/* var p: Parser */;
7956 val
* var
/* : null */;
7957 val
* var_node_list
/* var node_list: nullable Object */;
7958 val
* var1
/* : nullable Object */;
7959 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7960 val
* var2
/* : nullable Object */;
7961 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7962 val
* var3
/* : nullable Object */;
7963 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7964 val
* var4
/* : nullable Object */;
7965 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7966 val
* var5
/* : nullable Object */;
7967 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7968 val
* var6
/* : nullable Object */;
7969 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7970 val
* var7
/* : nullable Object */;
7971 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7972 val
* var8
/* : nullable Object */;
7973 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7974 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7975 short int var9
/* : Bool */;
7978 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7979 short int var10
/* : Bool */;
7982 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
7983 short int var13
/* : Bool */;
7986 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
7987 short int var16
/* : Bool */;
7990 val
* var19
/* : AAsNotnullExpr */;
7991 val
* var20
/* : null */;
7992 val
* var21
/* : null */;
7993 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
7994 long var22
/* : Int */;
7995 long var23
/* : Int */;
7998 var_node_list
= var
;
8000 var1
= parser_work__Parser__pop(var_p
);
8002 var_nodearraylist8
= var1
;
8004 var2
= parser_work__Parser__pop(var_p
);
8006 var_nodearraylist7
= var2
;
8008 var3
= parser_work__Parser__pop(var_p
);
8010 var_nodearraylist6
= var3
;
8012 var4
= parser_work__Parser__pop(var_p
);
8014 var_nodearraylist5
= var4
;
8016 var5
= parser_work__Parser__pop(var_p
);
8018 var_nodearraylist4
= var5
;
8020 var6
= parser_work__Parser__pop(var_p
);
8022 var_nodearraylist3
= var6
;
8024 var7
= parser_work__Parser__pop(var_p
);
8026 var_nodearraylist2
= var7
;
8028 var8
= parser_work__Parser__pop(var_p
);
8030 var_nodearraylist1
= var8
;
8031 var_pexprnode2
= var_nodearraylist1
;
8032 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8033 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8034 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8035 if(var_pexprnode2
== NULL
) {
8038 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8041 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8044 if (unlikely(!var9
)) {
8045 PRINT_ERROR("Runtime error: %s", "Assert failed");
8046 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8792);
8049 var_tkwasnode3
= var_nodearraylist4
;
8050 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
8051 cltype11
= type_nullable_parser_nodes__TKwas
.color
;
8052 idtype12
= type_nullable_parser_nodes__TKwas
.id
;
8053 if(var_tkwasnode3
== NULL
) {
8056 if(cltype11
>= var_tkwasnode3
->type
->table_size
) {
8059 var10
= var_tkwasnode3
->type
->type_table
[cltype11
] == idtype12
;
8062 if (unlikely(!var10
)) {
8063 PRINT_ERROR("Runtime error: %s", "Assert failed");
8064 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8794);
8067 var_tkwnotnode5
= var_nodearraylist6
;
8068 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
8069 cltype14
= type_nullable_parser_nodes__TKwnot
.color
;
8070 idtype15
= type_nullable_parser_nodes__TKwnot
.id
;
8071 if(var_tkwnotnode5
== NULL
) {
8074 if(cltype14
>= var_tkwnotnode5
->type
->table_size
) {
8077 var13
= var_tkwnotnode5
->type
->type_table
[cltype14
] == idtype15
;
8080 if (unlikely(!var13
)) {
8081 PRINT_ERROR("Runtime error: %s", "Assert failed");
8082 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8796);
8085 var_tkwnullnode6
= var_nodearraylist8
;
8086 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
8087 cltype17
= type_nullable_parser_nodes__TKwnull
.color
;
8088 idtype18
= type_nullable_parser_nodes__TKwnull
.id
;
8089 if(var_tkwnullnode6
== NULL
) {
8092 if(cltype17
>= var_tkwnullnode6
->type
->table_size
) {
8095 var16
= var_tkwnullnode6
->type
->type_table
[cltype17
] == idtype18
;
8098 if (unlikely(!var16
)) {
8099 PRINT_ERROR("Runtime error: %s", "Assert failed");
8100 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8798);
8103 var19
= NEW_parser_nodes__AAsNotnullExpr(&type_parser_nodes__AAsNotnullExpr
);
8107 parser_prod__AAsNotnullExpr__init_aasnotnullexpr(var19
, var_pexprnode2
, var_tkwasnode3
, var20
, var_tkwnotnode5
, var_tkwnullnode6
, var21
); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var19:AAsNotnullExpr>*/
8109 var_pexprnode1
= var19
;
8110 var_node_list
= var_pexprnode1
;
8111 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction342> */
8113 var23
= parser_work__Parser__go_to(var_p
, var22
);
8116 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8120 /* method parser#ReduceAction342#action for (self: Object, Parser) */
8121 void VIRTUAL_parser__ReduceAction342__action(val
* self
, val
* p0
) {
8122 parser__ReduceAction342__action(self
, p0
); /* Direct call parser#ReduceAction342#action on <self:Object(ReduceAction342)>*/
8125 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
8126 void parser__ReduceAction343__action(val
* self
, val
* p0
) {
8127 val
* var_p
/* var p: Parser */;
8128 val
* var
/* : null */;
8129 val
* var_node_list
/* var node_list: nullable Object */;
8130 val
* var1
/* : nullable Object */;
8131 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8132 val
* var2
/* : nullable Object */;
8133 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8134 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8135 short int var3
/* : Bool */;
8138 val
* var_tdotdotdotnode3
/* var tdotdotdotnode3: nullable Object */;
8139 short int var4
/* : Bool */;
8142 val
* var7
/* : AVarargExpr */;
8143 val
* var_pexprnode1
/* var pexprnode1: nullable AVarargExpr */;
8144 long var8
/* : Int */;
8145 long var9
/* : Int */;
8148 var_node_list
= var
;
8150 var1
= parser_work__Parser__pop(var_p
);
8152 var_nodearraylist2
= var1
;
8154 var2
= parser_work__Parser__pop(var_p
);
8156 var_nodearraylist1
= var2
;
8157 var_pexprnode2
= var_nodearraylist1
;
8158 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8159 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8160 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8161 if(var_pexprnode2
== NULL
) {
8164 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8167 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8170 if (unlikely(!var3
)) {
8171 PRINT_ERROR("Runtime error: %s", "Assert failed");
8172 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8819);
8175 var_tdotdotdotnode3
= var_nodearraylist2
;
8176 /* <var_tdotdotdotnode3:nullable Object> isa nullable TDotdotdot */
8177 cltype5
= type_nullable_parser_nodes__TDotdotdot
.color
;
8178 idtype6
= type_nullable_parser_nodes__TDotdotdot
.id
;
8179 if(var_tdotdotdotnode3
== NULL
) {
8182 if(cltype5
>= var_tdotdotdotnode3
->type
->table_size
) {
8185 var4
= var_tdotdotdotnode3
->type
->type_table
[cltype5
] == idtype6
;
8188 if (unlikely(!var4
)) {
8189 PRINT_ERROR("Runtime error: %s", "Assert failed");
8190 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8821);
8193 var7
= NEW_parser_nodes__AVarargExpr(&type_parser_nodes__AVarargExpr
);
8195 parser_prod__AVarargExpr__init_avarargexpr(var7
, var_pexprnode2
, var_tdotdotdotnode3
); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on <var7:AVarargExpr>*/
8197 var_pexprnode1
= var7
;
8198 var_node_list
= var_pexprnode1
;
8199 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction343> */
8201 var9
= parser_work__Parser__go_to(var_p
, var8
);
8204 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8208 /* method parser#ReduceAction343#action for (self: Object, Parser) */
8209 void VIRTUAL_parser__ReduceAction343__action(val
* self
, val
* p0
) {
8210 parser__ReduceAction343__action(self
, p0
); /* Direct call parser#ReduceAction343#action on <self:Object(ReduceAction343)>*/
8213 /* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */
8214 void parser__ReduceAction344__action(val
* self
, val
* p0
) {
8215 val
* var_p
/* var p: Parser */;
8216 val
* var
/* : null */;
8217 val
* var_node_list
/* var node_list: nullable Object */;
8218 val
* var1
/* : nullable Object */;
8219 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8220 val
* var2
/* : nullable Object */;
8221 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8222 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
8223 short int var3
/* : Bool */;
8226 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8227 short int var4
/* : Bool */;
8230 val
* var7
/* : ASelfExpr */;
8231 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
8232 long var8
/* : Int */;
8233 long var9
/* : Int */;
8236 var_node_list
= var
;
8238 var1
= parser_work__Parser__pop(var_p
);
8240 var_nodearraylist2
= var1
;
8242 var2
= parser_work__Parser__pop(var_p
);
8244 var_nodearraylist1
= var2
;
8245 var_tkwselfnode2
= var_nodearraylist1
;
8246 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
8247 cltype
= type_nullable_parser_nodes__TKwself
.color
;
8248 idtype
= type_nullable_parser_nodes__TKwself
.id
;
8249 if(var_tkwselfnode2
== NULL
) {
8252 if(cltype
>= var_tkwselfnode2
->type
->table_size
) {
8255 var3
= var_tkwselfnode2
->type
->type_table
[cltype
] == idtype
;
8258 if (unlikely(!var3
)) {
8259 PRINT_ERROR("Runtime error: %s", "Assert failed");
8260 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8838);
8263 var_pannotationsnode3
= var_nodearraylist2
;
8264 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8265 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8266 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8267 if(var_pannotationsnode3
== NULL
) {
8270 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8273 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8276 if (unlikely(!var4
)) {
8277 PRINT_ERROR("Runtime error: %s", "Assert failed");
8278 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8840);
8281 var7
= NEW_parser_nodes__ASelfExpr(&type_parser_nodes__ASelfExpr
);
8283 parser_prod__ASelfExpr__init_aselfexpr(var7
, var_tkwselfnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on <var7:ASelfExpr>*/
8285 var_pexprnode1
= var7
;
8286 var_node_list
= var_pexprnode1
;
8287 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction344> */
8289 var9
= parser_work__Parser__go_to(var_p
, var8
);
8292 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8296 /* method parser#ReduceAction344#action for (self: Object, Parser) */
8297 void VIRTUAL_parser__ReduceAction344__action(val
* self
, val
* p0
) {
8298 parser__ReduceAction344__action(self
, p0
); /* Direct call parser#ReduceAction344#action on <self:Object(ReduceAction344)>*/
8301 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
8302 void parser__ReduceAction345__action(val
* self
, val
* p0
) {
8303 val
* var_p
/* var p: Parser */;
8304 val
* var
/* : null */;
8305 val
* var_node_list
/* var node_list: nullable Object */;
8306 val
* var1
/* : nullable Object */;
8307 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8308 val
* var2
/* : nullable Object */;
8309 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8310 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
8311 short int var3
/* : Bool */;
8314 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8315 short int var4
/* : Bool */;
8318 val
* var7
/* : ATrueExpr */;
8319 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
8320 long var8
/* : Int */;
8321 long var9
/* : Int */;
8324 var_node_list
= var
;
8326 var1
= parser_work__Parser__pop(var_p
);
8328 var_nodearraylist2
= var1
;
8330 var2
= parser_work__Parser__pop(var_p
);
8332 var_nodearraylist1
= var2
;
8333 var_tkwtruenode2
= var_nodearraylist1
;
8334 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
8335 cltype
= type_nullable_parser_nodes__TKwtrue
.color
;
8336 idtype
= type_nullable_parser_nodes__TKwtrue
.id
;
8337 if(var_tkwtruenode2
== NULL
) {
8340 if(cltype
>= var_tkwtruenode2
->type
->table_size
) {
8343 var3
= var_tkwtruenode2
->type
->type_table
[cltype
] == idtype
;
8346 if (unlikely(!var3
)) {
8347 PRINT_ERROR("Runtime error: %s", "Assert failed");
8348 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8857);
8351 var_pannotationsnode3
= var_nodearraylist2
;
8352 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8353 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8354 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8355 if(var_pannotationsnode3
== NULL
) {
8358 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8361 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8364 if (unlikely(!var4
)) {
8365 PRINT_ERROR("Runtime error: %s", "Assert failed");
8366 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8859);
8369 var7
= NEW_parser_nodes__ATrueExpr(&type_parser_nodes__ATrueExpr
);
8371 parser_prod__ATrueExpr__init_atrueexpr(var7
, var_tkwtruenode2
, var_pannotationsnode3
); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on <var7:ATrueExpr>*/
8373 var_pexprnode1
= var7
;
8374 var_node_list
= var_pexprnode1
;
8375 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction345> */
8377 var9
= parser_work__Parser__go_to(var_p
, var8
);
8380 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8384 /* method parser#ReduceAction345#action for (self: Object, Parser) */
8385 void VIRTUAL_parser__ReduceAction345__action(val
* self
, val
* p0
) {
8386 parser__ReduceAction345__action(self
, p0
); /* Direct call parser#ReduceAction345#action on <self:Object(ReduceAction345)>*/
8389 /* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */
8390 void parser__ReduceAction346__action(val
* self
, val
* p0
) {
8391 val
* var_p
/* var p: Parser */;
8392 val
* var
/* : null */;
8393 val
* var_node_list
/* var node_list: nullable Object */;
8394 val
* var1
/* : nullable Object */;
8395 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8396 val
* var2
/* : nullable Object */;
8397 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8398 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
8399 short int var3
/* : Bool */;
8402 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8403 short int var4
/* : Bool */;
8406 val
* var7
/* : AFalseExpr */;
8407 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
8408 long var8
/* : Int */;
8409 long var9
/* : Int */;
8412 var_node_list
= var
;
8414 var1
= parser_work__Parser__pop(var_p
);
8416 var_nodearraylist2
= var1
;
8418 var2
= parser_work__Parser__pop(var_p
);
8420 var_nodearraylist1
= var2
;
8421 var_tkwfalsenode2
= var_nodearraylist1
;
8422 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
8423 cltype
= type_nullable_parser_nodes__TKwfalse
.color
;
8424 idtype
= type_nullable_parser_nodes__TKwfalse
.id
;
8425 if(var_tkwfalsenode2
== NULL
) {
8428 if(cltype
>= var_tkwfalsenode2
->type
->table_size
) {
8431 var3
= var_tkwfalsenode2
->type
->type_table
[cltype
] == idtype
;
8434 if (unlikely(!var3
)) {
8435 PRINT_ERROR("Runtime error: %s", "Assert failed");
8436 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8876);
8439 var_pannotationsnode3
= var_nodearraylist2
;
8440 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8441 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8442 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8443 if(var_pannotationsnode3
== NULL
) {
8446 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8449 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8452 if (unlikely(!var4
)) {
8453 PRINT_ERROR("Runtime error: %s", "Assert failed");
8454 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8878);
8457 var7
= NEW_parser_nodes__AFalseExpr(&type_parser_nodes__AFalseExpr
);
8459 parser_prod__AFalseExpr__init_afalseexpr(var7
, var_tkwfalsenode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on <var7:AFalseExpr>*/
8461 var_pexprnode1
= var7
;
8462 var_node_list
= var_pexprnode1
;
8463 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction346> */
8465 var9
= parser_work__Parser__go_to(var_p
, var8
);
8468 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8472 /* method parser#ReduceAction346#action for (self: Object, Parser) */
8473 void VIRTUAL_parser__ReduceAction346__action(val
* self
, val
* p0
) {
8474 parser__ReduceAction346__action(self
, p0
); /* Direct call parser#ReduceAction346#action on <self:Object(ReduceAction346)>*/
8477 /* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */
8478 void parser__ReduceAction347__action(val
* self
, val
* p0
) {
8479 val
* var_p
/* var p: Parser */;
8480 val
* var
/* : null */;
8481 val
* var_node_list
/* var node_list: nullable Object */;
8482 val
* var1
/* : nullable Object */;
8483 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8484 val
* var2
/* : nullable Object */;
8485 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8486 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
8487 short int var3
/* : Bool */;
8490 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8491 short int var4
/* : Bool */;
8494 val
* var7
/* : ANullExpr */;
8495 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
8496 long var8
/* : Int */;
8497 long var9
/* : Int */;
8500 var_node_list
= var
;
8502 var1
= parser_work__Parser__pop(var_p
);
8504 var_nodearraylist2
= var1
;
8506 var2
= parser_work__Parser__pop(var_p
);
8508 var_nodearraylist1
= var2
;
8509 var_tkwnullnode2
= var_nodearraylist1
;
8510 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
8511 cltype
= type_nullable_parser_nodes__TKwnull
.color
;
8512 idtype
= type_nullable_parser_nodes__TKwnull
.id
;
8513 if(var_tkwnullnode2
== NULL
) {
8516 if(cltype
>= var_tkwnullnode2
->type
->table_size
) {
8519 var3
= var_tkwnullnode2
->type
->type_table
[cltype
] == idtype
;
8522 if (unlikely(!var3
)) {
8523 PRINT_ERROR("Runtime error: %s", "Assert failed");
8524 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8895);
8527 var_pannotationsnode3
= var_nodearraylist2
;
8528 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8529 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8530 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8531 if(var_pannotationsnode3
== NULL
) {
8534 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8537 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8540 if (unlikely(!var4
)) {
8541 PRINT_ERROR("Runtime error: %s", "Assert failed");
8542 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8897);
8545 var7
= NEW_parser_nodes__ANullExpr(&type_parser_nodes__ANullExpr
);
8547 parser_prod__ANullExpr__init_anullexpr(var7
, var_tkwnullnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ANullExpr#init_anullexpr on <var7:ANullExpr>*/
8549 var_pexprnode1
= var7
;
8550 var_node_list
= var_pexprnode1
;
8551 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction347> */
8553 var9
= parser_work__Parser__go_to(var_p
, var8
);
8556 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8560 /* method parser#ReduceAction347#action for (self: Object, Parser) */
8561 void VIRTUAL_parser__ReduceAction347__action(val
* self
, val
* p0
) {
8562 parser__ReduceAction347__action(self
, p0
); /* Direct call parser#ReduceAction347#action on <self:Object(ReduceAction347)>*/
8565 /* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */
8566 void parser__ReduceAction348__action(val
* self
, val
* p0
) {
8567 val
* var_p
/* var p: Parser */;
8568 val
* var
/* : null */;
8569 val
* var_node_list
/* var node_list: nullable Object */;
8570 val
* var1
/* : nullable Object */;
8571 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8572 val
* var2
/* : nullable Object */;
8573 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8574 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
8575 short int var3
/* : Bool */;
8578 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8579 short int var4
/* : Bool */;
8582 val
* var7
/* : ADecIntExpr */;
8583 val
* var_pexprnode1
/* var pexprnode1: nullable ADecIntExpr */;
8584 long var8
/* : Int */;
8585 long var9
/* : Int */;
8588 var_node_list
= var
;
8590 var1
= parser_work__Parser__pop(var_p
);
8592 var_nodearraylist2
= var1
;
8594 var2
= parser_work__Parser__pop(var_p
);
8596 var_nodearraylist1
= var2
;
8597 var_tnumbernode2
= var_nodearraylist1
;
8598 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
8599 cltype
= type_nullable_parser_nodes__TNumber
.color
;
8600 idtype
= type_nullable_parser_nodes__TNumber
.id
;
8601 if(var_tnumbernode2
== NULL
) {
8604 if(cltype
>= var_tnumbernode2
->type
->table_size
) {
8607 var3
= var_tnumbernode2
->type
->type_table
[cltype
] == idtype
;
8610 if (unlikely(!var3
)) {
8611 PRINT_ERROR("Runtime error: %s", "Assert failed");
8612 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8914);
8615 var_pannotationsnode3
= var_nodearraylist2
;
8616 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8617 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8618 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8619 if(var_pannotationsnode3
== NULL
) {
8622 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8625 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8628 if (unlikely(!var4
)) {
8629 PRINT_ERROR("Runtime error: %s", "Assert failed");
8630 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8916);
8633 var7
= NEW_parser_nodes__ADecIntExpr(&type_parser_nodes__ADecIntExpr
);
8635 parser_prod__ADecIntExpr__init_adecintexpr(var7
, var_tnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on <var7:ADecIntExpr>*/
8637 var_pexprnode1
= var7
;
8638 var_node_list
= var_pexprnode1
;
8639 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction348> */
8641 var9
= parser_work__Parser__go_to(var_p
, var8
);
8644 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8648 /* method parser#ReduceAction348#action for (self: Object, Parser) */
8649 void VIRTUAL_parser__ReduceAction348__action(val
* self
, val
* p0
) {
8650 parser__ReduceAction348__action(self
, p0
); /* Direct call parser#ReduceAction348#action on <self:Object(ReduceAction348)>*/
8653 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
8654 void parser__ReduceAction349__action(val
* self
, val
* p0
) {
8655 val
* var_p
/* var p: Parser */;
8656 val
* var
/* : null */;
8657 val
* var_node_list
/* var node_list: nullable Object */;
8658 val
* var1
/* : nullable Object */;
8659 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8660 val
* var2
/* : nullable Object */;
8661 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8662 val
* var_thexnumbernode2
/* var thexnumbernode2: nullable Object */;
8663 short int var3
/* : Bool */;
8666 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8667 short int var4
/* : Bool */;
8670 val
* var7
/* : AHexIntExpr */;
8671 val
* var_pexprnode1
/* var pexprnode1: nullable AHexIntExpr */;
8672 long var8
/* : Int */;
8673 long var9
/* : Int */;
8676 var_node_list
= var
;
8678 var1
= parser_work__Parser__pop(var_p
);
8680 var_nodearraylist2
= var1
;
8682 var2
= parser_work__Parser__pop(var_p
);
8684 var_nodearraylist1
= var2
;
8685 var_thexnumbernode2
= var_nodearraylist1
;
8686 /* <var_thexnumbernode2:nullable Object> isa nullable THexNumber */
8687 cltype
= type_nullable_parser_nodes__THexNumber
.color
;
8688 idtype
= type_nullable_parser_nodes__THexNumber
.id
;
8689 if(var_thexnumbernode2
== NULL
) {
8692 if(cltype
>= var_thexnumbernode2
->type
->table_size
) {
8695 var3
= var_thexnumbernode2
->type
->type_table
[cltype
] == idtype
;
8698 if (unlikely(!var3
)) {
8699 PRINT_ERROR("Runtime error: %s", "Assert failed");
8700 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8933);
8703 var_pannotationsnode3
= var_nodearraylist2
;
8704 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8705 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8706 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8707 if(var_pannotationsnode3
== NULL
) {
8710 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8713 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8716 if (unlikely(!var4
)) {
8717 PRINT_ERROR("Runtime error: %s", "Assert failed");
8718 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8935);
8721 var7
= NEW_parser_nodes__AHexIntExpr(&type_parser_nodes__AHexIntExpr
);
8723 parser_prod__AHexIntExpr__init_ahexintexpr(var7
, var_thexnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on <var7:AHexIntExpr>*/
8725 var_pexprnode1
= var7
;
8726 var_node_list
= var_pexprnode1
;
8727 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction349> */
8729 var9
= parser_work__Parser__go_to(var_p
, var8
);
8732 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8736 /* method parser#ReduceAction349#action for (self: Object, Parser) */
8737 void VIRTUAL_parser__ReduceAction349__action(val
* self
, val
* p0
) {
8738 parser__ReduceAction349__action(self
, p0
); /* Direct call parser#ReduceAction349#action on <self:Object(ReduceAction349)>*/
8741 /* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */
8742 void parser__ReduceAction350__action(val
* self
, val
* p0
) {
8743 val
* var_p
/* var p: Parser */;
8744 val
* var
/* : null */;
8745 val
* var_node_list
/* var node_list: nullable Object */;
8746 val
* var1
/* : nullable Object */;
8747 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8748 val
* var2
/* : nullable Object */;
8749 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8750 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
8751 short int var3
/* : Bool */;
8754 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8755 short int var4
/* : Bool */;
8758 val
* var7
/* : AFloatExpr */;
8759 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
8760 long var8
/* : Int */;
8761 long var9
/* : Int */;
8764 var_node_list
= var
;
8766 var1
= parser_work__Parser__pop(var_p
);
8768 var_nodearraylist2
= var1
;
8770 var2
= parser_work__Parser__pop(var_p
);
8772 var_nodearraylist1
= var2
;
8773 var_tfloatnode2
= var_nodearraylist1
;
8774 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
8775 cltype
= type_nullable_parser_nodes__TFloat
.color
;
8776 idtype
= type_nullable_parser_nodes__TFloat
.id
;
8777 if(var_tfloatnode2
== NULL
) {
8780 if(cltype
>= var_tfloatnode2
->type
->table_size
) {
8783 var3
= var_tfloatnode2
->type
->type_table
[cltype
] == idtype
;
8786 if (unlikely(!var3
)) {
8787 PRINT_ERROR("Runtime error: %s", "Assert failed");
8788 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8952);
8791 var_pannotationsnode3
= var_nodearraylist2
;
8792 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8793 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8794 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8795 if(var_pannotationsnode3
== NULL
) {
8798 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8801 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8804 if (unlikely(!var4
)) {
8805 PRINT_ERROR("Runtime error: %s", "Assert failed");
8806 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8954);
8809 var7
= NEW_parser_nodes__AFloatExpr(&type_parser_nodes__AFloatExpr
);
8811 parser_prod__AFloatExpr__init_afloatexpr(var7
, var_tfloatnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on <var7:AFloatExpr>*/
8813 var_pexprnode1
= var7
;
8814 var_node_list
= var_pexprnode1
;
8815 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction350> */
8817 var9
= parser_work__Parser__go_to(var_p
, var8
);
8820 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8824 /* method parser#ReduceAction350#action for (self: Object, Parser) */
8825 void VIRTUAL_parser__ReduceAction350__action(val
* self
, val
* p0
) {
8826 parser__ReduceAction350__action(self
, p0
); /* Direct call parser#ReduceAction350#action on <self:Object(ReduceAction350)>*/
8829 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
8830 void parser__ReduceAction351__action(val
* self
, val
* p0
) {
8831 val
* var_p
/* var p: Parser */;
8832 val
* var
/* : null */;
8833 val
* var_node_list
/* var node_list: nullable Object */;
8834 val
* var1
/* : nullable Object */;
8835 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8836 val
* var2
/* : nullable Object */;
8837 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8838 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
8839 short int var3
/* : Bool */;
8842 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8843 short int var4
/* : Bool */;
8846 val
* var7
/* : ACharExpr */;
8847 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
8848 long var8
/* : Int */;
8849 long var9
/* : Int */;
8852 var_node_list
= var
;
8854 var1
= parser_work__Parser__pop(var_p
);
8856 var_nodearraylist2
= var1
;
8858 var2
= parser_work__Parser__pop(var_p
);
8860 var_nodearraylist1
= var2
;
8861 var_tcharnode2
= var_nodearraylist1
;
8862 /* <var_tcharnode2:nullable Object> isa nullable TChar */
8863 cltype
= type_nullable_parser_nodes__TChar
.color
;
8864 idtype
= type_nullable_parser_nodes__TChar
.id
;
8865 if(var_tcharnode2
== NULL
) {
8868 if(cltype
>= var_tcharnode2
->type
->table_size
) {
8871 var3
= var_tcharnode2
->type
->type_table
[cltype
] == idtype
;
8874 if (unlikely(!var3
)) {
8875 PRINT_ERROR("Runtime error: %s", "Assert failed");
8876 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8971);
8879 var_pannotationsnode3
= var_nodearraylist2
;
8880 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8881 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8882 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8883 if(var_pannotationsnode3
== NULL
) {
8886 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8889 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8892 if (unlikely(!var4
)) {
8893 PRINT_ERROR("Runtime error: %s", "Assert failed");
8894 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8973);
8897 var7
= NEW_parser_nodes__ACharExpr(&type_parser_nodes__ACharExpr
);
8899 parser_prod__ACharExpr__init_acharexpr(var7
, var_tcharnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ACharExpr#init_acharexpr on <var7:ACharExpr>*/
8901 var_pexprnode1
= var7
;
8902 var_node_list
= var_pexprnode1
;
8903 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction351> */
8905 var9
= parser_work__Parser__go_to(var_p
, var8
);
8908 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8912 /* method parser#ReduceAction351#action for (self: Object, Parser) */
8913 void VIRTUAL_parser__ReduceAction351__action(val
* self
, val
* p0
) {
8914 parser__ReduceAction351__action(self
, p0
); /* Direct call parser#ReduceAction351#action on <self:Object(ReduceAction351)>*/
8917 /* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */
8918 void parser__ReduceAction352__action(val
* self
, val
* p0
) {
8919 val
* var_p
/* var p: Parser */;
8920 val
* var
/* : null */;
8921 val
* var_node_list
/* var node_list: nullable Object */;
8922 val
* var1
/* : nullable Object */;
8923 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8924 val
* var2
/* : nullable Object */;
8925 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8926 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
8927 short int var3
/* : Bool */;
8930 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8931 short int var4
/* : Bool */;
8934 val
* var7
/* : AStringExpr */;
8935 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
8936 long var8
/* : Int */;
8937 long var9
/* : Int */;
8940 var_node_list
= var
;
8942 var1
= parser_work__Parser__pop(var_p
);
8944 var_nodearraylist2
= var1
;
8946 var2
= parser_work__Parser__pop(var_p
);
8948 var_nodearraylist1
= var2
;
8949 var_tstringnode2
= var_nodearraylist1
;
8950 /* <var_tstringnode2:nullable Object> isa nullable TString */
8951 cltype
= type_nullable_parser_nodes__TString
.color
;
8952 idtype
= type_nullable_parser_nodes__TString
.id
;
8953 if(var_tstringnode2
== NULL
) {
8956 if(cltype
>= var_tstringnode2
->type
->table_size
) {
8959 var3
= var_tstringnode2
->type
->type_table
[cltype
] == idtype
;
8962 if (unlikely(!var3
)) {
8963 PRINT_ERROR("Runtime error: %s", "Assert failed");
8964 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8990);
8967 var_pannotationsnode3
= var_nodearraylist2
;
8968 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8969 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8970 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8971 if(var_pannotationsnode3
== NULL
) {
8974 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8977 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8980 if (unlikely(!var4
)) {
8981 PRINT_ERROR("Runtime error: %s", "Assert failed");
8982 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 8992);
8985 var7
= NEW_parser_nodes__AStringExpr(&type_parser_nodes__AStringExpr
);
8987 parser_prod__AStringExpr__init_astringexpr(var7
, var_tstringnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AStringExpr#init_astringexpr on <var7:AStringExpr>*/
8989 var_pexprnode1
= var7
;
8990 var_node_list
= var_pexprnode1
;
8991 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction352> */
8993 var9
= parser_work__Parser__go_to(var_p
, var8
);
8996 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9000 /* method parser#ReduceAction352#action for (self: Object, Parser) */
9001 void VIRTUAL_parser__ReduceAction352__action(val
* self
, val
* p0
) {
9002 parser__ReduceAction352__action(self
, p0
); /* Direct call parser#ReduceAction352#action on <self:Object(ReduceAction352)>*/
9005 /* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */
9006 void parser__ReduceAction355__action(val
* self
, val
* p0
) {
9007 val
* var_p
/* var p: Parser */;
9008 val
* var
/* : null */;
9009 val
* var_node_list
/* var node_list: nullable Object */;
9010 val
* var1
/* : nullable Object */;
9011 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9012 val
* var2
/* : nullable Object */;
9013 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9014 val
* var3
/* : nullable Object */;
9015 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9016 val
* var4
/* : nullable Object */;
9017 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9018 val
* var5
/* : nullable Object */;
9019 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9020 val
* var6
/* : nullable Object */;
9021 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9022 val
* var7
/* : nullable Object */;
9023 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9024 val
* var8
/* : nullable Object */;
9025 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9026 val
* var9
/* : nullable Object */;
9027 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9028 val
* var10
/* : nullable Object */;
9029 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9030 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9031 short int var11
/* : Bool */;
9034 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9035 short int var12
/* : Bool */;
9038 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9039 short int var15
/* : Bool */;
9042 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
9043 short int var18
/* : Bool */;
9046 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
9047 short int var21
/* : Bool */;
9050 val
* var24
/* : ACrangeExpr */;
9051 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
9052 long var25
/* : Int */;
9053 long var26
/* : Int */;
9056 var_node_list
= var
;
9058 var1
= parser_work__Parser__pop(var_p
);
9060 var_nodearraylist10
= var1
;
9062 var2
= parser_work__Parser__pop(var_p
);
9064 var_nodearraylist9
= var2
;
9066 var3
= parser_work__Parser__pop(var_p
);
9068 var_nodearraylist8
= var3
;
9070 var4
= parser_work__Parser__pop(var_p
);
9072 var_nodearraylist7
= var4
;
9074 var5
= parser_work__Parser__pop(var_p
);
9076 var_nodearraylist6
= var5
;
9078 var6
= parser_work__Parser__pop(var_p
);
9080 var_nodearraylist5
= var6
;
9082 var7
= parser_work__Parser__pop(var_p
);
9084 var_nodearraylist4
= var7
;
9086 var8
= parser_work__Parser__pop(var_p
);
9088 var_nodearraylist3
= var8
;
9090 var9
= parser_work__Parser__pop(var_p
);
9092 var_nodearraylist2
= var9
;
9094 var10
= parser_work__Parser__pop(var_p
);
9096 var_nodearraylist1
= var10
;
9097 var_tobranode2
= var_nodearraylist1
;
9098 /* <var_tobranode2:nullable Object> isa nullable TObra */
9099 cltype
= type_nullable_parser_nodes__TObra
.color
;
9100 idtype
= type_nullable_parser_nodes__TObra
.id
;
9101 if(var_tobranode2
== NULL
) {
9104 if(cltype
>= var_tobranode2
->type
->table_size
) {
9107 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9110 if (unlikely(!var11
)) {
9111 PRINT_ERROR("Runtime error: %s", "Assert failed");
9112 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9017);
9115 var_pexprnode3
= var_nodearraylist3
;
9116 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9117 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
9118 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
9119 if(var_pexprnode3
== NULL
) {
9122 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
9125 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
9128 if (unlikely(!var12
)) {
9129 PRINT_ERROR("Runtime error: %s", "Assert failed");
9130 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9019);
9133 var_pexprnode4
= var_nodearraylist7
;
9134 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9135 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
9136 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
9137 if(var_pexprnode4
== NULL
) {
9140 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
9143 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
9146 if (unlikely(!var15
)) {
9147 PRINT_ERROR("Runtime error: %s", "Assert failed");
9148 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9021);
9151 var_tcbranode5
= var_nodearraylist9
;
9152 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
9153 cltype19
= type_nullable_parser_nodes__TCbra
.color
;
9154 idtype20
= type_nullable_parser_nodes__TCbra
.id
;
9155 if(var_tcbranode5
== NULL
) {
9158 if(cltype19
>= var_tcbranode5
->type
->table_size
) {
9161 var18
= var_tcbranode5
->type
->type_table
[cltype19
] == idtype20
;
9164 if (unlikely(!var18
)) {
9165 PRINT_ERROR("Runtime error: %s", "Assert failed");
9166 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9023);
9169 var_pannotationsnode6
= var_nodearraylist10
;
9170 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
9171 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
9172 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
9173 if(var_pannotationsnode6
== NULL
) {
9176 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
9179 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
9182 if (unlikely(!var21
)) {
9183 PRINT_ERROR("Runtime error: %s", "Assert failed");
9184 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9025);
9187 var24
= NEW_parser_nodes__ACrangeExpr(&type_parser_nodes__ACrangeExpr
);
9189 parser_prod__ACrangeExpr__init_acrangeexpr(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tcbranode5
, var_pannotationsnode6
); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on <var24:ACrangeExpr>*/
9191 var_pexprnode1
= var24
;
9192 var_node_list
= var_pexprnode1
;
9193 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction355> */
9195 var26
= parser_work__Parser__go_to(var_p
, var25
);
9198 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9202 /* method parser#ReduceAction355#action for (self: Object, Parser) */
9203 void VIRTUAL_parser__ReduceAction355__action(val
* self
, val
* p0
) {
9204 parser__ReduceAction355__action(self
, p0
); /* Direct call parser#ReduceAction355#action on <self:Object(ReduceAction355)>*/
9207 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
9208 void parser__ReduceAction356__action(val
* self
, val
* p0
) {
9209 val
* var_p
/* var p: Parser */;
9210 val
* var
/* : null */;
9211 val
* var_node_list
/* var node_list: nullable Object */;
9212 val
* var1
/* : nullable Object */;
9213 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9214 val
* var2
/* : nullable Object */;
9215 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9216 val
* var3
/* : nullable Object */;
9217 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9218 val
* var4
/* : nullable Object */;
9219 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9220 val
* var5
/* : nullable Object */;
9221 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9222 val
* var6
/* : nullable Object */;
9223 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9224 val
* var7
/* : nullable Object */;
9225 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9226 val
* var8
/* : nullable Object */;
9227 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9228 val
* var9
/* : nullable Object */;
9229 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9230 val
* var10
/* : nullable Object */;
9231 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9232 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9233 short int var11
/* : Bool */;
9236 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9237 short int var12
/* : Bool */;
9240 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9241 short int var15
/* : Bool */;
9244 val
* var_tobranode5
/* var tobranode5: nullable Object */;
9245 short int var18
/* : Bool */;
9248 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
9249 short int var21
/* : Bool */;
9252 val
* var24
/* : AOrangeExpr */;
9253 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
9254 long var25
/* : Int */;
9255 long var26
/* : Int */;
9258 var_node_list
= var
;
9260 var1
= parser_work__Parser__pop(var_p
);
9262 var_nodearraylist10
= var1
;
9264 var2
= parser_work__Parser__pop(var_p
);
9266 var_nodearraylist9
= var2
;
9268 var3
= parser_work__Parser__pop(var_p
);
9270 var_nodearraylist8
= var3
;
9272 var4
= parser_work__Parser__pop(var_p
);
9274 var_nodearraylist7
= var4
;
9276 var5
= parser_work__Parser__pop(var_p
);
9278 var_nodearraylist6
= var5
;
9280 var6
= parser_work__Parser__pop(var_p
);
9282 var_nodearraylist5
= var6
;
9284 var7
= parser_work__Parser__pop(var_p
);
9286 var_nodearraylist4
= var7
;
9288 var8
= parser_work__Parser__pop(var_p
);
9290 var_nodearraylist3
= var8
;
9292 var9
= parser_work__Parser__pop(var_p
);
9294 var_nodearraylist2
= var9
;
9296 var10
= parser_work__Parser__pop(var_p
);
9298 var_nodearraylist1
= var10
;
9299 var_tobranode2
= var_nodearraylist1
;
9300 /* <var_tobranode2:nullable Object> isa nullable TObra */
9301 cltype
= type_nullable_parser_nodes__TObra
.color
;
9302 idtype
= type_nullable_parser_nodes__TObra
.id
;
9303 if(var_tobranode2
== NULL
) {
9306 if(cltype
>= var_tobranode2
->type
->table_size
) {
9309 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9312 if (unlikely(!var11
)) {
9313 PRINT_ERROR("Runtime error: %s", "Assert failed");
9314 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9053);
9317 var_pexprnode3
= var_nodearraylist3
;
9318 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9319 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
9320 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
9321 if(var_pexprnode3
== NULL
) {
9324 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
9327 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
9330 if (unlikely(!var12
)) {
9331 PRINT_ERROR("Runtime error: %s", "Assert failed");
9332 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9055);
9335 var_pexprnode4
= var_nodearraylist7
;
9336 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9337 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
9338 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
9339 if(var_pexprnode4
== NULL
) {
9342 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
9345 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
9348 if (unlikely(!var15
)) {
9349 PRINT_ERROR("Runtime error: %s", "Assert failed");
9350 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9057);
9353 var_tobranode5
= var_nodearraylist9
;
9354 /* <var_tobranode5:nullable Object> isa nullable TObra */
9355 cltype19
= type_nullable_parser_nodes__TObra
.color
;
9356 idtype20
= type_nullable_parser_nodes__TObra
.id
;
9357 if(var_tobranode5
== NULL
) {
9360 if(cltype19
>= var_tobranode5
->type
->table_size
) {
9363 var18
= var_tobranode5
->type
->type_table
[cltype19
] == idtype20
;
9366 if (unlikely(!var18
)) {
9367 PRINT_ERROR("Runtime error: %s", "Assert failed");
9368 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9059);
9371 var_pannotationsnode6
= var_nodearraylist10
;
9372 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
9373 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
9374 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
9375 if(var_pannotationsnode6
== NULL
) {
9378 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
9381 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
9384 if (unlikely(!var21
)) {
9385 PRINT_ERROR("Runtime error: %s", "Assert failed");
9386 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9061);
9389 var24
= NEW_parser_nodes__AOrangeExpr(&type_parser_nodes__AOrangeExpr
);
9391 parser_prod__AOrangeExpr__init_aorangeexpr(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tobranode5
, var_pannotationsnode6
); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on <var24:AOrangeExpr>*/
9393 var_pexprnode1
= var24
;
9394 var_node_list
= var_pexprnode1
;
9395 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction356> */
9397 var26
= parser_work__Parser__go_to(var_p
, var25
);
9400 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9404 /* method parser#ReduceAction356#action for (self: Object, Parser) */
9405 void VIRTUAL_parser__ReduceAction356__action(val
* self
, val
* p0
) {
9406 parser__ReduceAction356__action(self
, p0
); /* Direct call parser#ReduceAction356#action on <self:Object(ReduceAction356)>*/
9409 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
9410 void parser__ReduceAction357__action(val
* self
, val
* p0
) {
9411 val
* var_p
/* var p: Parser */;
9412 val
* var
/* : null */;
9413 val
* var_node_list
/* var node_list: nullable Object */;
9414 val
* var1
/* : nullable Object */;
9415 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9416 val
* var2
/* : nullable Object */;
9417 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9418 val
* var3
/* : nullable Object */;
9419 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9420 val
* var4
/* : nullable Object */;
9421 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9422 val
* var5
/* : nullable Object */;
9423 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9424 val
* var6
/* : nullable Object */;
9425 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9426 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9427 short int var7
/* : Bool */;
9430 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
9431 short int var8
/* : Bool */;
9434 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
9435 short int var11
/* : Bool */;
9438 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
9439 short int var14
/* : Bool */;
9442 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
9443 short int var17
/* : Bool */;
9446 val
* var20
/* : AArrayExpr */;
9447 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
9448 long var21
/* : Int */;
9449 long var22
/* : Int */;
9452 var_node_list
= var
;
9454 var1
= parser_work__Parser__pop(var_p
);
9456 var_nodearraylist6
= var1
;
9458 var2
= parser_work__Parser__pop(var_p
);
9460 var_nodearraylist5
= var2
;
9462 var3
= parser_work__Parser__pop(var_p
);
9464 var_nodearraylist4
= var3
;
9466 var4
= parser_work__Parser__pop(var_p
);
9468 var_nodearraylist3
= var4
;
9470 var5
= parser_work__Parser__pop(var_p
);
9472 var_nodearraylist2
= var5
;
9474 var6
= parser_work__Parser__pop(var_p
);
9476 var_nodearraylist1
= var6
;
9477 var_tobranode2
= var_nodearraylist1
;
9478 /* <var_tobranode2:nullable Object> isa nullable TObra */
9479 cltype
= type_nullable_parser_nodes__TObra
.color
;
9480 idtype
= type_nullable_parser_nodes__TObra
.id
;
9481 if(var_tobranode2
== NULL
) {
9484 if(cltype
>= var_tobranode2
->type
->table_size
) {
9487 var7
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9490 if (unlikely(!var7
)) {
9491 PRINT_ERROR("Runtime error: %s", "Assert failed");
9492 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9085);
9495 var_pexprsnode3
= var_nodearraylist3
;
9496 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
9497 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
9498 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
9499 if(var_pexprsnode3
== NULL
) {
9502 if(cltype9
>= var_pexprsnode3
->type
->table_size
) {
9505 var8
= var_pexprsnode3
->type
->type_table
[cltype9
] == idtype10
;
9508 if (unlikely(!var8
)) {
9509 PRINT_ERROR("Runtime error: %s", "Assert failed");
9510 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9087);
9513 var_ptypenode4
= var_nodearraylist4
;
9514 /* <var_ptypenode4:nullable Object> isa nullable AType */
9515 cltype12
= type_nullable_parser_nodes__AType
.color
;
9516 idtype13
= type_nullable_parser_nodes__AType
.id
;
9517 if(var_ptypenode4
== NULL
) {
9520 if(cltype12
>= var_ptypenode4
->type
->table_size
) {
9523 var11
= var_ptypenode4
->type
->type_table
[cltype12
] == idtype13
;
9526 if (unlikely(!var11
)) {
9527 PRINT_ERROR("Runtime error: %s", "Assert failed");
9528 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9089);
9531 var_tcbranode5
= var_nodearraylist5
;
9532 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
9533 cltype15
= type_nullable_parser_nodes__TCbra
.color
;
9534 idtype16
= type_nullable_parser_nodes__TCbra
.id
;
9535 if(var_tcbranode5
== NULL
) {
9538 if(cltype15
>= var_tcbranode5
->type
->table_size
) {
9541 var14
= var_tcbranode5
->type
->type_table
[cltype15
] == idtype16
;
9544 if (unlikely(!var14
)) {
9545 PRINT_ERROR("Runtime error: %s", "Assert failed");
9546 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9091);
9549 var_pannotationsnode6
= var_nodearraylist6
;
9550 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
9551 cltype18
= type_nullable_parser_nodes__AAnnotations
.color
;
9552 idtype19
= type_nullable_parser_nodes__AAnnotations
.id
;
9553 if(var_pannotationsnode6
== NULL
) {
9556 if(cltype18
>= var_pannotationsnode6
->type
->table_size
) {
9559 var17
= var_pannotationsnode6
->type
->type_table
[cltype18
] == idtype19
;
9562 if (unlikely(!var17
)) {
9563 PRINT_ERROR("Runtime error: %s", "Assert failed");
9564 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9093);
9567 var20
= NEW_parser_nodes__AArrayExpr(&type_parser_nodes__AArrayExpr
);
9569 parser_prod__AArrayExpr__init_aarrayexpr(var20
, var_tobranode2
, var_pexprsnode3
, var_ptypenode4
, var_tcbranode5
, var_pannotationsnode6
); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on <var20:AArrayExpr>*/
9571 var_pexprnode1
= var20
;
9572 var_node_list
= var_pexprnode1
;
9573 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction357> */
9575 var22
= parser_work__Parser__go_to(var_p
, var21
);
9578 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9582 /* method parser#ReduceAction357#action for (self: Object, Parser) */
9583 void VIRTUAL_parser__ReduceAction357__action(val
* self
, val
* p0
) {
9584 parser__ReduceAction357__action(self
, p0
); /* Direct call parser#ReduceAction357#action on <self:Object(ReduceAction357)>*/
9587 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
9588 void parser__ReduceAction358__action(val
* self
, val
* p0
) {
9589 val
* var_p
/* var p: Parser */;
9590 val
* var
/* : null */;
9591 val
* var_node_list
/* var node_list: nullable Object */;
9592 val
* var1
/* : nullable Object */;
9593 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9594 val
* var2
/* : nullable Object */;
9595 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9596 val
* var3
/* : nullable Object */;
9597 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9598 val
* var4
/* : nullable Object */;
9599 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9600 val
* var5
/* : nullable Object */;
9601 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9602 val
* var6
/* : nullable Object */;
9603 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9604 val
* var_toparnode2
/* var toparnode2: nullable Object */;
9605 short int var7
/* : Bool */;
9608 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9609 short int var8
/* : Bool */;
9612 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
9613 short int var11
/* : Bool */;
9616 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
9617 short int var14
/* : Bool */;
9620 val
* var17
/* : AParExpr */;
9621 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
9622 long var18
/* : Int */;
9623 long var19
/* : Int */;
9626 var_node_list
= var
;
9628 var1
= parser_work__Parser__pop(var_p
);
9630 var_nodearraylist6
= var1
;
9632 var2
= parser_work__Parser__pop(var_p
);
9634 var_nodearraylist5
= var2
;
9636 var3
= parser_work__Parser__pop(var_p
);
9638 var_nodearraylist4
= var3
;
9640 var4
= parser_work__Parser__pop(var_p
);
9642 var_nodearraylist3
= var4
;
9644 var5
= parser_work__Parser__pop(var_p
);
9646 var_nodearraylist2
= var5
;
9648 var6
= parser_work__Parser__pop(var_p
);
9650 var_nodearraylist1
= var6
;
9651 var_toparnode2
= var_nodearraylist1
;
9652 /* <var_toparnode2:nullable Object> isa nullable TOpar */
9653 cltype
= type_nullable_parser_nodes__TOpar
.color
;
9654 idtype
= type_nullable_parser_nodes__TOpar
.id
;
9655 if(var_toparnode2
== NULL
) {
9658 if(cltype
>= var_toparnode2
->type
->table_size
) {
9661 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
9664 if (unlikely(!var7
)) {
9665 PRINT_ERROR("Runtime error: %s", "Assert failed");
9666 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9117);
9669 var_pexprnode3
= var_nodearraylist3
;
9670 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9671 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
9672 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
9673 if(var_pexprnode3
== NULL
) {
9676 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
9679 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
9682 if (unlikely(!var8
)) {
9683 PRINT_ERROR("Runtime error: %s", "Assert failed");
9684 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9119);
9687 var_tcparnode4
= var_nodearraylist5
;
9688 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
9689 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
9690 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
9691 if(var_tcparnode4
== NULL
) {
9694 if(cltype12
>= var_tcparnode4
->type
->table_size
) {
9697 var11
= var_tcparnode4
->type
->type_table
[cltype12
] == idtype13
;
9700 if (unlikely(!var11
)) {
9701 PRINT_ERROR("Runtime error: %s", "Assert failed");
9702 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9121);
9705 var_pannotationsnode5
= var_nodearraylist6
;
9706 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
9707 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
9708 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
9709 if(var_pannotationsnode5
== NULL
) {
9712 if(cltype15
>= var_pannotationsnode5
->type
->table_size
) {
9715 var14
= var_pannotationsnode5
->type
->type_table
[cltype15
] == idtype16
;
9718 if (unlikely(!var14
)) {
9719 PRINT_ERROR("Runtime error: %s", "Assert failed");
9720 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9123);
9723 var17
= NEW_parser_nodes__AParExpr(&type_parser_nodes__AParExpr
);
9725 parser_prod__AParExpr__init_aparexpr(var17
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParExpr#init_aparexpr on <var17:AParExpr>*/
9727 var_pexprnode1
= var17
;
9728 var_node_list
= var_pexprnode1
;
9729 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction358> */
9731 var19
= parser_work__Parser__go_to(var_p
, var18
);
9734 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9738 /* method parser#ReduceAction358#action for (self: Object, Parser) */
9739 void VIRTUAL_parser__ReduceAction358__action(val
* self
, val
* p0
) {
9740 parser__ReduceAction358__action(self
, p0
); /* Direct call parser#ReduceAction358#action on <self:Object(ReduceAction358)>*/
9743 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
9744 void parser__ReduceAction360__action(val
* self
, val
* p0
) {
9745 val
* var_p
/* var p: Parser */;
9746 val
* var
/* : null */;
9747 val
* var_node_list
/* var node_list: nullable Object */;
9748 val
* var1
/* : nullable Object */;
9749 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9750 val
* var2
/* : nullable Object */;
9751 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9752 val
* var3
/* : Array[Object] */;
9753 val
* var_listnode4
/* var listnode4: Array[Object] */;
9754 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9755 short int var4
/* : Bool */;
9758 val
* var_listnode3
/* var listnode3: nullable Object */;
9759 short int var5
/* : Bool */;
9762 val
* var8
/* : null */;
9763 short int var9
/* : Bool */;
9764 short int var10
/* : Bool */;
9765 val
* var_other
/* var other: nullable Object */;
9766 short int var12
/* : Bool */;
9767 short int var13
/* : Bool */;
9768 short int var14
/* : Bool */;
9769 val
* var15
/* : Array[Object] */;
9770 val
* var16
/* : AManyExpr */;
9771 val
* var_pexprnode1
/* var pexprnode1: nullable AManyExpr */;
9772 long var17
/* : Int */;
9773 long var18
/* : Int */;
9776 var_node_list
= var
;
9778 var1
= parser_work__Parser__pop(var_p
);
9780 var_nodearraylist2
= var1
;
9782 var2
= parser_work__Parser__pop(var_p
);
9784 var_nodearraylist1
= var2
;
9785 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9787 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9789 var_listnode4
= var3
;
9790 var_pexprnode2
= var_nodearraylist1
;
9791 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9792 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9793 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9794 if(var_pexprnode2
== NULL
) {
9797 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9800 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9803 if (unlikely(!var4
)) {
9804 PRINT_ERROR("Runtime error: %s", "Assert failed");
9805 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9143);
9808 var_listnode3
= var_nodearraylist2
;
9809 /* <var_listnode3:nullable Object> isa Array[Object] */
9810 cltype6
= type_array__Arraykernel__Object
.color
;
9811 idtype7
= type_array__Arraykernel__Object
.id
;
9812 if(var_listnode3
== NULL
) {
9815 if(cltype6
>= var_listnode3
->type
->table_size
) {
9818 var5
= var_listnode3
->type
->type_table
[cltype6
] == idtype7
;
9821 if (unlikely(!var5
)) {
9822 PRINT_ERROR("Runtime error: %s", "Assert failed");
9823 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 9145);
9827 if (var_pexprnode2
== NULL
) {
9828 var9
= 0; /* is null */
9830 var9
= 1; /* arg is null and recv is not */
9833 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
9836 var13
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
9842 RET_LABEL11
:(void)0;
9848 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
9853 var15
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
9855 var_listnode4
= var15
;
9856 var16
= NEW_parser_nodes__AManyExpr(&type_parser_nodes__AManyExpr
);
9858 parser_prod__AManyExpr__init_amanyexpr(var16
, var_listnode4
); /* Direct call parser_prod#AManyExpr#init_amanyexpr on <var16:AManyExpr>*/
9860 var_pexprnode1
= var16
;
9861 var_node_list
= var_pexprnode1
;
9862 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction360> */
9864 var18
= parser_work__Parser__go_to(var_p
, var17
);
9867 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9871 /* method parser#ReduceAction360#action for (self: Object, Parser) */
9872 void VIRTUAL_parser__ReduceAction360__action(val
* self
, val
* p0
) {
9873 parser__ReduceAction360__action(self
, p0
); /* Direct call parser#ReduceAction360#action on <self:Object(ReduceAction360)>*/
9876 /* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */
9877 void parser__ReduceAction361__action(val
* self
, val
* p0
) {
9878 val
* var_p
/* var p: Parser */;
9879 val
* var
/* : null */;
9880 val
* var_node_list
/* var node_list: nullable Object */;
9881 val
* var1
/* : nullable Object */;
9882 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9883 val
* var2
/* : nullable Object */;
9884 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9885 val
* var3
/* : nullable Object */;
9886 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9887 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9888 long var4
/* : Int */;
9889 long var5
/* : Int */;
9892 var_node_list
= var
;
9894 var1
= parser_work__Parser__pop(var_p
);
9896 var_nodearraylist3
= var1
;
9898 var2
= parser_work__Parser__pop(var_p
);
9900 var_nodearraylist2
= var2
;
9902 var3
= parser_work__Parser__pop(var_p
);
9904 var_nodearraylist1
= var3
;
9905 var_pexprnode1
= var_nodearraylist3
;
9906 var_node_list
= var_pexprnode1
;
9907 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction361> */
9909 var5
= parser_work__Parser__go_to(var_p
, var4
);
9912 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9916 /* method parser#ReduceAction361#action for (self: Object, Parser) */
9917 void VIRTUAL_parser__ReduceAction361__action(val
* self
, val
* p0
) {
9918 parser__ReduceAction361__action(self
, p0
); /* Direct call parser#ReduceAction361#action on <self:Object(ReduceAction361)>*/