1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
3 void parser__ReduceAction252__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_nodearraylist4
/* var nodearraylist4: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
15 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
16 short int var5
/* : Bool */;
19 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
20 short int var6
/* : Bool */;
23 val
* var9
/* : AImpliesExpr */;
24 val
* var_pexprnode1
/* var pexprnode1: nullable AImpliesExpr */;
25 long var10
/* : Int */;
26 long var11
/* : Int */;
31 var1
= parser_work__Parser__pop(var_p
);
33 var_nodearraylist4
= var1
;
35 var2
= parser_work__Parser__pop(var_p
);
37 var_nodearraylist3
= var2
;
39 var3
= parser_work__Parser__pop(var_p
);
41 var_nodearraylist2
= var3
;
43 var4
= parser_work__Parser__pop(var_p
);
45 var_nodearraylist1
= var4
;
46 var_pexprnode2
= var_nodearraylist1
;
47 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
48 cltype
= type_nullable_parser_nodes__AExpr
.color
;
49 idtype
= type_nullable_parser_nodes__AExpr
.id
;
50 if(var_pexprnode2
== NULL
) {
53 if(cltype
>= var_pexprnode2
->type
->table_size
) {
56 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
59 if (unlikely(!var5
)) {
60 PRINT_ERROR("Runtime error: %s", "Assert failed");
61 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7183);
64 var_pexprnode3
= var_nodearraylist4
;
65 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
66 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
67 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
68 if(var_pexprnode3
== NULL
) {
71 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
74 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
77 if (unlikely(!var6
)) {
78 PRINT_ERROR("Runtime error: %s", "Assert failed");
79 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7185);
82 var9
= NEW_parser_nodes__AImpliesExpr(&type_parser_nodes__AImpliesExpr
);
84 parser_prod__AImpliesExpr__init_aimpliesexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <var9:AImpliesExpr>*/
86 var_pexprnode1
= var9
;
87 var_node_list
= var_pexprnode1
;
88 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction252> */
90 var11
= parser_work__Parser__go_to(var_p
, var10
);
93 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
97 /* method parser#ReduceAction252#action for (self: Object, Parser) */
98 void VIRTUAL_parser__ReduceAction252__action(val
* self
, val
* p0
) {
99 parser__ReduceAction252__action(self
, p0
); /* Direct call parser#ReduceAction252#action on <self:Object(ReduceAction252)>*/
102 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
103 void parser__ReduceAction254__action(val
* self
, val
* p0
) {
104 val
* var_p
/* var p: Parser */;
105 val
* var
/* : null */;
106 val
* var_node_list
/* var node_list: nullable Object */;
107 val
* var1
/* : nullable Object */;
108 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
109 val
* var2
/* : nullable Object */;
110 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
111 val
* var3
/* : nullable Object */;
112 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
113 val
* var_tkwnotnode2
/* var tkwnotnode2: nullable Object */;
114 short int var4
/* : Bool */;
117 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
118 short int var5
/* : Bool */;
121 val
* var8
/* : ANotExpr */;
122 val
* var_pexprnode1
/* var pexprnode1: nullable ANotExpr */;
123 long var9
/* : Int */;
124 long var10
/* : Int */;
129 var1
= parser_work__Parser__pop(var_p
);
131 var_nodearraylist3
= var1
;
133 var2
= parser_work__Parser__pop(var_p
);
135 var_nodearraylist2
= var2
;
137 var3
= parser_work__Parser__pop(var_p
);
139 var_nodearraylist1
= var3
;
140 var_tkwnotnode2
= var_nodearraylist1
;
141 /* <var_tkwnotnode2:nullable Object> isa nullable TKwnot */
142 cltype
= type_nullable_parser_nodes__TKwnot
.color
;
143 idtype
= type_nullable_parser_nodes__TKwnot
.id
;
144 if(var_tkwnotnode2
== NULL
) {
147 if(cltype
>= var_tkwnotnode2
->type
->table_size
) {
150 var4
= var_tkwnotnode2
->type
->type_table
[cltype
] == idtype
;
153 if (unlikely(!var4
)) {
154 PRINT_ERROR("Runtime error: %s", "Assert failed");
155 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7203);
158 var_pexprnode3
= var_nodearraylist3
;
159 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
160 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
161 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
162 if(var_pexprnode3
== NULL
) {
165 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
168 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
171 if (unlikely(!var5
)) {
172 PRINT_ERROR("Runtime error: %s", "Assert failed");
173 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7205);
176 var8
= NEW_parser_nodes__ANotExpr(&type_parser_nodes__ANotExpr
);
178 parser_prod__ANotExpr__init_anotexpr(var8
, var_tkwnotnode2
, var_pexprnode3
); /* Direct call parser_prod#ANotExpr#init_anotexpr on <var8:ANotExpr>*/
180 var_pexprnode1
= var8
;
181 var_node_list
= var_pexprnode1
;
182 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction254> */
184 var10
= parser_work__Parser__go_to(var_p
, var9
);
187 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
191 /* method parser#ReduceAction254#action for (self: Object, Parser) */
192 void VIRTUAL_parser__ReduceAction254__action(val
* self
, val
* p0
) {
193 parser__ReduceAction254__action(self
, p0
); /* Direct call parser#ReduceAction254#action on <self:Object(ReduceAction254)>*/
196 /* method parser#ReduceAction256#action for (self: ReduceAction256, Parser) */
197 void parser__ReduceAction256__action(val
* self
, val
* p0
) {
198 val
* var_p
/* var p: Parser */;
199 val
* var
/* : null */;
200 val
* var_node_list
/* var node_list: nullable Object */;
201 val
* var1
/* : nullable Object */;
202 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
203 val
* var2
/* : nullable Object */;
204 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
205 val
* var3
/* : nullable Object */;
206 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
207 val
* var4
/* : nullable Object */;
208 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
209 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
210 short int var5
/* : Bool */;
213 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
214 short int var6
/* : Bool */;
217 val
* var9
/* : AEqExpr */;
218 val
* var_pexprnode1
/* var pexprnode1: nullable AEqExpr */;
219 long var10
/* : Int */;
220 long var11
/* : Int */;
225 var1
= parser_work__Parser__pop(var_p
);
227 var_nodearraylist4
= var1
;
229 var2
= parser_work__Parser__pop(var_p
);
231 var_nodearraylist3
= var2
;
233 var3
= parser_work__Parser__pop(var_p
);
235 var_nodearraylist2
= var3
;
237 var4
= parser_work__Parser__pop(var_p
);
239 var_nodearraylist1
= var4
;
240 var_pexprnode2
= var_nodearraylist1
;
241 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
242 cltype
= type_nullable_parser_nodes__AExpr
.color
;
243 idtype
= type_nullable_parser_nodes__AExpr
.id
;
244 if(var_pexprnode2
== NULL
) {
247 if(cltype
>= var_pexprnode2
->type
->table_size
) {
250 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
253 if (unlikely(!var5
)) {
254 PRINT_ERROR("Runtime error: %s", "Assert failed");
255 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7224);
258 var_pexprnode3
= var_nodearraylist4
;
259 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
260 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
261 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
262 if(var_pexprnode3
== NULL
) {
265 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
268 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
271 if (unlikely(!var6
)) {
272 PRINT_ERROR("Runtime error: %s", "Assert failed");
273 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7226);
276 var9
= NEW_parser_nodes__AEqExpr(&type_parser_nodes__AEqExpr
);
278 parser_prod__AEqExpr__init_aeqexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <var9:AEqExpr>*/
280 var_pexprnode1
= var9
;
281 var_node_list
= var_pexprnode1
;
282 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction256> */
284 var11
= parser_work__Parser__go_to(var_p
, var10
);
287 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
291 /* method parser#ReduceAction256#action for (self: Object, Parser) */
292 void VIRTUAL_parser__ReduceAction256__action(val
* self
, val
* p0
) {
293 parser__ReduceAction256__action(self
, p0
); /* Direct call parser#ReduceAction256#action on <self:Object(ReduceAction256)>*/
296 /* method parser#ReduceAction257#action for (self: ReduceAction257, Parser) */
297 void parser__ReduceAction257__action(val
* self
, val
* p0
) {
298 val
* var_p
/* var p: Parser */;
299 val
* var
/* : null */;
300 val
* var_node_list
/* var node_list: nullable Object */;
301 val
* var1
/* : nullable Object */;
302 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
303 val
* var2
/* : nullable Object */;
304 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
305 val
* var3
/* : nullable Object */;
306 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
307 val
* var4
/* : nullable Object */;
308 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
309 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
310 short int var5
/* : Bool */;
313 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
314 short int var6
/* : Bool */;
317 val
* var9
/* : ANeExpr */;
318 val
* var_pexprnode1
/* var pexprnode1: nullable ANeExpr */;
319 long var10
/* : Int */;
320 long var11
/* : Int */;
325 var1
= parser_work__Parser__pop(var_p
);
327 var_nodearraylist4
= var1
;
329 var2
= parser_work__Parser__pop(var_p
);
331 var_nodearraylist3
= var2
;
333 var3
= parser_work__Parser__pop(var_p
);
335 var_nodearraylist2
= var3
;
337 var4
= parser_work__Parser__pop(var_p
);
339 var_nodearraylist1
= var4
;
340 var_pexprnode2
= var_nodearraylist1
;
341 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
342 cltype
= type_nullable_parser_nodes__AExpr
.color
;
343 idtype
= type_nullable_parser_nodes__AExpr
.id
;
344 if(var_pexprnode2
== NULL
) {
347 if(cltype
>= var_pexprnode2
->type
->table_size
) {
350 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
353 if (unlikely(!var5
)) {
354 PRINT_ERROR("Runtime error: %s", "Assert failed");
355 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7245);
358 var_pexprnode3
= var_nodearraylist4
;
359 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
360 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
361 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
362 if(var_pexprnode3
== NULL
) {
365 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
368 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
371 if (unlikely(!var6
)) {
372 PRINT_ERROR("Runtime error: %s", "Assert failed");
373 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7247);
376 var9
= NEW_parser_nodes__ANeExpr(&type_parser_nodes__ANeExpr
);
378 parser_prod__ANeExpr__init_aneexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ANeExpr#init_aneexpr on <var9:ANeExpr>*/
380 var_pexprnode1
= var9
;
381 var_node_list
= var_pexprnode1
;
382 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction257> */
384 var11
= parser_work__Parser__go_to(var_p
, var10
);
387 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
391 /* method parser#ReduceAction257#action for (self: Object, Parser) */
392 void VIRTUAL_parser__ReduceAction257__action(val
* self
, val
* p0
) {
393 parser__ReduceAction257__action(self
, p0
); /* Direct call parser#ReduceAction257#action on <self:Object(ReduceAction257)>*/
396 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
397 void parser__ReduceAction258__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_nodearraylist4
/* var nodearraylist4: nullable Object */;
403 val
* var2
/* : nullable Object */;
404 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
405 val
* var3
/* : nullable Object */;
406 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
407 val
* var4
/* : nullable Object */;
408 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
409 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
410 short int var5
/* : Bool */;
413 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
414 short int var6
/* : Bool */;
417 val
* var9
/* : ALtExpr */;
418 val
* var_pexprnode1
/* var pexprnode1: nullable ALtExpr */;
419 long var10
/* : Int */;
420 long var11
/* : Int */;
425 var1
= parser_work__Parser__pop(var_p
);
427 var_nodearraylist4
= var1
;
429 var2
= parser_work__Parser__pop(var_p
);
431 var_nodearraylist3
= var2
;
433 var3
= parser_work__Parser__pop(var_p
);
435 var_nodearraylist2
= var3
;
437 var4
= parser_work__Parser__pop(var_p
);
439 var_nodearraylist1
= var4
;
440 var_pexprnode2
= var_nodearraylist1
;
441 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
442 cltype
= type_nullable_parser_nodes__AExpr
.color
;
443 idtype
= type_nullable_parser_nodes__AExpr
.id
;
444 if(var_pexprnode2
== NULL
) {
447 if(cltype
>= var_pexprnode2
->type
->table_size
) {
450 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
453 if (unlikely(!var5
)) {
454 PRINT_ERROR("Runtime error: %s", "Assert failed");
455 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7266);
458 var_pexprnode3
= var_nodearraylist4
;
459 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
460 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
461 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
462 if(var_pexprnode3
== NULL
) {
465 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
468 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
471 if (unlikely(!var6
)) {
472 PRINT_ERROR("Runtime error: %s", "Assert failed");
473 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7268);
476 var9
= NEW_parser_nodes__ALtExpr(&type_parser_nodes__ALtExpr
);
478 parser_prod__ALtExpr__init_altexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALtExpr#init_altexpr on <var9:ALtExpr>*/
480 var_pexprnode1
= var9
;
481 var_node_list
= var_pexprnode1
;
482 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction258> */
484 var11
= parser_work__Parser__go_to(var_p
, var10
);
487 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
491 /* method parser#ReduceAction258#action for (self: Object, Parser) */
492 void VIRTUAL_parser__ReduceAction258__action(val
* self
, val
* p0
) {
493 parser__ReduceAction258__action(self
, p0
); /* Direct call parser#ReduceAction258#action on <self:Object(ReduceAction258)>*/
496 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
497 void parser__ReduceAction259__action(val
* self
, val
* p0
) {
498 val
* var_p
/* var p: Parser */;
499 val
* var
/* : null */;
500 val
* var_node_list
/* var node_list: nullable Object */;
501 val
* var1
/* : nullable Object */;
502 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
503 val
* var2
/* : nullable Object */;
504 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
505 val
* var3
/* : nullable Object */;
506 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
507 val
* var4
/* : nullable Object */;
508 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
509 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
510 short int var5
/* : Bool */;
513 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
514 short int var6
/* : Bool */;
517 val
* var9
/* : ALeExpr */;
518 val
* var_pexprnode1
/* var pexprnode1: nullable ALeExpr */;
519 long var10
/* : Int */;
520 long var11
/* : Int */;
525 var1
= parser_work__Parser__pop(var_p
);
527 var_nodearraylist4
= var1
;
529 var2
= parser_work__Parser__pop(var_p
);
531 var_nodearraylist3
= var2
;
533 var3
= parser_work__Parser__pop(var_p
);
535 var_nodearraylist2
= var3
;
537 var4
= parser_work__Parser__pop(var_p
);
539 var_nodearraylist1
= var4
;
540 var_pexprnode2
= var_nodearraylist1
;
541 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
542 cltype
= type_nullable_parser_nodes__AExpr
.color
;
543 idtype
= type_nullable_parser_nodes__AExpr
.id
;
544 if(var_pexprnode2
== NULL
) {
547 if(cltype
>= var_pexprnode2
->type
->table_size
) {
550 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
553 if (unlikely(!var5
)) {
554 PRINT_ERROR("Runtime error: %s", "Assert failed");
555 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7287);
558 var_pexprnode3
= var_nodearraylist4
;
559 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
560 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
561 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
562 if(var_pexprnode3
== NULL
) {
565 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
568 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
571 if (unlikely(!var6
)) {
572 PRINT_ERROR("Runtime error: %s", "Assert failed");
573 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7289);
576 var9
= NEW_parser_nodes__ALeExpr(&type_parser_nodes__ALeExpr
);
578 parser_prod__ALeExpr__init_aleexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALeExpr#init_aleexpr on <var9:ALeExpr>*/
580 var_pexprnode1
= var9
;
581 var_node_list
= var_pexprnode1
;
582 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction259> */
584 var11
= parser_work__Parser__go_to(var_p
, var10
);
587 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
591 /* method parser#ReduceAction259#action for (self: Object, Parser) */
592 void VIRTUAL_parser__ReduceAction259__action(val
* self
, val
* p0
) {
593 parser__ReduceAction259__action(self
, p0
); /* Direct call parser#ReduceAction259#action on <self:Object(ReduceAction259)>*/
596 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
597 void parser__ReduceAction260__action(val
* self
, val
* p0
) {
598 val
* var_p
/* var p: Parser */;
599 val
* var
/* : null */;
600 val
* var_node_list
/* var node_list: nullable Object */;
601 val
* var1
/* : nullable Object */;
602 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
603 val
* var2
/* : nullable Object */;
604 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
605 val
* var3
/* : nullable Object */;
606 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
607 val
* var4
/* : nullable Object */;
608 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
609 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
610 short int var5
/* : Bool */;
613 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
614 short int var6
/* : Bool */;
617 val
* var9
/* : ALlExpr */;
618 val
* var_pexprnode1
/* var pexprnode1: nullable ALlExpr */;
619 long var10
/* : Int */;
620 long var11
/* : Int */;
625 var1
= parser_work__Parser__pop(var_p
);
627 var_nodearraylist4
= var1
;
629 var2
= parser_work__Parser__pop(var_p
);
631 var_nodearraylist3
= var2
;
633 var3
= parser_work__Parser__pop(var_p
);
635 var_nodearraylist2
= var3
;
637 var4
= parser_work__Parser__pop(var_p
);
639 var_nodearraylist1
= var4
;
640 var_pexprnode2
= var_nodearraylist1
;
641 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
642 cltype
= type_nullable_parser_nodes__AExpr
.color
;
643 idtype
= type_nullable_parser_nodes__AExpr
.id
;
644 if(var_pexprnode2
== NULL
) {
647 if(cltype
>= var_pexprnode2
->type
->table_size
) {
650 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
653 if (unlikely(!var5
)) {
654 PRINT_ERROR("Runtime error: %s", "Assert failed");
655 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7308);
658 var_pexprnode3
= var_nodearraylist4
;
659 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
660 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
661 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
662 if(var_pexprnode3
== NULL
) {
665 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
668 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
671 if (unlikely(!var6
)) {
672 PRINT_ERROR("Runtime error: %s", "Assert failed");
673 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7310);
676 var9
= NEW_parser_nodes__ALlExpr(&type_parser_nodes__ALlExpr
);
678 parser_prod__ALlExpr__init_allexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALlExpr#init_allexpr on <var9:ALlExpr>*/
680 var_pexprnode1
= var9
;
681 var_node_list
= var_pexprnode1
;
682 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction260> */
684 var11
= parser_work__Parser__go_to(var_p
, var10
);
687 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
691 /* method parser#ReduceAction260#action for (self: Object, Parser) */
692 void VIRTUAL_parser__ReduceAction260__action(val
* self
, val
* p0
) {
693 parser__ReduceAction260__action(self
, p0
); /* Direct call parser#ReduceAction260#action on <self:Object(ReduceAction260)>*/
696 /* method parser#ReduceAction261#action for (self: ReduceAction261, Parser) */
697 void parser__ReduceAction261__action(val
* self
, val
* p0
) {
698 val
* var_p
/* var p: Parser */;
699 val
* var
/* : null */;
700 val
* var_node_list
/* var node_list: nullable Object */;
701 val
* var1
/* : nullable Object */;
702 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
703 val
* var2
/* : nullable Object */;
704 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
705 val
* var3
/* : nullable Object */;
706 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
707 val
* var4
/* : nullable Object */;
708 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
709 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
710 short int var5
/* : Bool */;
713 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
714 short int var6
/* : Bool */;
717 val
* var9
/* : AGtExpr */;
718 val
* var_pexprnode1
/* var pexprnode1: nullable AGtExpr */;
719 long var10
/* : Int */;
720 long var11
/* : Int */;
725 var1
= parser_work__Parser__pop(var_p
);
727 var_nodearraylist4
= var1
;
729 var2
= parser_work__Parser__pop(var_p
);
731 var_nodearraylist3
= var2
;
733 var3
= parser_work__Parser__pop(var_p
);
735 var_nodearraylist2
= var3
;
737 var4
= parser_work__Parser__pop(var_p
);
739 var_nodearraylist1
= var4
;
740 var_pexprnode2
= var_nodearraylist1
;
741 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
742 cltype
= type_nullable_parser_nodes__AExpr
.color
;
743 idtype
= type_nullable_parser_nodes__AExpr
.id
;
744 if(var_pexprnode2
== NULL
) {
747 if(cltype
>= var_pexprnode2
->type
->table_size
) {
750 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
753 if (unlikely(!var5
)) {
754 PRINT_ERROR("Runtime error: %s", "Assert failed");
755 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7329);
758 var_pexprnode3
= var_nodearraylist4
;
759 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
760 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
761 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
762 if(var_pexprnode3
== NULL
) {
765 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
768 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
771 if (unlikely(!var6
)) {
772 PRINT_ERROR("Runtime error: %s", "Assert failed");
773 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7331);
776 var9
= NEW_parser_nodes__AGtExpr(&type_parser_nodes__AGtExpr
);
778 parser_prod__AGtExpr__init_agtexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGtExpr#init_agtexpr on <var9:AGtExpr>*/
780 var_pexprnode1
= var9
;
781 var_node_list
= var_pexprnode1
;
782 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction261> */
784 var11
= parser_work__Parser__go_to(var_p
, var10
);
787 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
791 /* method parser#ReduceAction261#action for (self: Object, Parser) */
792 void VIRTUAL_parser__ReduceAction261__action(val
* self
, val
* p0
) {
793 parser__ReduceAction261__action(self
, p0
); /* Direct call parser#ReduceAction261#action on <self:Object(ReduceAction261)>*/
796 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
797 void parser__ReduceAction262__action(val
* self
, val
* p0
) {
798 val
* var_p
/* var p: Parser */;
799 val
* var
/* : null */;
800 val
* var_node_list
/* var node_list: nullable Object */;
801 val
* var1
/* : nullable Object */;
802 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
803 val
* var2
/* : nullable Object */;
804 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
805 val
* var3
/* : nullable Object */;
806 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
807 val
* var4
/* : nullable Object */;
808 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
809 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
810 short int var5
/* : Bool */;
813 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
814 short int var6
/* : Bool */;
817 val
* var9
/* : AGeExpr */;
818 val
* var_pexprnode1
/* var pexprnode1: nullable AGeExpr */;
819 long var10
/* : Int */;
820 long var11
/* : Int */;
825 var1
= parser_work__Parser__pop(var_p
);
827 var_nodearraylist4
= var1
;
829 var2
= parser_work__Parser__pop(var_p
);
831 var_nodearraylist3
= var2
;
833 var3
= parser_work__Parser__pop(var_p
);
835 var_nodearraylist2
= var3
;
837 var4
= parser_work__Parser__pop(var_p
);
839 var_nodearraylist1
= var4
;
840 var_pexprnode2
= var_nodearraylist1
;
841 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
842 cltype
= type_nullable_parser_nodes__AExpr
.color
;
843 idtype
= type_nullable_parser_nodes__AExpr
.id
;
844 if(var_pexprnode2
== NULL
) {
847 if(cltype
>= var_pexprnode2
->type
->table_size
) {
850 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
853 if (unlikely(!var5
)) {
854 PRINT_ERROR("Runtime error: %s", "Assert failed");
855 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7350);
858 var_pexprnode3
= var_nodearraylist4
;
859 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
860 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
861 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
862 if(var_pexprnode3
== NULL
) {
865 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
868 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
871 if (unlikely(!var6
)) {
872 PRINT_ERROR("Runtime error: %s", "Assert failed");
873 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7352);
876 var9
= NEW_parser_nodes__AGeExpr(&type_parser_nodes__AGeExpr
);
878 parser_prod__AGeExpr__init_ageexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGeExpr#init_ageexpr on <var9:AGeExpr>*/
880 var_pexprnode1
= var9
;
881 var_node_list
= var_pexprnode1
;
882 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction262> */
884 var11
= parser_work__Parser__go_to(var_p
, var10
);
887 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
891 /* method parser#ReduceAction262#action for (self: Object, Parser) */
892 void VIRTUAL_parser__ReduceAction262__action(val
* self
, val
* p0
) {
893 parser__ReduceAction262__action(self
, p0
); /* Direct call parser#ReduceAction262#action on <self:Object(ReduceAction262)>*/
896 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
897 void parser__ReduceAction263__action(val
* self
, val
* p0
) {
898 val
* var_p
/* var p: Parser */;
899 val
* var
/* : null */;
900 val
* var_node_list
/* var node_list: nullable Object */;
901 val
* var1
/* : nullable Object */;
902 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
903 val
* var2
/* : nullable Object */;
904 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
905 val
* var3
/* : nullable Object */;
906 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
907 val
* var4
/* : nullable Object */;
908 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
909 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
910 short int var5
/* : Bool */;
913 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
914 short int var6
/* : Bool */;
917 val
* var9
/* : AGgExpr */;
918 val
* var_pexprnode1
/* var pexprnode1: nullable AGgExpr */;
919 long var10
/* : Int */;
920 long var11
/* : Int */;
925 var1
= parser_work__Parser__pop(var_p
);
927 var_nodearraylist4
= var1
;
929 var2
= parser_work__Parser__pop(var_p
);
931 var_nodearraylist3
= var2
;
933 var3
= parser_work__Parser__pop(var_p
);
935 var_nodearraylist2
= var3
;
937 var4
= parser_work__Parser__pop(var_p
);
939 var_nodearraylist1
= var4
;
940 var_pexprnode2
= var_nodearraylist1
;
941 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
942 cltype
= type_nullable_parser_nodes__AExpr
.color
;
943 idtype
= type_nullable_parser_nodes__AExpr
.id
;
944 if(var_pexprnode2
== NULL
) {
947 if(cltype
>= var_pexprnode2
->type
->table_size
) {
950 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
953 if (unlikely(!var5
)) {
954 PRINT_ERROR("Runtime error: %s", "Assert failed");
955 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7371);
958 var_pexprnode3
= var_nodearraylist4
;
959 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
960 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
961 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
962 if(var_pexprnode3
== NULL
) {
965 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
968 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
971 if (unlikely(!var6
)) {
972 PRINT_ERROR("Runtime error: %s", "Assert failed");
973 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7373);
976 var9
= NEW_parser_nodes__AGgExpr(&type_parser_nodes__AGgExpr
);
978 parser_prod__AGgExpr__init_aggexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGgExpr#init_aggexpr on <var9:AGgExpr>*/
980 var_pexprnode1
= var9
;
981 var_node_list
= var_pexprnode1
;
982 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction263> */
984 var11
= parser_work__Parser__go_to(var_p
, var10
);
987 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
991 /* method parser#ReduceAction263#action for (self: Object, Parser) */
992 void VIRTUAL_parser__ReduceAction263__action(val
* self
, val
* p0
) {
993 parser__ReduceAction263__action(self
, p0
); /* Direct call parser#ReduceAction263#action on <self:Object(ReduceAction263)>*/
996 /* method parser#ReduceAction264#action for (self: ReduceAction264, Parser) */
997 void parser__ReduceAction264__action(val
* self
, val
* p0
) {
998 val
* var_p
/* var p: Parser */;
999 val
* var
/* : null */;
1000 val
* var_node_list
/* var node_list: nullable Object */;
1001 val
* var1
/* : nullable Object */;
1002 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1003 val
* var2
/* : nullable Object */;
1004 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1005 val
* var3
/* : nullable Object */;
1006 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1007 val
* var4
/* : nullable Object */;
1008 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1009 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1010 short int var5
/* : Bool */;
1013 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1014 short int var6
/* : Bool */;
1017 val
* var9
/* : AStarshipExpr */;
1018 val
* var_pexprnode1
/* var pexprnode1: nullable AStarshipExpr */;
1019 long var10
/* : Int */;
1020 long var11
/* : Int */;
1023 var_node_list
= var
;
1025 var1
= parser_work__Parser__pop(var_p
);
1027 var_nodearraylist4
= var1
;
1029 var2
= parser_work__Parser__pop(var_p
);
1031 var_nodearraylist3
= var2
;
1033 var3
= parser_work__Parser__pop(var_p
);
1035 var_nodearraylist2
= var3
;
1037 var4
= parser_work__Parser__pop(var_p
);
1039 var_nodearraylist1
= var4
;
1040 var_pexprnode2
= var_nodearraylist1
;
1041 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1042 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1043 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1044 if(var_pexprnode2
== NULL
) {
1047 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1050 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1053 if (unlikely(!var5
)) {
1054 PRINT_ERROR("Runtime error: %s", "Assert failed");
1055 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7392);
1058 var_pexprnode3
= var_nodearraylist4
;
1059 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1060 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1061 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1062 if(var_pexprnode3
== NULL
) {
1065 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1068 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1071 if (unlikely(!var6
)) {
1072 PRINT_ERROR("Runtime error: %s", "Assert failed");
1073 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7394);
1076 var9
= NEW_parser_nodes__AStarshipExpr(&type_parser_nodes__AStarshipExpr
);
1078 parser_prod__AStarshipExpr__init_astarshipexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on <var9:AStarshipExpr>*/
1080 var_pexprnode1
= var9
;
1081 var_node_list
= var_pexprnode1
;
1082 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction264> */
1084 var11
= parser_work__Parser__go_to(var_p
, var10
);
1087 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1091 /* method parser#ReduceAction264#action for (self: Object, Parser) */
1092 void VIRTUAL_parser__ReduceAction264__action(val
* self
, val
* p0
) {
1093 parser__ReduceAction264__action(self
, p0
); /* Direct call parser#ReduceAction264#action on <self:Object(ReduceAction264)>*/
1096 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
1097 void parser__ReduceAction265__action(val
* self
, val
* p0
) {
1098 val
* var_p
/* var p: Parser */;
1099 val
* var
/* : null */;
1100 val
* var_node_list
/* var node_list: nullable Object */;
1101 val
* var1
/* : nullable Object */;
1102 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1103 val
* var2
/* : nullable Object */;
1104 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1105 val
* var3
/* : nullable Object */;
1106 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1107 val
* var4
/* : nullable Object */;
1108 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1109 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1110 short int var5
/* : Bool */;
1113 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
1114 short int var6
/* : Bool */;
1117 val
* var9
/* : AIsaExpr */;
1118 val
* var_pexprnode1
/* var pexprnode1: nullable AIsaExpr */;
1119 long var10
/* : Int */;
1120 long var11
/* : Int */;
1123 var_node_list
= var
;
1125 var1
= parser_work__Parser__pop(var_p
);
1127 var_nodearraylist4
= var1
;
1129 var2
= parser_work__Parser__pop(var_p
);
1131 var_nodearraylist3
= var2
;
1133 var3
= parser_work__Parser__pop(var_p
);
1135 var_nodearraylist2
= var3
;
1137 var4
= parser_work__Parser__pop(var_p
);
1139 var_nodearraylist1
= var4
;
1140 var_pexprnode2
= var_nodearraylist1
;
1141 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1142 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1143 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1144 if(var_pexprnode2
== NULL
) {
1147 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1150 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1153 if (unlikely(!var5
)) {
1154 PRINT_ERROR("Runtime error: %s", "Assert failed");
1155 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7413);
1158 var_ptypenode3
= var_nodearraylist4
;
1159 /* <var_ptypenode3:nullable Object> isa nullable AType */
1160 cltype7
= type_nullable_parser_nodes__AType
.color
;
1161 idtype8
= type_nullable_parser_nodes__AType
.id
;
1162 if(var_ptypenode3
== NULL
) {
1165 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
1168 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
1171 if (unlikely(!var6
)) {
1172 PRINT_ERROR("Runtime error: %s", "Assert failed");
1173 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7415);
1176 var9
= NEW_parser_nodes__AIsaExpr(&type_parser_nodes__AIsaExpr
);
1178 parser_prod__AIsaExpr__init_aisaexpr(var9
, var_pexprnode2
, var_ptypenode3
); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on <var9:AIsaExpr>*/
1180 var_pexprnode1
= var9
;
1181 var_node_list
= var_pexprnode1
;
1182 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction265> */
1184 var11
= parser_work__Parser__go_to(var_p
, var10
);
1187 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1191 /* method parser#ReduceAction265#action for (self: Object, Parser) */
1192 void VIRTUAL_parser__ReduceAction265__action(val
* self
, val
* p0
) {
1193 parser__ReduceAction265__action(self
, p0
); /* Direct call parser#ReduceAction265#action on <self:Object(ReduceAction265)>*/
1196 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
1197 void parser__ReduceAction267__action(val
* self
, val
* p0
) {
1198 val
* var_p
/* var p: Parser */;
1199 val
* var
/* : null */;
1200 val
* var_node_list
/* var node_list: nullable Object */;
1201 val
* var1
/* : nullable Object */;
1202 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1203 val
* var2
/* : nullable Object */;
1204 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1205 val
* var3
/* : nullable Object */;
1206 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1207 val
* var4
/* : nullable Object */;
1208 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1209 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1210 short int var5
/* : Bool */;
1213 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1214 short int var6
/* : Bool */;
1217 val
* var9
/* : APlusExpr */;
1218 val
* var_pexprnode1
/* var pexprnode1: nullable APlusExpr */;
1219 long var10
/* : Int */;
1220 long var11
/* : Int */;
1223 var_node_list
= var
;
1225 var1
= parser_work__Parser__pop(var_p
);
1227 var_nodearraylist4
= var1
;
1229 var2
= parser_work__Parser__pop(var_p
);
1231 var_nodearraylist3
= var2
;
1233 var3
= parser_work__Parser__pop(var_p
);
1235 var_nodearraylist2
= var3
;
1237 var4
= parser_work__Parser__pop(var_p
);
1239 var_nodearraylist1
= var4
;
1240 var_pexprnode2
= var_nodearraylist1
;
1241 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1242 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1243 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1244 if(var_pexprnode2
== NULL
) {
1247 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1250 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1253 if (unlikely(!var5
)) {
1254 PRINT_ERROR("Runtime error: %s", "Assert failed");
1255 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7434);
1258 var_pexprnode3
= var_nodearraylist4
;
1259 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1260 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1261 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1262 if(var_pexprnode3
== NULL
) {
1265 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1268 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1271 if (unlikely(!var6
)) {
1272 PRINT_ERROR("Runtime error: %s", "Assert failed");
1273 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7436);
1276 var9
= NEW_parser_nodes__APlusExpr(&type_parser_nodes__APlusExpr
);
1278 parser_prod__APlusExpr__init_aplusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APlusExpr#init_aplusexpr on <var9:APlusExpr>*/
1280 var_pexprnode1
= var9
;
1281 var_node_list
= var_pexprnode1
;
1282 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction267> */
1284 var11
= parser_work__Parser__go_to(var_p
, var10
);
1287 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1291 /* method parser#ReduceAction267#action for (self: Object, Parser) */
1292 void VIRTUAL_parser__ReduceAction267__action(val
* self
, val
* p0
) {
1293 parser__ReduceAction267__action(self
, p0
); /* Direct call parser#ReduceAction267#action on <self:Object(ReduceAction267)>*/
1296 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
1297 void parser__ReduceAction268__action(val
* self
, val
* p0
) {
1298 val
* var_p
/* var p: Parser */;
1299 val
* var
/* : null */;
1300 val
* var_node_list
/* var node_list: nullable Object */;
1301 val
* var1
/* : nullable Object */;
1302 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1303 val
* var2
/* : nullable Object */;
1304 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1305 val
* var3
/* : nullable Object */;
1306 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1307 val
* var4
/* : nullable Object */;
1308 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1309 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1310 short int var5
/* : Bool */;
1313 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1314 short int var6
/* : Bool */;
1317 val
* var9
/* : AMinusExpr */;
1318 val
* var_pexprnode1
/* var pexprnode1: nullable AMinusExpr */;
1319 long var10
/* : Int */;
1320 long var11
/* : Int */;
1323 var_node_list
= var
;
1325 var1
= parser_work__Parser__pop(var_p
);
1327 var_nodearraylist4
= var1
;
1329 var2
= parser_work__Parser__pop(var_p
);
1331 var_nodearraylist3
= var2
;
1333 var3
= parser_work__Parser__pop(var_p
);
1335 var_nodearraylist2
= var3
;
1337 var4
= parser_work__Parser__pop(var_p
);
1339 var_nodearraylist1
= var4
;
1340 var_pexprnode2
= var_nodearraylist1
;
1341 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1342 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1343 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1344 if(var_pexprnode2
== NULL
) {
1347 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1350 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1353 if (unlikely(!var5
)) {
1354 PRINT_ERROR("Runtime error: %s", "Assert failed");
1355 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7455);
1358 var_pexprnode3
= var_nodearraylist4
;
1359 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1360 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1361 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1362 if(var_pexprnode3
== NULL
) {
1365 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1368 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1371 if (unlikely(!var6
)) {
1372 PRINT_ERROR("Runtime error: %s", "Assert failed");
1373 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7457);
1376 var9
= NEW_parser_nodes__AMinusExpr(&type_parser_nodes__AMinusExpr
);
1378 parser_prod__AMinusExpr__init_aminusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on <var9:AMinusExpr>*/
1380 var_pexprnode1
= var9
;
1381 var_node_list
= var_pexprnode1
;
1382 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction268> */
1384 var11
= parser_work__Parser__go_to(var_p
, var10
);
1387 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1391 /* method parser#ReduceAction268#action for (self: Object, Parser) */
1392 void VIRTUAL_parser__ReduceAction268__action(val
* self
, val
* p0
) {
1393 parser__ReduceAction268__action(self
, p0
); /* Direct call parser#ReduceAction268#action on <self:Object(ReduceAction268)>*/
1396 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
1397 void parser__ReduceAction270__action(val
* self
, val
* p0
) {
1398 val
* var_p
/* var p: Parser */;
1399 val
* var
/* : null */;
1400 val
* var_node_list
/* var node_list: nullable Object */;
1401 val
* var1
/* : nullable Object */;
1402 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1403 val
* var2
/* : nullable Object */;
1404 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1405 val
* var3
/* : nullable Object */;
1406 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1407 val
* var4
/* : nullable Object */;
1408 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1409 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1410 short int var5
/* : Bool */;
1413 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1414 short int var6
/* : Bool */;
1417 val
* var9
/* : AStarExpr */;
1418 val
* var_pexprnode1
/* var pexprnode1: nullable AStarExpr */;
1419 long var10
/* : Int */;
1420 long var11
/* : Int */;
1423 var_node_list
= var
;
1425 var1
= parser_work__Parser__pop(var_p
);
1427 var_nodearraylist4
= var1
;
1429 var2
= parser_work__Parser__pop(var_p
);
1431 var_nodearraylist3
= var2
;
1433 var3
= parser_work__Parser__pop(var_p
);
1435 var_nodearraylist2
= var3
;
1437 var4
= parser_work__Parser__pop(var_p
);
1439 var_nodearraylist1
= var4
;
1440 var_pexprnode2
= var_nodearraylist1
;
1441 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1442 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1443 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1444 if(var_pexprnode2
== NULL
) {
1447 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1450 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1453 if (unlikely(!var5
)) {
1454 PRINT_ERROR("Runtime error: %s", "Assert failed");
1455 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7476);
1458 var_pexprnode3
= var_nodearraylist4
;
1459 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1460 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1461 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1462 if(var_pexprnode3
== NULL
) {
1465 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1468 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1471 if (unlikely(!var6
)) {
1472 PRINT_ERROR("Runtime error: %s", "Assert failed");
1473 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7478);
1476 var9
= NEW_parser_nodes__AStarExpr(&type_parser_nodes__AStarExpr
);
1478 parser_prod__AStarExpr__init_astarexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarExpr#init_astarexpr on <var9:AStarExpr>*/
1480 var_pexprnode1
= var9
;
1481 var_node_list
= var_pexprnode1
;
1482 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction270> */
1484 var11
= parser_work__Parser__go_to(var_p
, var10
);
1487 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1491 /* method parser#ReduceAction270#action for (self: Object, Parser) */
1492 void VIRTUAL_parser__ReduceAction270__action(val
* self
, val
* p0
) {
1493 parser__ReduceAction270__action(self
, p0
); /* Direct call parser#ReduceAction270#action on <self:Object(ReduceAction270)>*/
1496 /* method parser#ReduceAction271#action for (self: ReduceAction271, Parser) */
1497 void parser__ReduceAction271__action(val
* self
, val
* p0
) {
1498 val
* var_p
/* var p: Parser */;
1499 val
* var
/* : null */;
1500 val
* var_node_list
/* var node_list: nullable Object */;
1501 val
* var1
/* : nullable Object */;
1502 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1503 val
* var2
/* : nullable Object */;
1504 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1505 val
* var3
/* : nullable Object */;
1506 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1507 val
* var4
/* : nullable Object */;
1508 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1509 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1510 short int var5
/* : Bool */;
1513 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1514 short int var6
/* : Bool */;
1517 val
* var9
/* : ASlashExpr */;
1518 val
* var_pexprnode1
/* var pexprnode1: nullable ASlashExpr */;
1519 long var10
/* : Int */;
1520 long var11
/* : Int */;
1523 var_node_list
= var
;
1525 var1
= parser_work__Parser__pop(var_p
);
1527 var_nodearraylist4
= var1
;
1529 var2
= parser_work__Parser__pop(var_p
);
1531 var_nodearraylist3
= var2
;
1533 var3
= parser_work__Parser__pop(var_p
);
1535 var_nodearraylist2
= var3
;
1537 var4
= parser_work__Parser__pop(var_p
);
1539 var_nodearraylist1
= var4
;
1540 var_pexprnode2
= var_nodearraylist1
;
1541 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1542 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1543 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1544 if(var_pexprnode2
== NULL
) {
1547 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1550 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1553 if (unlikely(!var5
)) {
1554 PRINT_ERROR("Runtime error: %s", "Assert failed");
1555 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7497);
1558 var_pexprnode3
= var_nodearraylist4
;
1559 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1560 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1561 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1562 if(var_pexprnode3
== NULL
) {
1565 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1568 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1571 if (unlikely(!var6
)) {
1572 PRINT_ERROR("Runtime error: %s", "Assert failed");
1573 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7499);
1576 var9
= NEW_parser_nodes__ASlashExpr(&type_parser_nodes__ASlashExpr
);
1578 parser_prod__ASlashExpr__init_aslashexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on <var9:ASlashExpr>*/
1580 var_pexprnode1
= var9
;
1581 var_node_list
= var_pexprnode1
;
1582 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction271> */
1584 var11
= parser_work__Parser__go_to(var_p
, var10
);
1587 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1591 /* method parser#ReduceAction271#action for (self: Object, Parser) */
1592 void VIRTUAL_parser__ReduceAction271__action(val
* self
, val
* p0
) {
1593 parser__ReduceAction271__action(self
, p0
); /* Direct call parser#ReduceAction271#action on <self:Object(ReduceAction271)>*/
1596 /* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */
1597 void parser__ReduceAction272__action(val
* self
, val
* p0
) {
1598 val
* var_p
/* var p: Parser */;
1599 val
* var
/* : null */;
1600 val
* var_node_list
/* var node_list: nullable Object */;
1601 val
* var1
/* : nullable Object */;
1602 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1603 val
* var2
/* : nullable Object */;
1604 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1605 val
* var3
/* : nullable Object */;
1606 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1607 val
* var4
/* : nullable Object */;
1608 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1609 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1610 short int var5
/* : Bool */;
1613 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1614 short int var6
/* : Bool */;
1617 val
* var9
/* : APercentExpr */;
1618 val
* var_pexprnode1
/* var pexprnode1: nullable APercentExpr */;
1619 long var10
/* : Int */;
1620 long var11
/* : Int */;
1623 var_node_list
= var
;
1625 var1
= parser_work__Parser__pop(var_p
);
1627 var_nodearraylist4
= var1
;
1629 var2
= parser_work__Parser__pop(var_p
);
1631 var_nodearraylist3
= var2
;
1633 var3
= parser_work__Parser__pop(var_p
);
1635 var_nodearraylist2
= var3
;
1637 var4
= parser_work__Parser__pop(var_p
);
1639 var_nodearraylist1
= var4
;
1640 var_pexprnode2
= var_nodearraylist1
;
1641 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1642 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1643 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1644 if(var_pexprnode2
== NULL
) {
1647 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1650 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1653 if (unlikely(!var5
)) {
1654 PRINT_ERROR("Runtime error: %s", "Assert failed");
1655 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7518);
1658 var_pexprnode3
= var_nodearraylist4
;
1659 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1660 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
1661 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
1662 if(var_pexprnode3
== NULL
) {
1665 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
1668 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
1671 if (unlikely(!var6
)) {
1672 PRINT_ERROR("Runtime error: %s", "Assert failed");
1673 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7520);
1676 var9
= NEW_parser_nodes__APercentExpr(&type_parser_nodes__APercentExpr
);
1678 parser_prod__APercentExpr__init_apercentexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APercentExpr#init_apercentexpr on <var9:APercentExpr>*/
1680 var_pexprnode1
= var9
;
1681 var_node_list
= var_pexprnode1
;
1682 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction272> */
1684 var11
= parser_work__Parser__go_to(var_p
, var10
);
1687 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1691 /* method parser#ReduceAction272#action for (self: Object, Parser) */
1692 void VIRTUAL_parser__ReduceAction272__action(val
* self
, val
* p0
) {
1693 parser__ReduceAction272__action(self
, p0
); /* Direct call parser#ReduceAction272#action on <self:Object(ReduceAction272)>*/
1696 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
1697 void parser__ReduceAction274__action(val
* self
, val
* p0
) {
1698 val
* var_p
/* var p: Parser */;
1699 val
* var
/* : null */;
1700 val
* var_node_list
/* var node_list: nullable Object */;
1701 val
* var1
/* : nullable Object */;
1702 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1703 val
* var2
/* : nullable Object */;
1704 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1705 val
* var3
/* : nullable Object */;
1706 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1707 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
1708 short int var4
/* : Bool */;
1711 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1712 short int var5
/* : Bool */;
1715 val
* var8
/* : AUminusExpr */;
1716 val
* var_pexprnode1
/* var pexprnode1: nullable AUminusExpr */;
1717 long var9
/* : Int */;
1718 long var10
/* : Int */;
1721 var_node_list
= var
;
1723 var1
= parser_work__Parser__pop(var_p
);
1725 var_nodearraylist3
= var1
;
1727 var2
= parser_work__Parser__pop(var_p
);
1729 var_nodearraylist2
= var2
;
1731 var3
= parser_work__Parser__pop(var_p
);
1733 var_nodearraylist1
= var3
;
1734 var_tminusnode2
= var_nodearraylist1
;
1735 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
1736 cltype
= type_nullable_parser_nodes__TMinus
.color
;
1737 idtype
= type_nullable_parser_nodes__TMinus
.id
;
1738 if(var_tminusnode2
== NULL
) {
1741 if(cltype
>= var_tminusnode2
->type
->table_size
) {
1744 var4
= var_tminusnode2
->type
->type_table
[cltype
] == idtype
;
1747 if (unlikely(!var4
)) {
1748 PRINT_ERROR("Runtime error: %s", "Assert failed");
1749 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7538);
1752 var_pexprnode3
= var_nodearraylist3
;
1753 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1754 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
1755 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
1756 if(var_pexprnode3
== NULL
) {
1759 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
1762 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
1765 if (unlikely(!var5
)) {
1766 PRINT_ERROR("Runtime error: %s", "Assert failed");
1767 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7540);
1770 var8
= NEW_parser_nodes__AUminusExpr(&type_parser_nodes__AUminusExpr
);
1772 parser_prod__AUminusExpr__init_auminusexpr(var8
, var_tminusnode2
, var_pexprnode3
); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on <var8:AUminusExpr>*/
1774 var_pexprnode1
= var8
;
1775 var_node_list
= var_pexprnode1
;
1776 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction274> */
1778 var10
= parser_work__Parser__go_to(var_p
, var9
);
1781 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1785 /* method parser#ReduceAction274#action for (self: Object, Parser) */
1786 void VIRTUAL_parser__ReduceAction274__action(val
* self
, val
* p0
) {
1787 parser__ReduceAction274__action(self
, p0
); /* Direct call parser#ReduceAction274#action on <self:Object(ReduceAction274)>*/
1790 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
1791 void parser__ReduceAction275__action(val
* self
, val
* p0
) {
1792 val
* var_p
/* var p: Parser */;
1793 val
* var
/* : null */;
1794 val
* var_node_list
/* var node_list: nullable Object */;
1795 val
* var1
/* : nullable Object */;
1796 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1797 val
* var2
/* : nullable Object */;
1798 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1799 val
* var3
/* : nullable Object */;
1800 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1801 val
* var_tkwoncenode2
/* var tkwoncenode2: nullable Object */;
1802 short int var4
/* : Bool */;
1805 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1806 short int var5
/* : Bool */;
1809 val
* var8
/* : AOnceExpr */;
1810 val
* var_pexprnode1
/* var pexprnode1: nullable AOnceExpr */;
1811 long var9
/* : Int */;
1812 long var10
/* : Int */;
1815 var_node_list
= var
;
1817 var1
= parser_work__Parser__pop(var_p
);
1819 var_nodearraylist3
= var1
;
1821 var2
= parser_work__Parser__pop(var_p
);
1823 var_nodearraylist2
= var2
;
1825 var3
= parser_work__Parser__pop(var_p
);
1827 var_nodearraylist1
= var3
;
1828 var_tkwoncenode2
= var_nodearraylist1
;
1829 /* <var_tkwoncenode2:nullable Object> isa nullable TKwonce */
1830 cltype
= type_nullable_parser_nodes__TKwonce
.color
;
1831 idtype
= type_nullable_parser_nodes__TKwonce
.id
;
1832 if(var_tkwoncenode2
== NULL
) {
1835 if(cltype
>= var_tkwoncenode2
->type
->table_size
) {
1838 var4
= var_tkwoncenode2
->type
->type_table
[cltype
] == idtype
;
1841 if (unlikely(!var4
)) {
1842 PRINT_ERROR("Runtime error: %s", "Assert failed");
1843 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7558);
1846 var_pexprnode3
= var_nodearraylist3
;
1847 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1848 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
1849 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
1850 if(var_pexprnode3
== NULL
) {
1853 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
1856 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
1859 if (unlikely(!var5
)) {
1860 PRINT_ERROR("Runtime error: %s", "Assert failed");
1861 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7560);
1864 var8
= NEW_parser_nodes__AOnceExpr(&type_parser_nodes__AOnceExpr
);
1866 parser_prod__AOnceExpr__init_aonceexpr(var8
, var_tkwoncenode2
, var_pexprnode3
); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <var8:AOnceExpr>*/
1868 var_pexprnode1
= var8
;
1869 var_node_list
= var_pexprnode1
;
1870 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction275> */
1872 var10
= parser_work__Parser__go_to(var_p
, var9
);
1875 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1879 /* method parser#ReduceAction275#action for (self: Object, Parser) */
1880 void VIRTUAL_parser__ReduceAction275__action(val
* self
, val
* p0
) {
1881 parser__ReduceAction275__action(self
, p0
); /* Direct call parser#ReduceAction275#action on <self:Object(ReduceAction275)>*/
1884 /* method parser#ReduceAction277#action for (self: ReduceAction277, Parser) */
1885 void parser__ReduceAction277__action(val
* self
, val
* p0
) {
1886 val
* var_p
/* var p: Parser */;
1887 val
* var
/* : null */;
1888 val
* var_node_list
/* var node_list: nullable Object */;
1889 val
* var1
/* : nullable Object */;
1890 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1891 val
* var2
/* : nullable Object */;
1892 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1893 val
* var3
/* : nullable Object */;
1894 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1895 val
* var4
/* : nullable Object */;
1896 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1897 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
1898 short int var5
/* : Bool */;
1901 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
1902 short int var6
/* : Bool */;
1905 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
1906 short int var9
/* : Bool */;
1909 val
* var12
/* : ANewExpr */;
1910 val
* var13
/* : null */;
1911 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
1912 long var14
/* : Int */;
1913 long var15
/* : Int */;
1916 var_node_list
= var
;
1918 var1
= parser_work__Parser__pop(var_p
);
1920 var_nodearraylist4
= var1
;
1922 var2
= parser_work__Parser__pop(var_p
);
1924 var_nodearraylist3
= var2
;
1926 var3
= parser_work__Parser__pop(var_p
);
1928 var_nodearraylist2
= var3
;
1930 var4
= parser_work__Parser__pop(var_p
);
1932 var_nodearraylist1
= var4
;
1933 var_tkwnewnode2
= var_nodearraylist1
;
1934 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
1935 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
1936 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
1937 if(var_tkwnewnode2
== NULL
) {
1940 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
1943 var5
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
1946 if (unlikely(!var5
)) {
1947 PRINT_ERROR("Runtime error: %s", "Assert failed");
1948 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7579);
1951 var_ptypenode3
= var_nodearraylist3
;
1952 /* <var_ptypenode3:nullable Object> isa nullable AType */
1953 cltype7
= type_nullable_parser_nodes__AType
.color
;
1954 idtype8
= type_nullable_parser_nodes__AType
.id
;
1955 if(var_ptypenode3
== NULL
) {
1958 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
1961 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
1964 if (unlikely(!var6
)) {
1965 PRINT_ERROR("Runtime error: %s", "Assert failed");
1966 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7581);
1969 var_pexprsnode5
= var_nodearraylist4
;
1970 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
1971 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
1972 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
1973 if(var_pexprsnode5
== NULL
) {
1976 if(cltype10
>= var_pexprsnode5
->type
->table_size
) {
1979 var9
= var_pexprsnode5
->type
->type_table
[cltype10
] == idtype11
;
1982 if (unlikely(!var9
)) {
1983 PRINT_ERROR("Runtime error: %s", "Assert failed");
1984 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7583);
1987 var12
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
1990 parser_prod__ANewExpr__init_anewexpr(var12
, var_tkwnewnode2
, var_ptypenode3
, var13
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var12:ANewExpr>*/
1992 var_pexprnode1
= var12
;
1993 var_node_list
= var_pexprnode1
;
1994 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction277> */
1996 var15
= parser_work__Parser__go_to(var_p
, var14
);
1999 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2003 /* method parser#ReduceAction277#action for (self: Object, Parser) */
2004 void VIRTUAL_parser__ReduceAction277__action(val
* self
, val
* p0
) {
2005 parser__ReduceAction277__action(self
, p0
); /* Direct call parser#ReduceAction277#action on <self:Object(ReduceAction277)>*/
2008 /* method parser#ReduceAction278#action for (self: ReduceAction278, Parser) */
2009 void parser__ReduceAction278__action(val
* self
, val
* p0
) {
2010 val
* var_p
/* var p: Parser */;
2011 val
* var
/* : null */;
2012 val
* var_node_list
/* var node_list: nullable Object */;
2013 val
* var1
/* : nullable Object */;
2014 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2015 val
* var2
/* : nullable Object */;
2016 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2017 val
* var3
/* : nullable Object */;
2018 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2019 val
* var4
/* : nullable Object */;
2020 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2021 val
* var5
/* : nullable Object */;
2022 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2023 val
* var6
/* : nullable Object */;
2024 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2025 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
2026 short int var7
/* : Bool */;
2029 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2030 short int var8
/* : Bool */;
2033 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
2034 short int var11
/* : Bool */;
2037 val
* var14
/* : AIssetAttrExpr */;
2038 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
2039 long var15
/* : Int */;
2040 long var16
/* : Int */;
2043 var_node_list
= var
;
2045 var1
= parser_work__Parser__pop(var_p
);
2047 var_nodearraylist6
= var1
;
2049 var2
= parser_work__Parser__pop(var_p
);
2051 var_nodearraylist5
= var2
;
2053 var3
= parser_work__Parser__pop(var_p
);
2055 var_nodearraylist4
= var3
;
2057 var4
= parser_work__Parser__pop(var_p
);
2059 var_nodearraylist3
= var4
;
2061 var5
= parser_work__Parser__pop(var_p
);
2063 var_nodearraylist2
= var5
;
2065 var6
= parser_work__Parser__pop(var_p
);
2067 var_nodearraylist1
= var6
;
2068 var_tkwissetnode2
= var_nodearraylist1
;
2069 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
2070 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
2071 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
2072 if(var_tkwissetnode2
== NULL
) {
2075 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
2078 var7
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
2081 if (unlikely(!var7
)) {
2082 PRINT_ERROR("Runtime error: %s", "Assert failed");
2083 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7606);
2086 var_pexprnode3
= var_nodearraylist2
;
2087 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2088 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
2089 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
2090 if(var_pexprnode3
== NULL
) {
2093 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
2096 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
2099 if (unlikely(!var8
)) {
2100 PRINT_ERROR("Runtime error: %s", "Assert failed");
2101 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7608);
2104 var_tattridnode4
= var_nodearraylist6
;
2105 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
2106 cltype12
= type_nullable_parser_nodes__TAttrid
.color
;
2107 idtype13
= type_nullable_parser_nodes__TAttrid
.id
;
2108 if(var_tattridnode4
== NULL
) {
2111 if(cltype12
>= var_tattridnode4
->type
->table_size
) {
2114 var11
= var_tattridnode4
->type
->type_table
[cltype12
] == idtype13
;
2117 if (unlikely(!var11
)) {
2118 PRINT_ERROR("Runtime error: %s", "Assert failed");
2119 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7610);
2122 var14
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
2124 parser_prod__AIssetAttrExpr__init_aissetattrexpr(var14
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var14:AIssetAttrExpr>*/
2126 var_pexprnode1
= var14
;
2127 var_node_list
= var_pexprnode1
;
2128 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction278> */
2130 var16
= parser_work__Parser__go_to(var_p
, var15
);
2133 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2137 /* method parser#ReduceAction278#action for (self: Object, Parser) */
2138 void VIRTUAL_parser__ReduceAction278__action(val
* self
, val
* p0
) {
2139 parser__ReduceAction278__action(self
, p0
); /* Direct call parser#ReduceAction278#action on <self:Object(ReduceAction278)>*/
2142 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
2143 void parser__ReduceAction279__action(val
* self
, val
* p0
) {
2144 val
* var_p
/* var p: Parser */;
2145 val
* var
/* : null */;
2146 val
* var_node_list
/* var node_list: nullable Object */;
2147 val
* var1
/* : nullable Object */;
2148 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2149 val
* var2
/* : nullable Object */;
2150 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2151 val
* var3
/* : nullable Object */;
2152 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2153 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
2154 short int var4
/* : Bool */;
2157 val
* var5
/* : AImplicitSelfExpr */;
2158 val
* var_pexprnode3
/* var pexprnode3: nullable AImplicitSelfExpr */;
2159 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
2160 short int var7
/* : Bool */;
2163 val
* var10
/* : AIssetAttrExpr */;
2164 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
2165 long var11
/* : Int */;
2166 long var12
/* : Int */;
2169 var_node_list
= var
;
2171 var1
= parser_work__Parser__pop(var_p
);
2173 var_nodearraylist3
= var1
;
2175 var2
= parser_work__Parser__pop(var_p
);
2177 var_nodearraylist2
= var2
;
2179 var3
= parser_work__Parser__pop(var_p
);
2181 var_nodearraylist1
= var3
;
2182 var_tkwissetnode2
= var_nodearraylist1
;
2183 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
2184 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
2185 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
2186 if(var_tkwissetnode2
== NULL
) {
2189 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
2192 var4
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
2195 if (unlikely(!var4
)) {
2196 PRINT_ERROR("Runtime error: %s", "Assert failed");
2197 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7629);
2200 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2202 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
2206 var_pexprnode3
= var5
;
2207 var_tattridnode4
= var_nodearraylist3
;
2208 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
2209 cltype8
= type_nullable_parser_nodes__TAttrid
.color
;
2210 idtype9
= type_nullable_parser_nodes__TAttrid
.id
;
2211 if(var_tattridnode4
== NULL
) {
2214 if(cltype8
>= var_tattridnode4
->type
->table_size
) {
2217 var7
= var_tattridnode4
->type
->type_table
[cltype8
] == idtype9
;
2220 if (unlikely(!var7
)) {
2221 PRINT_ERROR("Runtime error: %s", "Assert failed");
2222 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7632);
2225 var10
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
2227 parser_prod__AIssetAttrExpr__init_aissetattrexpr(var10
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var10:AIssetAttrExpr>*/
2229 var_pexprnode1
= var10
;
2230 var_node_list
= var_pexprnode1
;
2231 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction279> */
2233 var12
= parser_work__Parser__go_to(var_p
, var11
);
2236 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2240 /* method parser#ReduceAction279#action for (self: Object, Parser) */
2241 void VIRTUAL_parser__ReduceAction279__action(val
* self
, val
* p0
) {
2242 parser__ReduceAction279__action(self
, p0
); /* Direct call parser#ReduceAction279#action on <self:Object(ReduceAction279)>*/
2245 /* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */
2246 void parser__ReduceAction280__action(val
* self
, val
* p0
) {
2247 val
* var_p
/* var p: Parser */;
2248 val
* var
/* : null */;
2249 val
* var_node_list
/* var node_list: nullable Object */;
2250 val
* var1
/* : nullable Object */;
2251 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2252 val
* var2
/* : nullable Object */;
2253 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2254 val
* var3
/* : nullable Object */;
2255 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2256 val
* var4
/* : nullable Object */;
2257 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2258 val
* var5
/* : nullable Object */;
2259 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2260 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2261 short int var6
/* : Bool */;
2264 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2265 short int var7
/* : Bool */;
2268 val
* var10
/* : AAttrExpr */;
2269 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
2270 long var11
/* : Int */;
2271 long var12
/* : Int */;
2274 var_node_list
= var
;
2276 var1
= parser_work__Parser__pop(var_p
);
2278 var_nodearraylist5
= var1
;
2280 var2
= parser_work__Parser__pop(var_p
);
2282 var_nodearraylist4
= var2
;
2284 var3
= parser_work__Parser__pop(var_p
);
2286 var_nodearraylist3
= var3
;
2288 var4
= parser_work__Parser__pop(var_p
);
2290 var_nodearraylist2
= var4
;
2292 var5
= parser_work__Parser__pop(var_p
);
2294 var_nodearraylist1
= var5
;
2295 var_pexprnode2
= var_nodearraylist1
;
2296 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2297 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2298 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2299 if(var_pexprnode2
== NULL
) {
2302 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2305 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2308 if (unlikely(!var6
)) {
2309 PRINT_ERROR("Runtime error: %s", "Assert failed");
2310 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7653);
2313 var_tattridnode3
= var_nodearraylist5
;
2314 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2315 cltype8
= type_nullable_parser_nodes__TAttrid
.color
;
2316 idtype9
= type_nullable_parser_nodes__TAttrid
.id
;
2317 if(var_tattridnode3
== NULL
) {
2320 if(cltype8
>= var_tattridnode3
->type
->table_size
) {
2323 var7
= var_tattridnode3
->type
->type_table
[cltype8
] == idtype9
;
2326 if (unlikely(!var7
)) {
2327 PRINT_ERROR("Runtime error: %s", "Assert failed");
2328 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7655);
2331 var10
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
2333 parser_prod__AAttrExpr__init_aattrexpr(var10
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var10:AAttrExpr>*/
2335 var_pexprnode1
= var10
;
2336 var_node_list
= var_pexprnode1
;
2337 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction280> */
2339 var12
= parser_work__Parser__go_to(var_p
, var11
);
2342 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2346 /* method parser#ReduceAction280#action for (self: Object, Parser) */
2347 void VIRTUAL_parser__ReduceAction280__action(val
* self
, val
* p0
) {
2348 parser__ReduceAction280__action(self
, p0
); /* Direct call parser#ReduceAction280#action on <self:Object(ReduceAction280)>*/
2351 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
2352 void parser__ReduceAction281__action(val
* self
, val
* p0
) {
2353 val
* var_p
/* var p: Parser */;
2354 val
* var
/* : null */;
2355 val
* var_node_list
/* var node_list: nullable Object */;
2356 val
* var1
/* : nullable Object */;
2357 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2358 val
* var2
/* : nullable Object */;
2359 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2360 val
* var3
/* : AImplicitSelfExpr */;
2361 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2362 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2363 short int var5
/* : Bool */;
2366 val
* var6
/* : AAttrExpr */;
2367 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
2368 long var7
/* : Int */;
2369 long var8
/* : Int */;
2372 var_node_list
= var
;
2374 var1
= parser_work__Parser__pop(var_p
);
2376 var_nodearraylist2
= var1
;
2378 var2
= parser_work__Parser__pop(var_p
);
2380 var_nodearraylist1
= var2
;
2381 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2383 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
2387 var_pexprnode2
= var3
;
2388 var_tattridnode3
= var_nodearraylist2
;
2389 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2390 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
2391 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
2392 if(var_tattridnode3
== NULL
) {
2395 if(cltype
>= var_tattridnode3
->type
->table_size
) {
2398 var5
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
2401 if (unlikely(!var5
)) {
2402 PRINT_ERROR("Runtime error: %s", "Assert failed");
2403 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7673);
2406 var6
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
2408 parser_prod__AAttrExpr__init_aattrexpr(var6
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var6:AAttrExpr>*/
2410 var_pexprnode1
= var6
;
2411 var_node_list
= var_pexprnode1
;
2412 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction281> */
2414 var8
= parser_work__Parser__go_to(var_p
, var7
);
2417 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2421 /* method parser#ReduceAction281#action for (self: Object, Parser) */
2422 void VIRTUAL_parser__ReduceAction281__action(val
* self
, val
* p0
) {
2423 parser__ReduceAction281__action(self
, p0
); /* Direct call parser#ReduceAction281#action on <self:Object(ReduceAction281)>*/
2426 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
2427 void parser__ReduceAction287__action(val
* self
, val
* p0
) {
2428 val
* var_p
/* var p: Parser */;
2429 val
* var
/* : null */;
2430 val
* var_node_list
/* var node_list: nullable Object */;
2431 val
* var1
/* : nullable Object */;
2432 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2433 val
* var2
/* : nullable Object */;
2434 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2435 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2436 short int var3
/* : Bool */;
2439 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
2440 short int var4
/* : Bool */;
2443 val
* var7
/* : ABraExpr */;
2444 val
* var_pexprnode1
/* var pexprnode1: nullable ABraExpr */;
2445 long var8
/* : Int */;
2446 long var9
/* : Int */;
2449 var_node_list
= var
;
2451 var1
= parser_work__Parser__pop(var_p
);
2453 var_nodearraylist2
= var1
;
2455 var2
= parser_work__Parser__pop(var_p
);
2457 var_nodearraylist1
= var2
;
2458 var_pexprnode2
= var_nodearraylist1
;
2459 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2460 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2461 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2462 if(var_pexprnode2
== NULL
) {
2465 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2468 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2471 if (unlikely(!var3
)) {
2472 PRINT_ERROR("Runtime error: %s", "Assert failed");
2473 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7690);
2476 var_pexprsnode3
= var_nodearraylist2
;
2477 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
2478 cltype5
= type_nullable_parser_nodes__AExprs
.color
;
2479 idtype6
= type_nullable_parser_nodes__AExprs
.id
;
2480 if(var_pexprsnode3
== NULL
) {
2483 if(cltype5
>= var_pexprsnode3
->type
->table_size
) {
2486 var4
= var_pexprsnode3
->type
->type_table
[cltype5
] == idtype6
;
2489 if (unlikely(!var4
)) {
2490 PRINT_ERROR("Runtime error: %s", "Assert failed");
2491 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7692);
2494 var7
= NEW_parser_nodes__ABraExpr(&type_parser_nodes__ABraExpr
);
2496 parser_prod__ABraExpr__init_abraexpr(var7
, var_pexprnode2
, var_pexprsnode3
); /* Direct call parser_prod#ABraExpr#init_abraexpr on <var7:ABraExpr>*/
2498 var_pexprnode1
= var7
;
2499 var_node_list
= var_pexprnode1
;
2500 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction287> */
2502 var9
= parser_work__Parser__go_to(var_p
, var8
);
2505 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2509 /* method parser#ReduceAction287#action for (self: Object, Parser) */
2510 void VIRTUAL_parser__ReduceAction287__action(val
* self
, val
* p0
) {
2511 parser__ReduceAction287__action(self
, p0
); /* Direct call parser#ReduceAction287#action on <self:Object(ReduceAction287)>*/
2514 /* method parser#ReduceAction288#action for (self: ReduceAction288, Parser) */
2515 void parser__ReduceAction288__action(val
* self
, val
* p0
) {
2516 val
* var_p
/* var p: Parser */;
2517 val
* var
/* : null */;
2518 val
* var_node_list
/* var node_list: nullable Object */;
2519 val
* var1
/* : nullable Object */;
2520 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2521 val
* var2
/* : nullable Object */;
2522 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2523 val
* var3
/* : nullable Object */;
2524 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2525 val
* var4
/* : nullable Object */;
2526 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2527 val
* var5
/* : nullable Object */;
2528 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2529 val
* var6
/* : nullable Object */;
2530 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2531 val
* var7
/* : nullable Object */;
2532 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2533 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
2534 short int var8
/* : Bool */;
2537 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
2538 short int var9
/* : Bool */;
2541 val
* var_tidnode4
/* var tidnode4: nullable Object */;
2542 short int var12
/* : Bool */;
2545 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
2546 short int var15
/* : Bool */;
2549 val
* var18
/* : ANewExpr */;
2550 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
2551 long var19
/* : Int */;
2552 long var20
/* : Int */;
2555 var_node_list
= var
;
2557 var1
= parser_work__Parser__pop(var_p
);
2559 var_nodearraylist7
= var1
;
2561 var2
= parser_work__Parser__pop(var_p
);
2563 var_nodearraylist6
= var2
;
2565 var3
= parser_work__Parser__pop(var_p
);
2567 var_nodearraylist5
= var3
;
2569 var4
= parser_work__Parser__pop(var_p
);
2571 var_nodearraylist4
= var4
;
2573 var5
= parser_work__Parser__pop(var_p
);
2575 var_nodearraylist3
= var5
;
2577 var6
= parser_work__Parser__pop(var_p
);
2579 var_nodearraylist2
= var6
;
2581 var7
= parser_work__Parser__pop(var_p
);
2583 var_nodearraylist1
= var7
;
2584 var_tkwnewnode2
= var_nodearraylist1
;
2585 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
2586 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
2587 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
2588 if(var_tkwnewnode2
== NULL
) {
2591 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
2594 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
2597 if (unlikely(!var8
)) {
2598 PRINT_ERROR("Runtime error: %s", "Assert failed");
2599 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7714);
2602 var_ptypenode3
= var_nodearraylist3
;
2603 /* <var_ptypenode3:nullable Object> isa nullable AType */
2604 cltype10
= type_nullable_parser_nodes__AType
.color
;
2605 idtype11
= type_nullable_parser_nodes__AType
.id
;
2606 if(var_ptypenode3
== NULL
) {
2609 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
2612 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
2615 if (unlikely(!var9
)) {
2616 PRINT_ERROR("Runtime error: %s", "Assert failed");
2617 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7716);
2620 var_tidnode4
= var_nodearraylist6
;
2621 /* <var_tidnode4:nullable Object> isa nullable TId */
2622 cltype13
= type_nullable_parser_nodes__TId
.color
;
2623 idtype14
= type_nullable_parser_nodes__TId
.id
;
2624 if(var_tidnode4
== NULL
) {
2627 if(cltype13
>= var_tidnode4
->type
->table_size
) {
2630 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
2633 if (unlikely(!var12
)) {
2634 PRINT_ERROR("Runtime error: %s", "Assert failed");
2635 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7718);
2638 var_pexprsnode5
= var_nodearraylist7
;
2639 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
2640 cltype16
= type_nullable_parser_nodes__AExprs
.color
;
2641 idtype17
= type_nullable_parser_nodes__AExprs
.id
;
2642 if(var_pexprsnode5
== NULL
) {
2645 if(cltype16
>= var_pexprsnode5
->type
->table_size
) {
2648 var15
= var_pexprsnode5
->type
->type_table
[cltype16
] == idtype17
;
2651 if (unlikely(!var15
)) {
2652 PRINT_ERROR("Runtime error: %s", "Assert failed");
2653 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7720);
2656 var18
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
2658 parser_prod__ANewExpr__init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
2660 var_pexprnode1
= var18
;
2661 var_node_list
= var_pexprnode1
;
2662 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction288> */
2664 var20
= parser_work__Parser__go_to(var_p
, var19
);
2667 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2671 /* method parser#ReduceAction288#action for (self: Object, Parser) */
2672 void VIRTUAL_parser__ReduceAction288__action(val
* self
, val
* p0
) {
2673 parser__ReduceAction288__action(self
, p0
); /* Direct call parser#ReduceAction288#action on <self:Object(ReduceAction288)>*/
2676 /* method parser#ReduceAction289#action for (self: ReduceAction289, Parser) */
2677 void parser__ReduceAction289__action(val
* self
, val
* p0
) {
2678 val
* var_p
/* var p: Parser */;
2679 val
* var
/* : null */;
2680 val
* var_node_list
/* var node_list: nullable Object */;
2681 val
* var1
/* : nullable Object */;
2682 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2683 val
* var2
/* : nullable Object */;
2684 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2685 val
* var3
/* : nullable Object */;
2686 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2687 val
* var4
/* : nullable Object */;
2688 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2689 val
* var5
/* : nullable Object */;
2690 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2691 val
* var6
/* : nullable Object */;
2692 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2693 val
* var7
/* : nullable Object */;
2694 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2695 val
* var8
/* : nullable Object */;
2696 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2697 val
* var9
/* : nullable Object */;
2698 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2699 val
* var10
/* : nullable Object */;
2700 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2701 val
* var_tobranode2
/* var tobranode2: nullable Object */;
2702 short int var11
/* : Bool */;
2705 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2706 short int var12
/* : Bool */;
2709 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2710 short int var15
/* : Bool */;
2713 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
2714 short int var18
/* : Bool */;
2717 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
2718 short int var21
/* : Bool */;
2721 val
* var24
/* : ACrangeExpr */;
2722 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
2723 long var25
/* : Int */;
2724 long var26
/* : Int */;
2727 var_node_list
= var
;
2729 var1
= parser_work__Parser__pop(var_p
);
2731 var_nodearraylist10
= var1
;
2733 var2
= parser_work__Parser__pop(var_p
);
2735 var_nodearraylist9
= var2
;
2737 var3
= parser_work__Parser__pop(var_p
);
2739 var_nodearraylist8
= var3
;
2741 var4
= parser_work__Parser__pop(var_p
);
2743 var_nodearraylist7
= var4
;
2745 var5
= parser_work__Parser__pop(var_p
);
2747 var_nodearraylist6
= var5
;
2749 var6
= parser_work__Parser__pop(var_p
);
2751 var_nodearraylist5
= var6
;
2753 var7
= parser_work__Parser__pop(var_p
);
2755 var_nodearraylist4
= var7
;
2757 var8
= parser_work__Parser__pop(var_p
);
2759 var_nodearraylist3
= var8
;
2761 var9
= parser_work__Parser__pop(var_p
);
2763 var_nodearraylist2
= var9
;
2765 var10
= parser_work__Parser__pop(var_p
);
2767 var_nodearraylist1
= var10
;
2768 var_tobranode2
= var_nodearraylist1
;
2769 /* <var_tobranode2:nullable Object> isa nullable TObra */
2770 cltype
= type_nullable_parser_nodes__TObra
.color
;
2771 idtype
= type_nullable_parser_nodes__TObra
.id
;
2772 if(var_tobranode2
== NULL
) {
2775 if(cltype
>= var_tobranode2
->type
->table_size
) {
2778 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
2781 if (unlikely(!var11
)) {
2782 PRINT_ERROR("Runtime error: %s", "Assert failed");
2783 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7747);
2786 var_pexprnode3
= var_nodearraylist3
;
2787 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2788 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
2789 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
2790 if(var_pexprnode3
== NULL
) {
2793 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
2796 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
2799 if (unlikely(!var12
)) {
2800 PRINT_ERROR("Runtime error: %s", "Assert failed");
2801 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7749);
2804 var_pexprnode4
= var_nodearraylist7
;
2805 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2806 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
2807 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
2808 if(var_pexprnode4
== NULL
) {
2811 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
2814 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
2817 if (unlikely(!var15
)) {
2818 PRINT_ERROR("Runtime error: %s", "Assert failed");
2819 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7751);
2822 var_tcbranode5
= var_nodearraylist9
;
2823 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
2824 cltype19
= type_nullable_parser_nodes__TCbra
.color
;
2825 idtype20
= type_nullable_parser_nodes__TCbra
.id
;
2826 if(var_tcbranode5
== NULL
) {
2829 if(cltype19
>= var_tcbranode5
->type
->table_size
) {
2832 var18
= var_tcbranode5
->type
->type_table
[cltype19
] == idtype20
;
2835 if (unlikely(!var18
)) {
2836 PRINT_ERROR("Runtime error: %s", "Assert failed");
2837 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7753);
2840 var_pannotationsnode6
= var_nodearraylist10
;
2841 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
2842 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
2843 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
2844 if(var_pannotationsnode6
== NULL
) {
2847 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
2850 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
2853 if (unlikely(!var21
)) {
2854 PRINT_ERROR("Runtime error: %s", "Assert failed");
2855 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7755);
2858 var24
= NEW_parser_nodes__ACrangeExpr(&type_parser_nodes__ACrangeExpr
);
2860 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>*/
2862 var_pexprnode1
= var24
;
2863 var_node_list
= var_pexprnode1
;
2864 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction289> */
2866 var26
= parser_work__Parser__go_to(var_p
, var25
);
2869 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2873 /* method parser#ReduceAction289#action for (self: Object, Parser) */
2874 void VIRTUAL_parser__ReduceAction289__action(val
* self
, val
* p0
) {
2875 parser__ReduceAction289__action(self
, p0
); /* Direct call parser#ReduceAction289#action on <self:Object(ReduceAction289)>*/
2878 /* method parser#ReduceAction290#action for (self: ReduceAction290, Parser) */
2879 void parser__ReduceAction290__action(val
* self
, val
* p0
) {
2880 val
* var_p
/* var p: Parser */;
2881 val
* var
/* : null */;
2882 val
* var_node_list
/* var node_list: nullable Object */;
2883 val
* var1
/* : nullable Object */;
2884 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2885 val
* var2
/* : nullable Object */;
2886 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2887 val
* var3
/* : nullable Object */;
2888 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2889 val
* var4
/* : nullable Object */;
2890 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2891 val
* var5
/* : nullable Object */;
2892 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2893 val
* var6
/* : nullable Object */;
2894 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2895 val
* var7
/* : nullable Object */;
2896 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2897 val
* var8
/* : nullable Object */;
2898 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2899 val
* var9
/* : nullable Object */;
2900 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2901 val
* var10
/* : nullable Object */;
2902 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2903 val
* var_tobranode2
/* var tobranode2: nullable Object */;
2904 short int var11
/* : Bool */;
2907 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2908 short int var12
/* : Bool */;
2911 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2912 short int var15
/* : Bool */;
2915 val
* var_tobranode5
/* var tobranode5: nullable Object */;
2916 short int var18
/* : Bool */;
2919 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
2920 short int var21
/* : Bool */;
2923 val
* var24
/* : AOrangeExpr */;
2924 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
2925 long var25
/* : Int */;
2926 long var26
/* : Int */;
2929 var_node_list
= var
;
2931 var1
= parser_work__Parser__pop(var_p
);
2933 var_nodearraylist10
= var1
;
2935 var2
= parser_work__Parser__pop(var_p
);
2937 var_nodearraylist9
= var2
;
2939 var3
= parser_work__Parser__pop(var_p
);
2941 var_nodearraylist8
= var3
;
2943 var4
= parser_work__Parser__pop(var_p
);
2945 var_nodearraylist7
= var4
;
2947 var5
= parser_work__Parser__pop(var_p
);
2949 var_nodearraylist6
= var5
;
2951 var6
= parser_work__Parser__pop(var_p
);
2953 var_nodearraylist5
= var6
;
2955 var7
= parser_work__Parser__pop(var_p
);
2957 var_nodearraylist4
= var7
;
2959 var8
= parser_work__Parser__pop(var_p
);
2961 var_nodearraylist3
= var8
;
2963 var9
= parser_work__Parser__pop(var_p
);
2965 var_nodearraylist2
= var9
;
2967 var10
= parser_work__Parser__pop(var_p
);
2969 var_nodearraylist1
= var10
;
2970 var_tobranode2
= var_nodearraylist1
;
2971 /* <var_tobranode2:nullable Object> isa nullable TObra */
2972 cltype
= type_nullable_parser_nodes__TObra
.color
;
2973 idtype
= type_nullable_parser_nodes__TObra
.id
;
2974 if(var_tobranode2
== NULL
) {
2977 if(cltype
>= var_tobranode2
->type
->table_size
) {
2980 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
2983 if (unlikely(!var11
)) {
2984 PRINT_ERROR("Runtime error: %s", "Assert failed");
2985 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7783);
2988 var_pexprnode3
= var_nodearraylist3
;
2989 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2990 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
2991 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
2992 if(var_pexprnode3
== NULL
) {
2995 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
2998 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
3001 if (unlikely(!var12
)) {
3002 PRINT_ERROR("Runtime error: %s", "Assert failed");
3003 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7785);
3006 var_pexprnode4
= var_nodearraylist7
;
3007 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3008 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
3009 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
3010 if(var_pexprnode4
== NULL
) {
3013 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
3016 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
3019 if (unlikely(!var15
)) {
3020 PRINT_ERROR("Runtime error: %s", "Assert failed");
3021 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7787);
3024 var_tobranode5
= var_nodearraylist9
;
3025 /* <var_tobranode5:nullable Object> isa nullable TObra */
3026 cltype19
= type_nullable_parser_nodes__TObra
.color
;
3027 idtype20
= type_nullable_parser_nodes__TObra
.id
;
3028 if(var_tobranode5
== NULL
) {
3031 if(cltype19
>= var_tobranode5
->type
->table_size
) {
3034 var18
= var_tobranode5
->type
->type_table
[cltype19
] == idtype20
;
3037 if (unlikely(!var18
)) {
3038 PRINT_ERROR("Runtime error: %s", "Assert failed");
3039 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7789);
3042 var_pannotationsnode6
= var_nodearraylist10
;
3043 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
3044 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
3045 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
3046 if(var_pannotationsnode6
== NULL
) {
3049 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
3052 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
3055 if (unlikely(!var21
)) {
3056 PRINT_ERROR("Runtime error: %s", "Assert failed");
3057 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7791);
3060 var24
= NEW_parser_nodes__AOrangeExpr(&type_parser_nodes__AOrangeExpr
);
3062 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>*/
3064 var_pexprnode1
= var24
;
3065 var_node_list
= var_pexprnode1
;
3066 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction290> */
3068 var26
= parser_work__Parser__go_to(var_p
, var25
);
3071 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3075 /* method parser#ReduceAction290#action for (self: Object, Parser) */
3076 void VIRTUAL_parser__ReduceAction290__action(val
* self
, val
* p0
) {
3077 parser__ReduceAction290__action(self
, p0
); /* Direct call parser#ReduceAction290#action on <self:Object(ReduceAction290)>*/
3080 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
3081 void parser__ReduceAction291__action(val
* self
, val
* p0
) {
3082 val
* var_p
/* var p: Parser */;
3083 val
* var
/* : null */;
3084 val
* var_node_list
/* var node_list: nullable Object */;
3085 val
* var1
/* : nullable Object */;
3086 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3087 val
* var2
/* : nullable Object */;
3088 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3089 val
* var_pexprsnode2
/* var pexprsnode2: nullable Object */;
3090 short int var3
/* : Bool */;
3093 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3094 short int var4
/* : Bool */;
3097 val
* var7
/* : AArrayExpr */;
3098 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
3099 long var8
/* : Int */;
3100 long var9
/* : Int */;
3103 var_node_list
= var
;
3105 var1
= parser_work__Parser__pop(var_p
);
3107 var_nodearraylist2
= var1
;
3109 var2
= parser_work__Parser__pop(var_p
);
3111 var_nodearraylist1
= var2
;
3112 var_pexprsnode2
= var_nodearraylist1
;
3113 /* <var_pexprsnode2:nullable Object> isa nullable AExprs */
3114 cltype
= type_nullable_parser_nodes__AExprs
.color
;
3115 idtype
= type_nullable_parser_nodes__AExprs
.id
;
3116 if(var_pexprsnode2
== NULL
) {
3119 if(cltype
>= var_pexprsnode2
->type
->table_size
) {
3122 var3
= var_pexprsnode2
->type
->type_table
[cltype
] == idtype
;
3125 if (unlikely(!var3
)) {
3126 PRINT_ERROR("Runtime error: %s", "Assert failed");
3127 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7811);
3130 var_pannotationsnode3
= var_nodearraylist2
;
3131 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3132 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3133 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3134 if(var_pannotationsnode3
== NULL
) {
3137 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3140 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3143 if (unlikely(!var4
)) {
3144 PRINT_ERROR("Runtime error: %s", "Assert failed");
3145 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7813);
3148 var7
= NEW_parser_nodes__AArrayExpr(&type_parser_nodes__AArrayExpr
);
3150 parser_prod__AArrayExpr__init_aarrayexpr(var7
, var_pexprsnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on <var7:AArrayExpr>*/
3152 var_pexprnode1
= var7
;
3153 var_node_list
= var_pexprnode1
;
3154 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction291> */
3156 var9
= parser_work__Parser__go_to(var_p
, var8
);
3159 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3163 /* method parser#ReduceAction291#action for (self: Object, Parser) */
3164 void VIRTUAL_parser__ReduceAction291__action(val
* self
, val
* p0
) {
3165 parser__ReduceAction291__action(self
, p0
); /* Direct call parser#ReduceAction291#action on <self:Object(ReduceAction291)>*/
3168 /* method parser#ReduceAction292#action for (self: ReduceAction292, Parser) */
3169 void parser__ReduceAction292__action(val
* self
, val
* p0
) {
3170 val
* var_p
/* var p: Parser */;
3171 val
* var
/* : null */;
3172 val
* var_node_list
/* var node_list: nullable Object */;
3173 val
* var1
/* : nullable Object */;
3174 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3175 val
* var2
/* : nullable Object */;
3176 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3177 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
3178 short int var3
/* : Bool */;
3181 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3182 short int var4
/* : Bool */;
3185 val
* var7
/* : ASelfExpr */;
3186 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
3187 long var8
/* : Int */;
3188 long var9
/* : Int */;
3191 var_node_list
= var
;
3193 var1
= parser_work__Parser__pop(var_p
);
3195 var_nodearraylist2
= var1
;
3197 var2
= parser_work__Parser__pop(var_p
);
3199 var_nodearraylist1
= var2
;
3200 var_tkwselfnode2
= var_nodearraylist1
;
3201 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
3202 cltype
= type_nullable_parser_nodes__TKwself
.color
;
3203 idtype
= type_nullable_parser_nodes__TKwself
.id
;
3204 if(var_tkwselfnode2
== NULL
) {
3207 if(cltype
>= var_tkwselfnode2
->type
->table_size
) {
3210 var3
= var_tkwselfnode2
->type
->type_table
[cltype
] == idtype
;
3213 if (unlikely(!var3
)) {
3214 PRINT_ERROR("Runtime error: %s", "Assert failed");
3215 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7830);
3218 var_pannotationsnode3
= var_nodearraylist2
;
3219 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3220 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3221 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3222 if(var_pannotationsnode3
== NULL
) {
3225 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3228 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3231 if (unlikely(!var4
)) {
3232 PRINT_ERROR("Runtime error: %s", "Assert failed");
3233 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7832);
3236 var7
= NEW_parser_nodes__ASelfExpr(&type_parser_nodes__ASelfExpr
);
3238 parser_prod__ASelfExpr__init_aselfexpr(var7
, var_tkwselfnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on <var7:ASelfExpr>*/
3240 var_pexprnode1
= var7
;
3241 var_node_list
= var_pexprnode1
;
3242 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction292> */
3244 var9
= parser_work__Parser__go_to(var_p
, var8
);
3247 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3251 /* method parser#ReduceAction292#action for (self: Object, Parser) */
3252 void VIRTUAL_parser__ReduceAction292__action(val
* self
, val
* p0
) {
3253 parser__ReduceAction292__action(self
, p0
); /* Direct call parser#ReduceAction292#action on <self:Object(ReduceAction292)>*/
3256 /* method parser#ReduceAction293#action for (self: ReduceAction293, Parser) */
3257 void parser__ReduceAction293__action(val
* self
, val
* p0
) {
3258 val
* var_p
/* var p: Parser */;
3259 val
* var
/* : null */;
3260 val
* var_node_list
/* var node_list: nullable Object */;
3261 val
* var1
/* : nullable Object */;
3262 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3263 val
* var2
/* : nullable Object */;
3264 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3265 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
3266 short int var3
/* : Bool */;
3269 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3270 short int var4
/* : Bool */;
3273 val
* var7
/* : ATrueExpr */;
3274 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
3275 long var8
/* : Int */;
3276 long var9
/* : Int */;
3279 var_node_list
= var
;
3281 var1
= parser_work__Parser__pop(var_p
);
3283 var_nodearraylist2
= var1
;
3285 var2
= parser_work__Parser__pop(var_p
);
3287 var_nodearraylist1
= var2
;
3288 var_tkwtruenode2
= var_nodearraylist1
;
3289 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
3290 cltype
= type_nullable_parser_nodes__TKwtrue
.color
;
3291 idtype
= type_nullable_parser_nodes__TKwtrue
.id
;
3292 if(var_tkwtruenode2
== NULL
) {
3295 if(cltype
>= var_tkwtruenode2
->type
->table_size
) {
3298 var3
= var_tkwtruenode2
->type
->type_table
[cltype
] == idtype
;
3301 if (unlikely(!var3
)) {
3302 PRINT_ERROR("Runtime error: %s", "Assert failed");
3303 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7849);
3306 var_pannotationsnode3
= var_nodearraylist2
;
3307 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3308 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3309 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3310 if(var_pannotationsnode3
== NULL
) {
3313 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3316 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3319 if (unlikely(!var4
)) {
3320 PRINT_ERROR("Runtime error: %s", "Assert failed");
3321 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7851);
3324 var7
= NEW_parser_nodes__ATrueExpr(&type_parser_nodes__ATrueExpr
);
3326 parser_prod__ATrueExpr__init_atrueexpr(var7
, var_tkwtruenode2
, var_pannotationsnode3
); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on <var7:ATrueExpr>*/
3328 var_pexprnode1
= var7
;
3329 var_node_list
= var_pexprnode1
;
3330 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction293> */
3332 var9
= parser_work__Parser__go_to(var_p
, var8
);
3335 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3339 /* method parser#ReduceAction293#action for (self: Object, Parser) */
3340 void VIRTUAL_parser__ReduceAction293__action(val
* self
, val
* p0
) {
3341 parser__ReduceAction293__action(self
, p0
); /* Direct call parser#ReduceAction293#action on <self:Object(ReduceAction293)>*/
3344 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
3345 void parser__ReduceAction294__action(val
* self
, val
* p0
) {
3346 val
* var_p
/* var p: Parser */;
3347 val
* var
/* : null */;
3348 val
* var_node_list
/* var node_list: nullable Object */;
3349 val
* var1
/* : nullable Object */;
3350 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3351 val
* var2
/* : nullable Object */;
3352 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3353 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
3354 short int var3
/* : Bool */;
3357 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3358 short int var4
/* : Bool */;
3361 val
* var7
/* : AFalseExpr */;
3362 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
3363 long var8
/* : Int */;
3364 long var9
/* : Int */;
3367 var_node_list
= var
;
3369 var1
= parser_work__Parser__pop(var_p
);
3371 var_nodearraylist2
= var1
;
3373 var2
= parser_work__Parser__pop(var_p
);
3375 var_nodearraylist1
= var2
;
3376 var_tkwfalsenode2
= var_nodearraylist1
;
3377 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
3378 cltype
= type_nullable_parser_nodes__TKwfalse
.color
;
3379 idtype
= type_nullable_parser_nodes__TKwfalse
.id
;
3380 if(var_tkwfalsenode2
== NULL
) {
3383 if(cltype
>= var_tkwfalsenode2
->type
->table_size
) {
3386 var3
= var_tkwfalsenode2
->type
->type_table
[cltype
] == idtype
;
3389 if (unlikely(!var3
)) {
3390 PRINT_ERROR("Runtime error: %s", "Assert failed");
3391 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7868);
3394 var_pannotationsnode3
= var_nodearraylist2
;
3395 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3396 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3397 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3398 if(var_pannotationsnode3
== NULL
) {
3401 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3404 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3407 if (unlikely(!var4
)) {
3408 PRINT_ERROR("Runtime error: %s", "Assert failed");
3409 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7870);
3412 var7
= NEW_parser_nodes__AFalseExpr(&type_parser_nodes__AFalseExpr
);
3414 parser_prod__AFalseExpr__init_afalseexpr(var7
, var_tkwfalsenode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on <var7:AFalseExpr>*/
3416 var_pexprnode1
= var7
;
3417 var_node_list
= var_pexprnode1
;
3418 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction294> */
3420 var9
= parser_work__Parser__go_to(var_p
, var8
);
3423 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3427 /* method parser#ReduceAction294#action for (self: Object, Parser) */
3428 void VIRTUAL_parser__ReduceAction294__action(val
* self
, val
* p0
) {
3429 parser__ReduceAction294__action(self
, p0
); /* Direct call parser#ReduceAction294#action on <self:Object(ReduceAction294)>*/
3432 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
3433 void parser__ReduceAction295__action(val
* self
, val
* p0
) {
3434 val
* var_p
/* var p: Parser */;
3435 val
* var
/* : null */;
3436 val
* var_node_list
/* var node_list: nullable Object */;
3437 val
* var1
/* : nullable Object */;
3438 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3439 val
* var2
/* : nullable Object */;
3440 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3441 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
3442 short int var3
/* : Bool */;
3445 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3446 short int var4
/* : Bool */;
3449 val
* var7
/* : ANullExpr */;
3450 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
3451 long var8
/* : Int */;
3452 long var9
/* : Int */;
3455 var_node_list
= var
;
3457 var1
= parser_work__Parser__pop(var_p
);
3459 var_nodearraylist2
= var1
;
3461 var2
= parser_work__Parser__pop(var_p
);
3463 var_nodearraylist1
= var2
;
3464 var_tkwnullnode2
= var_nodearraylist1
;
3465 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
3466 cltype
= type_nullable_parser_nodes__TKwnull
.color
;
3467 idtype
= type_nullable_parser_nodes__TKwnull
.id
;
3468 if(var_tkwnullnode2
== NULL
) {
3471 if(cltype
>= var_tkwnullnode2
->type
->table_size
) {
3474 var3
= var_tkwnullnode2
->type
->type_table
[cltype
] == idtype
;
3477 if (unlikely(!var3
)) {
3478 PRINT_ERROR("Runtime error: %s", "Assert failed");
3479 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7887);
3482 var_pannotationsnode3
= var_nodearraylist2
;
3483 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3484 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3485 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3486 if(var_pannotationsnode3
== NULL
) {
3489 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3492 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3495 if (unlikely(!var4
)) {
3496 PRINT_ERROR("Runtime error: %s", "Assert failed");
3497 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7889);
3500 var7
= NEW_parser_nodes__ANullExpr(&type_parser_nodes__ANullExpr
);
3502 parser_prod__ANullExpr__init_anullexpr(var7
, var_tkwnullnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ANullExpr#init_anullexpr on <var7:ANullExpr>*/
3504 var_pexprnode1
= var7
;
3505 var_node_list
= var_pexprnode1
;
3506 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction295> */
3508 var9
= parser_work__Parser__go_to(var_p
, var8
);
3511 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3515 /* method parser#ReduceAction295#action for (self: Object, Parser) */
3516 void VIRTUAL_parser__ReduceAction295__action(val
* self
, val
* p0
) {
3517 parser__ReduceAction295__action(self
, p0
); /* Direct call parser#ReduceAction295#action on <self:Object(ReduceAction295)>*/
3520 /* method parser#ReduceAction296#action for (self: ReduceAction296, Parser) */
3521 void parser__ReduceAction296__action(val
* self
, val
* p0
) {
3522 val
* var_p
/* var p: Parser */;
3523 val
* var
/* : null */;
3524 val
* var_node_list
/* var node_list: nullable Object */;
3525 val
* var1
/* : nullable Object */;
3526 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3527 val
* var2
/* : nullable Object */;
3528 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3529 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
3530 short int var3
/* : Bool */;
3533 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3534 short int var4
/* : Bool */;
3537 val
* var7
/* : ADecIntExpr */;
3538 val
* var_pexprnode1
/* var pexprnode1: nullable ADecIntExpr */;
3539 long var8
/* : Int */;
3540 long var9
/* : Int */;
3543 var_node_list
= var
;
3545 var1
= parser_work__Parser__pop(var_p
);
3547 var_nodearraylist2
= var1
;
3549 var2
= parser_work__Parser__pop(var_p
);
3551 var_nodearraylist1
= var2
;
3552 var_tnumbernode2
= var_nodearraylist1
;
3553 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
3554 cltype
= type_nullable_parser_nodes__TNumber
.color
;
3555 idtype
= type_nullable_parser_nodes__TNumber
.id
;
3556 if(var_tnumbernode2
== NULL
) {
3559 if(cltype
>= var_tnumbernode2
->type
->table_size
) {
3562 var3
= var_tnumbernode2
->type
->type_table
[cltype
] == idtype
;
3565 if (unlikely(!var3
)) {
3566 PRINT_ERROR("Runtime error: %s", "Assert failed");
3567 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7906);
3570 var_pannotationsnode3
= var_nodearraylist2
;
3571 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3572 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3573 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3574 if(var_pannotationsnode3
== NULL
) {
3577 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3580 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3583 if (unlikely(!var4
)) {
3584 PRINT_ERROR("Runtime error: %s", "Assert failed");
3585 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7908);
3588 var7
= NEW_parser_nodes__ADecIntExpr(&type_parser_nodes__ADecIntExpr
);
3590 parser_prod__ADecIntExpr__init_adecintexpr(var7
, var_tnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on <var7:ADecIntExpr>*/
3592 var_pexprnode1
= var7
;
3593 var_node_list
= var_pexprnode1
;
3594 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction296> */
3596 var9
= parser_work__Parser__go_to(var_p
, var8
);
3599 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3603 /* method parser#ReduceAction296#action for (self: Object, Parser) */
3604 void VIRTUAL_parser__ReduceAction296__action(val
* self
, val
* p0
) {
3605 parser__ReduceAction296__action(self
, p0
); /* Direct call parser#ReduceAction296#action on <self:Object(ReduceAction296)>*/
3608 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
3609 void parser__ReduceAction297__action(val
* self
, val
* p0
) {
3610 val
* var_p
/* var p: Parser */;
3611 val
* var
/* : null */;
3612 val
* var_node_list
/* var node_list: nullable Object */;
3613 val
* var1
/* : nullable Object */;
3614 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3615 val
* var2
/* : nullable Object */;
3616 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3617 val
* var_thexnumbernode2
/* var thexnumbernode2: nullable Object */;
3618 short int var3
/* : Bool */;
3621 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3622 short int var4
/* : Bool */;
3625 val
* var7
/* : AHexIntExpr */;
3626 val
* var_pexprnode1
/* var pexprnode1: nullable AHexIntExpr */;
3627 long var8
/* : Int */;
3628 long var9
/* : Int */;
3631 var_node_list
= var
;
3633 var1
= parser_work__Parser__pop(var_p
);
3635 var_nodearraylist2
= var1
;
3637 var2
= parser_work__Parser__pop(var_p
);
3639 var_nodearraylist1
= var2
;
3640 var_thexnumbernode2
= var_nodearraylist1
;
3641 /* <var_thexnumbernode2:nullable Object> isa nullable THexNumber */
3642 cltype
= type_nullable_parser_nodes__THexNumber
.color
;
3643 idtype
= type_nullable_parser_nodes__THexNumber
.id
;
3644 if(var_thexnumbernode2
== NULL
) {
3647 if(cltype
>= var_thexnumbernode2
->type
->table_size
) {
3650 var3
= var_thexnumbernode2
->type
->type_table
[cltype
] == idtype
;
3653 if (unlikely(!var3
)) {
3654 PRINT_ERROR("Runtime error: %s", "Assert failed");
3655 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7925);
3658 var_pannotationsnode3
= var_nodearraylist2
;
3659 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3660 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3661 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3662 if(var_pannotationsnode3
== NULL
) {
3665 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3668 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3671 if (unlikely(!var4
)) {
3672 PRINT_ERROR("Runtime error: %s", "Assert failed");
3673 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7927);
3676 var7
= NEW_parser_nodes__AHexIntExpr(&type_parser_nodes__AHexIntExpr
);
3678 parser_prod__AHexIntExpr__init_ahexintexpr(var7
, var_thexnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on <var7:AHexIntExpr>*/
3680 var_pexprnode1
= var7
;
3681 var_node_list
= var_pexprnode1
;
3682 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction297> */
3684 var9
= parser_work__Parser__go_to(var_p
, var8
);
3687 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3691 /* method parser#ReduceAction297#action for (self: Object, Parser) */
3692 void VIRTUAL_parser__ReduceAction297__action(val
* self
, val
* p0
) {
3693 parser__ReduceAction297__action(self
, p0
); /* Direct call parser#ReduceAction297#action on <self:Object(ReduceAction297)>*/
3696 /* method parser#ReduceAction298#action for (self: ReduceAction298, Parser) */
3697 void parser__ReduceAction298__action(val
* self
, val
* p0
) {
3698 val
* var_p
/* var p: Parser */;
3699 val
* var
/* : null */;
3700 val
* var_node_list
/* var node_list: nullable Object */;
3701 val
* var1
/* : nullable Object */;
3702 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3703 val
* var2
/* : nullable Object */;
3704 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3705 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
3706 short int var3
/* : Bool */;
3709 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3710 short int var4
/* : Bool */;
3713 val
* var7
/* : AFloatExpr */;
3714 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
3715 long var8
/* : Int */;
3716 long var9
/* : Int */;
3719 var_node_list
= var
;
3721 var1
= parser_work__Parser__pop(var_p
);
3723 var_nodearraylist2
= var1
;
3725 var2
= parser_work__Parser__pop(var_p
);
3727 var_nodearraylist1
= var2
;
3728 var_tfloatnode2
= var_nodearraylist1
;
3729 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
3730 cltype
= type_nullable_parser_nodes__TFloat
.color
;
3731 idtype
= type_nullable_parser_nodes__TFloat
.id
;
3732 if(var_tfloatnode2
== NULL
) {
3735 if(cltype
>= var_tfloatnode2
->type
->table_size
) {
3738 var3
= var_tfloatnode2
->type
->type_table
[cltype
] == idtype
;
3741 if (unlikely(!var3
)) {
3742 PRINT_ERROR("Runtime error: %s", "Assert failed");
3743 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7944);
3746 var_pannotationsnode3
= var_nodearraylist2
;
3747 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3748 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3749 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3750 if(var_pannotationsnode3
== NULL
) {
3753 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3756 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3759 if (unlikely(!var4
)) {
3760 PRINT_ERROR("Runtime error: %s", "Assert failed");
3761 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7946);
3764 var7
= NEW_parser_nodes__AFloatExpr(&type_parser_nodes__AFloatExpr
);
3766 parser_prod__AFloatExpr__init_afloatexpr(var7
, var_tfloatnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on <var7:AFloatExpr>*/
3768 var_pexprnode1
= var7
;
3769 var_node_list
= var_pexprnode1
;
3770 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction298> */
3772 var9
= parser_work__Parser__go_to(var_p
, var8
);
3775 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3779 /* method parser#ReduceAction298#action for (self: Object, Parser) */
3780 void VIRTUAL_parser__ReduceAction298__action(val
* self
, val
* p0
) {
3781 parser__ReduceAction298__action(self
, p0
); /* Direct call parser#ReduceAction298#action on <self:Object(ReduceAction298)>*/
3784 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
3785 void parser__ReduceAction299__action(val
* self
, val
* p0
) {
3786 val
* var_p
/* var p: Parser */;
3787 val
* var
/* : null */;
3788 val
* var_node_list
/* var node_list: nullable Object */;
3789 val
* var1
/* : nullable Object */;
3790 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3791 val
* var2
/* : nullable Object */;
3792 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3793 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
3794 short int var3
/* : Bool */;
3797 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3798 short int var4
/* : Bool */;
3801 val
* var7
/* : ACharExpr */;
3802 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
3803 long var8
/* : Int */;
3804 long var9
/* : Int */;
3807 var_node_list
= var
;
3809 var1
= parser_work__Parser__pop(var_p
);
3811 var_nodearraylist2
= var1
;
3813 var2
= parser_work__Parser__pop(var_p
);
3815 var_nodearraylist1
= var2
;
3816 var_tcharnode2
= var_nodearraylist1
;
3817 /* <var_tcharnode2:nullable Object> isa nullable TChar */
3818 cltype
= type_nullable_parser_nodes__TChar
.color
;
3819 idtype
= type_nullable_parser_nodes__TChar
.id
;
3820 if(var_tcharnode2
== NULL
) {
3823 if(cltype
>= var_tcharnode2
->type
->table_size
) {
3826 var3
= var_tcharnode2
->type
->type_table
[cltype
] == idtype
;
3829 if (unlikely(!var3
)) {
3830 PRINT_ERROR("Runtime error: %s", "Assert failed");
3831 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7963);
3834 var_pannotationsnode3
= var_nodearraylist2
;
3835 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3836 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3837 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3838 if(var_pannotationsnode3
== NULL
) {
3841 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3844 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3847 if (unlikely(!var4
)) {
3848 PRINT_ERROR("Runtime error: %s", "Assert failed");
3849 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7965);
3852 var7
= NEW_parser_nodes__ACharExpr(&type_parser_nodes__ACharExpr
);
3854 parser_prod__ACharExpr__init_acharexpr(var7
, var_tcharnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ACharExpr#init_acharexpr on <var7:ACharExpr>*/
3856 var_pexprnode1
= var7
;
3857 var_node_list
= var_pexprnode1
;
3858 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction299> */
3860 var9
= parser_work__Parser__go_to(var_p
, var8
);
3863 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3867 /* method parser#ReduceAction299#action for (self: Object, Parser) */
3868 void VIRTUAL_parser__ReduceAction299__action(val
* self
, val
* p0
) {
3869 parser__ReduceAction299__action(self
, p0
); /* Direct call parser#ReduceAction299#action on <self:Object(ReduceAction299)>*/
3872 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
3873 void parser__ReduceAction300__action(val
* self
, val
* p0
) {
3874 val
* var_p
/* var p: Parser */;
3875 val
* var
/* : null */;
3876 val
* var_node_list
/* var node_list: nullable Object */;
3877 val
* var1
/* : nullable Object */;
3878 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3879 val
* var2
/* : nullable Object */;
3880 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3881 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
3882 short int var3
/* : Bool */;
3885 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
3886 short int var4
/* : Bool */;
3889 val
* var7
/* : AStringExpr */;
3890 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
3891 long var8
/* : Int */;
3892 long var9
/* : Int */;
3895 var_node_list
= var
;
3897 var1
= parser_work__Parser__pop(var_p
);
3899 var_nodearraylist2
= var1
;
3901 var2
= parser_work__Parser__pop(var_p
);
3903 var_nodearraylist1
= var2
;
3904 var_tstringnode2
= var_nodearraylist1
;
3905 /* <var_tstringnode2:nullable Object> isa nullable TString */
3906 cltype
= type_nullable_parser_nodes__TString
.color
;
3907 idtype
= type_nullable_parser_nodes__TString
.id
;
3908 if(var_tstringnode2
== NULL
) {
3911 if(cltype
>= var_tstringnode2
->type
->table_size
) {
3914 var3
= var_tstringnode2
->type
->type_table
[cltype
] == idtype
;
3917 if (unlikely(!var3
)) {
3918 PRINT_ERROR("Runtime error: %s", "Assert failed");
3919 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7982);
3922 var_pannotationsnode3
= var_nodearraylist2
;
3923 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
3924 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
3925 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
3926 if(var_pannotationsnode3
== NULL
) {
3929 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
3932 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
3935 if (unlikely(!var4
)) {
3936 PRINT_ERROR("Runtime error: %s", "Assert failed");
3937 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7984);
3940 var7
= NEW_parser_nodes__AStringExpr(&type_parser_nodes__AStringExpr
);
3942 parser_prod__AStringExpr__init_astringexpr(var7
, var_tstringnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AStringExpr#init_astringexpr on <var7:AStringExpr>*/
3944 var_pexprnode1
= var7
;
3945 var_node_list
= var_pexprnode1
;
3946 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction300> */
3948 var9
= parser_work__Parser__go_to(var_p
, var8
);
3951 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3955 /* method parser#ReduceAction300#action for (self: Object, Parser) */
3956 void VIRTUAL_parser__ReduceAction300__action(val
* self
, val
* p0
) {
3957 parser__ReduceAction300__action(self
, p0
); /* Direct call parser#ReduceAction300#action on <self:Object(ReduceAction300)>*/
3960 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
3961 void parser__ReduceAction302__action(val
* self
, val
* p0
) {
3962 val
* var_p
/* var p: Parser */;
3963 val
* var
/* : null */;
3964 val
* var_node_list
/* var node_list: nullable Object */;
3965 val
* var1
/* : nullable Object */;
3966 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3967 val
* var2
/* : nullable Object */;
3968 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3969 val
* var3
/* : nullable Object */;
3970 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3971 val
* var4
/* : nullable Object */;
3972 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3973 val
* var5
/* : nullable Object */;
3974 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3975 val
* var6
/* : nullable Object */;
3976 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3977 val
* var_toparnode2
/* var toparnode2: nullable Object */;
3978 short int var7
/* : Bool */;
3981 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3982 short int var8
/* : Bool */;
3985 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
3986 short int var11
/* : Bool */;
3989 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
3990 short int var14
/* : Bool */;
3993 val
* var17
/* : AParExpr */;
3994 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
3995 long var18
/* : Int */;
3996 long var19
/* : Int */;
3999 var_node_list
= var
;
4001 var1
= parser_work__Parser__pop(var_p
);
4003 var_nodearraylist6
= var1
;
4005 var2
= parser_work__Parser__pop(var_p
);
4007 var_nodearraylist5
= var2
;
4009 var3
= parser_work__Parser__pop(var_p
);
4011 var_nodearraylist4
= var3
;
4013 var4
= parser_work__Parser__pop(var_p
);
4015 var_nodearraylist3
= var4
;
4017 var5
= parser_work__Parser__pop(var_p
);
4019 var_nodearraylist2
= var5
;
4021 var6
= parser_work__Parser__pop(var_p
);
4023 var_nodearraylist1
= var6
;
4024 var_toparnode2
= var_nodearraylist1
;
4025 /* <var_toparnode2:nullable Object> isa nullable TOpar */
4026 cltype
= type_nullable_parser_nodes__TOpar
.color
;
4027 idtype
= type_nullable_parser_nodes__TOpar
.id
;
4028 if(var_toparnode2
== NULL
) {
4031 if(cltype
>= var_toparnode2
->type
->table_size
) {
4034 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
4037 if (unlikely(!var7
)) {
4038 PRINT_ERROR("Runtime error: %s", "Assert failed");
4039 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8005);
4042 var_pexprnode3
= var_nodearraylist3
;
4043 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4044 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
4045 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
4046 if(var_pexprnode3
== NULL
) {
4049 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
4052 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
4055 if (unlikely(!var8
)) {
4056 PRINT_ERROR("Runtime error: %s", "Assert failed");
4057 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8007);
4060 var_tcparnode4
= var_nodearraylist5
;
4061 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
4062 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
4063 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
4064 if(var_tcparnode4
== NULL
) {
4067 if(cltype12
>= var_tcparnode4
->type
->table_size
) {
4070 var11
= var_tcparnode4
->type
->type_table
[cltype12
] == idtype13
;
4073 if (unlikely(!var11
)) {
4074 PRINT_ERROR("Runtime error: %s", "Assert failed");
4075 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8009);
4078 var_pannotationsnode5
= var_nodearraylist6
;
4079 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
4080 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
4081 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
4082 if(var_pannotationsnode5
== NULL
) {
4085 if(cltype15
>= var_pannotationsnode5
->type
->table_size
) {
4088 var14
= var_pannotationsnode5
->type
->type_table
[cltype15
] == idtype16
;
4091 if (unlikely(!var14
)) {
4092 PRINT_ERROR("Runtime error: %s", "Assert failed");
4093 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8011);
4096 var17
= NEW_parser_nodes__AParExpr(&type_parser_nodes__AParExpr
);
4098 parser_prod__AParExpr__init_aparexpr(var17
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParExpr#init_aparexpr on <var17:AParExpr>*/
4100 var_pexprnode1
= var17
;
4101 var_node_list
= var_pexprnode1
;
4102 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction302> */
4104 var19
= parser_work__Parser__go_to(var_p
, var18
);
4107 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4111 /* method parser#ReduceAction302#action for (self: Object, Parser) */
4112 void VIRTUAL_parser__ReduceAction302__action(val
* self
, val
* p0
) {
4113 parser__ReduceAction302__action(self
, p0
); /* Direct call parser#ReduceAction302#action on <self:Object(ReduceAction302)>*/
4116 /* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */
4117 void parser__ReduceAction303__action(val
* self
, val
* p0
) {
4118 val
* var_p
/* var p: Parser */;
4119 val
* var
/* : null */;
4120 val
* var_node_list
/* var node_list: nullable Object */;
4121 val
* var1
/* : nullable Object */;
4122 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4123 val
* var2
/* : nullable Object */;
4124 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4125 val
* var3
/* : nullable Object */;
4126 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4127 val
* var4
/* : nullable Object */;
4128 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4129 val
* var5
/* : nullable Object */;
4130 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4131 val
* var6
/* : nullable Object */;
4132 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4133 val
* var7
/* : nullable Object */;
4134 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4135 val
* var8
/* : nullable Object */;
4136 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4137 val
* var9
/* : nullable Object */;
4138 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4139 val
* var10
/* : nullable Object */;
4140 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4141 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4142 short int var11
/* : Bool */;
4145 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
4146 short int var12
/* : Bool */;
4149 val
* var_toparnode4
/* var toparnode4: nullable Object */;
4150 short int var15
/* : Bool */;
4153 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
4154 short int var18
/* : Bool */;
4157 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4158 short int var21
/* : Bool */;
4161 val
* var24
/* : AAsCastExpr */;
4162 val
* var_pexprnode1
/* var pexprnode1: nullable AAsCastExpr */;
4163 long var25
/* : Int */;
4164 long var26
/* : Int */;
4167 var_node_list
= var
;
4169 var1
= parser_work__Parser__pop(var_p
);
4171 var_nodearraylist10
= var1
;
4173 var2
= parser_work__Parser__pop(var_p
);
4175 var_nodearraylist9
= var2
;
4177 var3
= parser_work__Parser__pop(var_p
);
4179 var_nodearraylist8
= var3
;
4181 var4
= parser_work__Parser__pop(var_p
);
4183 var_nodearraylist7
= var4
;
4185 var5
= parser_work__Parser__pop(var_p
);
4187 var_nodearraylist6
= var5
;
4189 var6
= parser_work__Parser__pop(var_p
);
4191 var_nodearraylist5
= var6
;
4193 var7
= parser_work__Parser__pop(var_p
);
4195 var_nodearraylist4
= var7
;
4197 var8
= parser_work__Parser__pop(var_p
);
4199 var_nodearraylist3
= var8
;
4201 var9
= parser_work__Parser__pop(var_p
);
4203 var_nodearraylist2
= var9
;
4205 var10
= parser_work__Parser__pop(var_p
);
4207 var_nodearraylist1
= var10
;
4208 var_pexprnode2
= var_nodearraylist1
;
4209 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4210 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4211 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4212 if(var_pexprnode2
== NULL
) {
4215 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4218 var11
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4221 if (unlikely(!var11
)) {
4222 PRINT_ERROR("Runtime error: %s", "Assert failed");
4223 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8038);
4226 var_tkwasnode3
= var_nodearraylist4
;
4227 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
4228 cltype13
= type_nullable_parser_nodes__TKwas
.color
;
4229 idtype14
= type_nullable_parser_nodes__TKwas
.id
;
4230 if(var_tkwasnode3
== NULL
) {
4233 if(cltype13
>= var_tkwasnode3
->type
->table_size
) {
4236 var12
= var_tkwasnode3
->type
->type_table
[cltype13
] == idtype14
;
4239 if (unlikely(!var12
)) {
4240 PRINT_ERROR("Runtime error: %s", "Assert failed");
4241 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8040);
4244 var_toparnode4
= var_nodearraylist6
;
4245 /* <var_toparnode4:nullable Object> isa nullable TOpar */
4246 cltype16
= type_nullable_parser_nodes__TOpar
.color
;
4247 idtype17
= type_nullable_parser_nodes__TOpar
.id
;
4248 if(var_toparnode4
== NULL
) {
4251 if(cltype16
>= var_toparnode4
->type
->table_size
) {
4254 var15
= var_toparnode4
->type
->type_table
[cltype16
] == idtype17
;
4257 if (unlikely(!var15
)) {
4258 PRINT_ERROR("Runtime error: %s", "Assert failed");
4259 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8042);
4262 var_ptypenode5
= var_nodearraylist8
;
4263 /* <var_ptypenode5:nullable Object> isa nullable AType */
4264 cltype19
= type_nullable_parser_nodes__AType
.color
;
4265 idtype20
= type_nullable_parser_nodes__AType
.id
;
4266 if(var_ptypenode5
== NULL
) {
4269 if(cltype19
>= var_ptypenode5
->type
->table_size
) {
4272 var18
= var_ptypenode5
->type
->type_table
[cltype19
] == idtype20
;
4275 if (unlikely(!var18
)) {
4276 PRINT_ERROR("Runtime error: %s", "Assert failed");
4277 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8044);
4280 var_tcparnode6
= var_nodearraylist10
;
4281 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4282 cltype22
= type_nullable_parser_nodes__TCpar
.color
;
4283 idtype23
= type_nullable_parser_nodes__TCpar
.id
;
4284 if(var_tcparnode6
== NULL
) {
4287 if(cltype22
>= var_tcparnode6
->type
->table_size
) {
4290 var21
= var_tcparnode6
->type
->type_table
[cltype22
] == idtype23
;
4293 if (unlikely(!var21
)) {
4294 PRINT_ERROR("Runtime error: %s", "Assert failed");
4295 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8046);
4298 var24
= NEW_parser_nodes__AAsCastExpr(&type_parser_nodes__AAsCastExpr
);
4300 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>*/
4302 var_pexprnode1
= var24
;
4303 var_node_list
= var_pexprnode1
;
4304 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction303> */
4306 var26
= parser_work__Parser__go_to(var_p
, var25
);
4309 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4313 /* method parser#ReduceAction303#action for (self: Object, Parser) */
4314 void VIRTUAL_parser__ReduceAction303__action(val
* self
, val
* p0
) {
4315 parser__ReduceAction303__action(self
, p0
); /* Direct call parser#ReduceAction303#action on <self:Object(ReduceAction303)>*/
4318 /* method parser#ReduceAction304#action for (self: ReduceAction304, Parser) */
4319 void parser__ReduceAction304__action(val
* self
, val
* p0
) {
4320 val
* var_p
/* var p: Parser */;
4321 val
* var
/* : null */;
4322 val
* var_node_list
/* var node_list: nullable Object */;
4323 val
* var1
/* : nullable Object */;
4324 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
4325 val
* var2
/* : nullable Object */;
4326 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4327 val
* var3
/* : nullable Object */;
4328 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4329 val
* var4
/* : nullable Object */;
4330 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4331 val
* var5
/* : nullable Object */;
4332 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4333 val
* var6
/* : nullable Object */;
4334 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4335 val
* var7
/* : nullable Object */;
4336 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4337 val
* var8
/* : nullable Object */;
4338 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4339 val
* var9
/* : nullable Object */;
4340 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4341 val
* var10
/* : nullable Object */;
4342 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4343 val
* var11
/* : nullable Object */;
4344 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4345 val
* var12
/* : nullable Object */;
4346 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4347 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4348 short int var13
/* : Bool */;
4351 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
4352 short int var14
/* : Bool */;
4355 val
* var_toparnode4
/* var toparnode4: nullable Object */;
4356 short int var17
/* : Bool */;
4359 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
4360 short int var20
/* : Bool */;
4363 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
4364 short int var23
/* : Bool */;
4367 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
4368 short int var26
/* : Bool */;
4371 val
* var29
/* : AAsNotnullExpr */;
4372 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
4373 long var30
/* : Int */;
4374 long var31
/* : Int */;
4377 var_node_list
= var
;
4379 var1
= parser_work__Parser__pop(var_p
);
4381 var_nodearraylist12
= var1
;
4383 var2
= parser_work__Parser__pop(var_p
);
4385 var_nodearraylist11
= var2
;
4387 var3
= parser_work__Parser__pop(var_p
);
4389 var_nodearraylist10
= var3
;
4391 var4
= parser_work__Parser__pop(var_p
);
4393 var_nodearraylist9
= var4
;
4395 var5
= parser_work__Parser__pop(var_p
);
4397 var_nodearraylist8
= var5
;
4399 var6
= parser_work__Parser__pop(var_p
);
4401 var_nodearraylist7
= var6
;
4403 var7
= parser_work__Parser__pop(var_p
);
4405 var_nodearraylist6
= var7
;
4407 var8
= parser_work__Parser__pop(var_p
);
4409 var_nodearraylist5
= var8
;
4411 var9
= parser_work__Parser__pop(var_p
);
4413 var_nodearraylist4
= var9
;
4415 var10
= parser_work__Parser__pop(var_p
);
4417 var_nodearraylist3
= var10
;
4419 var11
= parser_work__Parser__pop(var_p
);
4421 var_nodearraylist2
= var11
;
4423 var12
= parser_work__Parser__pop(var_p
);
4425 var_nodearraylist1
= var12
;
4426 var_pexprnode2
= var_nodearraylist1
;
4427 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4428 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4429 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4430 if(var_pexprnode2
== NULL
) {
4433 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4436 var13
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4439 if (unlikely(!var13
)) {
4440 PRINT_ERROR("Runtime error: %s", "Assert failed");
4441 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8076);
4444 var_tkwasnode3
= var_nodearraylist4
;
4445 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
4446 cltype15
= type_nullable_parser_nodes__TKwas
.color
;
4447 idtype16
= type_nullable_parser_nodes__TKwas
.id
;
4448 if(var_tkwasnode3
== NULL
) {
4451 if(cltype15
>= var_tkwasnode3
->type
->table_size
) {
4454 var14
= var_tkwasnode3
->type
->type_table
[cltype15
] == idtype16
;
4457 if (unlikely(!var14
)) {
4458 PRINT_ERROR("Runtime error: %s", "Assert failed");
4459 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8078);
4462 var_toparnode4
= var_nodearraylist6
;
4463 /* <var_toparnode4:nullable Object> isa nullable TOpar */
4464 cltype18
= type_nullable_parser_nodes__TOpar
.color
;
4465 idtype19
= type_nullable_parser_nodes__TOpar
.id
;
4466 if(var_toparnode4
== NULL
) {
4469 if(cltype18
>= var_toparnode4
->type
->table_size
) {
4472 var17
= var_toparnode4
->type
->type_table
[cltype18
] == idtype19
;
4475 if (unlikely(!var17
)) {
4476 PRINT_ERROR("Runtime error: %s", "Assert failed");
4477 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8080);
4480 var_tkwnotnode5
= var_nodearraylist8
;
4481 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
4482 cltype21
= type_nullable_parser_nodes__TKwnot
.color
;
4483 idtype22
= type_nullable_parser_nodes__TKwnot
.id
;
4484 if(var_tkwnotnode5
== NULL
) {
4487 if(cltype21
>= var_tkwnotnode5
->type
->table_size
) {
4490 var20
= var_tkwnotnode5
->type
->type_table
[cltype21
] == idtype22
;
4493 if (unlikely(!var20
)) {
4494 PRINT_ERROR("Runtime error: %s", "Assert failed");
4495 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8082);
4498 var_tkwnullnode6
= var_nodearraylist10
;
4499 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
4500 cltype24
= type_nullable_parser_nodes__TKwnull
.color
;
4501 idtype25
= type_nullable_parser_nodes__TKwnull
.id
;
4502 if(var_tkwnullnode6
== NULL
) {
4505 if(cltype24
>= var_tkwnullnode6
->type
->table_size
) {
4508 var23
= var_tkwnullnode6
->type
->type_table
[cltype24
] == idtype25
;
4511 if (unlikely(!var23
)) {
4512 PRINT_ERROR("Runtime error: %s", "Assert failed");
4513 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8084);
4516 var_tcparnode7
= var_nodearraylist12
;
4517 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
4518 cltype27
= type_nullable_parser_nodes__TCpar
.color
;
4519 idtype28
= type_nullable_parser_nodes__TCpar
.id
;
4520 if(var_tcparnode7
== NULL
) {
4523 if(cltype27
>= var_tcparnode7
->type
->table_size
) {
4526 var26
= var_tcparnode7
->type
->type_table
[cltype27
] == idtype28
;
4529 if (unlikely(!var26
)) {
4530 PRINT_ERROR("Runtime error: %s", "Assert failed");
4531 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8086);
4534 var29
= NEW_parser_nodes__AAsNotnullExpr(&type_parser_nodes__AAsNotnullExpr
);
4536 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>*/
4538 var_pexprnode1
= var29
;
4539 var_node_list
= var_pexprnode1
;
4540 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction304> */
4542 var31
= parser_work__Parser__go_to(var_p
, var30
);
4545 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4549 /* method parser#ReduceAction304#action for (self: Object, Parser) */
4550 void VIRTUAL_parser__ReduceAction304__action(val
* self
, val
* p0
) {
4551 parser__ReduceAction304__action(self
, p0
); /* Direct call parser#ReduceAction304#action on <self:Object(ReduceAction304)>*/
4554 /* method parser#ReduceAction305#action for (self: ReduceAction305, Parser) */
4555 void parser__ReduceAction305__action(val
* self
, val
* p0
) {
4556 val
* var_p
/* var p: Parser */;
4557 val
* var
/* : null */;
4558 val
* var_node_list
/* var node_list: nullable Object */;
4559 val
* var1
/* : nullable Object */;
4560 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4561 val
* var2
/* : nullable Object */;
4562 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4563 val
* var3
/* : nullable Object */;
4564 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4565 val
* var4
/* : nullable Object */;
4566 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4567 val
* var5
/* : nullable Object */;
4568 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4569 val
* var6
/* : nullable Object */;
4570 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4571 val
* var7
/* : nullable Object */;
4572 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4573 val
* var8
/* : nullable Object */;
4574 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4575 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4576 short int var9
/* : Bool */;
4579 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
4580 short int var10
/* : Bool */;
4583 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
4584 short int var13
/* : Bool */;
4587 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
4588 short int var16
/* : Bool */;
4591 val
* var19
/* : AAsNotnullExpr */;
4592 val
* var20
/* : null */;
4593 val
* var21
/* : null */;
4594 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
4595 long var22
/* : Int */;
4596 long var23
/* : Int */;
4599 var_node_list
= var
;
4601 var1
= parser_work__Parser__pop(var_p
);
4603 var_nodearraylist8
= var1
;
4605 var2
= parser_work__Parser__pop(var_p
);
4607 var_nodearraylist7
= var2
;
4609 var3
= parser_work__Parser__pop(var_p
);
4611 var_nodearraylist6
= var3
;
4613 var4
= parser_work__Parser__pop(var_p
);
4615 var_nodearraylist5
= var4
;
4617 var5
= parser_work__Parser__pop(var_p
);
4619 var_nodearraylist4
= var5
;
4621 var6
= parser_work__Parser__pop(var_p
);
4623 var_nodearraylist3
= var6
;
4625 var7
= parser_work__Parser__pop(var_p
);
4627 var_nodearraylist2
= var7
;
4629 var8
= parser_work__Parser__pop(var_p
);
4631 var_nodearraylist1
= var8
;
4632 var_pexprnode2
= var_nodearraylist1
;
4633 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4634 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4635 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4636 if(var_pexprnode2
== NULL
) {
4639 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4642 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4645 if (unlikely(!var9
)) {
4646 PRINT_ERROR("Runtime error: %s", "Assert failed");
4647 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8113);
4650 var_tkwasnode3
= var_nodearraylist4
;
4651 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
4652 cltype11
= type_nullable_parser_nodes__TKwas
.color
;
4653 idtype12
= type_nullable_parser_nodes__TKwas
.id
;
4654 if(var_tkwasnode3
== NULL
) {
4657 if(cltype11
>= var_tkwasnode3
->type
->table_size
) {
4660 var10
= var_tkwasnode3
->type
->type_table
[cltype11
] == idtype12
;
4663 if (unlikely(!var10
)) {
4664 PRINT_ERROR("Runtime error: %s", "Assert failed");
4665 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8115);
4668 var_tkwnotnode5
= var_nodearraylist6
;
4669 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
4670 cltype14
= type_nullable_parser_nodes__TKwnot
.color
;
4671 idtype15
= type_nullable_parser_nodes__TKwnot
.id
;
4672 if(var_tkwnotnode5
== NULL
) {
4675 if(cltype14
>= var_tkwnotnode5
->type
->table_size
) {
4678 var13
= var_tkwnotnode5
->type
->type_table
[cltype14
] == idtype15
;
4681 if (unlikely(!var13
)) {
4682 PRINT_ERROR("Runtime error: %s", "Assert failed");
4683 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8117);
4686 var_tkwnullnode6
= var_nodearraylist8
;
4687 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
4688 cltype17
= type_nullable_parser_nodes__TKwnull
.color
;
4689 idtype18
= type_nullable_parser_nodes__TKwnull
.id
;
4690 if(var_tkwnullnode6
== NULL
) {
4693 if(cltype17
>= var_tkwnullnode6
->type
->table_size
) {
4696 var16
= var_tkwnullnode6
->type
->type_table
[cltype17
] == idtype18
;
4699 if (unlikely(!var16
)) {
4700 PRINT_ERROR("Runtime error: %s", "Assert failed");
4701 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8119);
4704 var19
= NEW_parser_nodes__AAsNotnullExpr(&type_parser_nodes__AAsNotnullExpr
);
4708 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>*/
4710 var_pexprnode1
= var19
;
4711 var_node_list
= var_pexprnode1
;
4712 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction305> */
4714 var23
= parser_work__Parser__go_to(var_p
, var22
);
4717 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4721 /* method parser#ReduceAction305#action for (self: Object, Parser) */
4722 void VIRTUAL_parser__ReduceAction305__action(val
* self
, val
* p0
) {
4723 parser__ReduceAction305__action(self
, p0
); /* Direct call parser#ReduceAction305#action on <self:Object(ReduceAction305)>*/
4726 /* method parser#ReduceAction306#action for (self: ReduceAction306, Parser) */
4727 void parser__ReduceAction306__action(val
* self
, val
* p0
) {
4728 val
* var_p
/* var p: Parser */;
4729 val
* var
/* : null */;
4730 val
* var_node_list
/* var node_list: nullable Object */;
4731 val
* var1
/* : nullable Object */;
4732 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4733 val
* var2
/* : nullable Object */;
4734 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4735 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4736 short int var3
/* : Bool */;
4739 val
* var_tdotdotdotnode3
/* var tdotdotdotnode3: nullable Object */;
4740 short int var4
/* : Bool */;
4743 val
* var7
/* : AVarargExpr */;
4744 val
* var_pexprnode1
/* var pexprnode1: nullable AVarargExpr */;
4745 long var8
/* : Int */;
4746 long var9
/* : Int */;
4749 var_node_list
= var
;
4751 var1
= parser_work__Parser__pop(var_p
);
4753 var_nodearraylist2
= var1
;
4755 var2
= parser_work__Parser__pop(var_p
);
4757 var_nodearraylist1
= var2
;
4758 var_pexprnode2
= var_nodearraylist1
;
4759 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4760 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4761 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4762 if(var_pexprnode2
== NULL
) {
4765 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4768 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4771 if (unlikely(!var3
)) {
4772 PRINT_ERROR("Runtime error: %s", "Assert failed");
4773 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8140);
4776 var_tdotdotdotnode3
= var_nodearraylist2
;
4777 /* <var_tdotdotdotnode3:nullable Object> isa nullable TDotdotdot */
4778 cltype5
= type_nullable_parser_nodes__TDotdotdot
.color
;
4779 idtype6
= type_nullable_parser_nodes__TDotdotdot
.id
;
4780 if(var_tdotdotdotnode3
== NULL
) {
4783 if(cltype5
>= var_tdotdotdotnode3
->type
->table_size
) {
4786 var4
= var_tdotdotdotnode3
->type
->type_table
[cltype5
] == idtype6
;
4789 if (unlikely(!var4
)) {
4790 PRINT_ERROR("Runtime error: %s", "Assert failed");
4791 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8142);
4794 var7
= NEW_parser_nodes__AVarargExpr(&type_parser_nodes__AVarargExpr
);
4796 parser_prod__AVarargExpr__init_avarargexpr(var7
, var_pexprnode2
, var_tdotdotdotnode3
); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on <var7:AVarargExpr>*/
4798 var_pexprnode1
= var7
;
4799 var_node_list
= var_pexprnode1
;
4800 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction306> */
4802 var9
= parser_work__Parser__go_to(var_p
, var8
);
4805 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4809 /* method parser#ReduceAction306#action for (self: Object, Parser) */
4810 void VIRTUAL_parser__ReduceAction306__action(val
* self
, val
* p0
) {
4811 parser__ReduceAction306__action(self
, p0
); /* Direct call parser#ReduceAction306#action on <self:Object(ReduceAction306)>*/
4814 /* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */
4815 void parser__ReduceAction307__action(val
* self
, val
* p0
) {
4816 val
* var_p
/* var p: Parser */;
4817 val
* var
/* : null */;
4818 val
* var_node_list
/* var node_list: nullable Object */;
4819 val
* var1
/* : nullable Object */;
4820 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4821 val
* var2
/* : nullable Object */;
4822 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4823 val
* var3
/* : nullable Object */;
4824 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4825 val
* var4
/* : Array[Object] */;
4826 val
* var_listnode4
/* var listnode4: Array[Object] */;
4827 val
* var_listnode2
/* var listnode2: nullable Object */;
4828 short int var5
/* : Bool */;
4831 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4832 short int var6
/* : Bool */;
4835 val
* var9
/* : Array[Object] */;
4836 val
* var10
/* : null */;
4837 short int var11
/* : Bool */;
4838 short int var12
/* : Bool */;
4839 val
* var_other
/* var other: nullable Object */;
4840 short int var14
/* : Bool */;
4841 short int var15
/* : Bool */;
4842 short int var16
/* : Bool */;
4843 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
4844 short int var17
/* : Bool */;
4847 val
* var20
/* : ASuperstringExpr */;
4848 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
4849 long var21
/* : Int */;
4850 long var22
/* : Int */;
4853 var_node_list
= var
;
4855 var1
= parser_work__Parser__pop(var_p
);
4857 var_nodearraylist3
= var1
;
4859 var2
= parser_work__Parser__pop(var_p
);
4861 var_nodearraylist2
= var2
;
4863 var3
= parser_work__Parser__pop(var_p
);
4865 var_nodearraylist1
= var3
;
4866 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4868 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
4870 var_listnode4
= var4
;
4871 var_listnode2
= var_nodearraylist1
;
4872 /* <var_listnode2:nullable Object> isa Array[Object] */
4873 cltype
= type_array__Arraykernel__Object
.color
;
4874 idtype
= type_array__Arraykernel__Object
.id
;
4875 if(var_listnode2
== NULL
) {
4878 if(cltype
>= var_listnode2
->type
->table_size
) {
4881 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
4884 if (unlikely(!var5
)) {
4885 PRINT_ERROR("Runtime error: %s", "Assert failed");
4886 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8161);
4889 var_pexprnode3
= var_nodearraylist2
;
4890 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4891 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
4892 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
4893 if(var_pexprnode3
== NULL
) {
4896 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4899 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4902 if (unlikely(!var6
)) {
4903 PRINT_ERROR("Runtime error: %s", "Assert failed");
4904 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8163);
4908 var9
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode2
);
4910 var_listnode4
= var9
;
4912 if (var_pexprnode3
== NULL
) {
4913 var11
= 0; /* is null */
4915 var11
= 1; /* arg is null and recv is not */
4918 { /* Inline kernel#Object#!= (var_pexprnode3,var10) on <var_pexprnode3:nullable Object(nullable AExpr)> */
4921 var15
= ((short int (*)(val
*, val
*))(var_pexprnode3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode3
, var_other
) /* == on <var_pexprnode3:nullable AExpr(AExpr)>*/;
4927 RET_LABEL13
:(void)0;
4933 array__Array__add(var_listnode4
, var_pexprnode3
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
4937 var_pannotationsnode5
= var_nodearraylist3
;
4938 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
4939 cltype18
= type_nullable_parser_nodes__AAnnotations
.color
;
4940 idtype19
= type_nullable_parser_nodes__AAnnotations
.id
;
4941 if(var_pannotationsnode5
== NULL
) {
4944 if(cltype18
>= var_pannotationsnode5
->type
->table_size
) {
4947 var17
= var_pannotationsnode5
->type
->type_table
[cltype18
] == idtype19
;
4950 if (unlikely(!var17
)) {
4951 PRINT_ERROR("Runtime error: %s", "Assert failed");
4952 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8169);
4955 var20
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
4957 parser_prod__ASuperstringExpr__init_asuperstringexpr(var20
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var20:ASuperstringExpr>*/
4959 var_pexprnode1
= var20
;
4960 var_node_list
= var_pexprnode1
;
4961 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction307> */
4963 var22
= parser_work__Parser__go_to(var_p
, var21
);
4966 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4970 /* method parser#ReduceAction307#action for (self: Object, Parser) */
4971 void VIRTUAL_parser__ReduceAction307__action(val
* self
, val
* p0
) {
4972 parser__ReduceAction307__action(self
, p0
); /* Direct call parser#ReduceAction307#action on <self:Object(ReduceAction307)>*/
4975 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
4976 void parser__ReduceAction308__action(val
* self
, val
* p0
) {
4977 val
* var_p
/* var p: Parser */;
4978 val
* var
/* : null */;
4979 val
* var_node_list
/* var node_list: nullable Object */;
4980 val
* var1
/* : nullable Object */;
4981 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4982 val
* var2
/* : nullable Object */;
4983 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4984 val
* var3
/* : nullable Object */;
4985 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4986 val
* var4
/* : nullable Object */;
4987 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4988 val
* var5
/* : Array[Object] */;
4989 val
* var_listnode5
/* var listnode5: Array[Object] */;
4990 val
* var_listnode2
/* var listnode2: nullable Object */;
4991 short int var6
/* : Bool */;
4994 val
* var_listnode3
/* var listnode3: nullable Object */;
4995 short int var7
/* : Bool */;
4998 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
4999 short int var10
/* : Bool */;
5002 val
* var13
/* : Array[Object] */;
5003 val
* var14
/* : Array[Object] */;
5004 val
* var15
/* : null */;
5005 short int var16
/* : Bool */;
5006 short int var17
/* : Bool */;
5007 val
* var_other
/* var other: nullable Object */;
5008 short int var19
/* : Bool */;
5009 short int var20
/* : Bool */;
5010 short int var21
/* : Bool */;
5011 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
5012 short int var22
/* : Bool */;
5015 val
* var25
/* : ASuperstringExpr */;
5016 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
5017 long var26
/* : Int */;
5018 long var27
/* : Int */;
5021 var_node_list
= var
;
5023 var1
= parser_work__Parser__pop(var_p
);
5025 var_nodearraylist4
= var1
;
5027 var2
= parser_work__Parser__pop(var_p
);
5029 var_nodearraylist3
= var2
;
5031 var3
= parser_work__Parser__pop(var_p
);
5033 var_nodearraylist2
= var3
;
5035 var4
= parser_work__Parser__pop(var_p
);
5037 var_nodearraylist1
= var4
;
5038 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5040 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5042 var_listnode5
= var5
;
5043 var_listnode2
= var_nodearraylist1
;
5044 /* <var_listnode2:nullable Object> isa Array[Object] */
5045 cltype
= type_array__Arraykernel__Object
.color
;
5046 idtype
= type_array__Arraykernel__Object
.id
;
5047 if(var_listnode2
== NULL
) {
5050 if(cltype
>= var_listnode2
->type
->table_size
) {
5053 var6
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
5056 if (unlikely(!var6
)) {
5057 PRINT_ERROR("Runtime error: %s", "Assert failed");
5058 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8189);
5061 var_listnode3
= var_nodearraylist2
;
5062 /* <var_listnode3:nullable Object> isa Array[Object] */
5063 cltype8
= type_array__Arraykernel__Object
.color
;
5064 idtype9
= type_array__Arraykernel__Object
.id
;
5065 if(var_listnode3
== NULL
) {
5068 if(cltype8
>= var_listnode3
->type
->table_size
) {
5071 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
5074 if (unlikely(!var7
)) {
5075 PRINT_ERROR("Runtime error: %s", "Assert failed");
5076 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8191);
5079 var_pexprnode4
= var_nodearraylist3
;
5080 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
5081 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
5082 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
5083 if(var_pexprnode4
== NULL
) {
5086 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
5089 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
5092 if (unlikely(!var10
)) {
5093 PRINT_ERROR("Runtime error: %s", "Assert failed");
5094 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8193);
5098 var13
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode2
);
5100 var_listnode5
= var13
;
5102 var14
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode3
);
5104 var_listnode5
= var14
;
5106 if (var_pexprnode4
== NULL
) {
5107 var16
= 0; /* is null */
5109 var16
= 1; /* arg is null and recv is not */
5112 { /* Inline kernel#Object#!= (var_pexprnode4,var15) on <var_pexprnode4:nullable Object(nullable AExpr)> */
5115 var20
= ((short int (*)(val
*, val
*))(var_pexprnode4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode4
, var_other
) /* == on <var_pexprnode4:nullable AExpr(AExpr)>*/;
5121 RET_LABEL18
:(void)0;
5127 array__Array__add(var_listnode5
, var_pexprnode4
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
5131 var_pannotationsnode6
= var_nodearraylist4
;
5132 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
5133 cltype23
= type_nullable_parser_nodes__AAnnotations
.color
;
5134 idtype24
= type_nullable_parser_nodes__AAnnotations
.id
;
5135 if(var_pannotationsnode6
== NULL
) {
5138 if(cltype23
>= var_pannotationsnode6
->type
->table_size
) {
5141 var22
= var_pannotationsnode6
->type
->type_table
[cltype23
] == idtype24
;
5144 if (unlikely(!var22
)) {
5145 PRINT_ERROR("Runtime error: %s", "Assert failed");
5146 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8200);
5149 var25
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
5151 parser_prod__ASuperstringExpr__init_asuperstringexpr(var25
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var25:ASuperstringExpr>*/
5153 var_pexprnode1
= var25
;
5154 var_node_list
= var_pexprnode1
;
5155 var26
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction308> */
5157 var27
= parser_work__Parser__go_to(var_p
, var26
);
5160 parser_work__Parser__push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5164 /* method parser#ReduceAction308#action for (self: Object, Parser) */
5165 void VIRTUAL_parser__ReduceAction308__action(val
* self
, val
* p0
) {
5166 parser__ReduceAction308__action(self
, p0
); /* Direct call parser#ReduceAction308#action on <self:Object(ReduceAction308)>*/
5169 /* method parser#ReduceAction309#action for (self: ReduceAction309, Parser) */
5170 void parser__ReduceAction309__action(val
* self
, val
* p0
) {
5171 val
* var_p
/* var p: Parser */;
5172 val
* var
/* : null */;
5173 val
* var_node_list
/* var node_list: nullable Object */;
5174 val
* var1
/* : nullable Object */;
5175 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5176 val
* var2
/* : nullable Object */;
5177 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5178 val
* var3
/* : nullable Object */;
5179 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5180 val
* var4
/* : nullable Object */;
5181 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5182 val
* var5
/* : Array[Object] */;
5183 val
* var_listnode3
/* var listnode3: Array[Object] */;
5184 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
5185 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5186 val
* var6
/* : null */;
5187 short int var7
/* : Bool */;
5188 short int var8
/* : Bool */;
5189 val
* var9
/* : null */;
5190 short int var10
/* : Bool */;
5191 short int var11
/* : Bool */;
5192 long var12
/* : Int */;
5193 long var13
/* : Int */;
5196 var_node_list
= var
;
5198 var1
= parser_work__Parser__pop(var_p
);
5200 var_nodearraylist4
= var1
;
5202 var2
= parser_work__Parser__pop(var_p
);
5204 var_nodearraylist3
= var2
;
5206 var3
= parser_work__Parser__pop(var_p
);
5208 var_nodearraylist2
= var3
;
5210 var4
= parser_work__Parser__pop(var_p
);
5212 var_nodearraylist1
= var4
;
5213 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5215 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5217 var_listnode3
= var5
;
5218 var_pexprnode1
= var_nodearraylist1
;
5219 var_pexprnode2
= var_nodearraylist3
;
5221 if (var_pexprnode1
== NULL
) {
5222 var7
= 0; /* is null */
5224 var7
= 1; /* arg is null and recv is not */
5227 var8
= ((short int (*)(val
*, val
*))(var_pexprnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pexprnode1
, var6
) /* != on <var_pexprnode1:nullable Object>*/;
5232 array__Array__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
5237 if (var_pexprnode2
== NULL
) {
5238 var10
= 0; /* is null */
5240 var10
= 1; /* arg is null and recv is not */
5243 var11
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pexprnode2
, var9
) /* != on <var_pexprnode2:nullable Object>*/;
5248 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
5252 var_node_list
= var_listnode3
;
5253 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction309> */
5255 var13
= parser_work__Parser__go_to(var_p
, var12
);
5258 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5262 /* method parser#ReduceAction309#action for (self: Object, Parser) */
5263 void VIRTUAL_parser__ReduceAction309__action(val
* self
, val
* p0
) {
5264 parser__ReduceAction309__action(self
, p0
); /* Direct call parser#ReduceAction309#action on <self:Object(ReduceAction309)>*/
5267 /* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */
5268 void parser__ReduceAction310__action(val
* self
, val
* p0
) {
5269 val
* var_p
/* var p: Parser */;
5270 val
* var
/* : null */;
5271 val
* var_node_list
/* var node_list: nullable Object */;
5272 val
* var1
/* : nullable Object */;
5273 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5274 val
* var2
/* : nullable Object */;
5275 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5276 val
* var3
/* : Array[Object] */;
5277 val
* var_listnode2
/* var listnode2: Array[Object] */;
5278 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
5279 val
* var4
/* : null */;
5280 short int var5
/* : Bool */;
5281 short int var6
/* : Bool */;
5282 long var7
/* : Int */;
5283 long var8
/* : Int */;
5286 var_node_list
= var
;
5288 var1
= parser_work__Parser__pop(var_p
);
5290 var_nodearraylist2
= var1
;
5292 var2
= parser_work__Parser__pop(var_p
);
5294 var_nodearraylist1
= var2
;
5295 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5297 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5299 var_listnode2
= var3
;
5300 var_pexprnode1
= var_nodearraylist1
;
5302 if (var_pexprnode1
== NULL
) {
5303 var5
= 0; /* is null */
5305 var5
= 1; /* arg is null and recv is not */
5308 var6
= ((short int (*)(val
*, val
*))(var_pexprnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pexprnode1
, var4
) /* != on <var_pexprnode1:nullable Object>*/;
5313 array__Array__add(var_listnode2
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
5317 var_node_list
= var_listnode2
;
5318 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction310> */
5320 var8
= parser_work__Parser__go_to(var_p
, var7
);
5323 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5327 /* method parser#ReduceAction310#action for (self: Object, Parser) */
5328 void VIRTUAL_parser__ReduceAction310__action(val
* self
, val
* p0
) {
5329 parser__ReduceAction310__action(self
, p0
); /* Direct call parser#ReduceAction310#action on <self:Object(ReduceAction310)>*/
5332 /* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */
5333 void parser__ReduceAction311__action(val
* self
, val
* p0
) {
5334 val
* var_p
/* var p: Parser */;
5335 val
* var
/* : null */;
5336 val
* var_node_list
/* var node_list: nullable Object */;
5337 val
* var1
/* : nullable Object */;
5338 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5339 val
* var_tstartstringnode2
/* var tstartstringnode2: nullable Object */;
5340 short int var2
/* : Bool */;
5343 val
* var3
/* : AStartStringExpr */;
5344 val
* var_pexprnode1
/* var pexprnode1: nullable AStartStringExpr */;
5345 long var4
/* : Int */;
5346 long var5
/* : Int */;
5349 var_node_list
= var
;
5351 var1
= parser_work__Parser__pop(var_p
);
5353 var_nodearraylist1
= var1
;
5354 var_tstartstringnode2
= var_nodearraylist1
;
5355 /* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
5356 cltype
= type_nullable_parser_nodes__TStartString
.color
;
5357 idtype
= type_nullable_parser_nodes__TStartString
.id
;
5358 if(var_tstartstringnode2
== NULL
) {
5361 if(cltype
>= var_tstartstringnode2
->type
->table_size
) {
5364 var2
= var_tstartstringnode2
->type
->type_table
[cltype
] == idtype
;
5367 if (unlikely(!var2
)) {
5368 PRINT_ERROR("Runtime error: %s", "Assert failed");
5369 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8254);
5372 var3
= NEW_parser_nodes__AStartStringExpr(&type_parser_nodes__AStartStringExpr
);
5374 parser_prod__AStartStringExpr__init_astartstringexpr(var3
, var_tstartstringnode2
); /* Direct call parser_prod#AStartStringExpr#init_astartstringexpr on <var3:AStartStringExpr>*/
5376 var_pexprnode1
= var3
;
5377 var_node_list
= var_pexprnode1
;
5378 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction311> */
5380 var5
= parser_work__Parser__go_to(var_p
, var4
);
5383 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5387 /* method parser#ReduceAction311#action for (self: Object, Parser) */
5388 void VIRTUAL_parser__ReduceAction311__action(val
* self
, val
* p0
) {
5389 parser__ReduceAction311__action(self
, p0
); /* Direct call parser#ReduceAction311#action on <self:Object(ReduceAction311)>*/
5392 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
5393 void parser__ReduceAction314__action(val
* self
, val
* p0
) {
5394 val
* var_p
/* var p: Parser */;
5395 val
* var
/* : null */;
5396 val
* var_node_list
/* var node_list: nullable Object */;
5397 val
* var1
/* : nullable Object */;
5398 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5399 val
* var_tmidstringnode2
/* var tmidstringnode2: nullable Object */;
5400 short int var2
/* : Bool */;
5403 val
* var3
/* : AMidStringExpr */;
5404 val
* var_pexprnode1
/* var pexprnode1: nullable AMidStringExpr */;
5405 long var4
/* : Int */;
5406 long var5
/* : Int */;
5409 var_node_list
= var
;
5411 var1
= parser_work__Parser__pop(var_p
);
5413 var_nodearraylist1
= var1
;
5414 var_tmidstringnode2
= var_nodearraylist1
;
5415 /* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
5416 cltype
= type_nullable_parser_nodes__TMidString
.color
;
5417 idtype
= type_nullable_parser_nodes__TMidString
.id
;
5418 if(var_tmidstringnode2
== NULL
) {
5421 if(cltype
>= var_tmidstringnode2
->type
->table_size
) {
5424 var2
= var_tmidstringnode2
->type
->type_table
[cltype
] == idtype
;
5427 if (unlikely(!var2
)) {
5428 PRINT_ERROR("Runtime error: %s", "Assert failed");
5429 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8269);
5432 var3
= NEW_parser_nodes__AMidStringExpr(&type_parser_nodes__AMidStringExpr
);
5434 parser_prod__AMidStringExpr__init_amidstringexpr(var3
, var_tmidstringnode2
); /* Direct call parser_prod#AMidStringExpr#init_amidstringexpr on <var3:AMidStringExpr>*/
5436 var_pexprnode1
= var3
;
5437 var_node_list
= var_pexprnode1
;
5438 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction314> */
5440 var5
= parser_work__Parser__go_to(var_p
, var4
);
5443 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5447 /* method parser#ReduceAction314#action for (self: Object, Parser) */
5448 void VIRTUAL_parser__ReduceAction314__action(val
* self
, val
* p0
) {
5449 parser__ReduceAction314__action(self
, p0
); /* Direct call parser#ReduceAction314#action on <self:Object(ReduceAction314)>*/
5452 /* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */
5453 void parser__ReduceAction315__action(val
* self
, val
* p0
) {
5454 val
* var_p
/* var p: Parser */;
5455 val
* var
/* : null */;
5456 val
* var_node_list
/* var node_list: nullable Object */;
5457 val
* var1
/* : nullable Object */;
5458 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5459 val
* var_tendstringnode2
/* var tendstringnode2: nullable Object */;
5460 short int var2
/* : Bool */;
5463 val
* var3
/* : AEndStringExpr */;
5464 val
* var_pexprnode1
/* var pexprnode1: nullable AEndStringExpr */;
5465 long var4
/* : Int */;
5466 long var5
/* : Int */;
5469 var_node_list
= var
;
5471 var1
= parser_work__Parser__pop(var_p
);
5473 var_nodearraylist1
= var1
;
5474 var_tendstringnode2
= var_nodearraylist1
;
5475 /* <var_tendstringnode2:nullable Object> isa nullable TEndString */
5476 cltype
= type_nullable_parser_nodes__TEndString
.color
;
5477 idtype
= type_nullable_parser_nodes__TEndString
.id
;
5478 if(var_tendstringnode2
== NULL
) {
5481 if(cltype
>= var_tendstringnode2
->type
->table_size
) {
5484 var2
= var_tendstringnode2
->type
->type_table
[cltype
] == idtype
;
5487 if (unlikely(!var2
)) {
5488 PRINT_ERROR("Runtime error: %s", "Assert failed");
5489 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8284);
5492 var3
= NEW_parser_nodes__AEndStringExpr(&type_parser_nodes__AEndStringExpr
);
5494 parser_prod__AEndStringExpr__init_aendstringexpr(var3
, var_tendstringnode2
); /* Direct call parser_prod#AEndStringExpr#init_aendstringexpr on <var3:AEndStringExpr>*/
5496 var_pexprnode1
= var3
;
5497 var_node_list
= var_pexprnode1
;
5498 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction315> */
5500 var5
= parser_work__Parser__go_to(var_p
, var4
);
5503 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5507 /* method parser#ReduceAction315#action for (self: Object, Parser) */
5508 void VIRTUAL_parser__ReduceAction315__action(val
* self
, val
* p0
) {
5509 parser__ReduceAction315__action(self
, p0
); /* Direct call parser#ReduceAction315#action on <self:Object(ReduceAction315)>*/
5512 /* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */
5513 void parser__ReduceAction316__action(val
* self
, val
* p0
) {
5514 val
* var_p
/* var p: Parser */;
5515 val
* var
/* : null */;
5516 val
* var_node_list
/* var node_list: nullable Object */;
5517 val
* var1
/* : nullable Object */;
5518 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5519 val
* var2
/* : nullable Object */;
5520 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5521 val
* var3
/* : Array[Object] */;
5522 val
* var_listnode5
/* var listnode5: Array[Object] */;
5523 val
* var_tatnode2
/* var tatnode2: nullable Object */;
5524 short int var4
/* : Bool */;
5527 val
* var_pannotationnode4
/* var pannotationnode4: nullable Object */;
5528 short int var5
/* : Bool */;
5531 val
* var8
/* : null */;
5532 short int var9
/* : Bool */;
5533 short int var10
/* : Bool */;
5534 val
* var_other
/* var other: nullable Object */;
5535 short int var12
/* : Bool */;
5536 short int var13
/* : Bool */;
5537 short int var14
/* : Bool */;
5538 val
* var15
/* : AAnnotations */;
5539 val
* var16
/* : null */;
5540 val
* var17
/* : null */;
5541 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
5542 long var18
/* : Int */;
5543 long var19
/* : Int */;
5546 var_node_list
= var
;
5548 var1
= parser_work__Parser__pop(var_p
);
5550 var_nodearraylist2
= var1
;
5552 var2
= parser_work__Parser__pop(var_p
);
5554 var_nodearraylist1
= var2
;
5555 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5557 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5559 var_listnode5
= var3
;
5560 var_tatnode2
= var_nodearraylist1
;
5561 /* <var_tatnode2:nullable Object> isa nullable TAt */
5562 cltype
= type_nullable_parser_nodes__TAt
.color
;
5563 idtype
= type_nullable_parser_nodes__TAt
.id
;
5564 if(var_tatnode2
== NULL
) {
5567 if(cltype
>= var_tatnode2
->type
->table_size
) {
5570 var4
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
5573 if (unlikely(!var4
)) {
5574 PRINT_ERROR("Runtime error: %s", "Assert failed");
5575 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8301);
5578 var_pannotationnode4
= var_nodearraylist2
;
5579 /* <var_pannotationnode4:nullable Object> isa nullable AAnnotation */
5580 cltype6
= type_nullable_parser_nodes__AAnnotation
.color
;
5581 idtype7
= type_nullable_parser_nodes__AAnnotation
.id
;
5582 if(var_pannotationnode4
== NULL
) {
5585 if(cltype6
>= var_pannotationnode4
->type
->table_size
) {
5588 var5
= var_pannotationnode4
->type
->type_table
[cltype6
] == idtype7
;
5591 if (unlikely(!var5
)) {
5592 PRINT_ERROR("Runtime error: %s", "Assert failed");
5593 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8303);
5597 if (var_pannotationnode4
== NULL
) {
5598 var9
= 0; /* is null */
5600 var9
= 1; /* arg is null and recv is not */
5603 { /* Inline kernel#Object#!= (var_pannotationnode4,var8) on <var_pannotationnode4:nullable Object(nullable AAnnotation)> */
5606 var13
= ((short int (*)(val
*, val
*))(var_pannotationnode4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pannotationnode4
, var_other
) /* == on <var_pannotationnode4:nullable AAnnotation(AAnnotation)>*/;
5612 RET_LABEL11
:(void)0;
5618 array__Array__add(var_listnode5
, var_pannotationnode4
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
5622 var15
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5626 parser_prod__AAnnotations__init_aannotations(var15
, var_tatnode2
, var16
, var_listnode5
, var17
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var15:AAnnotations>*/
5628 var_pannotationsnode1
= var15
;
5629 var_node_list
= var_pannotationsnode1
;
5630 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction316> */
5632 var19
= parser_work__Parser__go_to(var_p
, var18
);
5635 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5639 /* method parser#ReduceAction316#action for (self: Object, Parser) */
5640 void VIRTUAL_parser__ReduceAction316__action(val
* self
, val
* p0
) {
5641 parser__ReduceAction316__action(self
, p0
); /* Direct call parser#ReduceAction316#action on <self:Object(ReduceAction316)>*/
5644 /* method parser#ReduceAction317#action for (self: ReduceAction317, Parser) */
5645 void parser__ReduceAction317__action(val
* self
, val
* p0
) {
5646 val
* var_p
/* var p: Parser */;
5647 val
* var
/* : null */;
5648 val
* var_node_list
/* var node_list: nullable Object */;
5649 val
* var1
/* : nullable Object */;
5650 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5651 val
* var2
/* : nullable Object */;
5652 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5653 val
* var3
/* : nullable Object */;
5654 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5655 val
* var4
/* : nullable Object */;
5656 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5657 val
* var5
/* : nullable Object */;
5658 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5659 val
* var6
/* : nullable Object */;
5660 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5661 val
* var7
/* : Array[Object] */;
5662 val
* var_listnode5
/* var listnode5: Array[Object] */;
5663 val
* var_tatnode2
/* var tatnode2: nullable Object */;
5664 short int var8
/* : Bool */;
5667 val
* var_toparnode3
/* var toparnode3: nullable Object */;
5668 short int var9
/* : Bool */;
5671 val
* var_listnode4
/* var listnode4: nullable Object */;
5672 short int var12
/* : Bool */;
5675 val
* var15
/* : Array[Object] */;
5676 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
5677 short int var16
/* : Bool */;
5680 val
* var19
/* : AAnnotations */;
5681 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
5682 long var20
/* : Int */;
5683 long var21
/* : Int */;
5686 var_node_list
= var
;
5688 var1
= parser_work__Parser__pop(var_p
);
5690 var_nodearraylist6
= var1
;
5692 var2
= parser_work__Parser__pop(var_p
);
5694 var_nodearraylist5
= var2
;
5696 var3
= parser_work__Parser__pop(var_p
);
5698 var_nodearraylist4
= var3
;
5700 var4
= parser_work__Parser__pop(var_p
);
5702 var_nodearraylist3
= var4
;
5704 var5
= parser_work__Parser__pop(var_p
);
5706 var_nodearraylist2
= var5
;
5708 var6
= parser_work__Parser__pop(var_p
);
5710 var_nodearraylist1
= var6
;
5711 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
5713 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
5715 var_listnode5
= var7
;
5716 var_tatnode2
= var_nodearraylist1
;
5717 /* <var_tatnode2:nullable Object> isa nullable TAt */
5718 cltype
= type_nullable_parser_nodes__TAt
.color
;
5719 idtype
= type_nullable_parser_nodes__TAt
.id
;
5720 if(var_tatnode2
== NULL
) {
5723 if(cltype
>= var_tatnode2
->type
->table_size
) {
5726 var8
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
5729 if (unlikely(!var8
)) {
5730 PRINT_ERROR("Runtime error: %s", "Assert failed");
5731 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8330);
5734 var_toparnode3
= var_nodearraylist2
;
5735 /* <var_toparnode3:nullable Object> isa nullable TOpar */
5736 cltype10
= type_nullable_parser_nodes__TOpar
.color
;
5737 idtype11
= type_nullable_parser_nodes__TOpar
.id
;
5738 if(var_toparnode3
== NULL
) {
5741 if(cltype10
>= var_toparnode3
->type
->table_size
) {
5744 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
5747 if (unlikely(!var9
)) {
5748 PRINT_ERROR("Runtime error: %s", "Assert failed");
5749 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8332);
5752 var_listnode4
= var_nodearraylist4
;
5753 /* <var_listnode4:nullable Object> isa Array[Object] */
5754 cltype13
= type_array__Arraykernel__Object
.color
;
5755 idtype14
= type_array__Arraykernel__Object
.id
;
5756 if(var_listnode4
== NULL
) {
5759 if(cltype13
>= var_listnode4
->type
->table_size
) {
5762 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
5765 if (unlikely(!var12
)) {
5766 PRINT_ERROR("Runtime error: %s", "Assert failed");
5767 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8334);
5771 var15
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
5773 var_listnode5
= var15
;
5774 var_tcparnode6
= var_nodearraylist6
;
5775 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
5776 cltype17
= type_nullable_parser_nodes__TCpar
.color
;
5777 idtype18
= type_nullable_parser_nodes__TCpar
.id
;
5778 if(var_tcparnode6
== NULL
) {
5781 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
5784 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
5787 if (unlikely(!var16
)) {
5788 PRINT_ERROR("Runtime error: %s", "Assert failed");
5789 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8337);
5792 var19
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5794 parser_prod__AAnnotations__init_aannotations(var19
, var_tatnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var19:AAnnotations>*/
5796 var_pannotationsnode1
= var19
;
5797 var_node_list
= var_pannotationsnode1
;
5798 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction317> */
5800 var21
= parser_work__Parser__go_to(var_p
, var20
);
5803 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5807 /* method parser#ReduceAction317#action for (self: Object, Parser) */
5808 void VIRTUAL_parser__ReduceAction317__action(val
* self
, val
* p0
) {
5809 parser__ReduceAction317__action(self
, p0
); /* Direct call parser#ReduceAction317#action on <self:Object(ReduceAction317)>*/
5812 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
5813 void parser__ReduceAction318__action(val
* self
, val
* p0
) {
5814 val
* var_p
/* var p: Parser */;
5815 val
* var
/* : null */;
5816 val
* var_node_list
/* var node_list: nullable Object */;
5817 val
* var1
/* : nullable Object */;
5818 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5819 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5820 long var2
/* : Int */;
5821 long var3
/* : Int */;
5824 var_node_list
= var
;
5826 var1
= parser_work__Parser__pop(var_p
);
5828 var_nodearraylist1
= var1
;
5829 var_pannotationsnode1
= var_nodearraylist1
;
5830 var_node_list
= var_pannotationsnode1
;
5831 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction318> */
5833 var3
= parser_work__Parser__go_to(var_p
, var2
);
5836 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5840 /* method parser#ReduceAction318#action for (self: Object, Parser) */
5841 void VIRTUAL_parser__ReduceAction318__action(val
* self
, val
* p0
) {
5842 parser__ReduceAction318__action(self
, p0
); /* Direct call parser#ReduceAction318#action on <self:Object(ReduceAction318)>*/
5845 /* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */
5846 void parser__ReduceAction320__action(val
* self
, val
* p0
) {
5847 val
* var_p
/* var p: Parser */;
5848 val
* var
/* : null */;
5849 val
* var_node_list
/* var node_list: nullable Object */;
5850 val
* var1
/* : nullable Object */;
5851 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5852 val
* var2
/* : nullable Object */;
5853 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5854 val
* var3
/* : nullable Object */;
5855 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5856 val
* var4
/* : nullable Object */;
5857 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5858 val
* var5
/* : Array[Object] */;
5859 val
* var_listnode7
/* var listnode7: Array[Object] */;
5860 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5861 short int var6
/* : Bool */;
5864 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5865 short int var7
/* : Bool */;
5868 val
* var_patidnode5
/* var patidnode5: nullable Object */;
5869 short int var10
/* : Bool */;
5872 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
5873 short int var13
/* : Bool */;
5876 val
* var16
/* : AAnnotation */;
5877 val
* var17
/* : null */;
5878 val
* var18
/* : null */;
5879 val
* var19
/* : null */;
5880 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
5881 long var20
/* : Int */;
5882 long var21
/* : Int */;
5885 var_node_list
= var
;
5887 var1
= parser_work__Parser__pop(var_p
);
5889 var_nodearraylist4
= var1
;
5891 var2
= parser_work__Parser__pop(var_p
);
5893 var_nodearraylist3
= var2
;
5895 var3
= parser_work__Parser__pop(var_p
);
5897 var_nodearraylist2
= var3
;
5899 var4
= parser_work__Parser__pop(var_p
);
5901 var_nodearraylist1
= var4
;
5902 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5904 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5906 var_listnode7
= var5
;
5907 var_tkwredefnode3
= var_nodearraylist1
;
5908 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5909 cltype
= type_nullable_parser_nodes__TKwredef
.color
;
5910 idtype
= type_nullable_parser_nodes__TKwredef
.id
;
5911 if(var_tkwredefnode3
== NULL
) {
5914 if(cltype
>= var_tkwredefnode3
->type
->table_size
) {
5917 var6
= var_tkwredefnode3
->type
->type_table
[cltype
] == idtype
;
5920 if (unlikely(!var6
)) {
5921 PRINT_ERROR("Runtime error: %s", "Assert failed");
5922 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8370);
5925 var_pvisibilitynode4
= var_nodearraylist2
;
5926 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5927 cltype8
= type_nullable_parser_nodes__AVisibility
.color
;
5928 idtype9
= type_nullable_parser_nodes__AVisibility
.id
;
5929 if(var_pvisibilitynode4
== NULL
) {
5932 if(cltype8
>= var_pvisibilitynode4
->type
->table_size
) {
5935 var7
= var_pvisibilitynode4
->type
->type_table
[cltype8
] == idtype9
;
5938 if (unlikely(!var7
)) {
5939 PRINT_ERROR("Runtime error: %s", "Assert failed");
5940 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8372);
5943 var_patidnode5
= var_nodearraylist3
;
5944 /* <var_patidnode5:nullable Object> isa nullable AAtid */
5945 cltype11
= type_nullable_parser_nodes__AAtid
.color
;
5946 idtype12
= type_nullable_parser_nodes__AAtid
.id
;
5947 if(var_patidnode5
== NULL
) {
5950 if(cltype11
>= var_patidnode5
->type
->table_size
) {
5953 var10
= var_patidnode5
->type
->type_table
[cltype11
] == idtype12
;
5956 if (unlikely(!var10
)) {
5957 PRINT_ERROR("Runtime error: %s", "Assert failed");
5958 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8374);
5961 var_pannotationsnode9
= var_nodearraylist4
;
5962 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
5963 cltype14
= type_nullable_parser_nodes__AAnnotations
.color
;
5964 idtype15
= type_nullable_parser_nodes__AAnnotations
.id
;
5965 if(var_pannotationsnode9
== NULL
) {
5968 if(cltype14
>= var_pannotationsnode9
->type
->table_size
) {
5971 var13
= var_pannotationsnode9
->type
->type_table
[cltype14
] == idtype15
;
5974 if (unlikely(!var13
)) {
5975 PRINT_ERROR("Runtime error: %s", "Assert failed");
5976 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8376);
5979 var16
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
5984 parser_prod__AAnnotation__init_aannotation(var16
, var17
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var18
, var_listnode7
, var19
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var16:AAnnotation>*/
5986 var_pannotationnode1
= var16
;
5987 var_node_list
= var_pannotationnode1
;
5988 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction320> */
5990 var21
= parser_work__Parser__go_to(var_p
, var20
);
5993 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5997 /* method parser#ReduceAction320#action for (self: Object, Parser) */
5998 void VIRTUAL_parser__ReduceAction320__action(val
* self
, val
* p0
) {
5999 parser__ReduceAction320__action(self
, p0
); /* Direct call parser#ReduceAction320#action on <self:Object(ReduceAction320)>*/
6002 /* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */
6003 void parser__ReduceAction321__action(val
* self
, val
* p0
) {
6004 val
* var_p
/* var p: Parser */;
6005 val
* var
/* : null */;
6006 val
* var_node_list
/* var node_list: nullable Object */;
6007 val
* var1
/* : nullable Object */;
6008 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6009 val
* var2
/* : nullable Object */;
6010 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6011 val
* var3
/* : nullable Object */;
6012 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6013 val
* var4
/* : nullable Object */;
6014 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6015 val
* var5
/* : nullable Object */;
6016 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6017 val
* var6
/* : nullable Object */;
6018 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6019 val
* var7
/* : nullable Object */;
6020 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6021 val
* var8
/* : nullable Object */;
6022 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6023 val
* var9
/* : nullable Object */;
6024 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6025 val
* var10
/* : Array[Object] */;
6026 val
* var_listnode8
/* var listnode8: Array[Object] */;
6027 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6028 short int var11
/* : Bool */;
6031 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6032 short int var12
/* : Bool */;
6035 val
* var_patidnode5
/* var patidnode5: nullable Object */;
6036 short int var15
/* : Bool */;
6039 val
* var_toparnode6
/* var toparnode6: nullable Object */;
6040 short int var18
/* : Bool */;
6043 val
* var_listnode7
/* var listnode7: nullable Object */;
6044 short int var21
/* : Bool */;
6047 val
* var24
/* : Array[Object] */;
6048 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
6049 short int var25
/* : Bool */;
6052 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
6053 short int var28
/* : Bool */;
6056 val
* var31
/* : AAnnotation */;
6057 val
* var32
/* : null */;
6058 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
6059 long var33
/* : Int */;
6060 long var34
/* : Int */;
6063 var_node_list
= var
;
6065 var1
= parser_work__Parser__pop(var_p
);
6067 var_nodearraylist9
= var1
;
6069 var2
= parser_work__Parser__pop(var_p
);
6071 var_nodearraylist8
= var2
;
6073 var3
= parser_work__Parser__pop(var_p
);
6075 var_nodearraylist7
= var3
;
6077 var4
= parser_work__Parser__pop(var_p
);
6079 var_nodearraylist6
= var4
;
6081 var5
= parser_work__Parser__pop(var_p
);
6083 var_nodearraylist5
= var5
;
6085 var6
= parser_work__Parser__pop(var_p
);
6087 var_nodearraylist4
= var6
;
6089 var7
= parser_work__Parser__pop(var_p
);
6091 var_nodearraylist3
= var7
;
6093 var8
= parser_work__Parser__pop(var_p
);
6095 var_nodearraylist2
= var8
;
6097 var9
= parser_work__Parser__pop(var_p
);
6099 var_nodearraylist1
= var9
;
6100 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
6102 array__Array__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
6104 var_listnode8
= var10
;
6105 var_tkwredefnode3
= var_nodearraylist1
;
6106 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6107 cltype
= type_nullable_parser_nodes__TKwredef
.color
;
6108 idtype
= type_nullable_parser_nodes__TKwredef
.id
;
6109 if(var_tkwredefnode3
== NULL
) {
6112 if(cltype
>= var_tkwredefnode3
->type
->table_size
) {
6115 var11
= var_tkwredefnode3
->type
->type_table
[cltype
] == idtype
;
6118 if (unlikely(!var11
)) {
6119 PRINT_ERROR("Runtime error: %s", "Assert failed");
6120 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8407);
6123 var_pvisibilitynode4
= var_nodearraylist2
;
6124 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6125 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
6126 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
6127 if(var_pvisibilitynode4
== NULL
) {
6130 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
6133 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
6136 if (unlikely(!var12
)) {
6137 PRINT_ERROR("Runtime error: %s", "Assert failed");
6138 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8409);
6141 var_patidnode5
= var_nodearraylist3
;
6142 /* <var_patidnode5:nullable Object> isa nullable AAtid */
6143 cltype16
= type_nullable_parser_nodes__AAtid
.color
;
6144 idtype17
= type_nullable_parser_nodes__AAtid
.id
;
6145 if(var_patidnode5
== NULL
) {
6148 if(cltype16
>= var_patidnode5
->type
->table_size
) {
6151 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
6154 if (unlikely(!var15
)) {
6155 PRINT_ERROR("Runtime error: %s", "Assert failed");
6156 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8411);
6159 var_toparnode6
= var_nodearraylist4
;
6160 /* <var_toparnode6:nullable Object> isa nullable TOpar */
6161 cltype19
= type_nullable_parser_nodes__TOpar
.color
;
6162 idtype20
= type_nullable_parser_nodes__TOpar
.id
;
6163 if(var_toparnode6
== NULL
) {
6166 if(cltype19
>= var_toparnode6
->type
->table_size
) {
6169 var18
= var_toparnode6
->type
->type_table
[cltype19
] == idtype20
;
6172 if (unlikely(!var18
)) {
6173 PRINT_ERROR("Runtime error: %s", "Assert failed");
6174 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8413);
6177 var_listnode7
= var_nodearraylist6
;
6178 /* <var_listnode7:nullable Object> isa Array[Object] */
6179 cltype22
= type_array__Arraykernel__Object
.color
;
6180 idtype23
= type_array__Arraykernel__Object
.id
;
6181 if(var_listnode7
== NULL
) {
6184 if(cltype22
>= var_listnode7
->type
->table_size
) {
6187 var21
= var_listnode7
->type
->type_table
[cltype22
] == idtype23
;
6190 if (unlikely(!var21
)) {
6191 PRINT_ERROR("Runtime error: %s", "Assert failed");
6192 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8415);
6196 var24
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
6198 var_listnode8
= var24
;
6199 var_tcparnode9
= var_nodearraylist8
;
6200 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
6201 cltype26
= type_nullable_parser_nodes__TCpar
.color
;
6202 idtype27
= type_nullable_parser_nodes__TCpar
.id
;
6203 if(var_tcparnode9
== NULL
) {
6206 if(cltype26
>= var_tcparnode9
->type
->table_size
) {
6209 var25
= var_tcparnode9
->type
->type_table
[cltype26
] == idtype27
;
6212 if (unlikely(!var25
)) {
6213 PRINT_ERROR("Runtime error: %s", "Assert failed");
6214 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8418);
6217 var_pannotationsnode10
= var_nodearraylist9
;
6218 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
6219 cltype29
= type_nullable_parser_nodes__AAnnotations
.color
;
6220 idtype30
= type_nullable_parser_nodes__AAnnotations
.id
;
6221 if(var_pannotationsnode10
== NULL
) {
6224 if(cltype29
>= var_pannotationsnode10
->type
->table_size
) {
6227 var28
= var_pannotationsnode10
->type
->type_table
[cltype29
] == idtype30
;
6230 if (unlikely(!var28
)) {
6231 PRINT_ERROR("Runtime error: %s", "Assert failed");
6232 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8420);
6235 var31
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
6238 parser_prod__AAnnotation__init_aannotation(var31
, var32
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var31:AAnnotation>*/
6240 var_pannotationnode1
= var31
;
6241 var_node_list
= var_pannotationnode1
;
6242 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction321> */
6244 var34
= parser_work__Parser__go_to(var_p
, var33
);
6247 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6251 /* method parser#ReduceAction321#action for (self: Object, Parser) */
6252 void VIRTUAL_parser__ReduceAction321__action(val
* self
, val
* p0
) {
6253 parser__ReduceAction321__action(self
, p0
); /* Direct call parser#ReduceAction321#action on <self:Object(ReduceAction321)>*/
6256 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
6257 void parser__ReduceAction322__action(val
* self
, val
* p0
) {
6258 val
* var_p
/* var p: Parser */;
6259 val
* var
/* : null */;
6260 val
* var_node_list
/* var node_list: nullable Object */;
6261 val
* var1
/* : nullable Object */;
6262 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6263 val
* var2
/* : Array[Object] */;
6264 val
* var_listnode5
/* var listnode5: Array[Object] */;
6265 val
* var_listnode4
/* var listnode4: nullable Object */;
6266 short int var3
/* : Bool */;
6269 val
* var4
/* : Array[Object] */;
6270 val
* var5
/* : AAnnotations */;
6271 val
* var6
/* : null */;
6272 val
* var7
/* : null */;
6273 val
* var8
/* : null */;
6274 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
6275 long var9
/* : Int */;
6276 long var10
/* : Int */;
6279 var_node_list
= var
;
6281 var1
= parser_work__Parser__pop(var_p
);
6283 var_nodearraylist1
= var1
;
6284 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6286 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
6288 var_listnode5
= var2
;
6289 var_listnode4
= var_nodearraylist1
;
6290 /* <var_listnode4:nullable Object> isa Array[Object] */
6291 cltype
= type_array__Arraykernel__Object
.color
;
6292 idtype
= type_array__Arraykernel__Object
.id
;
6293 if(var_listnode4
== NULL
) {
6296 if(cltype
>= var_listnode4
->type
->table_size
) {
6299 var3
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
6302 if (unlikely(!var3
)) {
6303 PRINT_ERROR("Runtime error: %s", "Assert failed");
6304 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8443);
6308 var4
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
6310 var_listnode5
= var4
;
6311 var5
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
6316 parser_prod__AAnnotations__init_aannotations(var5
, var6
, var7
, var_listnode5
, var8
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var5:AAnnotations>*/
6318 var_pannotationsnode1
= var5
;
6319 var_node_list
= var_pannotationsnode1
;
6320 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction322> */
6322 var10
= parser_work__Parser__go_to(var_p
, var9
);
6325 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6329 /* method parser#ReduceAction322#action for (self: Object, Parser) */
6330 void VIRTUAL_parser__ReduceAction322__action(val
* self
, val
* p0
) {
6331 parser__ReduceAction322__action(self
, p0
); /* Direct call parser#ReduceAction322#action on <self:Object(ReduceAction322)>*/
6334 /* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */
6335 void parser__ReduceAction323__action(val
* self
, val
* p0
) {
6336 val
* var_p
/* var p: Parser */;
6337 val
* var
/* : null */;
6338 val
* var_node_list
/* var node_list: nullable Object */;
6339 val
* var1
/* : nullable Object */;
6340 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6341 val
* var2
/* : Array[Object] */;
6342 val
* var_listnode2
/* var listnode2: Array[Object] */;
6343 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
6344 val
* var3
/* : null */;
6345 short int var4
/* : Bool */;
6346 short int var5
/* : Bool */;
6347 long var6
/* : Int */;
6348 long var7
/* : Int */;
6351 var_node_list
= var
;
6353 var1
= parser_work__Parser__pop(var_p
);
6355 var_nodearraylist1
= var1
;
6356 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6358 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
6360 var_listnode2
= var2
;
6361 var_pannotationnode1
= var_nodearraylist1
;
6363 if (var_pannotationnode1
== NULL
) {
6364 var4
= 0; /* is null */
6366 var4
= 1; /* arg is null and recv is not */
6369 var5
= ((short int (*)(val
*, val
*))(var_pannotationnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pannotationnode1
, var3
) /* != on <var_pannotationnode1:nullable Object>*/;
6374 array__Array__add(var_listnode2
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
6378 var_node_list
= var_listnode2
;
6379 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction323> */
6381 var7
= parser_work__Parser__go_to(var_p
, var6
);
6384 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6388 /* method parser#ReduceAction323#action for (self: Object, Parser) */
6389 void VIRTUAL_parser__ReduceAction323__action(val
* self
, val
* p0
) {
6390 parser__ReduceAction323__action(self
, p0
); /* Direct call parser#ReduceAction323#action on <self:Object(ReduceAction323)>*/
6393 /* method parser#ReduceAction324#action for (self: ReduceAction324, Parser) */
6394 void parser__ReduceAction324__action(val
* self
, val
* p0
) {
6395 val
* var_p
/* var p: Parser */;
6396 val
* var
/* : null */;
6397 val
* var_node_list
/* var node_list: nullable Object */;
6398 val
* var1
/* : nullable Object */;
6399 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6400 val
* var2
/* : nullable Object */;
6401 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6402 val
* var3
/* : Array[Object] */;
6403 val
* var_listnode3
/* var listnode3: Array[Object] */;
6404 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
6405 val
* var_listnode2
/* var listnode2: nullable Object */;
6406 short int var4
/* : Bool */;
6409 val
* var5
/* : null */;
6410 short int var6
/* : Bool */;
6411 short int var7
/* : Bool */;
6412 val
* var8
/* : Array[Object] */;
6413 long var9
/* : Int */;
6414 long var10
/* : Int */;
6417 var_node_list
= var
;
6419 var1
= parser_work__Parser__pop(var_p
);
6421 var_nodearraylist2
= var1
;
6423 var2
= parser_work__Parser__pop(var_p
);
6425 var_nodearraylist1
= var2
;
6426 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
6428 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
6430 var_listnode3
= var3
;
6431 var_pannotationnode1
= var_nodearraylist1
;
6432 var_listnode2
= var_nodearraylist2
;
6433 /* <var_listnode2:nullable Object> isa Array[Object] */
6434 cltype
= type_array__Arraykernel__Object
.color
;
6435 idtype
= type_array__Arraykernel__Object
.id
;
6436 if(var_listnode2
== NULL
) {
6439 if(cltype
>= var_listnode2
->type
->table_size
) {
6442 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6445 if (unlikely(!var4
)) {
6446 PRINT_ERROR("Runtime error: %s", "Assert failed");
6447 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8480);
6451 if (var_pannotationnode1
== NULL
) {
6452 var6
= 0; /* is null */
6454 var6
= 1; /* arg is null and recv is not */
6457 var7
= ((short int (*)(val
*, val
*))(var_pannotationnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pannotationnode1
, var5
) /* != on <var_pannotationnode1:nullable Object>*/;
6462 array__Array__add(var_listnode3
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
6467 var8
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
6469 var_listnode3
= var8
;
6470 var_node_list
= var_listnode3
;
6471 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction324> */
6473 var10
= parser_work__Parser__go_to(var_p
, var9
);
6476 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6480 /* method parser#ReduceAction324#action for (self: Object, Parser) */
6481 void VIRTUAL_parser__ReduceAction324__action(val
* self
, val
* p0
) {
6482 parser__ReduceAction324__action(self
, p0
); /* Direct call parser#ReduceAction324#action on <self:Object(ReduceAction324)>*/
6485 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
6486 void parser__ReduceAction326__action(val
* self
, val
* p0
) {
6487 val
* var_p
/* var p: Parser */;
6488 val
* var
/* : null */;
6489 val
* var_node_list
/* var node_list: nullable Object */;
6490 val
* var1
/* : nullable Object */;
6491 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6492 val
* var2
/* : nullable Object */;
6493 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6494 val
* var3
/* : nullable Object */;
6495 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6496 val
* var4
/* : nullable Object */;
6497 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6498 val
* var5
/* : nullable Object */;
6499 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6500 val
* var6
/* : Array[Object] */;
6501 val
* var_listnode7
/* var listnode7: Array[Object] */;
6502 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
6503 short int var7
/* : Bool */;
6506 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6507 short int var8
/* : Bool */;
6510 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6511 short int var11
/* : Bool */;
6514 val
* var_patidnode5
/* var patidnode5: nullable Object */;
6515 short int var14
/* : Bool */;
6518 val
* var17
/* : AAnnotation */;
6519 val
* var18
/* : null */;
6520 val
* var19
/* : null */;
6521 val
* var20
/* : null */;
6522 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
6523 long var21
/* : Int */;
6524 long var22
/* : Int */;
6527 var_node_list
= var
;
6529 var1
= parser_work__Parser__pop(var_p
);
6531 var_nodearraylist5
= var1
;
6533 var2
= parser_work__Parser__pop(var_p
);
6535 var_nodearraylist4
= var2
;
6537 var3
= parser_work__Parser__pop(var_p
);
6539 var_nodearraylist3
= var3
;
6541 var4
= parser_work__Parser__pop(var_p
);
6543 var_nodearraylist2
= var4
;
6545 var5
= parser_work__Parser__pop(var_p
);
6547 var_nodearraylist1
= var5
;
6548 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6550 array__Array__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
6552 var_listnode7
= var6
;
6553 var_pdocnode2
= var_nodearraylist1
;
6554 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6555 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6556 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6557 if(var_pdocnode2
== NULL
) {
6560 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6563 var7
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6566 if (unlikely(!var7
)) {
6567 PRINT_ERROR("Runtime error: %s", "Assert failed");
6568 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8501);
6571 var_tkwredefnode3
= var_nodearraylist2
;
6572 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6573 cltype9
= type_nullable_parser_nodes__TKwredef
.color
;
6574 idtype10
= type_nullable_parser_nodes__TKwredef
.id
;
6575 if(var_tkwredefnode3
== NULL
) {
6578 if(cltype9
>= var_tkwredefnode3
->type
->table_size
) {
6581 var8
= var_tkwredefnode3
->type
->type_table
[cltype9
] == idtype10
;
6584 if (unlikely(!var8
)) {
6585 PRINT_ERROR("Runtime error: %s", "Assert failed");
6586 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8503);
6589 var_pvisibilitynode4
= var_nodearraylist3
;
6590 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6591 cltype12
= type_nullable_parser_nodes__AVisibility
.color
;
6592 idtype13
= type_nullable_parser_nodes__AVisibility
.id
;
6593 if(var_pvisibilitynode4
== NULL
) {
6596 if(cltype12
>= var_pvisibilitynode4
->type
->table_size
) {
6599 var11
= var_pvisibilitynode4
->type
->type_table
[cltype12
] == idtype13
;
6602 if (unlikely(!var11
)) {
6603 PRINT_ERROR("Runtime error: %s", "Assert failed");
6604 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8505);
6607 var_patidnode5
= var_nodearraylist4
;
6608 /* <var_patidnode5:nullable Object> isa nullable AAtid */
6609 cltype15
= type_nullable_parser_nodes__AAtid
.color
;
6610 idtype16
= type_nullable_parser_nodes__AAtid
.id
;
6611 if(var_patidnode5
== NULL
) {
6614 if(cltype15
>= var_patidnode5
->type
->table_size
) {
6617 var14
= var_patidnode5
->type
->type_table
[cltype15
] == idtype16
;
6620 if (unlikely(!var14
)) {
6621 PRINT_ERROR("Runtime error: %s", "Assert failed");
6622 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8507);
6625 var17
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
6630 parser_prod__AAnnotation__init_aannotation(var17
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var18
, var_listnode7
, var19
, var20
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var17:AAnnotation>*/
6632 var_pannotationnode1
= var17
;
6633 var_node_list
= var_pannotationnode1
;
6634 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction326> */
6636 var22
= parser_work__Parser__go_to(var_p
, var21
);
6639 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6643 /* method parser#ReduceAction326#action for (self: Object, Parser) */
6644 void VIRTUAL_parser__ReduceAction326__action(val
* self
, val
* p0
) {
6645 parser__ReduceAction326__action(self
, p0
); /* Direct call parser#ReduceAction326#action on <self:Object(ReduceAction326)>*/
6648 /* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */
6649 void parser__ReduceAction327__action(val
* self
, val
* p0
) {
6650 val
* var_p
/* var p: Parser */;
6651 val
* var
/* : null */;
6652 val
* var_node_list
/* var node_list: nullable Object */;
6653 val
* var1
/* : nullable Object */;
6654 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6655 val
* var2
/* : nullable Object */;
6656 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6657 val
* var3
/* : nullable Object */;
6658 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6659 val
* var4
/* : nullable Object */;
6660 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6661 val
* var5
/* : nullable Object */;
6662 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6663 val
* var6
/* : nullable Object */;
6664 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6665 val
* var7
/* : Array[Object] */;
6666 val
* var_listnode7
/* var listnode7: Array[Object] */;
6667 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
6668 short int var8
/* : Bool */;
6671 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6672 short int var9
/* : Bool */;
6675 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6676 short int var12
/* : Bool */;
6679 val
* var_patidnode5
/* var patidnode5: nullable Object */;
6680 short int var15
/* : Bool */;
6683 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
6684 short int var18
/* : Bool */;
6687 val
* var21
/* : AAnnotation */;
6688 val
* var22
/* : null */;
6689 val
* var23
/* : null */;
6690 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
6691 long var24
/* : Int */;
6692 long var25
/* : Int */;
6695 var_node_list
= var
;
6697 var1
= parser_work__Parser__pop(var_p
);
6699 var_nodearraylist6
= var1
;
6701 var2
= parser_work__Parser__pop(var_p
);
6703 var_nodearraylist5
= var2
;
6705 var3
= parser_work__Parser__pop(var_p
);
6707 var_nodearraylist4
= var3
;
6709 var4
= parser_work__Parser__pop(var_p
);
6711 var_nodearraylist3
= var4
;
6713 var5
= parser_work__Parser__pop(var_p
);
6715 var_nodearraylist2
= var5
;
6717 var6
= parser_work__Parser__pop(var_p
);
6719 var_nodearraylist1
= var6
;
6720 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6722 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6724 var_listnode7
= var7
;
6725 var_pdocnode2
= var_nodearraylist1
;
6726 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6727 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6728 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6729 if(var_pdocnode2
== NULL
) {
6732 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6735 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6738 if (unlikely(!var8
)) {
6739 PRINT_ERROR("Runtime error: %s", "Assert failed");
6740 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8535);
6743 var_tkwredefnode3
= var_nodearraylist2
;
6744 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6745 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
6746 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
6747 if(var_tkwredefnode3
== NULL
) {
6750 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
6753 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
6756 if (unlikely(!var9
)) {
6757 PRINT_ERROR("Runtime error: %s", "Assert failed");
6758 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8537);
6761 var_pvisibilitynode4
= var_nodearraylist3
;
6762 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6763 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
6764 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
6765 if(var_pvisibilitynode4
== NULL
) {
6768 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
6771 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
6774 if (unlikely(!var12
)) {
6775 PRINT_ERROR("Runtime error: %s", "Assert failed");
6776 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8539);
6779 var_patidnode5
= var_nodearraylist4
;
6780 /* <var_patidnode5:nullable Object> isa nullable AAtid */
6781 cltype16
= type_nullable_parser_nodes__AAtid
.color
;
6782 idtype17
= type_nullable_parser_nodes__AAtid
.id
;
6783 if(var_patidnode5
== NULL
) {
6786 if(cltype16
>= var_patidnode5
->type
->table_size
) {
6789 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
6792 if (unlikely(!var15
)) {
6793 PRINT_ERROR("Runtime error: %s", "Assert failed");
6794 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8541);
6797 var_pannotationsnode9
= var_nodearraylist5
;
6798 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
6799 cltype19
= type_nullable_parser_nodes__AAnnotations
.color
;
6800 idtype20
= type_nullable_parser_nodes__AAnnotations
.id
;
6801 if(var_pannotationsnode9
== NULL
) {
6804 if(cltype19
>= var_pannotationsnode9
->type
->table_size
) {
6807 var18
= var_pannotationsnode9
->type
->type_table
[cltype19
] == idtype20
;
6810 if (unlikely(!var18
)) {
6811 PRINT_ERROR("Runtime error: %s", "Assert failed");
6812 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8543);
6815 var21
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
6819 parser_prod__AAnnotation__init_aannotation(var21
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var22
, var_listnode7
, var23
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var21:AAnnotation>*/
6821 var_pannotationnode1
= var21
;
6822 var_node_list
= var_pannotationnode1
;
6823 var24
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction327> */
6825 var25
= parser_work__Parser__go_to(var_p
, var24
);
6828 parser_work__Parser__push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6832 /* method parser#ReduceAction327#action for (self: Object, Parser) */
6833 void VIRTUAL_parser__ReduceAction327__action(val
* self
, val
* p0
) {
6834 parser__ReduceAction327__action(self
, p0
); /* Direct call parser#ReduceAction327#action on <self:Object(ReduceAction327)>*/
6837 /* method parser#ReduceAction328#action for (self: ReduceAction328, Parser) */
6838 void parser__ReduceAction328__action(val
* self
, val
* p0
) {
6839 val
* var_p
/* var p: Parser */;
6840 val
* var
/* : null */;
6841 val
* var_node_list
/* var node_list: nullable Object */;
6842 val
* var1
/* : nullable Object */;
6843 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6844 val
* var2
/* : nullable Object */;
6845 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6846 val
* var3
/* : nullable Object */;
6847 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6848 val
* var4
/* : nullable Object */;
6849 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6850 val
* var5
/* : nullable Object */;
6851 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6852 val
* var6
/* : nullable Object */;
6853 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6854 val
* var7
/* : nullable Object */;
6855 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6856 val
* var8
/* : nullable Object */;
6857 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6858 val
* var9
/* : nullable Object */;
6859 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6860 val
* var10
/* : Array[Object] */;
6861 val
* var_listnode8
/* var listnode8: Array[Object] */;
6862 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
6863 short int var11
/* : Bool */;
6866 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6867 short int var12
/* : Bool */;
6870 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6871 short int var15
/* : Bool */;
6874 val
* var_patidnode5
/* var patidnode5: nullable Object */;
6875 short int var18
/* : Bool */;
6878 val
* var_toparnode6
/* var toparnode6: nullable Object */;
6879 short int var21
/* : Bool */;
6882 val
* var_listnode7
/* var listnode7: nullable Object */;
6883 short int var24
/* : Bool */;
6886 val
* var27
/* : Array[Object] */;
6887 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
6888 short int var28
/* : Bool */;
6891 val
* var31
/* : AAnnotation */;
6892 val
* var32
/* : null */;
6893 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
6894 long var33
/* : Int */;
6895 long var34
/* : Int */;
6898 var_node_list
= var
;
6900 var1
= parser_work__Parser__pop(var_p
);
6902 var_nodearraylist9
= var1
;
6904 var2
= parser_work__Parser__pop(var_p
);
6906 var_nodearraylist8
= var2
;
6908 var3
= parser_work__Parser__pop(var_p
);
6910 var_nodearraylist7
= var3
;
6912 var4
= parser_work__Parser__pop(var_p
);
6914 var_nodearraylist6
= var4
;
6916 var5
= parser_work__Parser__pop(var_p
);
6918 var_nodearraylist5
= var5
;
6920 var6
= parser_work__Parser__pop(var_p
);
6922 var_nodearraylist4
= var6
;
6924 var7
= parser_work__Parser__pop(var_p
);
6926 var_nodearraylist3
= var7
;
6928 var8
= parser_work__Parser__pop(var_p
);
6930 var_nodearraylist2
= var8
;
6932 var9
= parser_work__Parser__pop(var_p
);
6934 var_nodearraylist1
= var9
;
6935 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
6937 array__Array__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
6939 var_listnode8
= var10
;
6940 var_pdocnode2
= var_nodearraylist1
;
6941 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6942 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6943 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6944 if(var_pdocnode2
== NULL
) {
6947 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6950 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6953 if (unlikely(!var11
)) {
6954 PRINT_ERROR("Runtime error: %s", "Assert failed");
6955 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8574);
6958 var_tkwredefnode3
= var_nodearraylist2
;
6959 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6960 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
6961 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
6962 if(var_tkwredefnode3
== NULL
) {
6965 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
6968 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
6971 if (unlikely(!var12
)) {
6972 PRINT_ERROR("Runtime error: %s", "Assert failed");
6973 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8576);
6976 var_pvisibilitynode4
= var_nodearraylist3
;
6977 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6978 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
6979 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
6980 if(var_pvisibilitynode4
== NULL
) {
6983 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
6986 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
6989 if (unlikely(!var15
)) {
6990 PRINT_ERROR("Runtime error: %s", "Assert failed");
6991 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8578);
6994 var_patidnode5
= var_nodearraylist4
;
6995 /* <var_patidnode5:nullable Object> isa nullable AAtid */
6996 cltype19
= type_nullable_parser_nodes__AAtid
.color
;
6997 idtype20
= type_nullable_parser_nodes__AAtid
.id
;
6998 if(var_patidnode5
== NULL
) {
7001 if(cltype19
>= var_patidnode5
->type
->table_size
) {
7004 var18
= var_patidnode5
->type
->type_table
[cltype19
] == idtype20
;
7007 if (unlikely(!var18
)) {
7008 PRINT_ERROR("Runtime error: %s", "Assert failed");
7009 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8580);
7012 var_toparnode6
= var_nodearraylist5
;
7013 /* <var_toparnode6:nullable Object> isa nullable TOpar */
7014 cltype22
= type_nullable_parser_nodes__TOpar
.color
;
7015 idtype23
= type_nullable_parser_nodes__TOpar
.id
;
7016 if(var_toparnode6
== NULL
) {
7019 if(cltype22
>= var_toparnode6
->type
->table_size
) {
7022 var21
= var_toparnode6
->type
->type_table
[cltype22
] == idtype23
;
7025 if (unlikely(!var21
)) {
7026 PRINT_ERROR("Runtime error: %s", "Assert failed");
7027 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8582);
7030 var_listnode7
= var_nodearraylist7
;
7031 /* <var_listnode7:nullable Object> isa Array[Object] */
7032 cltype25
= type_array__Arraykernel__Object
.color
;
7033 idtype26
= type_array__Arraykernel__Object
.id
;
7034 if(var_listnode7
== NULL
) {
7037 if(cltype25
>= var_listnode7
->type
->table_size
) {
7040 var24
= var_listnode7
->type
->type_table
[cltype25
] == idtype26
;
7043 if (unlikely(!var24
)) {
7044 PRINT_ERROR("Runtime error: %s", "Assert failed");
7045 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8584);
7049 var27
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
7051 var_listnode8
= var27
;
7052 var_tcparnode9
= var_nodearraylist8
;
7053 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
7054 cltype29
= type_nullable_parser_nodes__TCpar
.color
;
7055 idtype30
= type_nullable_parser_nodes__TCpar
.id
;
7056 if(var_tcparnode9
== NULL
) {
7059 if(cltype29
>= var_tcparnode9
->type
->table_size
) {
7062 var28
= var_tcparnode9
->type
->type_table
[cltype29
] == idtype30
;
7065 if (unlikely(!var28
)) {
7066 PRINT_ERROR("Runtime error: %s", "Assert failed");
7067 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8587);
7070 var31
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7073 parser_prod__AAnnotation__init_aannotation(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var32
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var31:AAnnotation>*/
7075 var_pannotationnode1
= var31
;
7076 var_node_list
= var_pannotationnode1
;
7077 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction328> */
7079 var34
= parser_work__Parser__go_to(var_p
, var33
);
7082 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7086 /* method parser#ReduceAction328#action for (self: Object, Parser) */
7087 void VIRTUAL_parser__ReduceAction328__action(val
* self
, val
* p0
) {
7088 parser__ReduceAction328__action(self
, p0
); /* Direct call parser#ReduceAction328#action on <self:Object(ReduceAction328)>*/
7091 /* method parser#ReduceAction329#action for (self: ReduceAction329, Parser) */
7092 void parser__ReduceAction329__action(val
* self
, val
* p0
) {
7093 val
* var_p
/* var p: Parser */;
7094 val
* var
/* : null */;
7095 val
* var_node_list
/* var node_list: nullable Object */;
7096 val
* var1
/* : nullable Object */;
7097 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7098 val
* var2
/* : nullable Object */;
7099 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7100 val
* var3
/* : nullable Object */;
7101 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7102 val
* var4
/* : nullable Object */;
7103 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7104 val
* var5
/* : nullable Object */;
7105 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7106 val
* var6
/* : nullable Object */;
7107 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7108 val
* var7
/* : nullable Object */;
7109 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7110 val
* var8
/* : nullable Object */;
7111 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7112 val
* var9
/* : nullable Object */;
7113 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7114 val
* var10
/* : nullable Object */;
7115 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7116 val
* var11
/* : Array[Object] */;
7117 val
* var_listnode8
/* var listnode8: Array[Object] */;
7118 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7119 short int var12
/* : Bool */;
7122 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7123 short int var13
/* : Bool */;
7126 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7127 short int var16
/* : Bool */;
7130 val
* var_patidnode5
/* var patidnode5: nullable Object */;
7131 short int var19
/* : Bool */;
7134 val
* var_toparnode6
/* var toparnode6: nullable Object */;
7135 short int var22
/* : Bool */;
7138 val
* var_listnode7
/* var listnode7: nullable Object */;
7139 short int var25
/* : Bool */;
7142 val
* var28
/* : Array[Object] */;
7143 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
7144 short int var29
/* : Bool */;
7147 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
7148 short int var32
/* : Bool */;
7151 val
* var35
/* : AAnnotation */;
7152 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
7153 long var36
/* : Int */;
7154 long var37
/* : Int */;
7157 var_node_list
= var
;
7159 var1
= parser_work__Parser__pop(var_p
);
7161 var_nodearraylist10
= var1
;
7163 var2
= parser_work__Parser__pop(var_p
);
7165 var_nodearraylist9
= var2
;
7167 var3
= parser_work__Parser__pop(var_p
);
7169 var_nodearraylist8
= var3
;
7171 var4
= parser_work__Parser__pop(var_p
);
7173 var_nodearraylist7
= var4
;
7175 var5
= parser_work__Parser__pop(var_p
);
7177 var_nodearraylist6
= var5
;
7179 var6
= parser_work__Parser__pop(var_p
);
7181 var_nodearraylist5
= var6
;
7183 var7
= parser_work__Parser__pop(var_p
);
7185 var_nodearraylist4
= var7
;
7187 var8
= parser_work__Parser__pop(var_p
);
7189 var_nodearraylist3
= var8
;
7191 var9
= parser_work__Parser__pop(var_p
);
7193 var_nodearraylist2
= var9
;
7195 var10
= parser_work__Parser__pop(var_p
);
7197 var_nodearraylist1
= var10
;
7198 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
7200 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
7202 var_listnode8
= var11
;
7203 var_pdocnode2
= var_nodearraylist1
;
7204 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7205 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7206 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7207 if(var_pdocnode2
== NULL
) {
7210 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7213 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7216 if (unlikely(!var12
)) {
7217 PRINT_ERROR("Runtime error: %s", "Assert failed");
7218 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8619);
7221 var_tkwredefnode3
= var_nodearraylist2
;
7222 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7223 cltype14
= type_nullable_parser_nodes__TKwredef
.color
;
7224 idtype15
= type_nullable_parser_nodes__TKwredef
.id
;
7225 if(var_tkwredefnode3
== NULL
) {
7228 if(cltype14
>= var_tkwredefnode3
->type
->table_size
) {
7231 var13
= var_tkwredefnode3
->type
->type_table
[cltype14
] == idtype15
;
7234 if (unlikely(!var13
)) {
7235 PRINT_ERROR("Runtime error: %s", "Assert failed");
7236 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8621);
7239 var_pvisibilitynode4
= var_nodearraylist3
;
7240 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7241 cltype17
= type_nullable_parser_nodes__AVisibility
.color
;
7242 idtype18
= type_nullable_parser_nodes__AVisibility
.id
;
7243 if(var_pvisibilitynode4
== NULL
) {
7246 if(cltype17
>= var_pvisibilitynode4
->type
->table_size
) {
7249 var16
= var_pvisibilitynode4
->type
->type_table
[cltype17
] == idtype18
;
7252 if (unlikely(!var16
)) {
7253 PRINT_ERROR("Runtime error: %s", "Assert failed");
7254 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8623);
7257 var_patidnode5
= var_nodearraylist4
;
7258 /* <var_patidnode5:nullable Object> isa nullable AAtid */
7259 cltype20
= type_nullable_parser_nodes__AAtid
.color
;
7260 idtype21
= type_nullable_parser_nodes__AAtid
.id
;
7261 if(var_patidnode5
== NULL
) {
7264 if(cltype20
>= var_patidnode5
->type
->table_size
) {
7267 var19
= var_patidnode5
->type
->type_table
[cltype20
] == idtype21
;
7270 if (unlikely(!var19
)) {
7271 PRINT_ERROR("Runtime error: %s", "Assert failed");
7272 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8625);
7275 var_toparnode6
= var_nodearraylist5
;
7276 /* <var_toparnode6:nullable Object> isa nullable TOpar */
7277 cltype23
= type_nullable_parser_nodes__TOpar
.color
;
7278 idtype24
= type_nullable_parser_nodes__TOpar
.id
;
7279 if(var_toparnode6
== NULL
) {
7282 if(cltype23
>= var_toparnode6
->type
->table_size
) {
7285 var22
= var_toparnode6
->type
->type_table
[cltype23
] == idtype24
;
7288 if (unlikely(!var22
)) {
7289 PRINT_ERROR("Runtime error: %s", "Assert failed");
7290 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8627);
7293 var_listnode7
= var_nodearraylist7
;
7294 /* <var_listnode7:nullable Object> isa Array[Object] */
7295 cltype26
= type_array__Arraykernel__Object
.color
;
7296 idtype27
= type_array__Arraykernel__Object
.id
;
7297 if(var_listnode7
== NULL
) {
7300 if(cltype26
>= var_listnode7
->type
->table_size
) {
7303 var25
= var_listnode7
->type
->type_table
[cltype26
] == idtype27
;
7306 if (unlikely(!var25
)) {
7307 PRINT_ERROR("Runtime error: %s", "Assert failed");
7308 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8629);
7312 var28
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
7314 var_listnode8
= var28
;
7315 var_tcparnode9
= var_nodearraylist8
;
7316 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
7317 cltype30
= type_nullable_parser_nodes__TCpar
.color
;
7318 idtype31
= type_nullable_parser_nodes__TCpar
.id
;
7319 if(var_tcparnode9
== NULL
) {
7322 if(cltype30
>= var_tcparnode9
->type
->table_size
) {
7325 var29
= var_tcparnode9
->type
->type_table
[cltype30
] == idtype31
;
7328 if (unlikely(!var29
)) {
7329 PRINT_ERROR("Runtime error: %s", "Assert failed");
7330 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8632);
7333 var_pannotationsnode10
= var_nodearraylist9
;
7334 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
7335 cltype33
= type_nullable_parser_nodes__AAnnotations
.color
;
7336 idtype34
= type_nullable_parser_nodes__AAnnotations
.id
;
7337 if(var_pannotationsnode10
== NULL
) {
7340 if(cltype33
>= var_pannotationsnode10
->type
->table_size
) {
7343 var32
= var_pannotationsnode10
->type
->type_table
[cltype33
] == idtype34
;
7346 if (unlikely(!var32
)) {
7347 PRINT_ERROR("Runtime error: %s", "Assert failed");
7348 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8634);
7351 var35
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7353 parser_prod__AAnnotation__init_aannotation(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var35:AAnnotation>*/
7355 var_pannotationnode1
= var35
;
7356 var_node_list
= var_pannotationnode1
;
7357 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction329> */
7359 var37
= parser_work__Parser__go_to(var_p
, var36
);
7362 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7366 /* method parser#ReduceAction329#action for (self: Object, Parser) */
7367 void VIRTUAL_parser__ReduceAction329__action(val
* self
, val
* p0
) {
7368 parser__ReduceAction329__action(self
, p0
); /* Direct call parser#ReduceAction329#action on <self:Object(ReduceAction329)>*/
7371 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
7372 void parser__ReduceAction330__action(val
* self
, val
* p0
) {
7373 val
* var_p
/* var p: Parser */;
7374 val
* var
/* : null */;
7375 val
* var_node_list
/* var node_list: nullable Object */;
7376 val
* var1
/* : nullable Object */;
7377 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7378 val
* var2
/* : nullable Object */;
7379 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7380 val
* var3
/* : nullable Object */;
7381 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7382 val
* var4
/* : nullable Object */;
7383 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7384 val
* var5
/* : nullable Object */;
7385 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7386 val
* var6
/* : nullable Object */;
7387 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7388 val
* var7
/* : Array[Object] */;
7389 val
* var_listnode8
/* var listnode8: Array[Object] */;
7390 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7391 short int var8
/* : Bool */;
7394 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7395 short int var9
/* : Bool */;
7398 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7399 short int var12
/* : Bool */;
7402 val
* var_patidnode5
/* var patidnode5: nullable Object */;
7403 short int var15
/* : Bool */;
7406 val
* var_listnode7
/* var listnode7: nullable Object */;
7407 short int var18
/* : Bool */;
7410 val
* var21
/* : Array[Object] */;
7411 val
* var22
/* : AAnnotation */;
7412 val
* var23
/* : null */;
7413 val
* var24
/* : null */;
7414 val
* var25
/* : null */;
7415 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
7416 long var26
/* : Int */;
7417 long var27
/* : Int */;
7420 var_node_list
= var
;
7422 var1
= parser_work__Parser__pop(var_p
);
7424 var_nodearraylist6
= var1
;
7426 var2
= parser_work__Parser__pop(var_p
);
7428 var_nodearraylist5
= var2
;
7430 var3
= parser_work__Parser__pop(var_p
);
7432 var_nodearraylist4
= var3
;
7434 var4
= parser_work__Parser__pop(var_p
);
7436 var_nodearraylist3
= var4
;
7438 var5
= parser_work__Parser__pop(var_p
);
7440 var_nodearraylist2
= var5
;
7442 var6
= parser_work__Parser__pop(var_p
);
7444 var_nodearraylist1
= var6
;
7445 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7447 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
7449 var_listnode8
= var7
;
7450 var_pdocnode2
= var_nodearraylist1
;
7451 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7452 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7453 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7454 if(var_pdocnode2
== NULL
) {
7457 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7460 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7463 if (unlikely(!var8
)) {
7464 PRINT_ERROR("Runtime error: %s", "Assert failed");
7465 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8662);
7468 var_tkwredefnode3
= var_nodearraylist2
;
7469 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7470 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
7471 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
7472 if(var_tkwredefnode3
== NULL
) {
7475 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
7478 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
7481 if (unlikely(!var9
)) {
7482 PRINT_ERROR("Runtime error: %s", "Assert failed");
7483 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8664);
7486 var_pvisibilitynode4
= var_nodearraylist3
;
7487 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7488 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
7489 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
7490 if(var_pvisibilitynode4
== NULL
) {
7493 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
7496 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
7499 if (unlikely(!var12
)) {
7500 PRINT_ERROR("Runtime error: %s", "Assert failed");
7501 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8666);
7504 var_patidnode5
= var_nodearraylist4
;
7505 /* <var_patidnode5:nullable Object> isa nullable AAtid */
7506 cltype16
= type_nullable_parser_nodes__AAtid
.color
;
7507 idtype17
= type_nullable_parser_nodes__AAtid
.id
;
7508 if(var_patidnode5
== NULL
) {
7511 if(cltype16
>= var_patidnode5
->type
->table_size
) {
7514 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
7517 if (unlikely(!var15
)) {
7518 PRINT_ERROR("Runtime error: %s", "Assert failed");
7519 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8668);
7522 var_listnode7
= var_nodearraylist5
;
7523 /* <var_listnode7:nullable Object> isa Array[Object] */
7524 cltype19
= type_array__Arraykernel__Object
.color
;
7525 idtype20
= type_array__Arraykernel__Object
.id
;
7526 if(var_listnode7
== NULL
) {
7529 if(cltype19
>= var_listnode7
->type
->table_size
) {
7532 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
7535 if (unlikely(!var18
)) {
7536 PRINT_ERROR("Runtime error: %s", "Assert failed");
7537 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8670);
7541 var21
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
7543 var_listnode8
= var21
;
7544 var22
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7549 parser_prod__AAnnotation__init_aannotation(var22
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var23
, var_listnode8
, var24
, var25
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var22:AAnnotation>*/
7551 var_pannotationnode1
= var22
;
7552 var_node_list
= var_pannotationnode1
;
7553 var26
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction330> */
7555 var27
= parser_work__Parser__go_to(var_p
, var26
);
7558 parser_work__Parser__push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7562 /* method parser#ReduceAction330#action for (self: Object, Parser) */
7563 void VIRTUAL_parser__ReduceAction330__action(val
* self
, val
* p0
) {
7564 parser__ReduceAction330__action(self
, p0
); /* Direct call parser#ReduceAction330#action on <self:Object(ReduceAction330)>*/
7567 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
7568 void parser__ReduceAction331__action(val
* self
, val
* p0
) {
7569 val
* var_p
/* var p: Parser */;
7570 val
* var
/* : null */;
7571 val
* var_node_list
/* var node_list: nullable Object */;
7572 val
* var1
/* : nullable Object */;
7573 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7574 val
* var2
/* : nullable Object */;
7575 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7576 val
* var3
/* : nullable Object */;
7577 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7578 val
* var4
/* : Array[Object] */;
7579 val
* var_listnode7
/* var listnode7: Array[Object] */;
7580 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7581 short int var5
/* : Bool */;
7584 val
* var_patidnode5
/* var patidnode5: nullable Object */;
7585 short int var6
/* : Bool */;
7588 val
* var9
/* : AAnnotation */;
7589 val
* var10
/* : null */;
7590 val
* var11
/* : null */;
7591 val
* var12
/* : null */;
7592 val
* var13
/* : null */;
7593 val
* var14
/* : null */;
7594 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
7595 long var15
/* : Int */;
7596 long var16
/* : Int */;
7599 var_node_list
= var
;
7601 var1
= parser_work__Parser__pop(var_p
);
7603 var_nodearraylist3
= var1
;
7605 var2
= parser_work__Parser__pop(var_p
);
7607 var_nodearraylist2
= var2
;
7609 var3
= parser_work__Parser__pop(var_p
);
7611 var_nodearraylist1
= var3
;
7612 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7614 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
7616 var_listnode7
= var4
;
7617 var_pdocnode2
= var_nodearraylist1
;
7618 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7619 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7620 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7621 if(var_pdocnode2
== NULL
) {
7624 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7627 var5
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7630 if (unlikely(!var5
)) {
7631 PRINT_ERROR("Runtime error: %s", "Assert failed");
7632 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8696);
7635 var_patidnode5
= var_nodearraylist2
;
7636 /* <var_patidnode5:nullable Object> isa nullable AAtid */
7637 cltype7
= type_nullable_parser_nodes__AAtid
.color
;
7638 idtype8
= type_nullable_parser_nodes__AAtid
.id
;
7639 if(var_patidnode5
== NULL
) {
7642 if(cltype7
>= var_patidnode5
->type
->table_size
) {
7645 var6
= var_patidnode5
->type
->type_table
[cltype7
] == idtype8
;
7648 if (unlikely(!var6
)) {
7649 PRINT_ERROR("Runtime error: %s", "Assert failed");
7650 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8698);
7653 var9
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7660 parser_prod__AAnnotation__init_aannotation(var9
, var_pdocnode2
, var10
, var11
, var_patidnode5
, var12
, var_listnode7
, var13
, var14
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var9:AAnnotation>*/
7662 var_pannotationnode1
= var9
;
7663 var_node_list
= var_pannotationnode1
;
7664 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction331> */
7666 var16
= parser_work__Parser__go_to(var_p
, var15
);
7669 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7673 /* method parser#ReduceAction331#action for (self: Object, Parser) */
7674 void VIRTUAL_parser__ReduceAction331__action(val
* self
, val
* p0
) {
7675 parser__ReduceAction331__action(self
, p0
); /* Direct call parser#ReduceAction331#action on <self:Object(ReduceAction331)>*/
7678 /* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */
7679 void parser__ReduceAction332__action(val
* self
, val
* p0
) {
7680 val
* var_p
/* var p: Parser */;
7681 val
* var
/* : null */;
7682 val
* var_node_list
/* var node_list: nullable Object */;
7683 val
* var1
/* : nullable Object */;
7684 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7685 val
* var2
/* : nullable Object */;
7686 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7687 val
* var3
/* : nullable Object */;
7688 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7689 val
* var4
/* : nullable Object */;
7690 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7691 val
* var5
/* : Array[Object] */;
7692 val
* var_listnode7
/* var listnode7: Array[Object] */;
7693 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7694 short int var6
/* : Bool */;
7697 val
* var_patidnode5
/* var patidnode5: nullable Object */;
7698 short int var7
/* : Bool */;
7701 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
7702 short int var10
/* : Bool */;
7705 val
* var13
/* : AAnnotation */;
7706 val
* var14
/* : null */;
7707 val
* var15
/* : null */;
7708 val
* var16
/* : null */;
7709 val
* var17
/* : null */;
7710 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
7711 long var18
/* : Int */;
7712 long var19
/* : Int */;
7715 var_node_list
= var
;
7717 var1
= parser_work__Parser__pop(var_p
);
7719 var_nodearraylist4
= var1
;
7721 var2
= parser_work__Parser__pop(var_p
);
7723 var_nodearraylist3
= var2
;
7725 var3
= parser_work__Parser__pop(var_p
);
7727 var_nodearraylist2
= var3
;
7729 var4
= parser_work__Parser__pop(var_p
);
7731 var_nodearraylist1
= var4
;
7732 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7734 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
7736 var_listnode7
= var5
;
7737 var_pdocnode2
= var_nodearraylist1
;
7738 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7739 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7740 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7741 if(var_pdocnode2
== NULL
) {
7744 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7747 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7750 if (unlikely(!var6
)) {
7751 PRINT_ERROR("Runtime error: %s", "Assert failed");
7752 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8724);
7755 var_patidnode5
= var_nodearraylist2
;
7756 /* <var_patidnode5:nullable Object> isa nullable AAtid */
7757 cltype8
= type_nullable_parser_nodes__AAtid
.color
;
7758 idtype9
= type_nullable_parser_nodes__AAtid
.id
;
7759 if(var_patidnode5
== NULL
) {
7762 if(cltype8
>= var_patidnode5
->type
->table_size
) {
7765 var7
= var_patidnode5
->type
->type_table
[cltype8
] == idtype9
;
7768 if (unlikely(!var7
)) {
7769 PRINT_ERROR("Runtime error: %s", "Assert failed");
7770 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8726);
7773 var_pannotationsnode9
= var_nodearraylist3
;
7774 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
7775 cltype11
= type_nullable_parser_nodes__AAnnotations
.color
;
7776 idtype12
= type_nullable_parser_nodes__AAnnotations
.id
;
7777 if(var_pannotationsnode9
== NULL
) {
7780 if(cltype11
>= var_pannotationsnode9
->type
->table_size
) {
7783 var10
= var_pannotationsnode9
->type
->type_table
[cltype11
] == idtype12
;
7786 if (unlikely(!var10
)) {
7787 PRINT_ERROR("Runtime error: %s", "Assert failed");
7788 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8728);
7791 var13
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7797 parser_prod__AAnnotation__init_aannotation(var13
, var_pdocnode2
, var14
, var15
, var_patidnode5
, var16
, var_listnode7
, var17
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var13:AAnnotation>*/
7799 var_pannotationnode1
= var13
;
7800 var_node_list
= var_pannotationnode1
;
7801 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction332> */
7803 var19
= parser_work__Parser__go_to(var_p
, var18
);
7806 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7810 /* method parser#ReduceAction332#action for (self: Object, Parser) */
7811 void VIRTUAL_parser__ReduceAction332__action(val
* self
, val
* p0
) {
7812 parser__ReduceAction332__action(self
, p0
); /* Direct call parser#ReduceAction332#action on <self:Object(ReduceAction332)>*/
7815 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
7816 void parser__ReduceAction333__action(val
* self
, val
* p0
) {
7817 val
* var_p
/* var p: Parser */;
7818 val
* var
/* : null */;
7819 val
* var_node_list
/* var node_list: nullable Object */;
7820 val
* var1
/* : nullable Object */;
7821 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7822 val
* var2
/* : nullable Object */;
7823 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7824 val
* var3
/* : nullable Object */;
7825 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7826 val
* var4
/* : nullable Object */;
7827 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7828 val
* var5
/* : nullable Object */;
7829 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7830 val
* var6
/* : nullable Object */;
7831 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7832 val
* var7
/* : nullable Object */;
7833 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7834 val
* var8
/* : Array[Object] */;
7835 val
* var_listnode8
/* var listnode8: Array[Object] */;
7836 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7837 short int var9
/* : Bool */;
7840 val
* var_patidnode5
/* var patidnode5: nullable Object */;
7841 short int var10
/* : Bool */;
7844 val
* var_toparnode6
/* var toparnode6: nullable Object */;
7845 short int var13
/* : Bool */;
7848 val
* var_listnode7
/* var listnode7: nullable Object */;
7849 short int var16
/* : Bool */;
7852 val
* var19
/* : Array[Object] */;
7853 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
7854 short int var20
/* : Bool */;
7857 val
* var23
/* : AAnnotation */;
7858 val
* var24
/* : null */;
7859 val
* var25
/* : null */;
7860 val
* var26
/* : null */;
7861 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
7862 long var27
/* : Int */;
7863 long var28
/* : Int */;
7866 var_node_list
= var
;
7868 var1
= parser_work__Parser__pop(var_p
);
7870 var_nodearraylist7
= var1
;
7872 var2
= parser_work__Parser__pop(var_p
);
7874 var_nodearraylist6
= var2
;
7876 var3
= parser_work__Parser__pop(var_p
);
7878 var_nodearraylist5
= var3
;
7880 var4
= parser_work__Parser__pop(var_p
);
7882 var_nodearraylist4
= var4
;
7884 var5
= parser_work__Parser__pop(var_p
);
7886 var_nodearraylist3
= var5
;
7888 var6
= parser_work__Parser__pop(var_p
);
7890 var_nodearraylist2
= var6
;
7892 var7
= parser_work__Parser__pop(var_p
);
7894 var_nodearraylist1
= var7
;
7895 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
7897 array__Array__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
7899 var_listnode8
= var8
;
7900 var_pdocnode2
= var_nodearraylist1
;
7901 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7902 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7903 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7904 if(var_pdocnode2
== NULL
) {
7907 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7910 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7913 if (unlikely(!var9
)) {
7914 PRINT_ERROR("Runtime error: %s", "Assert failed");
7915 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8757);
7918 var_patidnode5
= var_nodearraylist2
;
7919 /* <var_patidnode5:nullable Object> isa nullable AAtid */
7920 cltype11
= type_nullable_parser_nodes__AAtid
.color
;
7921 idtype12
= type_nullable_parser_nodes__AAtid
.id
;
7922 if(var_patidnode5
== NULL
) {
7925 if(cltype11
>= var_patidnode5
->type
->table_size
) {
7928 var10
= var_patidnode5
->type
->type_table
[cltype11
] == idtype12
;
7931 if (unlikely(!var10
)) {
7932 PRINT_ERROR("Runtime error: %s", "Assert failed");
7933 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8759);
7936 var_toparnode6
= var_nodearraylist3
;
7937 /* <var_toparnode6:nullable Object> isa nullable TOpar */
7938 cltype14
= type_nullable_parser_nodes__TOpar
.color
;
7939 idtype15
= type_nullable_parser_nodes__TOpar
.id
;
7940 if(var_toparnode6
== NULL
) {
7943 if(cltype14
>= var_toparnode6
->type
->table_size
) {
7946 var13
= var_toparnode6
->type
->type_table
[cltype14
] == idtype15
;
7949 if (unlikely(!var13
)) {
7950 PRINT_ERROR("Runtime error: %s", "Assert failed");
7951 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8761);
7954 var_listnode7
= var_nodearraylist5
;
7955 /* <var_listnode7:nullable Object> isa Array[Object] */
7956 cltype17
= type_array__Arraykernel__Object
.color
;
7957 idtype18
= type_array__Arraykernel__Object
.id
;
7958 if(var_listnode7
== NULL
) {
7961 if(cltype17
>= var_listnode7
->type
->table_size
) {
7964 var16
= var_listnode7
->type
->type_table
[cltype17
] == idtype18
;
7967 if (unlikely(!var16
)) {
7968 PRINT_ERROR("Runtime error: %s", "Assert failed");
7969 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8763);
7973 var19
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
7975 var_listnode8
= var19
;
7976 var_tcparnode9
= var_nodearraylist6
;
7977 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
7978 cltype21
= type_nullable_parser_nodes__TCpar
.color
;
7979 idtype22
= type_nullable_parser_nodes__TCpar
.id
;
7980 if(var_tcparnode9
== NULL
) {
7983 if(cltype21
>= var_tcparnode9
->type
->table_size
) {
7986 var20
= var_tcparnode9
->type
->type_table
[cltype21
] == idtype22
;
7989 if (unlikely(!var20
)) {
7990 PRINT_ERROR("Runtime error: %s", "Assert failed");
7991 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8766);
7994 var23
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
7999 parser_prod__AAnnotation__init_aannotation(var23
, var_pdocnode2
, var24
, var25
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var26
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var23:AAnnotation>*/
8001 var_pannotationnode1
= var23
;
8002 var_node_list
= var_pannotationnode1
;
8003 var27
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction333> */
8005 var28
= parser_work__Parser__go_to(var_p
, var27
);
8008 parser_work__Parser__push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8012 /* method parser#ReduceAction333#action for (self: Object, Parser) */
8013 void VIRTUAL_parser__ReduceAction333__action(val
* self
, val
* p0
) {
8014 parser__ReduceAction333__action(self
, p0
); /* Direct call parser#ReduceAction333#action on <self:Object(ReduceAction333)>*/
8017 /* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */
8018 void parser__ReduceAction334__action(val
* self
, val
* p0
) {
8019 val
* var_p
/* var p: Parser */;
8020 val
* var
/* : null */;
8021 val
* var_node_list
/* var node_list: nullable Object */;
8022 val
* var1
/* : nullable Object */;
8023 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8024 val
* var2
/* : nullable Object */;
8025 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8026 val
* var3
/* : nullable Object */;
8027 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8028 val
* var4
/* : nullable Object */;
8029 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8030 val
* var5
/* : nullable Object */;
8031 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8032 val
* var6
/* : nullable Object */;
8033 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8034 val
* var7
/* : nullable Object */;
8035 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8036 val
* var8
/* : nullable Object */;
8037 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8038 val
* var9
/* : Array[Object] */;
8039 val
* var_listnode8
/* var listnode8: Array[Object] */;
8040 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8041 short int var10
/* : Bool */;
8044 val
* var_patidnode5
/* var patidnode5: nullable Object */;
8045 short int var11
/* : Bool */;
8048 val
* var_toparnode6
/* var toparnode6: nullable Object */;
8049 short int var14
/* : Bool */;
8052 val
* var_listnode7
/* var listnode7: nullable Object */;
8053 short int var17
/* : Bool */;
8056 val
* var20
/* : Array[Object] */;
8057 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
8058 short int var21
/* : Bool */;
8061 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
8062 short int var24
/* : Bool */;
8065 val
* var27
/* : AAnnotation */;
8066 val
* var28
/* : null */;
8067 val
* var29
/* : null */;
8068 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
8069 long var30
/* : Int */;
8070 long var31
/* : Int */;
8073 var_node_list
= var
;
8075 var1
= parser_work__Parser__pop(var_p
);
8077 var_nodearraylist8
= var1
;
8079 var2
= parser_work__Parser__pop(var_p
);
8081 var_nodearraylist7
= var2
;
8083 var3
= parser_work__Parser__pop(var_p
);
8085 var_nodearraylist6
= var3
;
8087 var4
= parser_work__Parser__pop(var_p
);
8089 var_nodearraylist5
= var4
;
8091 var5
= parser_work__Parser__pop(var_p
);
8093 var_nodearraylist4
= var5
;
8095 var6
= parser_work__Parser__pop(var_p
);
8097 var_nodearraylist3
= var6
;
8099 var7
= parser_work__Parser__pop(var_p
);
8101 var_nodearraylist2
= var7
;
8103 var8
= parser_work__Parser__pop(var_p
);
8105 var_nodearraylist1
= var8
;
8106 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
8108 array__Array__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
8110 var_listnode8
= var9
;
8111 var_pdocnode2
= var_nodearraylist1
;
8112 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8113 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8114 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8115 if(var_pdocnode2
== NULL
) {
8118 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8121 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8124 if (unlikely(!var10
)) {
8125 PRINT_ERROR("Runtime error: %s", "Assert failed");
8126 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8796);
8129 var_patidnode5
= var_nodearraylist2
;
8130 /* <var_patidnode5:nullable Object> isa nullable AAtid */
8131 cltype12
= type_nullable_parser_nodes__AAtid
.color
;
8132 idtype13
= type_nullable_parser_nodes__AAtid
.id
;
8133 if(var_patidnode5
== NULL
) {
8136 if(cltype12
>= var_patidnode5
->type
->table_size
) {
8139 var11
= var_patidnode5
->type
->type_table
[cltype12
] == idtype13
;
8142 if (unlikely(!var11
)) {
8143 PRINT_ERROR("Runtime error: %s", "Assert failed");
8144 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8798);
8147 var_toparnode6
= var_nodearraylist3
;
8148 /* <var_toparnode6:nullable Object> isa nullable TOpar */
8149 cltype15
= type_nullable_parser_nodes__TOpar
.color
;
8150 idtype16
= type_nullable_parser_nodes__TOpar
.id
;
8151 if(var_toparnode6
== NULL
) {
8154 if(cltype15
>= var_toparnode6
->type
->table_size
) {
8157 var14
= var_toparnode6
->type
->type_table
[cltype15
] == idtype16
;
8160 if (unlikely(!var14
)) {
8161 PRINT_ERROR("Runtime error: %s", "Assert failed");
8162 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8800);
8165 var_listnode7
= var_nodearraylist5
;
8166 /* <var_listnode7:nullable Object> isa Array[Object] */
8167 cltype18
= type_array__Arraykernel__Object
.color
;
8168 idtype19
= type_array__Arraykernel__Object
.id
;
8169 if(var_listnode7
== NULL
) {
8172 if(cltype18
>= var_listnode7
->type
->table_size
) {
8175 var17
= var_listnode7
->type
->type_table
[cltype18
] == idtype19
;
8178 if (unlikely(!var17
)) {
8179 PRINT_ERROR("Runtime error: %s", "Assert failed");
8180 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8802);
8184 var20
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
8186 var_listnode8
= var20
;
8187 var_tcparnode9
= var_nodearraylist6
;
8188 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
8189 cltype22
= type_nullable_parser_nodes__TCpar
.color
;
8190 idtype23
= type_nullable_parser_nodes__TCpar
.id
;
8191 if(var_tcparnode9
== NULL
) {
8194 if(cltype22
>= var_tcparnode9
->type
->table_size
) {
8197 var21
= var_tcparnode9
->type
->type_table
[cltype22
] == idtype23
;
8200 if (unlikely(!var21
)) {
8201 PRINT_ERROR("Runtime error: %s", "Assert failed");
8202 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8805);
8205 var_pannotationsnode10
= var_nodearraylist7
;
8206 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
8207 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
8208 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
8209 if(var_pannotationsnode10
== NULL
) {
8212 if(cltype25
>= var_pannotationsnode10
->type
->table_size
) {
8215 var24
= var_pannotationsnode10
->type
->type_table
[cltype25
] == idtype26
;
8218 if (unlikely(!var24
)) {
8219 PRINT_ERROR("Runtime error: %s", "Assert failed");
8220 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8807);
8223 var27
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
8227 parser_prod__AAnnotation__init_aannotation(var27
, var_pdocnode2
, var28
, var29
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var27:AAnnotation>*/
8229 var_pannotationnode1
= var27
;
8230 var_node_list
= var_pannotationnode1
;
8231 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction334> */
8233 var31
= parser_work__Parser__go_to(var_p
, var30
);
8236 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8240 /* method parser#ReduceAction334#action for (self: Object, Parser) */
8241 void VIRTUAL_parser__ReduceAction334__action(val
* self
, val
* p0
) {
8242 parser__ReduceAction334__action(self
, p0
); /* Direct call parser#ReduceAction334#action on <self:Object(ReduceAction334)>*/
8245 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
8246 void parser__ReduceAction335__action(val
* self
, val
* p0
) {
8247 val
* var_p
/* var p: Parser */;
8248 val
* var
/* : null */;
8249 val
* var_node_list
/* var node_list: nullable Object */;
8250 val
* var1
/* : nullable Object */;
8251 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8252 val
* var2
/* : nullable Object */;
8253 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8254 val
* var3
/* : nullable Object */;
8255 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8256 val
* var4
/* : nullable Object */;
8257 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8258 val
* var5
/* : Array[Object] */;
8259 val
* var_listnode8
/* var listnode8: Array[Object] */;
8260 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8261 short int var6
/* : Bool */;
8264 val
* var_patidnode5
/* var patidnode5: nullable Object */;
8265 short int var7
/* : Bool */;
8268 val
* var_listnode7
/* var listnode7: nullable Object */;
8269 short int var10
/* : Bool */;
8272 val
* var13
/* : Array[Object] */;
8273 val
* var14
/* : AAnnotation */;
8274 val
* var15
/* : null */;
8275 val
* var16
/* : null */;
8276 val
* var17
/* : null */;
8277 val
* var18
/* : null */;
8278 val
* var19
/* : null */;
8279 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
8280 long var20
/* : Int */;
8281 long var21
/* : Int */;
8284 var_node_list
= var
;
8286 var1
= parser_work__Parser__pop(var_p
);
8288 var_nodearraylist4
= var1
;
8290 var2
= parser_work__Parser__pop(var_p
);
8292 var_nodearraylist3
= var2
;
8294 var3
= parser_work__Parser__pop(var_p
);
8296 var_nodearraylist2
= var3
;
8298 var4
= parser_work__Parser__pop(var_p
);
8300 var_nodearraylist1
= var4
;
8301 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8303 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
8305 var_listnode8
= var5
;
8306 var_pdocnode2
= var_nodearraylist1
;
8307 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8308 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8309 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8310 if(var_pdocnode2
== NULL
) {
8313 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8316 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8319 if (unlikely(!var6
)) {
8320 PRINT_ERROR("Runtime error: %s", "Assert failed");
8321 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8833);
8324 var_patidnode5
= var_nodearraylist2
;
8325 /* <var_patidnode5:nullable Object> isa nullable AAtid */
8326 cltype8
= type_nullable_parser_nodes__AAtid
.color
;
8327 idtype9
= type_nullable_parser_nodes__AAtid
.id
;
8328 if(var_patidnode5
== NULL
) {
8331 if(cltype8
>= var_patidnode5
->type
->table_size
) {
8334 var7
= var_patidnode5
->type
->type_table
[cltype8
] == idtype9
;
8337 if (unlikely(!var7
)) {
8338 PRINT_ERROR("Runtime error: %s", "Assert failed");
8339 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8835);
8342 var_listnode7
= var_nodearraylist3
;
8343 /* <var_listnode7:nullable Object> isa Array[Object] */
8344 cltype11
= type_array__Arraykernel__Object
.color
;
8345 idtype12
= type_array__Arraykernel__Object
.id
;
8346 if(var_listnode7
== NULL
) {
8349 if(cltype11
>= var_listnode7
->type
->table_size
) {
8352 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
8355 if (unlikely(!var10
)) {
8356 PRINT_ERROR("Runtime error: %s", "Assert failed");
8357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8837);
8361 var13
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
8363 var_listnode8
= var13
;
8364 var14
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
8371 parser_prod__AAnnotation__init_aannotation(var14
, var_pdocnode2
, var15
, var16
, var_patidnode5
, var17
, var_listnode8
, var18
, var19
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var14:AAnnotation>*/
8373 var_pannotationnode1
= var14
;
8374 var_node_list
= var_pannotationnode1
;
8375 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction335> */
8377 var21
= parser_work__Parser__go_to(var_p
, var20
);
8380 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8384 /* method parser#ReduceAction335#action for (self: Object, Parser) */
8385 void VIRTUAL_parser__ReduceAction335__action(val
* self
, val
* p0
) {
8386 parser__ReduceAction335__action(self
, p0
); /* Direct call parser#ReduceAction335#action on <self:Object(ReduceAction335)>*/
8389 /* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */
8390 void parser__ReduceAction336__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_nodearraylist3
/* var nodearraylist3: nullable Object */;
8396 val
* var2
/* : nullable Object */;
8397 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8398 val
* var3
/* : nullable Object */;
8399 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8400 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
8401 long var4
/* : Int */;
8402 long var5
/* : Int */;
8405 var_node_list
= var
;
8407 var1
= parser_work__Parser__pop(var_p
);
8409 var_nodearraylist3
= var1
;
8411 var2
= parser_work__Parser__pop(var_p
);
8413 var_nodearraylist2
= var2
;
8415 var3
= parser_work__Parser__pop(var_p
);
8417 var_nodearraylist1
= var3
;
8418 var_pannotationnode1
= var_nodearraylist3
;
8419 var_node_list
= var_pannotationnode1
;
8420 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction336> */
8422 var5
= parser_work__Parser__go_to(var_p
, var4
);
8425 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8429 /* method parser#ReduceAction336#action for (self: Object, Parser) */
8430 void VIRTUAL_parser__ReduceAction336__action(val
* self
, val
* p0
) {
8431 parser__ReduceAction336__action(self
, p0
); /* Direct call parser#ReduceAction336#action on <self:Object(ReduceAction336)>*/
8434 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
8435 void parser__ReduceAction337__action(val
* self
, val
* p0
) {
8436 val
* var_p
/* var p: Parser */;
8437 val
* var
/* : null */;
8438 val
* var_node_list
/* var node_list: nullable Object */;
8439 val
* var1
/* : nullable Object */;
8440 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8441 val
* var2
/* : Array[Object] */;
8442 val
* var_listnode2
/* var listnode2: Array[Object] */;
8443 val
* var_patargnode1
/* var patargnode1: nullable Object */;
8444 val
* var3
/* : null */;
8445 short int var4
/* : Bool */;
8446 short int var5
/* : Bool */;
8447 long var6
/* : Int */;
8448 long var7
/* : Int */;
8451 var_node_list
= var
;
8453 var1
= parser_work__Parser__pop(var_p
);
8455 var_nodearraylist1
= var1
;
8456 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8458 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8460 var_listnode2
= var2
;
8461 var_patargnode1
= var_nodearraylist1
;
8463 if (var_patargnode1
== NULL
) {
8464 var4
= 0; /* is null */
8466 var4
= 1; /* arg is null and recv is not */
8469 var5
= ((short int (*)(val
*, val
*))(var_patargnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_patargnode1
, var3
) /* != on <var_patargnode1:nullable Object>*/;
8474 array__Array__add(var_listnode2
, var_patargnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8478 var_node_list
= var_listnode2
;
8479 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction337> */
8481 var7
= parser_work__Parser__go_to(var_p
, var6
);
8484 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8488 /* method parser#ReduceAction337#action for (self: Object, Parser) */
8489 void VIRTUAL_parser__ReduceAction337__action(val
* self
, val
* p0
) {
8490 parser__ReduceAction337__action(self
, p0
); /* Direct call parser#ReduceAction337#action on <self:Object(ReduceAction337)>*/
8493 /* method parser#ReduceAction338#action for (self: ReduceAction338, Parser) */
8494 void parser__ReduceAction338__action(val
* self
, val
* p0
) {
8495 val
* var_p
/* var p: Parser */;
8496 val
* var
/* : null */;
8497 val
* var_node_list
/* var node_list: nullable Object */;
8498 val
* var1
/* : nullable Object */;
8499 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8500 val
* var2
/* : nullable Object */;
8501 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8502 val
* var3
/* : Array[Object] */;
8503 val
* var_listnode3
/* var listnode3: Array[Object] */;
8504 val
* var_patargnode1
/* var patargnode1: nullable Object */;
8505 val
* var_listnode2
/* var listnode2: nullable Object */;
8506 short int var4
/* : Bool */;
8509 val
* var5
/* : null */;
8510 short int var6
/* : Bool */;
8511 short int var7
/* : Bool */;
8512 val
* var8
/* : Array[Object] */;
8513 long var9
/* : Int */;
8514 long var10
/* : Int */;
8517 var_node_list
= var
;
8519 var1
= parser_work__Parser__pop(var_p
);
8521 var_nodearraylist2
= var1
;
8523 var2
= parser_work__Parser__pop(var_p
);
8525 var_nodearraylist1
= var2
;
8526 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8528 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8530 var_listnode3
= var3
;
8531 var_patargnode1
= var_nodearraylist1
;
8532 var_listnode2
= var_nodearraylist2
;
8533 /* <var_listnode2:nullable Object> isa Array[Object] */
8534 cltype
= type_array__Arraykernel__Object
.color
;
8535 idtype
= type_array__Arraykernel__Object
.id
;
8536 if(var_listnode2
== NULL
) {
8539 if(cltype
>= var_listnode2
->type
->table_size
) {
8542 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
8545 if (unlikely(!var4
)) {
8546 PRINT_ERROR("Runtime error: %s", "Assert failed");
8547 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8891);
8551 if (var_patargnode1
== NULL
) {
8552 var6
= 0; /* is null */
8554 var6
= 1; /* arg is null and recv is not */
8557 var7
= ((short int (*)(val
*, val
*))(var_patargnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_patargnode1
, var5
) /* != on <var_patargnode1:nullable Object>*/;
8562 array__Array__add(var_listnode3
, var_patargnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8567 var8
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
8569 var_listnode3
= var8
;
8570 var_node_list
= var_listnode3
;
8571 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction338> */
8573 var10
= parser_work__Parser__go_to(var_p
, var9
);
8576 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8580 /* method parser#ReduceAction338#action for (self: Object, Parser) */
8581 void VIRTUAL_parser__ReduceAction338__action(val
* self
, val
* p0
) {
8582 parser__ReduceAction338__action(self
, p0
); /* Direct call parser#ReduceAction338#action on <self:Object(ReduceAction338)>*/
8585 /* method parser#ReduceAction339#action for (self: ReduceAction339, Parser) */
8586 void parser__ReduceAction339__action(val
* self
, val
* p0
) {
8587 val
* var_p
/* var p: Parser */;
8588 val
* var
/* : null */;
8589 val
* var_node_list
/* var node_list: nullable Object */;
8590 val
* var1
/* : nullable Object */;
8591 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8592 val
* var2
/* : nullable Object */;
8593 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8594 val
* var3
/* : nullable Object */;
8595 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8596 val
* var_patargnode1
/* var patargnode1: nullable Object */;
8597 long var4
/* : Int */;
8598 long var5
/* : Int */;
8601 var_node_list
= var
;
8603 var1
= parser_work__Parser__pop(var_p
);
8605 var_nodearraylist3
= var1
;
8607 var2
= parser_work__Parser__pop(var_p
);
8609 var_nodearraylist2
= var2
;
8611 var3
= parser_work__Parser__pop(var_p
);
8613 var_nodearraylist1
= var3
;
8614 var_patargnode1
= var_nodearraylist3
;
8615 var_node_list
= var_patargnode1
;
8616 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction339> */
8618 var5
= parser_work__Parser__go_to(var_p
, var4
);
8621 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8625 /* method parser#ReduceAction339#action for (self: Object, Parser) */
8626 void VIRTUAL_parser__ReduceAction339__action(val
* self
, val
* p0
) {
8627 parser__ReduceAction339__action(self
, p0
); /* Direct call parser#ReduceAction339#action on <self:Object(ReduceAction339)>*/
8630 /* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */
8631 void parser__ReduceAction340__action(val
* self
, val
* p0
) {
8632 val
* var_p
/* var p: Parser */;
8633 val
* var
/* : null */;
8634 val
* var_node_list
/* var node_list: nullable Object */;
8635 val
* var1
/* : nullable Object */;
8636 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8637 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8638 short int var2
/* : Bool */;
8641 val
* var3
/* : ATypeAtArg */;
8642 val
* var_patargnode1
/* var patargnode1: nullable ATypeAtArg */;
8643 long var4
/* : Int */;
8644 long var5
/* : Int */;
8647 var_node_list
= var
;
8649 var1
= parser_work__Parser__pop(var_p
);
8651 var_nodearraylist1
= var1
;
8652 var_ptypenode2
= var_nodearraylist1
;
8653 /* <var_ptypenode2:nullable Object> isa nullable AType */
8654 cltype
= type_nullable_parser_nodes__AType
.color
;
8655 idtype
= type_nullable_parser_nodes__AType
.id
;
8656 if(var_ptypenode2
== NULL
) {
8659 if(cltype
>= var_ptypenode2
->type
->table_size
) {
8662 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
8665 if (unlikely(!var2
)) {
8666 PRINT_ERROR("Runtime error: %s", "Assert failed");
8667 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8920);
8670 var3
= NEW_parser_nodes__ATypeAtArg(&type_parser_nodes__ATypeAtArg
);
8672 parser_prod__ATypeAtArg__init_atypeatarg(var3
, var_ptypenode2
); /* Direct call parser_prod#ATypeAtArg#init_atypeatarg on <var3:ATypeAtArg>*/
8674 var_patargnode1
= var3
;
8675 var_node_list
= var_patargnode1
;
8676 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction340> */
8678 var5
= parser_work__Parser__go_to(var_p
, var4
);
8681 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8685 /* method parser#ReduceAction340#action for (self: Object, Parser) */
8686 void VIRTUAL_parser__ReduceAction340__action(val
* self
, val
* p0
) {
8687 parser__ReduceAction340__action(self
, p0
); /* Direct call parser#ReduceAction340#action on <self:Object(ReduceAction340)>*/
8690 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
8691 void parser__ReduceAction341__action(val
* self
, val
* p0
) {
8692 val
* var_p
/* var p: Parser */;
8693 val
* var
/* : null */;
8694 val
* var_node_list
/* var node_list: nullable Object */;
8695 val
* var1
/* : nullable Object */;
8696 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8697 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8698 short int var2
/* : Bool */;
8701 val
* var3
/* : AExprAtArg */;
8702 val
* var_patargnode1
/* var patargnode1: nullable AExprAtArg */;
8703 long var4
/* : Int */;
8704 long var5
/* : Int */;
8707 var_node_list
= var
;
8709 var1
= parser_work__Parser__pop(var_p
);
8711 var_nodearraylist1
= var1
;
8712 var_pexprnode2
= var_nodearraylist1
;
8713 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8714 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8715 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8716 if(var_pexprnode2
== NULL
) {
8719 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8722 var2
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8725 if (unlikely(!var2
)) {
8726 PRINT_ERROR("Runtime error: %s", "Assert failed");
8727 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8935);
8730 var3
= NEW_parser_nodes__AExprAtArg(&type_parser_nodes__AExprAtArg
);
8732 parser_prod__AExprAtArg__init_aexpratarg(var3
, var_pexprnode2
); /* Direct call parser_prod#AExprAtArg#init_aexpratarg on <var3:AExprAtArg>*/
8734 var_patargnode1
= var3
;
8735 var_node_list
= var_patargnode1
;
8736 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction341> */
8738 var5
= parser_work__Parser__go_to(var_p
, var4
);
8741 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8745 /* method parser#ReduceAction341#action for (self: Object, Parser) */
8746 void VIRTUAL_parser__ReduceAction341__action(val
* self
, val
* p0
) {
8747 parser__ReduceAction341__action(self
, p0
); /* Direct call parser#ReduceAction341#action on <self:Object(ReduceAction341)>*/
8750 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
8751 void parser__ReduceAction343__action(val
* self
, val
* p0
) {
8752 val
* var_p
/* var p: Parser */;
8753 val
* var
/* : null */;
8754 val
* var_node_list
/* var node_list: nullable Object */;
8755 val
* var1
/* : nullable Object */;
8756 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8757 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
8758 short int var2
/* : Bool */;
8761 val
* var3
/* : AAtAtArg */;
8762 val
* var_patargnode1
/* var patargnode1: nullable AAtAtArg */;
8763 long var4
/* : Int */;
8764 long var5
/* : Int */;
8767 var_node_list
= var
;
8769 var1
= parser_work__Parser__pop(var_p
);
8771 var_nodearraylist1
= var1
;
8772 var_pannotationsnode2
= var_nodearraylist1
;
8773 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
8774 cltype
= type_nullable_parser_nodes__AAnnotations
.color
;
8775 idtype
= type_nullable_parser_nodes__AAnnotations
.id
;
8776 if(var_pannotationsnode2
== NULL
) {
8779 if(cltype
>= var_pannotationsnode2
->type
->table_size
) {
8782 var2
= var_pannotationsnode2
->type
->type_table
[cltype
] == idtype
;
8785 if (unlikely(!var2
)) {
8786 PRINT_ERROR("Runtime error: %s", "Assert failed");
8787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8950);
8790 var3
= NEW_parser_nodes__AAtAtArg(&type_parser_nodes__AAtAtArg
);
8792 parser_prod__AAtAtArg__init_aatatarg(var3
, var_pannotationsnode2
); /* Direct call parser_prod#AAtAtArg#init_aatatarg on <var3:AAtAtArg>*/
8794 var_patargnode1
= var3
;
8795 var_node_list
= var_patargnode1
;
8796 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction343> */
8798 var5
= parser_work__Parser__go_to(var_p
, var4
);
8801 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8805 /* method parser#ReduceAction343#action for (self: Object, Parser) */
8806 void VIRTUAL_parser__ReduceAction343__action(val
* self
, val
* p0
) {
8807 parser__ReduceAction343__action(self
, p0
); /* Direct call parser#ReduceAction343#action on <self:Object(ReduceAction343)>*/
8810 /* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */
8811 void parser__ReduceAction344__action(val
* self
, val
* p0
) {
8812 val
* var_p
/* var p: Parser */;
8813 val
* var
/* : null */;
8814 val
* var_node_list
/* var node_list: nullable Object */;
8815 val
* var1
/* : nullable Object */;
8816 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8817 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8818 short int var2
/* : Bool */;
8821 val
* var3
/* : AIdAtid */;
8822 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
8823 long var4
/* : Int */;
8824 long var5
/* : Int */;
8827 var_node_list
= var
;
8829 var1
= parser_work__Parser__pop(var_p
);
8831 var_nodearraylist1
= var1
;
8832 var_tidnode2
= var_nodearraylist1
;
8833 /* <var_tidnode2:nullable Object> isa nullable TId */
8834 cltype
= type_nullable_parser_nodes__TId
.color
;
8835 idtype
= type_nullable_parser_nodes__TId
.id
;
8836 if(var_tidnode2
== NULL
) {
8839 if(cltype
>= var_tidnode2
->type
->table_size
) {
8842 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8845 if (unlikely(!var2
)) {
8846 PRINT_ERROR("Runtime error: %s", "Assert failed");
8847 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8965);
8850 var3
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
8852 parser_prod__AIdAtid__init_aidatid(var3
, var_tidnode2
); /* Direct call parser_prod#AIdAtid#init_aidatid on <var3:AIdAtid>*/
8854 var_patidnode1
= var3
;
8855 var_node_list
= var_patidnode1
;
8856 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction344> */
8858 var5
= parser_work__Parser__go_to(var_p
, var4
);
8861 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8865 /* method parser#ReduceAction344#action for (self: Object, Parser) */
8866 void VIRTUAL_parser__ReduceAction344__action(val
* self
, val
* p0
) {
8867 parser__ReduceAction344__action(self
, p0
); /* Direct call parser#ReduceAction344#action on <self:Object(ReduceAction344)>*/
8870 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
8871 void parser__ReduceAction345__action(val
* self
, val
* p0
) {
8872 val
* var_p
/* var p: Parser */;
8873 val
* var
/* : null */;
8874 val
* var_node_list
/* var node_list: nullable Object */;
8875 val
* var1
/* : nullable Object */;
8876 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8877 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
8878 short int var2
/* : Bool */;
8881 val
* var3
/* : AKwreadableAtid */;
8882 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
8883 long var4
/* : Int */;
8884 long var5
/* : Int */;
8887 var_node_list
= var
;
8889 var1
= parser_work__Parser__pop(var_p
);
8891 var_nodearraylist1
= var1
;
8892 var_tkwreadablenode2
= var_nodearraylist1
;
8893 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
8894 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
8895 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
8896 if(var_tkwreadablenode2
== NULL
) {
8899 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
8902 var2
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
8905 if (unlikely(!var2
)) {
8906 PRINT_ERROR("Runtime error: %s", "Assert failed");
8907 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8980);
8910 var3
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
8912 parser_prod__AKwreadableAtid__init_akwreadableatid(var3
, var_tkwreadablenode2
); /* Direct call parser_prod#AKwreadableAtid#init_akwreadableatid on <var3:AKwreadableAtid>*/
8914 var_patidnode1
= var3
;
8915 var_node_list
= var_patidnode1
;
8916 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction345> */
8918 var5
= parser_work__Parser__go_to(var_p
, var4
);
8921 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8925 /* method parser#ReduceAction345#action for (self: Object, Parser) */
8926 void VIRTUAL_parser__ReduceAction345__action(val
* self
, val
* p0
) {
8927 parser__ReduceAction345__action(self
, p0
); /* Direct call parser#ReduceAction345#action on <self:Object(ReduceAction345)>*/
8930 /* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */
8931 void parser__ReduceAction346__action(val
* self
, val
* p0
) {
8932 val
* var_p
/* var p: Parser */;
8933 val
* var
/* : null */;
8934 val
* var_node_list
/* var node_list: nullable Object */;
8935 val
* var1
/* : nullable Object */;
8936 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8937 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
8938 short int var2
/* : Bool */;
8941 val
* var3
/* : AKwwritableAtid */;
8942 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
8943 long var4
/* : Int */;
8944 long var5
/* : Int */;
8947 var_node_list
= var
;
8949 var1
= parser_work__Parser__pop(var_p
);
8951 var_nodearraylist1
= var1
;
8952 var_tkwwritablenode2
= var_nodearraylist1
;
8953 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
8954 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
8955 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
8956 if(var_tkwwritablenode2
== NULL
) {
8959 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
8962 var2
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
8965 if (unlikely(!var2
)) {
8966 PRINT_ERROR("Runtime error: %s", "Assert failed");
8967 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 8995);
8970 var3
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
8972 parser_prod__AKwwritableAtid__init_akwwritableatid(var3
, var_tkwwritablenode2
); /* Direct call parser_prod#AKwwritableAtid#init_akwwritableatid on <var3:AKwwritableAtid>*/
8974 var_patidnode1
= var3
;
8975 var_node_list
= var_patidnode1
;
8976 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction346> */
8978 var5
= parser_work__Parser__go_to(var_p
, var4
);
8981 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8985 /* method parser#ReduceAction346#action for (self: Object, Parser) */
8986 void VIRTUAL_parser__ReduceAction346__action(val
* self
, val
* p0
) {
8987 parser__ReduceAction346__action(self
, p0
); /* Direct call parser#ReduceAction346#action on <self:Object(ReduceAction346)>*/
8990 /* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */
8991 void parser__ReduceAction347__action(val
* self
, val
* p0
) {
8992 val
* var_p
/* var p: Parser */;
8993 val
* var
/* : null */;
8994 val
* var_node_list
/* var node_list: nullable Object */;
8995 val
* var1
/* : nullable Object */;
8996 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8997 val
* var2
/* : nullable Object */;
8998 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8999 val
* var3
/* : nullable Object */;
9000 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9001 val
* var4
/* : nullable Object */;
9002 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9003 val
* var5
/* : Array[Object] */;
9004 val
* var_listnode4
/* var listnode4: Array[Object] */;
9005 val
* var_toparnode2
/* var toparnode2: nullable Object */;
9006 short int var6
/* : Bool */;
9009 val
* var_listnode3
/* var listnode3: nullable Object */;
9010 short int var7
/* : Bool */;
9013 val
* var10
/* : Array[Object] */;
9014 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
9015 short int var11
/* : Bool */;
9018 val
* var14
/* : AParExprs */;
9019 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
9020 long var15
/* : Int */;
9021 long var16
/* : Int */;
9024 var_node_list
= var
;
9026 var1
= parser_work__Parser__pop(var_p
);
9028 var_nodearraylist4
= var1
;
9030 var2
= parser_work__Parser__pop(var_p
);
9032 var_nodearraylist3
= var2
;
9034 var3
= parser_work__Parser__pop(var_p
);
9036 var_nodearraylist2
= var3
;
9038 var4
= parser_work__Parser__pop(var_p
);
9040 var_nodearraylist1
= var4
;
9041 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
9043 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
9045 var_listnode4
= var5
;
9046 var_toparnode2
= var_nodearraylist1
;
9047 /* <var_toparnode2:nullable Object> isa nullable TOpar */
9048 cltype
= type_nullable_parser_nodes__TOpar
.color
;
9049 idtype
= type_nullable_parser_nodes__TOpar
.id
;
9050 if(var_toparnode2
== NULL
) {
9053 if(cltype
>= var_toparnode2
->type
->table_size
) {
9056 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
9059 if (unlikely(!var6
)) {
9060 PRINT_ERROR("Runtime error: %s", "Assert failed");
9061 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9014);
9064 var_listnode3
= var_nodearraylist3
;
9065 /* <var_listnode3:nullable Object> isa Array[Object] */
9066 cltype8
= type_array__Arraykernel__Object
.color
;
9067 idtype9
= type_array__Arraykernel__Object
.id
;
9068 if(var_listnode3
== NULL
) {
9071 if(cltype8
>= var_listnode3
->type
->table_size
) {
9074 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
9077 if (unlikely(!var7
)) {
9078 PRINT_ERROR("Runtime error: %s", "Assert failed");
9079 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9016);
9083 var10
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
9085 var_listnode4
= var10
;
9086 var_tcparnode5
= var_nodearraylist4
;
9087 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
9088 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
9089 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
9090 if(var_tcparnode5
== NULL
) {
9093 if(cltype12
>= var_tcparnode5
->type
->table_size
) {
9096 var11
= var_tcparnode5
->type
->type_table
[cltype12
] == idtype13
;
9099 if (unlikely(!var11
)) {
9100 PRINT_ERROR("Runtime error: %s", "Assert failed");
9101 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9019);
9104 var14
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
9106 parser_prod__AParExprs__init_aparexprs(var14
, var_toparnode2
, var_listnode4
, var_tcparnode5
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var14:AParExprs>*/
9108 var_pexprsnode1
= var14
;
9109 var_node_list
= var_pexprsnode1
;
9110 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction347> */
9112 var16
= parser_work__Parser__go_to(var_p
, var15
);
9115 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9119 /* method parser#ReduceAction347#action for (self: Object, Parser) */
9120 void VIRTUAL_parser__ReduceAction347__action(val
* self
, val
* p0
) {
9121 parser__ReduceAction347__action(self
, p0
); /* Direct call parser#ReduceAction347#action on <self:Object(ReduceAction347)>*/
9124 /* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */
9125 void parser__ReduceAction348__action(val
* self
, val
* p0
) {
9126 val
* var_p
/* var p: Parser */;
9127 val
* var
/* : null */;
9128 val
* var_node_list
/* var node_list: nullable Object */;
9129 val
* var1
/* : nullable Object */;
9130 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9131 val
* var2
/* : nullable Object */;
9132 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9133 val
* var3
/* : nullable Object */;
9134 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9135 val
* var4
/* : Array[Object] */;
9136 val
* var_listnode3
/* var listnode3: Array[Object] */;
9137 val
* var_toparnode2
/* var toparnode2: nullable Object */;
9138 short int var5
/* : Bool */;
9141 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
9142 short int var6
/* : Bool */;
9145 val
* var9
/* : AParExprs */;
9146 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
9147 long var10
/* : Int */;
9148 long var11
/* : Int */;
9151 var_node_list
= var
;
9153 var1
= parser_work__Parser__pop(var_p
);
9155 var_nodearraylist3
= var1
;
9157 var2
= parser_work__Parser__pop(var_p
);
9159 var_nodearraylist2
= var2
;
9161 var3
= parser_work__Parser__pop(var_p
);
9163 var_nodearraylist1
= var3
;
9164 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
9166 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
9168 var_listnode3
= var4
;
9169 var_toparnode2
= var_nodearraylist1
;
9170 /* <var_toparnode2:nullable Object> isa nullable TOpar */
9171 cltype
= type_nullable_parser_nodes__TOpar
.color
;
9172 idtype
= type_nullable_parser_nodes__TOpar
.id
;
9173 if(var_toparnode2
== NULL
) {
9176 if(cltype
>= var_toparnode2
->type
->table_size
) {
9179 var5
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
9182 if (unlikely(!var5
)) {
9183 PRINT_ERROR("Runtime error: %s", "Assert failed");
9184 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9039);
9187 var_tcparnode4
= var_nodearraylist3
;
9188 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
9189 cltype7
= type_nullable_parser_nodes__TCpar
.color
;
9190 idtype8
= type_nullable_parser_nodes__TCpar
.id
;
9191 if(var_tcparnode4
== NULL
) {
9194 if(cltype7
>= var_tcparnode4
->type
->table_size
) {
9197 var6
= var_tcparnode4
->type
->type_table
[cltype7
] == idtype8
;
9200 if (unlikely(!var6
)) {
9201 PRINT_ERROR("Runtime error: %s", "Assert failed");
9202 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9041);
9205 var9
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
9207 parser_prod__AParExprs__init_aparexprs(var9
, var_toparnode2
, var_listnode3
, var_tcparnode4
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var9:AParExprs>*/
9209 var_pexprsnode1
= var9
;
9210 var_node_list
= var_pexprsnode1
;
9211 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction348> */
9213 var11
= parser_work__Parser__go_to(var_p
, var10
);
9216 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9220 /* method parser#ReduceAction348#action for (self: Object, Parser) */
9221 void VIRTUAL_parser__ReduceAction348__action(val
* self
, val
* p0
) {
9222 parser__ReduceAction348__action(self
, p0
); /* Direct call parser#ReduceAction348#action on <self:Object(ReduceAction348)>*/
9225 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
9226 void parser__ReduceAction349__action(val
* self
, val
* p0
) {
9227 val
* var_p
/* var p: Parser */;
9228 val
* var
/* : null */;
9229 val
* var_node_list
/* var node_list: nullable Object */;
9230 val
* var1
/* : Array[Object] */;
9231 val
* var_listnode2
/* var listnode2: Array[Object] */;
9232 val
* var2
/* : AListExprs */;
9233 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
9234 long var3
/* : Int */;
9235 long var4
/* : Int */;
9238 var_node_list
= var
;
9239 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
9241 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
9243 var_listnode2
= var1
;
9244 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
9246 parser_prod__AListExprs__init_alistexprs(var2
, var_listnode2
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var2:AListExprs>*/
9248 var_pexprsnode1
= var2
;
9249 var_node_list
= var_pexprsnode1
;
9250 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction349> */
9252 var4
= parser_work__Parser__go_to(var_p
, var3
);
9255 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9259 /* method parser#ReduceAction349#action for (self: Object, Parser) */
9260 void VIRTUAL_parser__ReduceAction349__action(val
* self
, val
* p0
) {
9261 parser__ReduceAction349__action(self
, p0
); /* Direct call parser#ReduceAction349#action on <self:Object(ReduceAction349)>*/
9264 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
9265 void parser__ReduceAction351__action(val
* self
, val
* p0
) {
9266 val
* var_p
/* var p: Parser */;
9267 val
* var
/* : null */;
9268 val
* var_node_list
/* var node_list: nullable Object */;
9269 val
* var1
/* : nullable Object */;
9270 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9271 val
* var2
/* : Array[Object] */;
9272 val
* var_listnode3
/* var listnode3: Array[Object] */;
9273 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9274 short int var3
/* : Bool */;
9277 val
* var4
/* : null */;
9278 short int var5
/* : Bool */;
9279 short int var6
/* : Bool */;
9280 val
* var_other
/* var other: nullable Object */;
9281 short int var8
/* : Bool */;
9282 short int var9
/* : Bool */;
9283 short int var10
/* : Bool */;
9284 val
* var11
/* : AListExprs */;
9285 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
9286 long var12
/* : Int */;
9287 long var13
/* : Int */;
9290 var_node_list
= var
;
9292 var1
= parser_work__Parser__pop(var_p
);
9294 var_nodearraylist1
= var1
;
9295 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9297 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9299 var_listnode3
= var2
;
9300 var_pexprnode2
= var_nodearraylist1
;
9301 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9302 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9303 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9304 if(var_pexprnode2
== NULL
) {
9307 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9310 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9313 if (unlikely(!var3
)) {
9314 PRINT_ERROR("Runtime error: %s", "Assert failed");
9315 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9072);
9319 if (var_pexprnode2
== NULL
) {
9320 var5
= 0; /* is null */
9322 var5
= 1; /* arg is null and recv is not */
9325 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
9328 var9
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
9340 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9344 var11
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
9346 parser_prod__AListExprs__init_alistexprs(var11
, var_listnode3
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
9348 var_pexprsnode1
= var11
;
9349 var_node_list
= var_pexprsnode1
;
9350 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction351> */
9352 var13
= parser_work__Parser__go_to(var_p
, var12
);
9355 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9359 /* method parser#ReduceAction351#action for (self: Object, Parser) */
9360 void VIRTUAL_parser__ReduceAction351__action(val
* self
, val
* p0
) {
9361 parser__ReduceAction351__action(self
, p0
); /* Direct call parser#ReduceAction351#action on <self:Object(ReduceAction351)>*/
9364 /* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */
9365 void parser__ReduceAction354__action(val
* self
, val
* p0
) {
9366 val
* var_p
/* var p: Parser */;
9367 val
* var
/* : null */;
9368 val
* var_node_list
/* var node_list: nullable Object */;
9369 val
* var1
/* : nullable Object */;
9370 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9371 val
* var2
/* : nullable Object */;
9372 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9373 val
* var3
/* : nullable Object */;
9374 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9375 val
* var4
/* : nullable Object */;
9376 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9377 val
* var5
/* : Array[Object] */;
9378 val
* var_listnode4
/* var listnode4: Array[Object] */;
9379 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9380 short int var6
/* : Bool */;
9383 val
* var_listnode3
/* var listnode3: nullable Object */;
9384 short int var7
/* : Bool */;
9387 val
* var10
/* : Array[Object] */;
9388 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
9389 short int var11
/* : Bool */;
9392 val
* var14
/* : ABraExprs */;
9393 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
9394 long var15
/* : Int */;
9395 long var16
/* : Int */;
9398 var_node_list
= var
;
9400 var1
= parser_work__Parser__pop(var_p
);
9402 var_nodearraylist4
= var1
;
9404 var2
= parser_work__Parser__pop(var_p
);
9406 var_nodearraylist3
= var2
;
9408 var3
= parser_work__Parser__pop(var_p
);
9410 var_nodearraylist2
= var3
;
9412 var4
= parser_work__Parser__pop(var_p
);
9414 var_nodearraylist1
= var4
;
9415 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
9417 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
9419 var_listnode4
= var5
;
9420 var_tobranode2
= var_nodearraylist1
;
9421 /* <var_tobranode2:nullable Object> isa nullable TObra */
9422 cltype
= type_nullable_parser_nodes__TObra
.color
;
9423 idtype
= type_nullable_parser_nodes__TObra
.id
;
9424 if(var_tobranode2
== NULL
) {
9427 if(cltype
>= var_tobranode2
->type
->table_size
) {
9430 var6
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9433 if (unlikely(!var6
)) {
9434 PRINT_ERROR("Runtime error: %s", "Assert failed");
9435 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9094);
9438 var_listnode3
= var_nodearraylist3
;
9439 /* <var_listnode3:nullable Object> isa Array[Object] */
9440 cltype8
= type_array__Arraykernel__Object
.color
;
9441 idtype9
= type_array__Arraykernel__Object
.id
;
9442 if(var_listnode3
== NULL
) {
9445 if(cltype8
>= var_listnode3
->type
->table_size
) {
9448 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
9451 if (unlikely(!var7
)) {
9452 PRINT_ERROR("Runtime error: %s", "Assert failed");
9453 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9096);
9457 var10
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
9459 var_listnode4
= var10
;
9460 var_tcbranode5
= var_nodearraylist4
;
9461 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
9462 cltype12
= type_nullable_parser_nodes__TCbra
.color
;
9463 idtype13
= type_nullable_parser_nodes__TCbra
.id
;
9464 if(var_tcbranode5
== NULL
) {
9467 if(cltype12
>= var_tcbranode5
->type
->table_size
) {
9470 var11
= var_tcbranode5
->type
->type_table
[cltype12
] == idtype13
;
9473 if (unlikely(!var11
)) {
9474 PRINT_ERROR("Runtime error: %s", "Assert failed");
9475 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9099);
9478 var14
= NEW_parser_nodes__ABraExprs(&type_parser_nodes__ABraExprs
);
9480 parser_prod__ABraExprs__init_abraexprs(var14
, var_tobranode2
, var_listnode4
, var_tcbranode5
); /* Direct call parser_prod#ABraExprs#init_abraexprs on <var14:ABraExprs>*/
9482 var_pexprsnode1
= var14
;
9483 var_node_list
= var_pexprsnode1
;
9484 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction354> */
9486 var16
= parser_work__Parser__go_to(var_p
, var15
);
9489 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9493 /* method parser#ReduceAction354#action for (self: Object, Parser) */
9494 void VIRTUAL_parser__ReduceAction354__action(val
* self
, val
* p0
) {
9495 parser__ReduceAction354__action(self
, p0
); /* Direct call parser#ReduceAction354#action on <self:Object(ReduceAction354)>*/
9498 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
9499 void parser__ReduceAction356__action(val
* self
, val
* p0
) {
9500 val
* var_p
/* var p: Parser */;
9501 val
* var
/* : null */;
9502 val
* var_node_list
/* var node_list: nullable Object */;
9503 val
* var1
/* : nullable Object */;
9504 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9505 val
* var2
/* : nullable Object */;
9506 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9507 val
* var3
/* : nullable Object */;
9508 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9509 val
* var4
/* : Array[Object] */;
9510 val
* var_listnode3
/* var listnode3: Array[Object] */;
9511 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9512 val
* var_listnode2
/* var listnode2: nullable Object */;
9513 short int var5
/* : Bool */;
9516 val
* var6
/* : null */;
9517 short int var7
/* : Bool */;
9518 short int var8
/* : Bool */;
9519 val
* var9
/* : Array[Object] */;
9520 long var10
/* : Int */;
9521 long var11
/* : Int */;
9524 var_node_list
= var
;
9526 var1
= parser_work__Parser__pop(var_p
);
9528 var_nodearraylist3
= var1
;
9530 var2
= parser_work__Parser__pop(var_p
);
9532 var_nodearraylist2
= var2
;
9534 var3
= parser_work__Parser__pop(var_p
);
9536 var_nodearraylist1
= var3
;
9537 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
9539 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
9541 var_listnode3
= var4
;
9542 var_pexprnode1
= var_nodearraylist1
;
9543 var_listnode2
= var_nodearraylist3
;
9544 /* <var_listnode2:nullable Object> isa Array[Object] */
9545 cltype
= type_array__Arraykernel__Object
.color
;
9546 idtype
= type_array__Arraykernel__Object
.id
;
9547 if(var_listnode2
== NULL
) {
9550 if(cltype
>= var_listnode2
->type
->table_size
) {
9553 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
9556 if (unlikely(!var5
)) {
9557 PRINT_ERROR("Runtime error: %s", "Assert failed");
9558 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9120);
9562 if (var_pexprnode1
== NULL
) {
9563 var7
= 0; /* is null */
9565 var7
= 1; /* arg is null and recv is not */
9568 var8
= ((short int (*)(val
*, val
*))(var_pexprnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pexprnode1
, var6
) /* != on <var_pexprnode1:nullable Object>*/;
9573 array__Array__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9578 var9
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
9580 var_listnode3
= var9
;
9581 var_node_list
= var_listnode3
;
9582 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction356> */
9584 var11
= parser_work__Parser__go_to(var_p
, var10
);
9587 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9591 /* method parser#ReduceAction356#action for (self: Object, Parser) */
9592 void VIRTUAL_parser__ReduceAction356__action(val
* self
, val
* p0
) {
9593 parser__ReduceAction356__action(self
, p0
); /* Direct call parser#ReduceAction356#action on <self:Object(ReduceAction356)>*/
9596 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
9597 void parser__ReduceAction357__action(val
* self
, val
* p0
) {
9598 val
* var_p
/* var p: Parser */;
9599 val
* var
/* : null */;
9600 val
* var_node_list
/* var node_list: nullable Object */;
9601 val
* var1
/* : nullable Object */;
9602 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9603 val
* var2
/* : nullable Object */;
9604 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9605 val
* var3
/* : nullable Object */;
9606 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9607 val
* var4
/* : nullable Object */;
9608 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9609 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9610 long var5
/* : Int */;
9611 long var6
/* : Int */;
9614 var_node_list
= var
;
9616 var1
= parser_work__Parser__pop(var_p
);
9618 var_nodearraylist4
= var1
;
9620 var2
= parser_work__Parser__pop(var_p
);
9622 var_nodearraylist3
= var2
;
9624 var3
= parser_work__Parser__pop(var_p
);
9626 var_nodearraylist2
= var3
;
9628 var4
= parser_work__Parser__pop(var_p
);
9630 var_nodearraylist1
= var4
;
9631 var_pexprnode1
= var_nodearraylist3
;
9632 var_node_list
= var_pexprnode1
;
9633 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction357> */
9635 var6
= parser_work__Parser__go_to(var_p
, var5
);
9638 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9642 /* method parser#ReduceAction357#action for (self: Object, Parser) */
9643 void VIRTUAL_parser__ReduceAction357__action(val
* self
, val
* p0
) {
9644 parser__ReduceAction357__action(self
, p0
); /* Direct call parser#ReduceAction357#action on <self:Object(ReduceAction357)>*/
9647 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
9648 void parser__ReduceAction358__action(val
* self
, val
* p0
) {
9649 val
* var_p
/* var p: Parser */;
9650 val
* var
/* : null */;
9651 val
* var_node_list
/* var node_list: nullable Object */;
9652 val
* var1
/* : nullable Object */;
9653 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9654 val
* var2
/* : Array[Object] */;
9655 val
* var_listnode2
/* var listnode2: Array[Object] */;
9656 val
* var_tidnode1
/* var tidnode1: nullable Object */;
9657 val
* var3
/* : null */;
9658 short int var4
/* : Bool */;
9659 short int var5
/* : Bool */;
9660 long var6
/* : Int */;
9661 long var7
/* : Int */;
9664 var_node_list
= var
;
9666 var1
= parser_work__Parser__pop(var_p
);
9668 var_nodearraylist1
= var1
;
9669 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9671 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9673 var_listnode2
= var2
;
9674 var_tidnode1
= var_nodearraylist1
;
9676 if (var_tidnode1
== NULL
) {
9677 var4
= 0; /* is null */
9679 var4
= 1; /* arg is null and recv is not */
9682 var5
= ((short int (*)(val
*, val
*))(var_tidnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_tidnode1
, var3
) /* != on <var_tidnode1:nullable Object>*/;
9687 array__Array__add(var_listnode2
, var_tidnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
9691 var_node_list
= var_listnode2
;
9692 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction358> */
9694 var7
= parser_work__Parser__go_to(var_p
, var6
);
9697 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9701 /* method parser#ReduceAction358#action for (self: Object, Parser) */
9702 void VIRTUAL_parser__ReduceAction358__action(val
* self
, val
* p0
) {
9703 parser__ReduceAction358__action(self
, p0
); /* Direct call parser#ReduceAction358#action on <self:Object(ReduceAction358)>*/
9706 /* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */
9707 void parser__ReduceAction359__action(val
* self
, val
* p0
) {
9708 val
* var_p
/* var p: Parser */;
9709 val
* var
/* : null */;
9710 val
* var_node_list
/* var node_list: nullable Object */;
9711 val
* var1
/* : nullable Object */;
9712 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9713 val
* var2
/* : nullable Object */;
9714 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9715 val
* var3
/* : nullable Object */;
9716 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9717 val
* var4
/* : nullable Object */;
9718 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9719 val
* var5
/* : nullable Object */;
9720 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9721 val
* var6
/* : Array[Object] */;
9722 val
* var_listnode3
/* var listnode3: Array[Object] */;
9723 val
* var_listnode1
/* var listnode1: nullable Object */;
9724 short int var7
/* : Bool */;
9727 val
* var_tidnode2
/* var tidnode2: nullable Object */;
9728 val
* var8
/* : Array[Object] */;
9729 val
* var9
/* : null */;
9730 short int var10
/* : Bool */;
9731 short int var11
/* : Bool */;
9732 long var12
/* : Int */;
9733 long var13
/* : Int */;
9736 var_node_list
= var
;
9738 var1
= parser_work__Parser__pop(var_p
);
9740 var_nodearraylist5
= var1
;
9742 var2
= parser_work__Parser__pop(var_p
);
9744 var_nodearraylist4
= var2
;
9746 var3
= parser_work__Parser__pop(var_p
);
9748 var_nodearraylist3
= var3
;
9750 var4
= parser_work__Parser__pop(var_p
);
9752 var_nodearraylist2
= var4
;
9754 var5
= parser_work__Parser__pop(var_p
);
9756 var_nodearraylist1
= var5
;
9757 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
9759 array__Array__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
9761 var_listnode3
= var6
;
9762 var_listnode1
= var_nodearraylist1
;
9763 /* <var_listnode1:nullable Object> isa Array[Object] */
9764 cltype
= type_array__Arraykernel__Object
.color
;
9765 idtype
= type_array__Arraykernel__Object
.id
;
9766 if(var_listnode1
== NULL
) {
9769 if(cltype
>= var_listnode1
->type
->table_size
) {
9772 var7
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9775 if (unlikely(!var7
)) {
9776 PRINT_ERROR("Runtime error: %s", "Assert failed");
9777 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9170);
9780 var_tidnode2
= var_nodearraylist5
;
9782 var8
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode1
);
9784 var_listnode3
= var8
;
9786 if (var_tidnode2
== NULL
) {
9787 var10
= 0; /* is null */
9789 var10
= 1; /* arg is null and recv is not */
9792 var11
= ((short int (*)(val
*, val
*))(var_tidnode2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_tidnode2
, var9
) /* != on <var_tidnode2:nullable Object>*/;
9797 array__Array__add(var_listnode3
, var_tidnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9801 var_node_list
= var_listnode3
;
9802 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction359> */
9804 var13
= parser_work__Parser__go_to(var_p
, var12
);
9807 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9811 /* method parser#ReduceAction359#action for (self: Object, Parser) */
9812 void VIRTUAL_parser__ReduceAction359__action(val
* self
, val
* p0
) {
9813 parser__ReduceAction359__action(self
, p0
); /* Direct call parser#ReduceAction359#action on <self:Object(ReduceAction359)>*/
9816 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
9817 void parser__ReduceAction360__action(val
* self
, val
* p0
) {
9818 val
* var_p
/* var p: Parser */;
9819 val
* var
/* : null */;
9820 val
* var_node_list
/* var node_list: nullable Object */;
9821 val
* var1
/* : nullable Object */;
9822 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9823 val
* var2
/* : Array[Object] */;
9824 val
* var_listnode3
/* var listnode3: Array[Object] */;
9825 val
* var_tidnode4
/* var tidnode4: nullable Object */;
9826 short int var3
/* : Bool */;
9829 val
* var4
/* : AModuleName */;
9830 val
* var5
/* : null */;
9831 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
9832 long var6
/* : Int */;
9833 long var7
/* : Int */;
9836 var_node_list
= var
;
9838 var1
= parser_work__Parser__pop(var_p
);
9840 var_nodearraylist1
= var1
;
9841 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9843 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9845 var_listnode3
= var2
;
9846 var_tidnode4
= var_nodearraylist1
;
9847 /* <var_tidnode4:nullable Object> isa nullable TId */
9848 cltype
= type_nullable_parser_nodes__TId
.color
;
9849 idtype
= type_nullable_parser_nodes__TId
.id
;
9850 if(var_tidnode4
== NULL
) {
9853 if(cltype
>= var_tidnode4
->type
->table_size
) {
9856 var3
= var_tidnode4
->type
->type_table
[cltype
] == idtype
;
9859 if (unlikely(!var3
)) {
9860 PRINT_ERROR("Runtime error: %s", "Assert failed");
9861 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9188);
9864 var4
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
9867 parser_prod__AModuleName__init_amodulename(var4
, var5
, var_listnode3
, var_tidnode4
); /* Direct call parser_prod#AModuleName#init_amodulename on <var4:AModuleName>*/
9869 var_pmodulenamenode1
= var4
;
9870 var_node_list
= var_pmodulenamenode1
;
9871 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction360> */
9873 var7
= parser_work__Parser__go_to(var_p
, var6
);
9876 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9880 /* method parser#ReduceAction360#action for (self: Object, Parser) */
9881 void VIRTUAL_parser__ReduceAction360__action(val
* self
, val
* p0
) {
9882 parser__ReduceAction360__action(self
, p0
); /* Direct call parser#ReduceAction360#action on <self:Object(ReduceAction360)>*/
9885 /* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */
9886 void parser__ReduceAction361__action(val
* self
, val
* p0
) {
9887 val
* var_p
/* var p: Parser */;
9888 val
* var
/* : null */;
9889 val
* var_node_list
/* var node_list: nullable Object */;
9890 val
* var1
/* : nullable Object */;
9891 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9892 val
* var2
/* : nullable Object */;
9893 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9894 val
* var3
/* : Array[Object] */;
9895 val
* var_listnode4
/* var listnode4: Array[Object] */;
9896 val
* var_listnode3
/* var listnode3: nullable Object */;
9897 short int var4
/* : Bool */;
9900 val
* var5
/* : Array[Object] */;
9901 val
* var_tidnode5
/* var tidnode5: nullable Object */;
9902 short int var6
/* : Bool */;
9905 val
* var9
/* : AModuleName */;
9906 val
* var10
/* : null */;
9907 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
9908 long var11
/* : Int */;
9909 long var12
/* : Int */;
9912 var_node_list
= var
;
9914 var1
= parser_work__Parser__pop(var_p
);
9916 var_nodearraylist2
= var1
;
9918 var2
= parser_work__Parser__pop(var_p
);
9920 var_nodearraylist1
= var2
;
9921 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9923 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9925 var_listnode4
= var3
;
9926 var_listnode3
= var_nodearraylist1
;
9927 /* <var_listnode3:nullable Object> isa Array[Object] */
9928 cltype
= type_array__Arraykernel__Object
.color
;
9929 idtype
= type_array__Arraykernel__Object
.id
;
9930 if(var_listnode3
== NULL
) {
9933 if(cltype
>= var_listnode3
->type
->table_size
) {
9936 var4
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
9939 if (unlikely(!var4
)) {
9940 PRINT_ERROR("Runtime error: %s", "Assert failed");
9941 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9207);
9945 var5
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
9947 var_listnode4
= var5
;
9948 var_tidnode5
= var_nodearraylist2
;
9949 /* <var_tidnode5:nullable Object> isa nullable TId */
9950 cltype7
= type_nullable_parser_nodes__TId
.color
;
9951 idtype8
= type_nullable_parser_nodes__TId
.id
;
9952 if(var_tidnode5
== NULL
) {
9955 if(cltype7
>= var_tidnode5
->type
->table_size
) {
9958 var6
= var_tidnode5
->type
->type_table
[cltype7
] == idtype8
;
9961 if (unlikely(!var6
)) {
9962 PRINT_ERROR("Runtime error: %s", "Assert failed");
9963 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 9210);
9966 var9
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
9969 parser_prod__AModuleName__init_amodulename(var9
, var10
, var_listnode4
, var_tidnode5
); /* Direct call parser_prod#AModuleName#init_amodulename on <var9:AModuleName>*/
9971 var_pmodulenamenode1
= var9
;
9972 var_node_list
= var_pmodulenamenode1
;
9973 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction361> */
9975 var12
= parser_work__Parser__go_to(var_p
, var11
);
9978 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9982 /* method parser#ReduceAction361#action for (self: Object, Parser) */
9983 void VIRTUAL_parser__ReduceAction361__action(val
* self
, val
* p0
) {
9984 parser__ReduceAction361__action(self
, p0
); /* Direct call parser#ReduceAction361#action on <self:Object(ReduceAction361)>*/