1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */
3 void parser__ReduceAction69__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_nodearraylist7
/* var nodearraylist7: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
19 val
* var7
/* : nullable Object */;
20 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
21 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
22 short int var8
/* : Bool */;
25 val
* var_pablenode4
/* var pablenode4: nullable Object */;
26 short int var9
/* : Bool */;
29 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
30 short int var12
/* : Bool */;
33 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
34 short int var15
/* : Bool */;
37 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
38 short int var18
/* : Bool */;
41 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
42 short int var21
/* : Bool */;
45 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
46 short int var24
/* : Bool */;
49 val
* var27
/* : AAttrPropdef */;
50 val
* var28
/* : null */;
51 val
* var29
/* : null */;
52 val
* var30
/* : null */;
53 val
* var31
/* : null */;
54 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
55 long var32
/* : Int */;
56 long var33
/* : Int */;
61 var1
= parser_work__Parser__pop(var_p
);
63 var_nodearraylist7
= var1
;
65 var2
= parser_work__Parser__pop(var_p
);
67 var_nodearraylist6
= var2
;
69 var3
= parser_work__Parser__pop(var_p
);
71 var_nodearraylist5
= var3
;
73 var4
= parser_work__Parser__pop(var_p
);
75 var_nodearraylist4
= var4
;
77 var5
= parser_work__Parser__pop(var_p
);
79 var_nodearraylist3
= var5
;
81 var6
= parser_work__Parser__pop(var_p
);
83 var_nodearraylist2
= var6
;
85 var7
= parser_work__Parser__pop(var_p
);
87 var_nodearraylist1
= var7
;
88 var_pdocnode2
= var_nodearraylist1
;
89 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
90 cltype
= type_nullable_parser_nodes__ADoc
.color
;
91 idtype
= type_nullable_parser_nodes__ADoc
.id
;
92 if(var_pdocnode2
== NULL
) {
95 if(cltype
>= var_pdocnode2
->type
->table_size
) {
98 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
101 if (unlikely(!var8
)) {
102 PRINT_ERROR("Runtime error: %s", "Assert failed");
103 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3241);
106 var_pablenode4
= var_nodearraylist2
;
107 /* <var_pablenode4:nullable Object> isa nullable AAble */
108 cltype10
= type_nullable_parser_nodes__AAble
.color
;
109 idtype11
= type_nullable_parser_nodes__AAble
.id
;
110 if(var_pablenode4
== NULL
) {
113 if(cltype10
>= var_pablenode4
->type
->table_size
) {
116 var9
= var_pablenode4
->type
->type_table
[cltype10
] == idtype11
;
119 if (unlikely(!var9
)) {
120 PRINT_ERROR("Runtime error: %s", "Assert failed");
121 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3243);
124 var_tkwredefnode5
= var_nodearraylist3
;
125 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
126 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
127 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
128 if(var_tkwredefnode5
== NULL
) {
131 if(cltype13
>= var_tkwredefnode5
->type
->table_size
) {
134 var12
= var_tkwredefnode5
->type
->type_table
[cltype13
] == idtype14
;
137 if (unlikely(!var12
)) {
138 PRINT_ERROR("Runtime error: %s", "Assert failed");
139 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3245);
142 var_pvisibilitynode6
= var_nodearraylist4
;
143 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
144 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
145 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
146 if(var_pvisibilitynode6
== NULL
) {
149 if(cltype16
>= var_pvisibilitynode6
->type
->table_size
) {
152 var15
= var_pvisibilitynode6
->type
->type_table
[cltype16
] == idtype17
;
155 if (unlikely(!var15
)) {
156 PRINT_ERROR("Runtime error: %s", "Assert failed");
157 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3247);
160 var_tkwvarnode7
= var_nodearraylist5
;
161 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
162 cltype19
= type_nullable_parser_nodes__TKwvar
.color
;
163 idtype20
= type_nullable_parser_nodes__TKwvar
.id
;
164 if(var_tkwvarnode7
== NULL
) {
167 if(cltype19
>= var_tkwvarnode7
->type
->table_size
) {
170 var18
= var_tkwvarnode7
->type
->type_table
[cltype19
] == idtype20
;
173 if (unlikely(!var18
)) {
174 PRINT_ERROR("Runtime error: %s", "Assert failed");
175 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3249);
178 var_tattridnode8
= var_nodearraylist6
;
179 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
180 cltype22
= type_nullable_parser_nodes__TAttrid
.color
;
181 idtype23
= type_nullable_parser_nodes__TAttrid
.id
;
182 if(var_tattridnode8
== NULL
) {
185 if(cltype22
>= var_tattridnode8
->type
->table_size
) {
188 var21
= var_tattridnode8
->type
->type_table
[cltype22
] == idtype23
;
191 if (unlikely(!var21
)) {
192 PRINT_ERROR("Runtime error: %s", "Assert failed");
193 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3251);
196 var_ptypenode10
= var_nodearraylist7
;
197 /* <var_ptypenode10:nullable Object> isa nullable AType */
198 cltype25
= type_nullable_parser_nodes__AType
.color
;
199 idtype26
= type_nullable_parser_nodes__AType
.id
;
200 if(var_ptypenode10
== NULL
) {
203 if(cltype25
>= var_ptypenode10
->type
->table_size
) {
206 var24
= var_ptypenode10
->type
->type_table
[cltype25
] == idtype26
;
209 if (unlikely(!var24
)) {
210 PRINT_ERROR("Runtime error: %s", "Assert failed");
211 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3253);
214 var27
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
220 parser_prod__AAttrPropdef__init_aattrpropdef(var27
, var_pdocnode2
, var28
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var29
, var_ptypenode10
, var30
, var31
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var27:AAttrPropdef>*/
222 var_ppropdefnode1
= var27
;
223 var_node_list
= var_ppropdefnode1
;
224 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction69> */
226 var33
= parser_work__Parser__go_to(var_p
, var32
);
229 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
233 /* method parser#ReduceAction69#action for (self: Object, Parser) */
234 void VIRTUAL_parser__ReduceAction69__action(val
* self
, val
* p0
) {
235 parser__ReduceAction69__action(self
, p0
); /* Direct call parser#ReduceAction69#action on <self:Object(ReduceAction69)>*/
238 /* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */
239 void parser__ReduceAction70__action(val
* self
, val
* p0
) {
240 val
* var_p
/* var p: Parser */;
241 val
* var
/* : null */;
242 val
* var_node_list
/* var node_list: nullable Object */;
243 val
* var1
/* : nullable Object */;
244 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
245 val
* var2
/* : nullable Object */;
246 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
247 val
* var3
/* : nullable Object */;
248 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
249 val
* var4
/* : nullable Object */;
250 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
251 val
* var5
/* : nullable Object */;
252 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
253 val
* var6
/* : nullable Object */;
254 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
255 val
* var7
/* : nullable Object */;
256 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
257 val
* var8
/* : nullable Object */;
258 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
259 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
260 short int var9
/* : Bool */;
263 val
* var_pablenode3
/* var pablenode3: nullable Object */;
264 short int var10
/* : Bool */;
267 val
* var_pablenode4
/* var pablenode4: nullable Object */;
268 short int var13
/* : Bool */;
271 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
272 short int var16
/* : Bool */;
275 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
276 short int var19
/* : Bool */;
279 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
280 short int var22
/* : Bool */;
283 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
284 short int var25
/* : Bool */;
287 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
288 short int var28
/* : Bool */;
291 val
* var31
/* : AAttrPropdef */;
292 val
* var32
/* : null */;
293 val
* var33
/* : null */;
294 val
* var34
/* : null */;
295 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
296 long var35
/* : Int */;
297 long var36
/* : Int */;
302 var1
= parser_work__Parser__pop(var_p
);
304 var_nodearraylist8
= var1
;
306 var2
= parser_work__Parser__pop(var_p
);
308 var_nodearraylist7
= var2
;
310 var3
= parser_work__Parser__pop(var_p
);
312 var_nodearraylist6
= var3
;
314 var4
= parser_work__Parser__pop(var_p
);
316 var_nodearraylist5
= var4
;
318 var5
= parser_work__Parser__pop(var_p
);
320 var_nodearraylist4
= var5
;
322 var6
= parser_work__Parser__pop(var_p
);
324 var_nodearraylist3
= var6
;
326 var7
= parser_work__Parser__pop(var_p
);
328 var_nodearraylist2
= var7
;
330 var8
= parser_work__Parser__pop(var_p
);
332 var_nodearraylist1
= var8
;
333 var_pdocnode2
= var_nodearraylist1
;
334 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
335 cltype
= type_nullable_parser_nodes__ADoc
.color
;
336 idtype
= type_nullable_parser_nodes__ADoc
.id
;
337 if(var_pdocnode2
== NULL
) {
340 if(cltype
>= var_pdocnode2
->type
->table_size
) {
343 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
346 if (unlikely(!var9
)) {
347 PRINT_ERROR("Runtime error: %s", "Assert failed");
348 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3285);
351 var_pablenode3
= var_nodearraylist2
;
352 /* <var_pablenode3:nullable Object> isa nullable AAble */
353 cltype11
= type_nullable_parser_nodes__AAble
.color
;
354 idtype12
= type_nullable_parser_nodes__AAble
.id
;
355 if(var_pablenode3
== NULL
) {
358 if(cltype11
>= var_pablenode3
->type
->table_size
) {
361 var10
= var_pablenode3
->type
->type_table
[cltype11
] == idtype12
;
364 if (unlikely(!var10
)) {
365 PRINT_ERROR("Runtime error: %s", "Assert failed");
366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3287);
369 var_pablenode4
= var_nodearraylist3
;
370 /* <var_pablenode4:nullable Object> isa nullable AAble */
371 cltype14
= type_nullable_parser_nodes__AAble
.color
;
372 idtype15
= type_nullable_parser_nodes__AAble
.id
;
373 if(var_pablenode4
== NULL
) {
376 if(cltype14
>= var_pablenode4
->type
->table_size
) {
379 var13
= var_pablenode4
->type
->type_table
[cltype14
] == idtype15
;
382 if (unlikely(!var13
)) {
383 PRINT_ERROR("Runtime error: %s", "Assert failed");
384 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3289);
387 var_tkwredefnode5
= var_nodearraylist4
;
388 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
389 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
390 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
391 if(var_tkwredefnode5
== NULL
) {
394 if(cltype17
>= var_tkwredefnode5
->type
->table_size
) {
397 var16
= var_tkwredefnode5
->type
->type_table
[cltype17
] == idtype18
;
400 if (unlikely(!var16
)) {
401 PRINT_ERROR("Runtime error: %s", "Assert failed");
402 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3291);
405 var_pvisibilitynode6
= var_nodearraylist5
;
406 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
407 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
408 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
409 if(var_pvisibilitynode6
== NULL
) {
412 if(cltype20
>= var_pvisibilitynode6
->type
->table_size
) {
415 var19
= var_pvisibilitynode6
->type
->type_table
[cltype20
] == idtype21
;
418 if (unlikely(!var19
)) {
419 PRINT_ERROR("Runtime error: %s", "Assert failed");
420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3293);
423 var_tkwvarnode7
= var_nodearraylist6
;
424 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
425 cltype23
= type_nullable_parser_nodes__TKwvar
.color
;
426 idtype24
= type_nullable_parser_nodes__TKwvar
.id
;
427 if(var_tkwvarnode7
== NULL
) {
430 if(cltype23
>= var_tkwvarnode7
->type
->table_size
) {
433 var22
= var_tkwvarnode7
->type
->type_table
[cltype23
] == idtype24
;
436 if (unlikely(!var22
)) {
437 PRINT_ERROR("Runtime error: %s", "Assert failed");
438 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3295);
441 var_tattridnode8
= var_nodearraylist7
;
442 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
443 cltype26
= type_nullable_parser_nodes__TAttrid
.color
;
444 idtype27
= type_nullable_parser_nodes__TAttrid
.id
;
445 if(var_tattridnode8
== NULL
) {
448 if(cltype26
>= var_tattridnode8
->type
->table_size
) {
451 var25
= var_tattridnode8
->type
->type_table
[cltype26
] == idtype27
;
454 if (unlikely(!var25
)) {
455 PRINT_ERROR("Runtime error: %s", "Assert failed");
456 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3297);
459 var_ptypenode10
= var_nodearraylist8
;
460 /* <var_ptypenode10:nullable Object> isa nullable AType */
461 cltype29
= type_nullable_parser_nodes__AType
.color
;
462 idtype30
= type_nullable_parser_nodes__AType
.id
;
463 if(var_ptypenode10
== NULL
) {
466 if(cltype29
>= var_ptypenode10
->type
->table_size
) {
469 var28
= var_ptypenode10
->type
->type_table
[cltype29
] == idtype30
;
472 if (unlikely(!var28
)) {
473 PRINT_ERROR("Runtime error: %s", "Assert failed");
474 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3299);
477 var31
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
482 parser_prod__AAttrPropdef__init_aattrpropdef(var31
, var_pdocnode2
, var_pablenode3
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var32
, var_ptypenode10
, var33
, var34
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var31:AAttrPropdef>*/
484 var_ppropdefnode1
= var31
;
485 var_node_list
= var_ppropdefnode1
;
486 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction70> */
488 var36
= parser_work__Parser__go_to(var_p
, var35
);
491 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
495 /* method parser#ReduceAction70#action for (self: Object, Parser) */
496 void VIRTUAL_parser__ReduceAction70__action(val
* self
, val
* p0
) {
497 parser__ReduceAction70__action(self
, p0
); /* Direct call parser#ReduceAction70#action on <self:Object(ReduceAction70)>*/
500 /* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */
501 void parser__ReduceAction71__action(val
* self
, val
* p0
) {
502 val
* var_p
/* var p: Parser */;
503 val
* var
/* : null */;
504 val
* var_node_list
/* var node_list: nullable Object */;
505 val
* var1
/* : nullable Object */;
506 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
507 val
* var2
/* : nullable Object */;
508 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
509 val
* var3
/* : nullable Object */;
510 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
511 val
* var4
/* : nullable Object */;
512 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
513 val
* var5
/* : nullable Object */;
514 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
515 val
* var6
/* : nullable Object */;
516 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
517 val
* var7
/* : nullable Object */;
518 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
519 val
* var8
/* : nullable Object */;
520 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
521 val
* var9
/* : nullable Object */;
522 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
523 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
524 short int var10
/* : Bool */;
527 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
528 short int var11
/* : Bool */;
531 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
532 short int var14
/* : Bool */;
535 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
536 short int var17
/* : Bool */;
539 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
540 short int var20
/* : Bool */;
543 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
544 short int var23
/* : Bool */;
547 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
548 short int var26
/* : Bool */;
551 val
* var29
/* : AAttrPropdef */;
552 val
* var30
/* : null */;
553 val
* var31
/* : null */;
554 val
* var32
/* : null */;
555 val
* var33
/* : null */;
556 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
557 long var34
/* : Int */;
558 long var35
/* : Int */;
563 var1
= parser_work__Parser__pop(var_p
);
565 var_nodearraylist9
= var1
;
567 var2
= parser_work__Parser__pop(var_p
);
569 var_nodearraylist8
= var2
;
571 var3
= parser_work__Parser__pop(var_p
);
573 var_nodearraylist7
= var3
;
575 var4
= parser_work__Parser__pop(var_p
);
577 var_nodearraylist6
= var4
;
579 var5
= parser_work__Parser__pop(var_p
);
581 var_nodearraylist5
= var5
;
583 var6
= parser_work__Parser__pop(var_p
);
585 var_nodearraylist4
= var6
;
587 var7
= parser_work__Parser__pop(var_p
);
589 var_nodearraylist3
= var7
;
591 var8
= parser_work__Parser__pop(var_p
);
593 var_nodearraylist2
= var8
;
595 var9
= parser_work__Parser__pop(var_p
);
597 var_nodearraylist1
= var9
;
598 var_pdocnode2
= var_nodearraylist1
;
599 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
600 cltype
= type_nullable_parser_nodes__ADoc
.color
;
601 idtype
= type_nullable_parser_nodes__ADoc
.id
;
602 if(var_pdocnode2
== NULL
) {
605 if(cltype
>= var_pdocnode2
->type
->table_size
) {
608 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
611 if (unlikely(!var10
)) {
612 PRINT_ERROR("Runtime error: %s", "Assert failed");
613 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3332);
616 var_tkwredefnode5
= var_nodearraylist2
;
617 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
618 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
619 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
620 if(var_tkwredefnode5
== NULL
) {
623 if(cltype12
>= var_tkwredefnode5
->type
->table_size
) {
626 var11
= var_tkwredefnode5
->type
->type_table
[cltype12
] == idtype13
;
629 if (unlikely(!var11
)) {
630 PRINT_ERROR("Runtime error: %s", "Assert failed");
631 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3334);
634 var_pvisibilitynode6
= var_nodearraylist3
;
635 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
636 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
637 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
638 if(var_pvisibilitynode6
== NULL
) {
641 if(cltype15
>= var_pvisibilitynode6
->type
->table_size
) {
644 var14
= var_pvisibilitynode6
->type
->type_table
[cltype15
] == idtype16
;
647 if (unlikely(!var14
)) {
648 PRINT_ERROR("Runtime error: %s", "Assert failed");
649 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3336);
652 var_tkwvarnode7
= var_nodearraylist4
;
653 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
654 cltype18
= type_nullable_parser_nodes__TKwvar
.color
;
655 idtype19
= type_nullable_parser_nodes__TKwvar
.id
;
656 if(var_tkwvarnode7
== NULL
) {
659 if(cltype18
>= var_tkwvarnode7
->type
->table_size
) {
662 var17
= var_tkwvarnode7
->type
->type_table
[cltype18
] == idtype19
;
665 if (unlikely(!var17
)) {
666 PRINT_ERROR("Runtime error: %s", "Assert failed");
667 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3338);
670 var_tattridnode8
= var_nodearraylist5
;
671 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
672 cltype21
= type_nullable_parser_nodes__TAttrid
.color
;
673 idtype22
= type_nullable_parser_nodes__TAttrid
.id
;
674 if(var_tattridnode8
== NULL
) {
677 if(cltype21
>= var_tattridnode8
->type
->table_size
) {
680 var20
= var_tattridnode8
->type
->type_table
[cltype21
] == idtype22
;
683 if (unlikely(!var20
)) {
684 PRINT_ERROR("Runtime error: %s", "Assert failed");
685 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3340);
688 var_ptypenode10
= var_nodearraylist6
;
689 /* <var_ptypenode10:nullable Object> isa nullable AType */
690 cltype24
= type_nullable_parser_nodes__AType
.color
;
691 idtype25
= type_nullable_parser_nodes__AType
.id
;
692 if(var_ptypenode10
== NULL
) {
695 if(cltype24
>= var_ptypenode10
->type
->table_size
) {
698 var23
= var_ptypenode10
->type
->type_table
[cltype24
] == idtype25
;
701 if (unlikely(!var23
)) {
702 PRINT_ERROR("Runtime error: %s", "Assert failed");
703 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3342);
706 var_pexprnode12
= var_nodearraylist9
;
707 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
708 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
709 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
710 if(var_pexprnode12
== NULL
) {
713 if(cltype27
>= var_pexprnode12
->type
->table_size
) {
716 var26
= var_pexprnode12
->type
->type_table
[cltype27
] == idtype28
;
719 if (unlikely(!var26
)) {
720 PRINT_ERROR("Runtime error: %s", "Assert failed");
721 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3344);
724 var29
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
730 parser_prod__AAttrPropdef__init_aattrpropdef(var29
, var_pdocnode2
, var30
, var31
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var32
, var_ptypenode10
, var33
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var29:AAttrPropdef>*/
732 var_ppropdefnode1
= var29
;
733 var_node_list
= var_ppropdefnode1
;
734 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction71> */
736 var35
= parser_work__Parser__go_to(var_p
, var34
);
739 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
743 /* method parser#ReduceAction71#action for (self: Object, Parser) */
744 void VIRTUAL_parser__ReduceAction71__action(val
* self
, val
* p0
) {
745 parser__ReduceAction71__action(self
, p0
); /* Direct call parser#ReduceAction71#action on <self:Object(ReduceAction71)>*/
748 /* method parser#ReduceAction72#action for (self: ReduceAction72, Parser) */
749 void parser__ReduceAction72__action(val
* self
, val
* p0
) {
750 val
* var_p
/* var p: Parser */;
751 val
* var
/* : null */;
752 val
* var_node_list
/* var node_list: nullable Object */;
753 val
* var1
/* : nullable Object */;
754 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
755 val
* var2
/* : nullable Object */;
756 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
757 val
* var3
/* : nullable Object */;
758 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
759 val
* var4
/* : nullable Object */;
760 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
761 val
* var5
/* : nullable Object */;
762 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
763 val
* var6
/* : nullable Object */;
764 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
765 val
* var7
/* : nullable Object */;
766 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
767 val
* var8
/* : nullable Object */;
768 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
769 val
* var9
/* : nullable Object */;
770 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
771 val
* var10
/* : nullable Object */;
772 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
773 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
774 short int var11
/* : Bool */;
777 val
* var_pablenode3
/* var pablenode3: nullable Object */;
778 short int var12
/* : Bool */;
781 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
782 short int var15
/* : Bool */;
785 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
786 short int var18
/* : Bool */;
789 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
790 short int var21
/* : Bool */;
793 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
794 short int var24
/* : Bool */;
797 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
798 short int var27
/* : Bool */;
801 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
802 short int var30
/* : Bool */;
805 val
* var33
/* : AAttrPropdef */;
806 val
* var34
/* : null */;
807 val
* var35
/* : null */;
808 val
* var36
/* : null */;
809 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
810 long var37
/* : Int */;
811 long var38
/* : Int */;
816 var1
= parser_work__Parser__pop(var_p
);
818 var_nodearraylist10
= var1
;
820 var2
= parser_work__Parser__pop(var_p
);
822 var_nodearraylist9
= var2
;
824 var3
= parser_work__Parser__pop(var_p
);
826 var_nodearraylist8
= var3
;
828 var4
= parser_work__Parser__pop(var_p
);
830 var_nodearraylist7
= var4
;
832 var5
= parser_work__Parser__pop(var_p
);
834 var_nodearraylist6
= var5
;
836 var6
= parser_work__Parser__pop(var_p
);
838 var_nodearraylist5
= var6
;
840 var7
= parser_work__Parser__pop(var_p
);
842 var_nodearraylist4
= var7
;
844 var8
= parser_work__Parser__pop(var_p
);
846 var_nodearraylist3
= var8
;
848 var9
= parser_work__Parser__pop(var_p
);
850 var_nodearraylist2
= var9
;
852 var10
= parser_work__Parser__pop(var_p
);
854 var_nodearraylist1
= var10
;
855 var_pdocnode2
= var_nodearraylist1
;
856 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
857 cltype
= type_nullable_parser_nodes__ADoc
.color
;
858 idtype
= type_nullable_parser_nodes__ADoc
.id
;
859 if(var_pdocnode2
== NULL
) {
862 if(cltype
>= var_pdocnode2
->type
->table_size
) {
865 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
868 if (unlikely(!var11
)) {
869 PRINT_ERROR("Runtime error: %s", "Assert failed");
870 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3378);
873 var_pablenode3
= var_nodearraylist2
;
874 /* <var_pablenode3:nullable Object> isa nullable AAble */
875 cltype13
= type_nullable_parser_nodes__AAble
.color
;
876 idtype14
= type_nullable_parser_nodes__AAble
.id
;
877 if(var_pablenode3
== NULL
) {
880 if(cltype13
>= var_pablenode3
->type
->table_size
) {
883 var12
= var_pablenode3
->type
->type_table
[cltype13
] == idtype14
;
886 if (unlikely(!var12
)) {
887 PRINT_ERROR("Runtime error: %s", "Assert failed");
888 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3380);
891 var_tkwredefnode5
= var_nodearraylist3
;
892 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
893 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
894 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
895 if(var_tkwredefnode5
== NULL
) {
898 if(cltype16
>= var_tkwredefnode5
->type
->table_size
) {
901 var15
= var_tkwredefnode5
->type
->type_table
[cltype16
] == idtype17
;
904 if (unlikely(!var15
)) {
905 PRINT_ERROR("Runtime error: %s", "Assert failed");
906 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3382);
909 var_pvisibilitynode6
= var_nodearraylist4
;
910 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
911 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
912 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
913 if(var_pvisibilitynode6
== NULL
) {
916 if(cltype19
>= var_pvisibilitynode6
->type
->table_size
) {
919 var18
= var_pvisibilitynode6
->type
->type_table
[cltype19
] == idtype20
;
922 if (unlikely(!var18
)) {
923 PRINT_ERROR("Runtime error: %s", "Assert failed");
924 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3384);
927 var_tkwvarnode7
= var_nodearraylist5
;
928 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
929 cltype22
= type_nullable_parser_nodes__TKwvar
.color
;
930 idtype23
= type_nullable_parser_nodes__TKwvar
.id
;
931 if(var_tkwvarnode7
== NULL
) {
934 if(cltype22
>= var_tkwvarnode7
->type
->table_size
) {
937 var21
= var_tkwvarnode7
->type
->type_table
[cltype22
] == idtype23
;
940 if (unlikely(!var21
)) {
941 PRINT_ERROR("Runtime error: %s", "Assert failed");
942 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3386);
945 var_tattridnode8
= var_nodearraylist6
;
946 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
947 cltype25
= type_nullable_parser_nodes__TAttrid
.color
;
948 idtype26
= type_nullable_parser_nodes__TAttrid
.id
;
949 if(var_tattridnode8
== NULL
) {
952 if(cltype25
>= var_tattridnode8
->type
->table_size
) {
955 var24
= var_tattridnode8
->type
->type_table
[cltype25
] == idtype26
;
958 if (unlikely(!var24
)) {
959 PRINT_ERROR("Runtime error: %s", "Assert failed");
960 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3388);
963 var_ptypenode10
= var_nodearraylist7
;
964 /* <var_ptypenode10:nullable Object> isa nullable AType */
965 cltype28
= type_nullable_parser_nodes__AType
.color
;
966 idtype29
= type_nullable_parser_nodes__AType
.id
;
967 if(var_ptypenode10
== NULL
) {
970 if(cltype28
>= var_ptypenode10
->type
->table_size
) {
973 var27
= var_ptypenode10
->type
->type_table
[cltype28
] == idtype29
;
976 if (unlikely(!var27
)) {
977 PRINT_ERROR("Runtime error: %s", "Assert failed");
978 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3390);
981 var_pexprnode12
= var_nodearraylist10
;
982 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
983 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
984 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
985 if(var_pexprnode12
== NULL
) {
988 if(cltype31
>= var_pexprnode12
->type
->table_size
) {
991 var30
= var_pexprnode12
->type
->type_table
[cltype31
] == idtype32
;
994 if (unlikely(!var30
)) {
995 PRINT_ERROR("Runtime error: %s", "Assert failed");
996 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3392);
999 var33
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1004 parser_prod__AAttrPropdef__init_aattrpropdef(var33
, var_pdocnode2
, var_pablenode3
, var34
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var35
, var_ptypenode10
, var36
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var33:AAttrPropdef>*/
1006 var_ppropdefnode1
= var33
;
1007 var_node_list
= var_ppropdefnode1
;
1008 var37
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction72> */
1010 var38
= parser_work__Parser__go_to(var_p
, var37
);
1013 parser_work__Parser__push(var_p
, var38
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1017 /* method parser#ReduceAction72#action for (self: Object, Parser) */
1018 void VIRTUAL_parser__ReduceAction72__action(val
* self
, val
* p0
) {
1019 parser__ReduceAction72__action(self
, p0
); /* Direct call parser#ReduceAction72#action on <self:Object(ReduceAction72)>*/
1022 /* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */
1023 void parser__ReduceAction73__action(val
* self
, val
* p0
) {
1024 val
* var_p
/* var p: Parser */;
1025 val
* var
/* : null */;
1026 val
* var_node_list
/* var node_list: nullable Object */;
1027 val
* var1
/* : nullable Object */;
1028 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1029 val
* var2
/* : nullable Object */;
1030 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1031 val
* var3
/* : nullable Object */;
1032 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1033 val
* var4
/* : nullable Object */;
1034 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1035 val
* var5
/* : nullable Object */;
1036 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1037 val
* var6
/* : nullable Object */;
1038 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1039 val
* var7
/* : nullable Object */;
1040 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1041 val
* var8
/* : nullable Object */;
1042 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1043 val
* var9
/* : nullable Object */;
1044 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1045 val
* var10
/* : nullable Object */;
1046 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1047 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1048 short int var11
/* : Bool */;
1051 val
* var_pablenode4
/* var pablenode4: nullable Object */;
1052 short int var12
/* : Bool */;
1055 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
1056 short int var15
/* : Bool */;
1059 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
1060 short int var18
/* : Bool */;
1063 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
1064 short int var21
/* : Bool */;
1067 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
1068 short int var24
/* : Bool */;
1071 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
1072 short int var27
/* : Bool */;
1075 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
1076 short int var30
/* : Bool */;
1079 val
* var33
/* : AAttrPropdef */;
1080 val
* var34
/* : null */;
1081 val
* var35
/* : null */;
1082 val
* var36
/* : null */;
1083 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1084 long var37
/* : Int */;
1085 long var38
/* : Int */;
1088 var_node_list
= var
;
1090 var1
= parser_work__Parser__pop(var_p
);
1092 var_nodearraylist10
= var1
;
1094 var2
= parser_work__Parser__pop(var_p
);
1096 var_nodearraylist9
= var2
;
1098 var3
= parser_work__Parser__pop(var_p
);
1100 var_nodearraylist8
= var3
;
1102 var4
= parser_work__Parser__pop(var_p
);
1104 var_nodearraylist7
= var4
;
1106 var5
= parser_work__Parser__pop(var_p
);
1108 var_nodearraylist6
= var5
;
1110 var6
= parser_work__Parser__pop(var_p
);
1112 var_nodearraylist5
= var6
;
1114 var7
= parser_work__Parser__pop(var_p
);
1116 var_nodearraylist4
= var7
;
1118 var8
= parser_work__Parser__pop(var_p
);
1120 var_nodearraylist3
= var8
;
1122 var9
= parser_work__Parser__pop(var_p
);
1124 var_nodearraylist2
= var9
;
1126 var10
= parser_work__Parser__pop(var_p
);
1128 var_nodearraylist1
= var10
;
1129 var_pdocnode2
= var_nodearraylist1
;
1130 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1131 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1132 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1133 if(var_pdocnode2
== NULL
) {
1136 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1139 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1142 if (unlikely(!var11
)) {
1143 PRINT_ERROR("Runtime error: %s", "Assert failed");
1144 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3426);
1147 var_pablenode4
= var_nodearraylist2
;
1148 /* <var_pablenode4:nullable Object> isa nullable AAble */
1149 cltype13
= type_nullable_parser_nodes__AAble
.color
;
1150 idtype14
= type_nullable_parser_nodes__AAble
.id
;
1151 if(var_pablenode4
== NULL
) {
1154 if(cltype13
>= var_pablenode4
->type
->table_size
) {
1157 var12
= var_pablenode4
->type
->type_table
[cltype13
] == idtype14
;
1160 if (unlikely(!var12
)) {
1161 PRINT_ERROR("Runtime error: %s", "Assert failed");
1162 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3428);
1165 var_tkwredefnode5
= var_nodearraylist3
;
1166 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1167 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
1168 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
1169 if(var_tkwredefnode5
== NULL
) {
1172 if(cltype16
>= var_tkwredefnode5
->type
->table_size
) {
1175 var15
= var_tkwredefnode5
->type
->type_table
[cltype16
] == idtype17
;
1178 if (unlikely(!var15
)) {
1179 PRINT_ERROR("Runtime error: %s", "Assert failed");
1180 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3430);
1183 var_pvisibilitynode6
= var_nodearraylist4
;
1184 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1185 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
1186 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
1187 if(var_pvisibilitynode6
== NULL
) {
1190 if(cltype19
>= var_pvisibilitynode6
->type
->table_size
) {
1193 var18
= var_pvisibilitynode6
->type
->type_table
[cltype19
] == idtype20
;
1196 if (unlikely(!var18
)) {
1197 PRINT_ERROR("Runtime error: %s", "Assert failed");
1198 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3432);
1201 var_tkwvarnode7
= var_nodearraylist5
;
1202 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1203 cltype22
= type_nullable_parser_nodes__TKwvar
.color
;
1204 idtype23
= type_nullable_parser_nodes__TKwvar
.id
;
1205 if(var_tkwvarnode7
== NULL
) {
1208 if(cltype22
>= var_tkwvarnode7
->type
->table_size
) {
1211 var21
= var_tkwvarnode7
->type
->type_table
[cltype22
] == idtype23
;
1214 if (unlikely(!var21
)) {
1215 PRINT_ERROR("Runtime error: %s", "Assert failed");
1216 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3434);
1219 var_tattridnode8
= var_nodearraylist6
;
1220 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
1221 cltype25
= type_nullable_parser_nodes__TAttrid
.color
;
1222 idtype26
= type_nullable_parser_nodes__TAttrid
.id
;
1223 if(var_tattridnode8
== NULL
) {
1226 if(cltype25
>= var_tattridnode8
->type
->table_size
) {
1229 var24
= var_tattridnode8
->type
->type_table
[cltype25
] == idtype26
;
1232 if (unlikely(!var24
)) {
1233 PRINT_ERROR("Runtime error: %s", "Assert failed");
1234 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3436);
1237 var_ptypenode10
= var_nodearraylist7
;
1238 /* <var_ptypenode10:nullable Object> isa nullable AType */
1239 cltype28
= type_nullable_parser_nodes__AType
.color
;
1240 idtype29
= type_nullable_parser_nodes__AType
.id
;
1241 if(var_ptypenode10
== NULL
) {
1244 if(cltype28
>= var_ptypenode10
->type
->table_size
) {
1247 var27
= var_ptypenode10
->type
->type_table
[cltype28
] == idtype29
;
1250 if (unlikely(!var27
)) {
1251 PRINT_ERROR("Runtime error: %s", "Assert failed");
1252 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3438);
1255 var_pexprnode12
= var_nodearraylist10
;
1256 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
1257 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
1258 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
1259 if(var_pexprnode12
== NULL
) {
1262 if(cltype31
>= var_pexprnode12
->type
->table_size
) {
1265 var30
= var_pexprnode12
->type
->type_table
[cltype31
] == idtype32
;
1268 if (unlikely(!var30
)) {
1269 PRINT_ERROR("Runtime error: %s", "Assert failed");
1270 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3440);
1273 var33
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1278 parser_prod__AAttrPropdef__init_aattrpropdef(var33
, var_pdocnode2
, var34
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var35
, var_ptypenode10
, var36
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var33:AAttrPropdef>*/
1280 var_ppropdefnode1
= var33
;
1281 var_node_list
= var_ppropdefnode1
;
1282 var37
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction73> */
1284 var38
= parser_work__Parser__go_to(var_p
, var37
);
1287 parser_work__Parser__push(var_p
, var38
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1291 /* method parser#ReduceAction73#action for (self: Object, Parser) */
1292 void VIRTUAL_parser__ReduceAction73__action(val
* self
, val
* p0
) {
1293 parser__ReduceAction73__action(self
, p0
); /* Direct call parser#ReduceAction73#action on <self:Object(ReduceAction73)>*/
1296 /* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */
1297 void parser__ReduceAction74__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_nodearraylist11
/* var nodearraylist11: nullable Object */;
1303 val
* var2
/* : nullable Object */;
1304 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1305 val
* var3
/* : nullable Object */;
1306 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1307 val
* var4
/* : nullable Object */;
1308 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1309 val
* var5
/* : nullable Object */;
1310 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1311 val
* var6
/* : nullable Object */;
1312 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1313 val
* var7
/* : nullable Object */;
1314 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1315 val
* var8
/* : nullable Object */;
1316 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1317 val
* var9
/* : nullable Object */;
1318 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1319 val
* var10
/* : nullable Object */;
1320 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1321 val
* var11
/* : nullable Object */;
1322 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1323 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1324 short int var12
/* : Bool */;
1327 val
* var_pablenode3
/* var pablenode3: nullable Object */;
1328 short int var13
/* : Bool */;
1331 val
* var_pablenode4
/* var pablenode4: nullable Object */;
1332 short int var16
/* : Bool */;
1335 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
1336 short int var19
/* : Bool */;
1339 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
1340 short int var22
/* : Bool */;
1343 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
1344 short int var25
/* : Bool */;
1347 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
1348 short int var28
/* : Bool */;
1351 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
1352 short int var31
/* : Bool */;
1355 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
1356 short int var34
/* : Bool */;
1359 val
* var37
/* : AAttrPropdef */;
1360 val
* var38
/* : null */;
1361 val
* var39
/* : null */;
1362 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1363 long var40
/* : Int */;
1364 long var41
/* : Int */;
1367 var_node_list
= var
;
1369 var1
= parser_work__Parser__pop(var_p
);
1371 var_nodearraylist11
= var1
;
1373 var2
= parser_work__Parser__pop(var_p
);
1375 var_nodearraylist10
= var2
;
1377 var3
= parser_work__Parser__pop(var_p
);
1379 var_nodearraylist9
= var3
;
1381 var4
= parser_work__Parser__pop(var_p
);
1383 var_nodearraylist8
= var4
;
1385 var5
= parser_work__Parser__pop(var_p
);
1387 var_nodearraylist7
= var5
;
1389 var6
= parser_work__Parser__pop(var_p
);
1391 var_nodearraylist6
= var6
;
1393 var7
= parser_work__Parser__pop(var_p
);
1395 var_nodearraylist5
= var7
;
1397 var8
= parser_work__Parser__pop(var_p
);
1399 var_nodearraylist4
= var8
;
1401 var9
= parser_work__Parser__pop(var_p
);
1403 var_nodearraylist3
= var9
;
1405 var10
= parser_work__Parser__pop(var_p
);
1407 var_nodearraylist2
= var10
;
1409 var11
= parser_work__Parser__pop(var_p
);
1411 var_nodearraylist1
= var11
;
1412 var_pdocnode2
= var_nodearraylist1
;
1413 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1414 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1415 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1416 if(var_pdocnode2
== NULL
) {
1419 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1422 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1425 if (unlikely(!var12
)) {
1426 PRINT_ERROR("Runtime error: %s", "Assert failed");
1427 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3475);
1430 var_pablenode3
= var_nodearraylist2
;
1431 /* <var_pablenode3:nullable Object> isa nullable AAble */
1432 cltype14
= type_nullable_parser_nodes__AAble
.color
;
1433 idtype15
= type_nullable_parser_nodes__AAble
.id
;
1434 if(var_pablenode3
== NULL
) {
1437 if(cltype14
>= var_pablenode3
->type
->table_size
) {
1440 var13
= var_pablenode3
->type
->type_table
[cltype14
] == idtype15
;
1443 if (unlikely(!var13
)) {
1444 PRINT_ERROR("Runtime error: %s", "Assert failed");
1445 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3477);
1448 var_pablenode4
= var_nodearraylist3
;
1449 /* <var_pablenode4:nullable Object> isa nullable AAble */
1450 cltype17
= type_nullable_parser_nodes__AAble
.color
;
1451 idtype18
= type_nullable_parser_nodes__AAble
.id
;
1452 if(var_pablenode4
== NULL
) {
1455 if(cltype17
>= var_pablenode4
->type
->table_size
) {
1458 var16
= var_pablenode4
->type
->type_table
[cltype17
] == idtype18
;
1461 if (unlikely(!var16
)) {
1462 PRINT_ERROR("Runtime error: %s", "Assert failed");
1463 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3479);
1466 var_tkwredefnode5
= var_nodearraylist4
;
1467 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1468 cltype20
= type_nullable_parser_nodes__TKwredef
.color
;
1469 idtype21
= type_nullable_parser_nodes__TKwredef
.id
;
1470 if(var_tkwredefnode5
== NULL
) {
1473 if(cltype20
>= var_tkwredefnode5
->type
->table_size
) {
1476 var19
= var_tkwredefnode5
->type
->type_table
[cltype20
] == idtype21
;
1479 if (unlikely(!var19
)) {
1480 PRINT_ERROR("Runtime error: %s", "Assert failed");
1481 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3481);
1484 var_pvisibilitynode6
= var_nodearraylist5
;
1485 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1486 cltype23
= type_nullable_parser_nodes__AVisibility
.color
;
1487 idtype24
= type_nullable_parser_nodes__AVisibility
.id
;
1488 if(var_pvisibilitynode6
== NULL
) {
1491 if(cltype23
>= var_pvisibilitynode6
->type
->table_size
) {
1494 var22
= var_pvisibilitynode6
->type
->type_table
[cltype23
] == idtype24
;
1497 if (unlikely(!var22
)) {
1498 PRINT_ERROR("Runtime error: %s", "Assert failed");
1499 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3483);
1502 var_tkwvarnode7
= var_nodearraylist6
;
1503 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1504 cltype26
= type_nullable_parser_nodes__TKwvar
.color
;
1505 idtype27
= type_nullable_parser_nodes__TKwvar
.id
;
1506 if(var_tkwvarnode7
== NULL
) {
1509 if(cltype26
>= var_tkwvarnode7
->type
->table_size
) {
1512 var25
= var_tkwvarnode7
->type
->type_table
[cltype26
] == idtype27
;
1515 if (unlikely(!var25
)) {
1516 PRINT_ERROR("Runtime error: %s", "Assert failed");
1517 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3485);
1520 var_tattridnode8
= var_nodearraylist7
;
1521 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
1522 cltype29
= type_nullable_parser_nodes__TAttrid
.color
;
1523 idtype30
= type_nullable_parser_nodes__TAttrid
.id
;
1524 if(var_tattridnode8
== NULL
) {
1527 if(cltype29
>= var_tattridnode8
->type
->table_size
) {
1530 var28
= var_tattridnode8
->type
->type_table
[cltype29
] == idtype30
;
1533 if (unlikely(!var28
)) {
1534 PRINT_ERROR("Runtime error: %s", "Assert failed");
1535 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3487);
1538 var_ptypenode10
= var_nodearraylist8
;
1539 /* <var_ptypenode10:nullable Object> isa nullable AType */
1540 cltype32
= type_nullable_parser_nodes__AType
.color
;
1541 idtype33
= type_nullable_parser_nodes__AType
.id
;
1542 if(var_ptypenode10
== NULL
) {
1545 if(cltype32
>= var_ptypenode10
->type
->table_size
) {
1548 var31
= var_ptypenode10
->type
->type_table
[cltype32
] == idtype33
;
1551 if (unlikely(!var31
)) {
1552 PRINT_ERROR("Runtime error: %s", "Assert failed");
1553 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3489);
1556 var_pexprnode12
= var_nodearraylist11
;
1557 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
1558 cltype35
= type_nullable_parser_nodes__AExpr
.color
;
1559 idtype36
= type_nullable_parser_nodes__AExpr
.id
;
1560 if(var_pexprnode12
== NULL
) {
1563 if(cltype35
>= var_pexprnode12
->type
->table_size
) {
1566 var34
= var_pexprnode12
->type
->type_table
[cltype35
] == idtype36
;
1569 if (unlikely(!var34
)) {
1570 PRINT_ERROR("Runtime error: %s", "Assert failed");
1571 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3491);
1574 var37
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1578 parser_prod__AAttrPropdef__init_aattrpropdef(var37
, var_pdocnode2
, var_pablenode3
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var38
, var_ptypenode10
, var39
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var37:AAttrPropdef>*/
1580 var_ppropdefnode1
= var37
;
1581 var_node_list
= var_ppropdefnode1
;
1582 var40
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction74> */
1584 var41
= parser_work__Parser__go_to(var_p
, var40
);
1587 parser_work__Parser__push(var_p
, var41
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1591 /* method parser#ReduceAction74#action for (self: Object, Parser) */
1592 void VIRTUAL_parser__ReduceAction74__action(val
* self
, val
* p0
) {
1593 parser__ReduceAction74__action(self
, p0
); /* Direct call parser#ReduceAction74#action on <self:Object(ReduceAction74)>*/
1596 /* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */
1597 void parser__ReduceAction75__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_nodearraylist7
/* var nodearraylist7: nullable Object */;
1603 val
* var2
/* : nullable Object */;
1604 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1605 val
* var3
/* : nullable Object */;
1606 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1607 val
* var4
/* : nullable Object */;
1608 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1609 val
* var5
/* : nullable Object */;
1610 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1611 val
* var6
/* : nullable Object */;
1612 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1613 val
* var7
/* : nullable Object */;
1614 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1615 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1616 short int var8
/* : Bool */;
1619 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
1620 short int var9
/* : Bool */;
1623 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
1624 short int var12
/* : Bool */;
1627 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
1628 short int var15
/* : Bool */;
1631 val
* var_tidnode9
/* var tidnode9: nullable Object */;
1632 short int var18
/* : Bool */;
1635 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
1636 short int var21
/* : Bool */;
1639 val
* var_pannotationsnode11
/* var pannotationsnode11: nullable Object */;
1640 short int var24
/* : Bool */;
1643 val
* var27
/* : AAttrPropdef */;
1644 val
* var28
/* : null */;
1645 val
* var29
/* : null */;
1646 val
* var30
/* : null */;
1647 val
* var31
/* : null */;
1648 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1649 long var32
/* : Int */;
1650 long var33
/* : Int */;
1653 var_node_list
= var
;
1655 var1
= parser_work__Parser__pop(var_p
);
1657 var_nodearraylist7
= var1
;
1659 var2
= parser_work__Parser__pop(var_p
);
1661 var_nodearraylist6
= var2
;
1663 var3
= parser_work__Parser__pop(var_p
);
1665 var_nodearraylist5
= var3
;
1667 var4
= parser_work__Parser__pop(var_p
);
1669 var_nodearraylist4
= var4
;
1671 var5
= parser_work__Parser__pop(var_p
);
1673 var_nodearraylist3
= var5
;
1675 var6
= parser_work__Parser__pop(var_p
);
1677 var_nodearraylist2
= var6
;
1679 var7
= parser_work__Parser__pop(var_p
);
1681 var_nodearraylist1
= var7
;
1682 var_pdocnode2
= var_nodearraylist1
;
1683 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1684 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1685 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1686 if(var_pdocnode2
== NULL
) {
1689 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1692 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1695 if (unlikely(!var8
)) {
1696 PRINT_ERROR("Runtime error: %s", "Assert failed");
1697 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3522);
1700 var_tkwredefnode5
= var_nodearraylist2
;
1701 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1702 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
1703 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
1704 if(var_tkwredefnode5
== NULL
) {
1707 if(cltype10
>= var_tkwredefnode5
->type
->table_size
) {
1710 var9
= var_tkwredefnode5
->type
->type_table
[cltype10
] == idtype11
;
1713 if (unlikely(!var9
)) {
1714 PRINT_ERROR("Runtime error: %s", "Assert failed");
1715 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3524);
1718 var_pvisibilitynode6
= var_nodearraylist3
;
1719 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1720 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
1721 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
1722 if(var_pvisibilitynode6
== NULL
) {
1725 if(cltype13
>= var_pvisibilitynode6
->type
->table_size
) {
1728 var12
= var_pvisibilitynode6
->type
->type_table
[cltype13
] == idtype14
;
1731 if (unlikely(!var12
)) {
1732 PRINT_ERROR("Runtime error: %s", "Assert failed");
1733 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3526);
1736 var_tkwvarnode7
= var_nodearraylist4
;
1737 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1738 cltype16
= type_nullable_parser_nodes__TKwvar
.color
;
1739 idtype17
= type_nullable_parser_nodes__TKwvar
.id
;
1740 if(var_tkwvarnode7
== NULL
) {
1743 if(cltype16
>= var_tkwvarnode7
->type
->table_size
) {
1746 var15
= var_tkwvarnode7
->type
->type_table
[cltype16
] == idtype17
;
1749 if (unlikely(!var15
)) {
1750 PRINT_ERROR("Runtime error: %s", "Assert failed");
1751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3528);
1754 var_tidnode9
= var_nodearraylist5
;
1755 /* <var_tidnode9:nullable Object> isa nullable TId */
1756 cltype19
= type_nullable_parser_nodes__TId
.color
;
1757 idtype20
= type_nullable_parser_nodes__TId
.id
;
1758 if(var_tidnode9
== NULL
) {
1761 if(cltype19
>= var_tidnode9
->type
->table_size
) {
1764 var18
= var_tidnode9
->type
->type_table
[cltype19
] == idtype20
;
1767 if (unlikely(!var18
)) {
1768 PRINT_ERROR("Runtime error: %s", "Assert failed");
1769 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3530);
1772 var_ptypenode10
= var_nodearraylist6
;
1773 /* <var_ptypenode10:nullable Object> isa nullable AType */
1774 cltype22
= type_nullable_parser_nodes__AType
.color
;
1775 idtype23
= type_nullable_parser_nodes__AType
.id
;
1776 if(var_ptypenode10
== NULL
) {
1779 if(cltype22
>= var_ptypenode10
->type
->table_size
) {
1782 var21
= var_ptypenode10
->type
->type_table
[cltype22
] == idtype23
;
1785 if (unlikely(!var21
)) {
1786 PRINT_ERROR("Runtime error: %s", "Assert failed");
1787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3532);
1790 var_pannotationsnode11
= var_nodearraylist7
;
1791 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1792 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
1793 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
1794 if(var_pannotationsnode11
== NULL
) {
1797 if(cltype25
>= var_pannotationsnode11
->type
->table_size
) {
1800 var24
= var_pannotationsnode11
->type
->type_table
[cltype25
] == idtype26
;
1803 if (unlikely(!var24
)) {
1804 PRINT_ERROR("Runtime error: %s", "Assert failed");
1805 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3534);
1808 var27
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1814 parser_prod__AAttrPropdef__init_aattrpropdef(var27
, var_pdocnode2
, var28
, var29
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var30
, var_tidnode9
, var_ptypenode10
, var_pannotationsnode11
, var31
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var27:AAttrPropdef>*/
1816 var_ppropdefnode1
= var27
;
1817 var_node_list
= var_ppropdefnode1
;
1818 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction75> */
1820 var33
= parser_work__Parser__go_to(var_p
, var32
);
1823 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1827 /* method parser#ReduceAction75#action for (self: Object, Parser) */
1828 void VIRTUAL_parser__ReduceAction75__action(val
* self
, val
* p0
) {
1829 parser__ReduceAction75__action(self
, p0
); /* Direct call parser#ReduceAction75#action on <self:Object(ReduceAction75)>*/
1832 /* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */
1833 void parser__ReduceAction76__action(val
* self
, val
* p0
) {
1834 val
* var_p
/* var p: Parser */;
1835 val
* var
/* : null */;
1836 val
* var_node_list
/* var node_list: nullable Object */;
1837 val
* var1
/* : nullable Object */;
1838 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1839 val
* var2
/* : nullable Object */;
1840 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1841 val
* var3
/* : nullable Object */;
1842 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1843 val
* var4
/* : nullable Object */;
1844 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1845 val
* var5
/* : nullable Object */;
1846 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1847 val
* var6
/* : nullable Object */;
1848 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1849 val
* var7
/* : nullable Object */;
1850 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1851 val
* var8
/* : nullable Object */;
1852 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1853 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1854 short int var9
/* : Bool */;
1857 val
* var_pablenode4
/* var pablenode4: nullable Object */;
1858 short int var10
/* : Bool */;
1861 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
1862 short int var13
/* : Bool */;
1865 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
1866 short int var16
/* : Bool */;
1869 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
1870 short int var19
/* : Bool */;
1873 val
* var_tidnode9
/* var tidnode9: nullable Object */;
1874 short int var22
/* : Bool */;
1877 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
1878 short int var25
/* : Bool */;
1881 val
* var_pannotationsnode11
/* var pannotationsnode11: nullable Object */;
1882 short int var28
/* : Bool */;
1885 val
* var31
/* : AAttrPropdef */;
1886 val
* var32
/* : null */;
1887 val
* var33
/* : null */;
1888 val
* var34
/* : null */;
1889 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1890 long var35
/* : Int */;
1891 long var36
/* : Int */;
1894 var_node_list
= var
;
1896 var1
= parser_work__Parser__pop(var_p
);
1898 var_nodearraylist8
= var1
;
1900 var2
= parser_work__Parser__pop(var_p
);
1902 var_nodearraylist7
= var2
;
1904 var3
= parser_work__Parser__pop(var_p
);
1906 var_nodearraylist6
= var3
;
1908 var4
= parser_work__Parser__pop(var_p
);
1910 var_nodearraylist5
= var4
;
1912 var5
= parser_work__Parser__pop(var_p
);
1914 var_nodearraylist4
= var5
;
1916 var6
= parser_work__Parser__pop(var_p
);
1918 var_nodearraylist3
= var6
;
1920 var7
= parser_work__Parser__pop(var_p
);
1922 var_nodearraylist2
= var7
;
1924 var8
= parser_work__Parser__pop(var_p
);
1926 var_nodearraylist1
= var8
;
1927 var_pdocnode2
= var_nodearraylist1
;
1928 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1929 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1930 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1931 if(var_pdocnode2
== NULL
) {
1934 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1937 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1940 if (unlikely(!var9
)) {
1941 PRINT_ERROR("Runtime error: %s", "Assert failed");
1942 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3566);
1945 var_pablenode4
= var_nodearraylist7
;
1946 /* <var_pablenode4:nullable Object> isa nullable AAble */
1947 cltype11
= type_nullable_parser_nodes__AAble
.color
;
1948 idtype12
= type_nullable_parser_nodes__AAble
.id
;
1949 if(var_pablenode4
== NULL
) {
1952 if(cltype11
>= var_pablenode4
->type
->table_size
) {
1955 var10
= var_pablenode4
->type
->type_table
[cltype11
] == idtype12
;
1958 if (unlikely(!var10
)) {
1959 PRINT_ERROR("Runtime error: %s", "Assert failed");
1960 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3568);
1963 var_tkwredefnode5
= var_nodearraylist2
;
1964 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1965 cltype14
= type_nullable_parser_nodes__TKwredef
.color
;
1966 idtype15
= type_nullable_parser_nodes__TKwredef
.id
;
1967 if(var_tkwredefnode5
== NULL
) {
1970 if(cltype14
>= var_tkwredefnode5
->type
->table_size
) {
1973 var13
= var_tkwredefnode5
->type
->type_table
[cltype14
] == idtype15
;
1976 if (unlikely(!var13
)) {
1977 PRINT_ERROR("Runtime error: %s", "Assert failed");
1978 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3570);
1981 var_pvisibilitynode6
= var_nodearraylist3
;
1982 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1983 cltype17
= type_nullable_parser_nodes__AVisibility
.color
;
1984 idtype18
= type_nullable_parser_nodes__AVisibility
.id
;
1985 if(var_pvisibilitynode6
== NULL
) {
1988 if(cltype17
>= var_pvisibilitynode6
->type
->table_size
) {
1991 var16
= var_pvisibilitynode6
->type
->type_table
[cltype17
] == idtype18
;
1994 if (unlikely(!var16
)) {
1995 PRINT_ERROR("Runtime error: %s", "Assert failed");
1996 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3572);
1999 var_tkwvarnode7
= var_nodearraylist4
;
2000 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2001 cltype20
= type_nullable_parser_nodes__TKwvar
.color
;
2002 idtype21
= type_nullable_parser_nodes__TKwvar
.id
;
2003 if(var_tkwvarnode7
== NULL
) {
2006 if(cltype20
>= var_tkwvarnode7
->type
->table_size
) {
2009 var19
= var_tkwvarnode7
->type
->type_table
[cltype20
] == idtype21
;
2012 if (unlikely(!var19
)) {
2013 PRINT_ERROR("Runtime error: %s", "Assert failed");
2014 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3574);
2017 var_tidnode9
= var_nodearraylist5
;
2018 /* <var_tidnode9:nullable Object> isa nullable TId */
2019 cltype23
= type_nullable_parser_nodes__TId
.color
;
2020 idtype24
= type_nullable_parser_nodes__TId
.id
;
2021 if(var_tidnode9
== NULL
) {
2024 if(cltype23
>= var_tidnode9
->type
->table_size
) {
2027 var22
= var_tidnode9
->type
->type_table
[cltype23
] == idtype24
;
2030 if (unlikely(!var22
)) {
2031 PRINT_ERROR("Runtime error: %s", "Assert failed");
2032 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3576);
2035 var_ptypenode10
= var_nodearraylist6
;
2036 /* <var_ptypenode10:nullable Object> isa nullable AType */
2037 cltype26
= type_nullable_parser_nodes__AType
.color
;
2038 idtype27
= type_nullable_parser_nodes__AType
.id
;
2039 if(var_ptypenode10
== NULL
) {
2042 if(cltype26
>= var_ptypenode10
->type
->table_size
) {
2045 var25
= var_ptypenode10
->type
->type_table
[cltype26
] == idtype27
;
2048 if (unlikely(!var25
)) {
2049 PRINT_ERROR("Runtime error: %s", "Assert failed");
2050 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3578);
2053 var_pannotationsnode11
= var_nodearraylist8
;
2054 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2055 cltype29
= type_nullable_parser_nodes__AAnnotations
.color
;
2056 idtype30
= type_nullable_parser_nodes__AAnnotations
.id
;
2057 if(var_pannotationsnode11
== NULL
) {
2060 if(cltype29
>= var_pannotationsnode11
->type
->table_size
) {
2063 var28
= var_pannotationsnode11
->type
->type_table
[cltype29
] == idtype30
;
2066 if (unlikely(!var28
)) {
2067 PRINT_ERROR("Runtime error: %s", "Assert failed");
2068 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3580);
2071 var31
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2076 parser_prod__AAttrPropdef__init_aattrpropdef(var31
, var_pdocnode2
, var32
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var33
, var_tidnode9
, var_ptypenode10
, var_pannotationsnode11
, var34
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var31:AAttrPropdef>*/
2078 var_ppropdefnode1
= var31
;
2079 var_node_list
= var_ppropdefnode1
;
2080 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction76> */
2082 var36
= parser_work__Parser__go_to(var_p
, var35
);
2085 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2089 /* method parser#ReduceAction76#action for (self: Object, Parser) */
2090 void VIRTUAL_parser__ReduceAction76__action(val
* self
, val
* p0
) {
2091 parser__ReduceAction76__action(self
, p0
); /* Direct call parser#ReduceAction76#action on <self:Object(ReduceAction76)>*/
2094 /* method parser#ReduceAction77#action for (self: ReduceAction77, Parser) */
2095 void parser__ReduceAction77__action(val
* self
, val
* p0
) {
2096 val
* var_p
/* var p: Parser */;
2097 val
* var
/* : null */;
2098 val
* var_node_list
/* var node_list: nullable Object */;
2099 val
* var1
/* : nullable Object */;
2100 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2101 val
* var2
/* : nullable Object */;
2102 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2103 val
* var3
/* : nullable Object */;
2104 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2105 val
* var4
/* : nullable Object */;
2106 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2107 val
* var5
/* : nullable Object */;
2108 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2109 val
* var6
/* : nullable Object */;
2110 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2111 val
* var7
/* : nullable Object */;
2112 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2113 val
* var8
/* : nullable Object */;
2114 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2115 val
* var9
/* : nullable Object */;
2116 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2117 val
* var10
/* : nullable Object */;
2118 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2119 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2120 short int var11
/* : Bool */;
2123 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
2124 short int var12
/* : Bool */;
2127 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
2128 short int var15
/* : Bool */;
2131 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
2132 short int var18
/* : Bool */;
2135 val
* var_tidnode9
/* var tidnode9: nullable Object */;
2136 short int var21
/* : Bool */;
2139 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
2140 short int var24
/* : Bool */;
2143 val
* var_pannotationsnode11
/* var pannotationsnode11: nullable Object */;
2144 short int var27
/* : Bool */;
2147 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
2148 short int var30
/* : Bool */;
2151 val
* var33
/* : AAttrPropdef */;
2152 val
* var34
/* : null */;
2153 val
* var35
/* : null */;
2154 val
* var36
/* : null */;
2155 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
2156 long var37
/* : Int */;
2157 long var38
/* : Int */;
2160 var_node_list
= var
;
2162 var1
= parser_work__Parser__pop(var_p
);
2164 var_nodearraylist10
= var1
;
2166 var2
= parser_work__Parser__pop(var_p
);
2168 var_nodearraylist9
= var2
;
2170 var3
= parser_work__Parser__pop(var_p
);
2172 var_nodearraylist8
= var3
;
2174 var4
= parser_work__Parser__pop(var_p
);
2176 var_nodearraylist7
= var4
;
2178 var5
= parser_work__Parser__pop(var_p
);
2180 var_nodearraylist6
= var5
;
2182 var6
= parser_work__Parser__pop(var_p
);
2184 var_nodearraylist5
= var6
;
2186 var7
= parser_work__Parser__pop(var_p
);
2188 var_nodearraylist4
= var7
;
2190 var8
= parser_work__Parser__pop(var_p
);
2192 var_nodearraylist3
= var8
;
2194 var9
= parser_work__Parser__pop(var_p
);
2196 var_nodearraylist2
= var9
;
2198 var10
= parser_work__Parser__pop(var_p
);
2200 var_nodearraylist1
= var10
;
2201 var_pdocnode2
= var_nodearraylist1
;
2202 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2203 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2204 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2205 if(var_pdocnode2
== NULL
) {
2208 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2211 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2214 if (unlikely(!var11
)) {
2215 PRINT_ERROR("Runtime error: %s", "Assert failed");
2216 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3614);
2219 var_tkwredefnode5
= var_nodearraylist2
;
2220 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2221 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
2222 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
2223 if(var_tkwredefnode5
== NULL
) {
2226 if(cltype13
>= var_tkwredefnode5
->type
->table_size
) {
2229 var12
= var_tkwredefnode5
->type
->type_table
[cltype13
] == idtype14
;
2232 if (unlikely(!var12
)) {
2233 PRINT_ERROR("Runtime error: %s", "Assert failed");
2234 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3616);
2237 var_pvisibilitynode6
= var_nodearraylist3
;
2238 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2239 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
2240 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
2241 if(var_pvisibilitynode6
== NULL
) {
2244 if(cltype16
>= var_pvisibilitynode6
->type
->table_size
) {
2247 var15
= var_pvisibilitynode6
->type
->type_table
[cltype16
] == idtype17
;
2250 if (unlikely(!var15
)) {
2251 PRINT_ERROR("Runtime error: %s", "Assert failed");
2252 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3618);
2255 var_tkwvarnode7
= var_nodearraylist4
;
2256 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2257 cltype19
= type_nullable_parser_nodes__TKwvar
.color
;
2258 idtype20
= type_nullable_parser_nodes__TKwvar
.id
;
2259 if(var_tkwvarnode7
== NULL
) {
2262 if(cltype19
>= var_tkwvarnode7
->type
->table_size
) {
2265 var18
= var_tkwvarnode7
->type
->type_table
[cltype19
] == idtype20
;
2268 if (unlikely(!var18
)) {
2269 PRINT_ERROR("Runtime error: %s", "Assert failed");
2270 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3620);
2273 var_tidnode9
= var_nodearraylist5
;
2274 /* <var_tidnode9:nullable Object> isa nullable TId */
2275 cltype22
= type_nullable_parser_nodes__TId
.color
;
2276 idtype23
= type_nullable_parser_nodes__TId
.id
;
2277 if(var_tidnode9
== NULL
) {
2280 if(cltype22
>= var_tidnode9
->type
->table_size
) {
2283 var21
= var_tidnode9
->type
->type_table
[cltype22
] == idtype23
;
2286 if (unlikely(!var21
)) {
2287 PRINT_ERROR("Runtime error: %s", "Assert failed");
2288 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3622);
2291 var_ptypenode10
= var_nodearraylist6
;
2292 /* <var_ptypenode10:nullable Object> isa nullable AType */
2293 cltype25
= type_nullable_parser_nodes__AType
.color
;
2294 idtype26
= type_nullable_parser_nodes__AType
.id
;
2295 if(var_ptypenode10
== NULL
) {
2298 if(cltype25
>= var_ptypenode10
->type
->table_size
) {
2301 var24
= var_ptypenode10
->type
->type_table
[cltype25
] == idtype26
;
2304 if (unlikely(!var24
)) {
2305 PRINT_ERROR("Runtime error: %s", "Assert failed");
2306 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3624);
2309 var_pannotationsnode11
= var_nodearraylist10
;
2310 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2311 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
2312 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
2313 if(var_pannotationsnode11
== NULL
) {
2316 if(cltype28
>= var_pannotationsnode11
->type
->table_size
) {
2319 var27
= var_pannotationsnode11
->type
->type_table
[cltype28
] == idtype29
;
2322 if (unlikely(!var27
)) {
2323 PRINT_ERROR("Runtime error: %s", "Assert failed");
2324 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3626);
2327 var_pexprnode12
= var_nodearraylist9
;
2328 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2329 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
2330 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
2331 if(var_pexprnode12
== NULL
) {
2334 if(cltype31
>= var_pexprnode12
->type
->table_size
) {
2337 var30
= var_pexprnode12
->type
->type_table
[cltype31
] == idtype32
;
2340 if (unlikely(!var30
)) {
2341 PRINT_ERROR("Runtime error: %s", "Assert failed");
2342 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3628);
2345 var33
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2350 parser_prod__AAttrPropdef__init_aattrpropdef(var33
, var_pdocnode2
, var34
, var35
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var36
, var_tidnode9
, var_ptypenode10
, var_pannotationsnode11
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var33:AAttrPropdef>*/
2352 var_ppropdefnode1
= var33
;
2353 var_node_list
= var_ppropdefnode1
;
2354 var37
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction77> */
2356 var38
= parser_work__Parser__go_to(var_p
, var37
);
2359 parser_work__Parser__push(var_p
, var38
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2363 /* method parser#ReduceAction77#action for (self: Object, Parser) */
2364 void VIRTUAL_parser__ReduceAction77__action(val
* self
, val
* p0
) {
2365 parser__ReduceAction77__action(self
, p0
); /* Direct call parser#ReduceAction77#action on <self:Object(ReduceAction77)>*/
2368 /* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */
2369 void parser__ReduceAction78__action(val
* self
, val
* p0
) {
2370 val
* var_p
/* var p: Parser */;
2371 val
* var
/* : null */;
2372 val
* var_node_list
/* var node_list: nullable Object */;
2373 val
* var1
/* : nullable Object */;
2374 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2375 val
* var2
/* : nullable Object */;
2376 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2377 val
* var3
/* : nullable Object */;
2378 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2379 val
* var4
/* : nullable Object */;
2380 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2381 val
* var5
/* : nullable Object */;
2382 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2383 val
* var6
/* : nullable Object */;
2384 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2385 val
* var7
/* : nullable Object */;
2386 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2387 val
* var8
/* : nullable Object */;
2388 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2389 val
* var9
/* : nullable Object */;
2390 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2391 val
* var10
/* : nullable Object */;
2392 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2393 val
* var11
/* : nullable Object */;
2394 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2395 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2396 short int var12
/* : Bool */;
2399 val
* var_pablenode4
/* var pablenode4: nullable Object */;
2400 short int var13
/* : Bool */;
2403 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
2404 short int var16
/* : Bool */;
2407 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
2408 short int var19
/* : Bool */;
2411 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
2412 short int var22
/* : Bool */;
2415 val
* var_tidnode9
/* var tidnode9: nullable Object */;
2416 short int var25
/* : Bool */;
2419 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
2420 short int var28
/* : Bool */;
2423 val
* var_pannotationsnode11
/* var pannotationsnode11: nullable Object */;
2424 short int var31
/* : Bool */;
2427 val
* var_pexprnode12
/* var pexprnode12: nullable Object */;
2428 short int var34
/* : Bool */;
2431 val
* var37
/* : AAttrPropdef */;
2432 val
* var38
/* : null */;
2433 val
* var39
/* : null */;
2434 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
2435 long var40
/* : Int */;
2436 long var41
/* : Int */;
2439 var_node_list
= var
;
2441 var1
= parser_work__Parser__pop(var_p
);
2443 var_nodearraylist11
= var1
;
2445 var2
= parser_work__Parser__pop(var_p
);
2447 var_nodearraylist10
= var2
;
2449 var3
= parser_work__Parser__pop(var_p
);
2451 var_nodearraylist9
= var3
;
2453 var4
= parser_work__Parser__pop(var_p
);
2455 var_nodearraylist8
= var4
;
2457 var5
= parser_work__Parser__pop(var_p
);
2459 var_nodearraylist7
= var5
;
2461 var6
= parser_work__Parser__pop(var_p
);
2463 var_nodearraylist6
= var6
;
2465 var7
= parser_work__Parser__pop(var_p
);
2467 var_nodearraylist5
= var7
;
2469 var8
= parser_work__Parser__pop(var_p
);
2471 var_nodearraylist4
= var8
;
2473 var9
= parser_work__Parser__pop(var_p
);
2475 var_nodearraylist3
= var9
;
2477 var10
= parser_work__Parser__pop(var_p
);
2479 var_nodearraylist2
= var10
;
2481 var11
= parser_work__Parser__pop(var_p
);
2483 var_nodearraylist1
= var11
;
2484 var_pdocnode2
= var_nodearraylist1
;
2485 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2486 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2487 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2488 if(var_pdocnode2
== NULL
) {
2491 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2494 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2497 if (unlikely(!var12
)) {
2498 PRINT_ERROR("Runtime error: %s", "Assert failed");
2499 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3663);
2502 var_pablenode4
= var_nodearraylist7
;
2503 /* <var_pablenode4:nullable Object> isa nullable AAble */
2504 cltype14
= type_nullable_parser_nodes__AAble
.color
;
2505 idtype15
= type_nullable_parser_nodes__AAble
.id
;
2506 if(var_pablenode4
== NULL
) {
2509 if(cltype14
>= var_pablenode4
->type
->table_size
) {
2512 var13
= var_pablenode4
->type
->type_table
[cltype14
] == idtype15
;
2515 if (unlikely(!var13
)) {
2516 PRINT_ERROR("Runtime error: %s", "Assert failed");
2517 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3665);
2520 var_tkwredefnode5
= var_nodearraylist2
;
2521 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2522 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
2523 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
2524 if(var_tkwredefnode5
== NULL
) {
2527 if(cltype17
>= var_tkwredefnode5
->type
->table_size
) {
2530 var16
= var_tkwredefnode5
->type
->type_table
[cltype17
] == idtype18
;
2533 if (unlikely(!var16
)) {
2534 PRINT_ERROR("Runtime error: %s", "Assert failed");
2535 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3667);
2538 var_pvisibilitynode6
= var_nodearraylist3
;
2539 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2540 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
2541 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
2542 if(var_pvisibilitynode6
== NULL
) {
2545 if(cltype20
>= var_pvisibilitynode6
->type
->table_size
) {
2548 var19
= var_pvisibilitynode6
->type
->type_table
[cltype20
] == idtype21
;
2551 if (unlikely(!var19
)) {
2552 PRINT_ERROR("Runtime error: %s", "Assert failed");
2553 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3669);
2556 var_tkwvarnode7
= var_nodearraylist4
;
2557 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2558 cltype23
= type_nullable_parser_nodes__TKwvar
.color
;
2559 idtype24
= type_nullable_parser_nodes__TKwvar
.id
;
2560 if(var_tkwvarnode7
== NULL
) {
2563 if(cltype23
>= var_tkwvarnode7
->type
->table_size
) {
2566 var22
= var_tkwvarnode7
->type
->type_table
[cltype23
] == idtype24
;
2569 if (unlikely(!var22
)) {
2570 PRINT_ERROR("Runtime error: %s", "Assert failed");
2571 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3671);
2574 var_tidnode9
= var_nodearraylist5
;
2575 /* <var_tidnode9:nullable Object> isa nullable TId */
2576 cltype26
= type_nullable_parser_nodes__TId
.color
;
2577 idtype27
= type_nullable_parser_nodes__TId
.id
;
2578 if(var_tidnode9
== NULL
) {
2581 if(cltype26
>= var_tidnode9
->type
->table_size
) {
2584 var25
= var_tidnode9
->type
->type_table
[cltype26
] == idtype27
;
2587 if (unlikely(!var25
)) {
2588 PRINT_ERROR("Runtime error: %s", "Assert failed");
2589 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3673);
2592 var_ptypenode10
= var_nodearraylist6
;
2593 /* <var_ptypenode10:nullable Object> isa nullable AType */
2594 cltype29
= type_nullable_parser_nodes__AType
.color
;
2595 idtype30
= type_nullable_parser_nodes__AType
.id
;
2596 if(var_ptypenode10
== NULL
) {
2599 if(cltype29
>= var_ptypenode10
->type
->table_size
) {
2602 var28
= var_ptypenode10
->type
->type_table
[cltype29
] == idtype30
;
2605 if (unlikely(!var28
)) {
2606 PRINT_ERROR("Runtime error: %s", "Assert failed");
2607 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3675);
2610 var_pannotationsnode11
= var_nodearraylist11
;
2611 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2612 cltype32
= type_nullable_parser_nodes__AAnnotations
.color
;
2613 idtype33
= type_nullable_parser_nodes__AAnnotations
.id
;
2614 if(var_pannotationsnode11
== NULL
) {
2617 if(cltype32
>= var_pannotationsnode11
->type
->table_size
) {
2620 var31
= var_pannotationsnode11
->type
->type_table
[cltype32
] == idtype33
;
2623 if (unlikely(!var31
)) {
2624 PRINT_ERROR("Runtime error: %s", "Assert failed");
2625 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3677);
2628 var_pexprnode12
= var_nodearraylist10
;
2629 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2630 cltype35
= type_nullable_parser_nodes__AExpr
.color
;
2631 idtype36
= type_nullable_parser_nodes__AExpr
.id
;
2632 if(var_pexprnode12
== NULL
) {
2635 if(cltype35
>= var_pexprnode12
->type
->table_size
) {
2638 var34
= var_pexprnode12
->type
->type_table
[cltype35
] == idtype36
;
2641 if (unlikely(!var34
)) {
2642 PRINT_ERROR("Runtime error: %s", "Assert failed");
2643 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3679);
2646 var37
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2650 parser_prod__AAttrPropdef__init_aattrpropdef(var37
, var_pdocnode2
, var38
, var_pablenode4
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var39
, var_tidnode9
, var_ptypenode10
, var_pannotationsnode11
, var_pexprnode12
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var37:AAttrPropdef>*/
2652 var_ppropdefnode1
= var37
;
2653 var_node_list
= var_ppropdefnode1
;
2654 var40
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction78> */
2656 var41
= parser_work__Parser__go_to(var_p
, var40
);
2659 parser_work__Parser__push(var_p
, var41
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2663 /* method parser#ReduceAction78#action for (self: Object, Parser) */
2664 void VIRTUAL_parser__ReduceAction78__action(val
* self
, val
* p0
) {
2665 parser__ReduceAction78__action(self
, p0
); /* Direct call parser#ReduceAction78#action on <self:Object(ReduceAction78)>*/
2668 /* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */
2669 void parser__ReduceAction79__action(val
* self
, val
* p0
) {
2670 val
* var_p
/* var p: Parser */;
2671 val
* var
/* : null */;
2672 val
* var_node_list
/* var node_list: nullable Object */;
2673 val
* var1
/* : nullable Object */;
2674 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2675 val
* var2
/* : nullable Object */;
2676 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2677 val
* var3
/* : nullable Object */;
2678 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2679 val
* var4
/* : nullable Object */;
2680 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2681 val
* var5
/* : nullable Object */;
2682 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2683 val
* var6
/* : nullable Object */;
2684 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2685 val
* var7
/* : nullable Object */;
2686 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2687 val
* var8
/* : nullable Object */;
2688 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2689 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2690 short int var9
/* : Bool */;
2693 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2694 short int var10
/* : Bool */;
2697 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2698 short int var13
/* : Bool */;
2701 val
* var_tkwinitnode5
/* var tkwinitnode5: nullable Object */;
2702 short int var16
/* : Bool */;
2705 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
2706 short int var19
/* : Bool */;
2709 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
2710 short int var22
/* : Bool */;
2713 val
* var25
/* : AConcreteInitPropdef */;
2714 val
* var26
/* : null */;
2715 val
* var27
/* : null */;
2716 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteInitPropdef */;
2717 long var28
/* : Int */;
2718 long var29
/* : Int */;
2721 var_node_list
= var
;
2723 var1
= parser_work__Parser__pop(var_p
);
2725 var_nodearraylist8
= var1
;
2727 var2
= parser_work__Parser__pop(var_p
);
2729 var_nodearraylist7
= var2
;
2731 var3
= parser_work__Parser__pop(var_p
);
2733 var_nodearraylist6
= var3
;
2735 var4
= parser_work__Parser__pop(var_p
);
2737 var_nodearraylist5
= var4
;
2739 var5
= parser_work__Parser__pop(var_p
);
2741 var_nodearraylist4
= var5
;
2743 var6
= parser_work__Parser__pop(var_p
);
2745 var_nodearraylist3
= var6
;
2747 var7
= parser_work__Parser__pop(var_p
);
2749 var_nodearraylist2
= var7
;
2751 var8
= parser_work__Parser__pop(var_p
);
2753 var_nodearraylist1
= var8
;
2754 var_pdocnode2
= var_nodearraylist1
;
2755 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2756 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2757 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2758 if(var_pdocnode2
== NULL
) {
2761 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2764 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2767 if (unlikely(!var9
)) {
2768 PRINT_ERROR("Runtime error: %s", "Assert failed");
2769 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3711);
2772 var_tkwredefnode3
= var_nodearraylist2
;
2773 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2774 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
2775 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
2776 if(var_tkwredefnode3
== NULL
) {
2779 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
2782 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
2785 if (unlikely(!var10
)) {
2786 PRINT_ERROR("Runtime error: %s", "Assert failed");
2787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3713);
2790 var_pvisibilitynode4
= var_nodearraylist3
;
2791 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2792 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
2793 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
2794 if(var_pvisibilitynode4
== NULL
) {
2797 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
2800 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
2803 if (unlikely(!var13
)) {
2804 PRINT_ERROR("Runtime error: %s", "Assert failed");
2805 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3715);
2808 var_tkwinitnode5
= var_nodearraylist4
;
2809 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
2810 cltype17
= type_nullable_parser_nodes__TKwinit
.color
;
2811 idtype18
= type_nullable_parser_nodes__TKwinit
.id
;
2812 if(var_tkwinitnode5
== NULL
) {
2815 if(cltype17
>= var_tkwinitnode5
->type
->table_size
) {
2818 var16
= var_tkwinitnode5
->type
->type_table
[cltype17
] == idtype18
;
2821 if (unlikely(!var16
)) {
2822 PRINT_ERROR("Runtime error: %s", "Assert failed");
2823 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3717);
2826 var_psignaturenode7
= var_nodearraylist5
;
2827 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2828 cltype20
= type_nullable_parser_nodes__ASignature
.color
;
2829 idtype21
= type_nullable_parser_nodes__ASignature
.id
;
2830 if(var_psignaturenode7
== NULL
) {
2833 if(cltype20
>= var_psignaturenode7
->type
->table_size
) {
2836 var19
= var_psignaturenode7
->type
->type_table
[cltype20
] == idtype21
;
2839 if (unlikely(!var19
)) {
2840 PRINT_ERROR("Runtime error: %s", "Assert failed");
2841 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3719);
2844 var_pexprnode9
= var_nodearraylist7
;
2845 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
2846 cltype23
= type_nullable_parser_nodes__AExpr
.color
;
2847 idtype24
= type_nullable_parser_nodes__AExpr
.id
;
2848 if(var_pexprnode9
== NULL
) {
2851 if(cltype23
>= var_pexprnode9
->type
->table_size
) {
2854 var22
= var_pexprnode9
->type
->type_table
[cltype23
] == idtype24
;
2857 if (unlikely(!var22
)) {
2858 PRINT_ERROR("Runtime error: %s", "Assert failed");
2859 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3721);
2862 var25
= NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef
);
2866 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwinitnode5
, var26
, var_psignaturenode7
, var27
, var_pexprnode9
); /* Direct call parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/
2868 var_ppropdefnode1
= var25
;
2869 var_node_list
= var_ppropdefnode1
;
2870 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction79> */
2872 var29
= parser_work__Parser__go_to(var_p
, var28
);
2875 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2879 /* method parser#ReduceAction79#action for (self: Object, Parser) */
2880 void VIRTUAL_parser__ReduceAction79__action(val
* self
, val
* p0
) {
2881 parser__ReduceAction79__action(self
, p0
); /* Direct call parser#ReduceAction79#action on <self:Object(ReduceAction79)>*/
2884 /* method parser#ReduceAction80#action for (self: ReduceAction80, Parser) */
2885 void parser__ReduceAction80__action(val
* self
, val
* p0
) {
2886 val
* var_p
/* var p: Parser */;
2887 val
* var
/* : null */;
2888 val
* var_node_list
/* var node_list: nullable Object */;
2889 val
* var1
/* : nullable Object */;
2890 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2891 val
* var2
/* : nullable Object */;
2892 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2893 val
* var3
/* : nullable Object */;
2894 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2895 val
* var4
/* : nullable Object */;
2896 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2897 val
* var5
/* : nullable Object */;
2898 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2899 val
* var6
/* : nullable Object */;
2900 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2901 val
* var7
/* : nullable Object */;
2902 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2903 val
* var8
/* : nullable Object */;
2904 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2905 val
* var9
/* : nullable Object */;
2906 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2907 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2908 short int var10
/* : Bool */;
2911 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2912 short int var11
/* : Bool */;
2915 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2916 short int var14
/* : Bool */;
2919 val
* var_tkwinitnode5
/* var tkwinitnode5: nullable Object */;
2920 short int var17
/* : Bool */;
2923 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
2924 short int var20
/* : Bool */;
2927 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
2928 short int var23
/* : Bool */;
2931 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
2932 short int var26
/* : Bool */;
2935 val
* var29
/* : AConcreteInitPropdef */;
2936 val
* var30
/* : null */;
2937 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteInitPropdef */;
2938 long var31
/* : Int */;
2939 long var32
/* : Int */;
2942 var_node_list
= var
;
2944 var1
= parser_work__Parser__pop(var_p
);
2946 var_nodearraylist9
= var1
;
2948 var2
= parser_work__Parser__pop(var_p
);
2950 var_nodearraylist8
= var2
;
2952 var3
= parser_work__Parser__pop(var_p
);
2954 var_nodearraylist7
= var3
;
2956 var4
= parser_work__Parser__pop(var_p
);
2958 var_nodearraylist6
= var4
;
2960 var5
= parser_work__Parser__pop(var_p
);
2962 var_nodearraylist5
= var5
;
2964 var6
= parser_work__Parser__pop(var_p
);
2966 var_nodearraylist4
= var6
;
2968 var7
= parser_work__Parser__pop(var_p
);
2970 var_nodearraylist3
= var7
;
2972 var8
= parser_work__Parser__pop(var_p
);
2974 var_nodearraylist2
= var8
;
2976 var9
= parser_work__Parser__pop(var_p
);
2978 var_nodearraylist1
= var9
;
2979 var_pdocnode2
= var_nodearraylist1
;
2980 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2981 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2982 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2983 if(var_pdocnode2
== NULL
) {
2986 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2989 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2992 if (unlikely(!var10
)) {
2993 PRINT_ERROR("Runtime error: %s", "Assert failed");
2994 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3751);
2997 var_tkwredefnode3
= var_nodearraylist2
;
2998 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2999 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
3000 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
3001 if(var_tkwredefnode3
== NULL
) {
3004 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
3007 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
3010 if (unlikely(!var11
)) {
3011 PRINT_ERROR("Runtime error: %s", "Assert failed");
3012 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3753);
3015 var_pvisibilitynode4
= var_nodearraylist3
;
3016 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3017 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
3018 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
3019 if(var_pvisibilitynode4
== NULL
) {
3022 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
3025 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
3028 if (unlikely(!var14
)) {
3029 PRINT_ERROR("Runtime error: %s", "Assert failed");
3030 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3755);
3033 var_tkwinitnode5
= var_nodearraylist4
;
3034 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
3035 cltype18
= type_nullable_parser_nodes__TKwinit
.color
;
3036 idtype19
= type_nullable_parser_nodes__TKwinit
.id
;
3037 if(var_tkwinitnode5
== NULL
) {
3040 if(cltype18
>= var_tkwinitnode5
->type
->table_size
) {
3043 var17
= var_tkwinitnode5
->type
->type_table
[cltype18
] == idtype19
;
3046 if (unlikely(!var17
)) {
3047 PRINT_ERROR("Runtime error: %s", "Assert failed");
3048 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3757);
3051 var_pmethidnode6
= var_nodearraylist5
;
3052 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3053 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
3054 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
3055 if(var_pmethidnode6
== NULL
) {
3058 if(cltype21
>= var_pmethidnode6
->type
->table_size
) {
3061 var20
= var_pmethidnode6
->type
->type_table
[cltype21
] == idtype22
;
3064 if (unlikely(!var20
)) {
3065 PRINT_ERROR("Runtime error: %s", "Assert failed");
3066 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3759);
3069 var_psignaturenode7
= var_nodearraylist6
;
3070 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3071 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
3072 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
3073 if(var_psignaturenode7
== NULL
) {
3076 if(cltype24
>= var_psignaturenode7
->type
->table_size
) {
3079 var23
= var_psignaturenode7
->type
->type_table
[cltype24
] == idtype25
;
3082 if (unlikely(!var23
)) {
3083 PRINT_ERROR("Runtime error: %s", "Assert failed");
3084 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3761);
3087 var_pexprnode9
= var_nodearraylist8
;
3088 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
3089 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
3090 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
3091 if(var_pexprnode9
== NULL
) {
3094 if(cltype27
>= var_pexprnode9
->type
->table_size
) {
3097 var26
= var_pexprnode9
->type
->type_table
[cltype27
] == idtype28
;
3100 if (unlikely(!var26
)) {
3101 PRINT_ERROR("Runtime error: %s", "Assert failed");
3102 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3763);
3105 var29
= NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef
);
3108 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwinitnode5
, var_pmethidnode6
, var_psignaturenode7
, var30
, var_pexprnode9
); /* Direct call parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/
3110 var_ppropdefnode1
= var29
;
3111 var_node_list
= var_ppropdefnode1
;
3112 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction80> */
3114 var32
= parser_work__Parser__go_to(var_p
, var31
);
3117 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3121 /* method parser#ReduceAction80#action for (self: Object, Parser) */
3122 void VIRTUAL_parser__ReduceAction80__action(val
* self
, val
* p0
) {
3123 parser__ReduceAction80__action(self
, p0
); /* Direct call parser#ReduceAction80#action on <self:Object(ReduceAction80)>*/
3126 /* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */
3127 void parser__ReduceAction81__action(val
* self
, val
* p0
) {
3128 val
* var_p
/* var p: Parser */;
3129 val
* var
/* : null */;
3130 val
* var_node_list
/* var node_list: nullable Object */;
3131 val
* var1
/* : nullable Object */;
3132 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3133 val
* var2
/* : nullable Object */;
3134 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3135 val
* var3
/* : nullable Object */;
3136 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3137 val
* var4
/* : nullable Object */;
3138 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3139 val
* var5
/* : nullable Object */;
3140 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3141 val
* var6
/* : nullable Object */;
3142 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3143 val
* var7
/* : nullable Object */;
3144 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3145 val
* var8
/* : nullable Object */;
3146 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3147 val
* var9
/* : nullable Object */;
3148 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3149 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3150 short int var10
/* : Bool */;
3153 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3154 short int var11
/* : Bool */;
3157 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3158 short int var14
/* : Bool */;
3161 val
* var_tkwinitnode5
/* var tkwinitnode5: nullable Object */;
3162 short int var17
/* : Bool */;
3165 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
3166 short int var20
/* : Bool */;
3169 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
3170 short int var23
/* : Bool */;
3173 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
3174 short int var26
/* : Bool */;
3177 val
* var29
/* : AConcreteInitPropdef */;
3178 val
* var30
/* : null */;
3179 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteInitPropdef */;
3180 long var31
/* : Int */;
3181 long var32
/* : Int */;
3184 var_node_list
= var
;
3186 var1
= parser_work__Parser__pop(var_p
);
3188 var_nodearraylist9
= var1
;
3190 var2
= parser_work__Parser__pop(var_p
);
3192 var_nodearraylist8
= var2
;
3194 var3
= parser_work__Parser__pop(var_p
);
3196 var_nodearraylist7
= var3
;
3198 var4
= parser_work__Parser__pop(var_p
);
3200 var_nodearraylist6
= var4
;
3202 var5
= parser_work__Parser__pop(var_p
);
3204 var_nodearraylist5
= var5
;
3206 var6
= parser_work__Parser__pop(var_p
);
3208 var_nodearraylist4
= var6
;
3210 var7
= parser_work__Parser__pop(var_p
);
3212 var_nodearraylist3
= var7
;
3214 var8
= parser_work__Parser__pop(var_p
);
3216 var_nodearraylist2
= var8
;
3218 var9
= parser_work__Parser__pop(var_p
);
3220 var_nodearraylist1
= var9
;
3221 var_pdocnode2
= var_nodearraylist1
;
3222 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3223 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3224 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3225 if(var_pdocnode2
== NULL
) {
3228 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3231 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3234 if (unlikely(!var10
)) {
3235 PRINT_ERROR("Runtime error: %s", "Assert failed");
3236 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3793);
3239 var_tkwredefnode3
= var_nodearraylist2
;
3240 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3241 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
3242 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
3243 if(var_tkwredefnode3
== NULL
) {
3246 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
3249 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
3252 if (unlikely(!var11
)) {
3253 PRINT_ERROR("Runtime error: %s", "Assert failed");
3254 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3795);
3257 var_pvisibilitynode4
= var_nodearraylist3
;
3258 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3259 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
3260 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
3261 if(var_pvisibilitynode4
== NULL
) {
3264 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
3267 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
3270 if (unlikely(!var14
)) {
3271 PRINT_ERROR("Runtime error: %s", "Assert failed");
3272 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3797);
3275 var_tkwinitnode5
= var_nodearraylist4
;
3276 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
3277 cltype18
= type_nullable_parser_nodes__TKwinit
.color
;
3278 idtype19
= type_nullable_parser_nodes__TKwinit
.id
;
3279 if(var_tkwinitnode5
== NULL
) {
3282 if(cltype18
>= var_tkwinitnode5
->type
->table_size
) {
3285 var17
= var_tkwinitnode5
->type
->type_table
[cltype18
] == idtype19
;
3288 if (unlikely(!var17
)) {
3289 PRINT_ERROR("Runtime error: %s", "Assert failed");
3290 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3799);
3293 var_psignaturenode7
= var_nodearraylist5
;
3294 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3295 cltype21
= type_nullable_parser_nodes__ASignature
.color
;
3296 idtype22
= type_nullable_parser_nodes__ASignature
.id
;
3297 if(var_psignaturenode7
== NULL
) {
3300 if(cltype21
>= var_psignaturenode7
->type
->table_size
) {
3303 var20
= var_psignaturenode7
->type
->type_table
[cltype21
] == idtype22
;
3306 if (unlikely(!var20
)) {
3307 PRINT_ERROR("Runtime error: %s", "Assert failed");
3308 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3801);
3311 var_pannotationsnode8
= var_nodearraylist6
;
3312 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
3313 cltype24
= type_nullable_parser_nodes__AAnnotations
.color
;
3314 idtype25
= type_nullable_parser_nodes__AAnnotations
.id
;
3315 if(var_pannotationsnode8
== NULL
) {
3318 if(cltype24
>= var_pannotationsnode8
->type
->table_size
) {
3321 var23
= var_pannotationsnode8
->type
->type_table
[cltype24
] == idtype25
;
3324 if (unlikely(!var23
)) {
3325 PRINT_ERROR("Runtime error: %s", "Assert failed");
3326 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3803);
3329 var_pexprnode9
= var_nodearraylist8
;
3330 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
3331 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
3332 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
3333 if(var_pexprnode9
== NULL
) {
3336 if(cltype27
>= var_pexprnode9
->type
->table_size
) {
3339 var26
= var_pexprnode9
->type
->type_table
[cltype27
] == idtype28
;
3342 if (unlikely(!var26
)) {
3343 PRINT_ERROR("Runtime error: %s", "Assert failed");
3344 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3805);
3347 var29
= NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef
);
3350 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwinitnode5
, var30
, var_psignaturenode7
, var_pannotationsnode8
, var_pexprnode9
); /* Direct call parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/
3352 var_ppropdefnode1
= var29
;
3353 var_node_list
= var_ppropdefnode1
;
3354 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction81> */
3356 var32
= parser_work__Parser__go_to(var_p
, var31
);
3359 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3363 /* method parser#ReduceAction81#action for (self: Object, Parser) */
3364 void VIRTUAL_parser__ReduceAction81__action(val
* self
, val
* p0
) {
3365 parser__ReduceAction81__action(self
, p0
); /* Direct call parser#ReduceAction81#action on <self:Object(ReduceAction81)>*/
3368 /* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */
3369 void parser__ReduceAction82__action(val
* self
, val
* p0
) {
3370 val
* var_p
/* var p: Parser */;
3371 val
* var
/* : null */;
3372 val
* var_node_list
/* var node_list: nullable Object */;
3373 val
* var1
/* : nullable Object */;
3374 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3375 val
* var2
/* : nullable Object */;
3376 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3377 val
* var3
/* : nullable Object */;
3378 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3379 val
* var4
/* : nullable Object */;
3380 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3381 val
* var5
/* : nullable Object */;
3382 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3383 val
* var6
/* : nullable Object */;
3384 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3385 val
* var7
/* : nullable Object */;
3386 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3387 val
* var8
/* : nullable Object */;
3388 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3389 val
* var9
/* : nullable Object */;
3390 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3391 val
* var10
/* : nullable Object */;
3392 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3393 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3394 short int var11
/* : Bool */;
3397 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3398 short int var12
/* : Bool */;
3401 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3402 short int var15
/* : Bool */;
3405 val
* var_tkwinitnode5
/* var tkwinitnode5: nullable Object */;
3406 short int var18
/* : Bool */;
3409 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
3410 short int var21
/* : Bool */;
3413 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
3414 short int var24
/* : Bool */;
3417 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
3418 short int var27
/* : Bool */;
3421 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
3422 short int var30
/* : Bool */;
3425 val
* var33
/* : AConcreteInitPropdef */;
3426 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteInitPropdef */;
3427 long var34
/* : Int */;
3428 long var35
/* : Int */;
3431 var_node_list
= var
;
3433 var1
= parser_work__Parser__pop(var_p
);
3435 var_nodearraylist10
= var1
;
3437 var2
= parser_work__Parser__pop(var_p
);
3439 var_nodearraylist9
= var2
;
3441 var3
= parser_work__Parser__pop(var_p
);
3443 var_nodearraylist8
= var3
;
3445 var4
= parser_work__Parser__pop(var_p
);
3447 var_nodearraylist7
= var4
;
3449 var5
= parser_work__Parser__pop(var_p
);
3451 var_nodearraylist6
= var5
;
3453 var6
= parser_work__Parser__pop(var_p
);
3455 var_nodearraylist5
= var6
;
3457 var7
= parser_work__Parser__pop(var_p
);
3459 var_nodearraylist4
= var7
;
3461 var8
= parser_work__Parser__pop(var_p
);
3463 var_nodearraylist3
= var8
;
3465 var9
= parser_work__Parser__pop(var_p
);
3467 var_nodearraylist2
= var9
;
3469 var10
= parser_work__Parser__pop(var_p
);
3471 var_nodearraylist1
= var10
;
3472 var_pdocnode2
= var_nodearraylist1
;
3473 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3474 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3475 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3476 if(var_pdocnode2
== NULL
) {
3479 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3482 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3485 if (unlikely(!var11
)) {
3486 PRINT_ERROR("Runtime error: %s", "Assert failed");
3487 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3836);
3490 var_tkwredefnode3
= var_nodearraylist2
;
3491 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3492 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
3493 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
3494 if(var_tkwredefnode3
== NULL
) {
3497 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
3500 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
3503 if (unlikely(!var12
)) {
3504 PRINT_ERROR("Runtime error: %s", "Assert failed");
3505 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3838);
3508 var_pvisibilitynode4
= var_nodearraylist3
;
3509 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3510 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
3511 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
3512 if(var_pvisibilitynode4
== NULL
) {
3515 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
3518 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
3521 if (unlikely(!var15
)) {
3522 PRINT_ERROR("Runtime error: %s", "Assert failed");
3523 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3840);
3526 var_tkwinitnode5
= var_nodearraylist4
;
3527 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
3528 cltype19
= type_nullable_parser_nodes__TKwinit
.color
;
3529 idtype20
= type_nullable_parser_nodes__TKwinit
.id
;
3530 if(var_tkwinitnode5
== NULL
) {
3533 if(cltype19
>= var_tkwinitnode5
->type
->table_size
) {
3536 var18
= var_tkwinitnode5
->type
->type_table
[cltype19
] == idtype20
;
3539 if (unlikely(!var18
)) {
3540 PRINT_ERROR("Runtime error: %s", "Assert failed");
3541 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3842);
3544 var_pmethidnode6
= var_nodearraylist5
;
3545 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3546 cltype22
= type_nullable_parser_nodes__AMethid
.color
;
3547 idtype23
= type_nullable_parser_nodes__AMethid
.id
;
3548 if(var_pmethidnode6
== NULL
) {
3551 if(cltype22
>= var_pmethidnode6
->type
->table_size
) {
3554 var21
= var_pmethidnode6
->type
->type_table
[cltype22
] == idtype23
;
3557 if (unlikely(!var21
)) {
3558 PRINT_ERROR("Runtime error: %s", "Assert failed");
3559 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3844);
3562 var_psignaturenode7
= var_nodearraylist6
;
3563 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3564 cltype25
= type_nullable_parser_nodes__ASignature
.color
;
3565 idtype26
= type_nullable_parser_nodes__ASignature
.id
;
3566 if(var_psignaturenode7
== NULL
) {
3569 if(cltype25
>= var_psignaturenode7
->type
->table_size
) {
3572 var24
= var_psignaturenode7
->type
->type_table
[cltype25
] == idtype26
;
3575 if (unlikely(!var24
)) {
3576 PRINT_ERROR("Runtime error: %s", "Assert failed");
3577 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3846);
3580 var_pannotationsnode8
= var_nodearraylist7
;
3581 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
3582 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
3583 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
3584 if(var_pannotationsnode8
== NULL
) {
3587 if(cltype28
>= var_pannotationsnode8
->type
->table_size
) {
3590 var27
= var_pannotationsnode8
->type
->type_table
[cltype28
] == idtype29
;
3593 if (unlikely(!var27
)) {
3594 PRINT_ERROR("Runtime error: %s", "Assert failed");
3595 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3848);
3598 var_pexprnode9
= var_nodearraylist9
;
3599 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
3600 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
3601 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
3602 if(var_pexprnode9
== NULL
) {
3605 if(cltype31
>= var_pexprnode9
->type
->table_size
) {
3608 var30
= var_pexprnode9
->type
->type_table
[cltype31
] == idtype32
;
3611 if (unlikely(!var30
)) {
3612 PRINT_ERROR("Runtime error: %s", "Assert failed");
3613 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3850);
3616 var33
= NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef
);
3618 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwinitnode5
, var_pmethidnode6
, var_psignaturenode7
, var_pannotationsnode8
, var_pexprnode9
); /* Direct call parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef on <var33:AConcreteInitPropdef>*/
3620 var_ppropdefnode1
= var33
;
3621 var_node_list
= var_ppropdefnode1
;
3622 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction82> */
3624 var35
= parser_work__Parser__go_to(var_p
, var34
);
3627 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3631 /* method parser#ReduceAction82#action for (self: Object, Parser) */
3632 void VIRTUAL_parser__ReduceAction82__action(val
* self
, val
* p0
) {
3633 parser__ReduceAction82__action(self
, p0
); /* Direct call parser#ReduceAction82#action on <self:Object(ReduceAction82)>*/
3636 /* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */
3637 void parser__ReduceAction83__action(val
* self
, val
* p0
) {
3638 val
* var_p
/* var p: Parser */;
3639 val
* var
/* : null */;
3640 val
* var_node_list
/* var node_list: nullable Object */;
3641 val
* var1
/* : nullable Object */;
3642 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3643 val
* var2
/* : nullable Object */;
3644 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3645 val
* var3
/* : nullable Object */;
3646 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3647 val
* var4
/* : nullable Object */;
3648 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3649 val
* var5
/* : nullable Object */;
3650 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3651 val
* var6
/* : nullable Object */;
3652 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3653 val
* var7
/* : nullable Object */;
3654 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3655 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3656 short int var8
/* : Bool */;
3659 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3660 short int var9
/* : Bool */;
3663 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3664 short int var12
/* : Bool */;
3667 val
* var_tkwtypenode5
/* var tkwtypenode5: nullable Object */;
3668 short int var15
/* : Bool */;
3671 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3672 short int var18
/* : Bool */;
3675 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
3676 short int var21
/* : Bool */;
3679 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
3680 short int var24
/* : Bool */;
3683 val
* var27
/* : ATypePropdef */;
3684 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable ATypePropdef */;
3685 long var28
/* : Int */;
3686 long var29
/* : Int */;
3689 var_node_list
= var
;
3691 var1
= parser_work__Parser__pop(var_p
);
3693 var_nodearraylist7
= var1
;
3695 var2
= parser_work__Parser__pop(var_p
);
3697 var_nodearraylist6
= var2
;
3699 var3
= parser_work__Parser__pop(var_p
);
3701 var_nodearraylist5
= var3
;
3703 var4
= parser_work__Parser__pop(var_p
);
3705 var_nodearraylist4
= var4
;
3707 var5
= parser_work__Parser__pop(var_p
);
3709 var_nodearraylist3
= var5
;
3711 var6
= parser_work__Parser__pop(var_p
);
3713 var_nodearraylist2
= var6
;
3715 var7
= parser_work__Parser__pop(var_p
);
3717 var_nodearraylist1
= var7
;
3718 var_pdocnode2
= var_nodearraylist1
;
3719 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3720 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3721 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3722 if(var_pdocnode2
== NULL
) {
3725 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3728 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3731 if (unlikely(!var8
)) {
3732 PRINT_ERROR("Runtime error: %s", "Assert failed");
3733 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3878);
3736 var_tkwredefnode3
= var_nodearraylist2
;
3737 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3738 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
3739 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
3740 if(var_tkwredefnode3
== NULL
) {
3743 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
3746 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
3749 if (unlikely(!var9
)) {
3750 PRINT_ERROR("Runtime error: %s", "Assert failed");
3751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3880);
3754 var_pvisibilitynode4
= var_nodearraylist3
;
3755 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3756 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
3757 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
3758 if(var_pvisibilitynode4
== NULL
) {
3761 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
3764 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
3767 if (unlikely(!var12
)) {
3768 PRINT_ERROR("Runtime error: %s", "Assert failed");
3769 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3882);
3772 var_tkwtypenode5
= var_nodearraylist4
;
3773 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
3774 cltype16
= type_nullable_parser_nodes__TKwtype
.color
;
3775 idtype17
= type_nullable_parser_nodes__TKwtype
.id
;
3776 if(var_tkwtypenode5
== NULL
) {
3779 if(cltype16
>= var_tkwtypenode5
->type
->table_size
) {
3782 var15
= var_tkwtypenode5
->type
->type_table
[cltype16
] == idtype17
;
3785 if (unlikely(!var15
)) {
3786 PRINT_ERROR("Runtime error: %s", "Assert failed");
3787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3884);
3790 var_tclassidnode6
= var_nodearraylist5
;
3791 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3792 cltype19
= type_nullable_parser_nodes__TClassid
.color
;
3793 idtype20
= type_nullable_parser_nodes__TClassid
.id
;
3794 if(var_tclassidnode6
== NULL
) {
3797 if(cltype19
>= var_tclassidnode6
->type
->table_size
) {
3800 var18
= var_tclassidnode6
->type
->type_table
[cltype19
] == idtype20
;
3803 if (unlikely(!var18
)) {
3804 PRINT_ERROR("Runtime error: %s", "Assert failed");
3805 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3886);
3808 var_ptypenode7
= var_nodearraylist6
;
3809 /* <var_ptypenode7:nullable Object> isa nullable AType */
3810 cltype22
= type_nullable_parser_nodes__AType
.color
;
3811 idtype23
= type_nullable_parser_nodes__AType
.id
;
3812 if(var_ptypenode7
== NULL
) {
3815 if(cltype22
>= var_ptypenode7
->type
->table_size
) {
3818 var21
= var_ptypenode7
->type
->type_table
[cltype22
] == idtype23
;
3821 if (unlikely(!var21
)) {
3822 PRINT_ERROR("Runtime error: %s", "Assert failed");
3823 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3888);
3826 var_pannotationsnode8
= var_nodearraylist7
;
3827 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
3828 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
3829 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
3830 if(var_pannotationsnode8
== NULL
) {
3833 if(cltype25
>= var_pannotationsnode8
->type
->table_size
) {
3836 var24
= var_pannotationsnode8
->type
->type_table
[cltype25
] == idtype26
;
3839 if (unlikely(!var24
)) {
3840 PRINT_ERROR("Runtime error: %s", "Assert failed");
3841 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3890);
3844 var27
= NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef
);
3846 parser_prod__ATypePropdef__init_atypepropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwtypenode5
, var_tclassidnode6
, var_ptypenode7
, var_pannotationsnode8
); /* Direct call parser_prod#ATypePropdef#init_atypepropdef on <var27:ATypePropdef>*/
3848 var_ppropdefnode1
= var27
;
3849 var_node_list
= var_ppropdefnode1
;
3850 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction83> */
3852 var29
= parser_work__Parser__go_to(var_p
, var28
);
3855 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3859 /* method parser#ReduceAction83#action for (self: Object, Parser) */
3860 void VIRTUAL_parser__ReduceAction83__action(val
* self
, val
* p0
) {
3861 parser__ReduceAction83__action(self
, p0
); /* Direct call parser#ReduceAction83#action on <self:Object(ReduceAction83)>*/
3864 /* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */
3865 void parser__ReduceAction84__action(val
* self
, val
* p0
) {
3866 val
* var_p
/* var p: Parser */;
3867 val
* var
/* : null */;
3868 val
* var_node_list
/* var node_list: nullable Object */;
3869 val
* var1
/* : nullable Object */;
3870 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3871 val
* var2
/* : nullable Object */;
3872 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3873 val
* var3
/* : nullable Object */;
3874 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3875 val
* var4
/* : nullable Object */;
3876 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3877 val
* var5
/* : nullable Object */;
3878 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3879 val
* var6
/* : nullable Object */;
3880 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3881 val
* var7
/* : nullable Object */;
3882 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3883 val
* var8
/* : nullable Object */;
3884 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3885 val
* var9
/* : nullable Object */;
3886 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3887 val
* var10
/* : nullable Object */;
3888 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3889 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3890 short int var11
/* : Bool */;
3893 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3894 short int var12
/* : Bool */;
3897 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3898 short int var15
/* : Bool */;
3901 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
3902 short int var18
/* : Bool */;
3905 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
3906 short int var21
/* : Bool */;
3909 val
* var_tstringnode9
/* var tstringnode9: nullable Object */;
3910 short int var24
/* : Bool */;
3913 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
3914 short int var27
/* : Bool */;
3917 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
3918 short int var30
/* : Bool */;
3921 val
* var33
/* : AExternInitPropdef */;
3922 val
* var34
/* : null */;
3923 val
* var35
/* : null */;
3924 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
3925 long var36
/* : Int */;
3926 long var37
/* : Int */;
3929 var_node_list
= var
;
3931 var1
= parser_work__Parser__pop(var_p
);
3933 var_nodearraylist10
= var1
;
3935 var2
= parser_work__Parser__pop(var_p
);
3937 var_nodearraylist9
= var2
;
3939 var3
= parser_work__Parser__pop(var_p
);
3941 var_nodearraylist8
= var3
;
3943 var4
= parser_work__Parser__pop(var_p
);
3945 var_nodearraylist7
= var4
;
3947 var5
= parser_work__Parser__pop(var_p
);
3949 var_nodearraylist6
= var5
;
3951 var6
= parser_work__Parser__pop(var_p
);
3953 var_nodearraylist5
= var6
;
3955 var7
= parser_work__Parser__pop(var_p
);
3957 var_nodearraylist4
= var7
;
3959 var8
= parser_work__Parser__pop(var_p
);
3961 var_nodearraylist3
= var8
;
3963 var9
= parser_work__Parser__pop(var_p
);
3965 var_nodearraylist2
= var9
;
3967 var10
= parser_work__Parser__pop(var_p
);
3969 var_nodearraylist1
= var10
;
3970 var_pdocnode2
= var_nodearraylist1
;
3971 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3972 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3973 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3974 if(var_pdocnode2
== NULL
) {
3977 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3980 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3983 if (unlikely(!var11
)) {
3984 PRINT_ERROR("Runtime error: %s", "Assert failed");
3985 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3920);
3988 var_tkwredefnode3
= var_nodearraylist2
;
3989 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3990 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
3991 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
3992 if(var_tkwredefnode3
== NULL
) {
3995 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
3998 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
4001 if (unlikely(!var12
)) {
4002 PRINT_ERROR("Runtime error: %s", "Assert failed");
4003 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3922);
4006 var_pvisibilitynode4
= var_nodearraylist3
;
4007 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4008 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
4009 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
4010 if(var_pvisibilitynode4
== NULL
) {
4013 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
4016 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
4019 if (unlikely(!var15
)) {
4020 PRINT_ERROR("Runtime error: %s", "Assert failed");
4021 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3924);
4024 var_tkwnewnode5
= var_nodearraylist4
;
4025 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4026 cltype19
= type_nullable_parser_nodes__TKwnew
.color
;
4027 idtype20
= type_nullable_parser_nodes__TKwnew
.id
;
4028 if(var_tkwnewnode5
== NULL
) {
4031 if(cltype19
>= var_tkwnewnode5
->type
->table_size
) {
4034 var18
= var_tkwnewnode5
->type
->type_table
[cltype19
] == idtype20
;
4037 if (unlikely(!var18
)) {
4038 PRINT_ERROR("Runtime error: %s", "Assert failed");
4039 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3926);
4042 var_psignaturenode7
= var_nodearraylist5
;
4043 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4044 cltype22
= type_nullable_parser_nodes__ASignature
.color
;
4045 idtype23
= type_nullable_parser_nodes__ASignature
.id
;
4046 if(var_psignaturenode7
== NULL
) {
4049 if(cltype22
>= var_psignaturenode7
->type
->table_size
) {
4052 var21
= var_psignaturenode7
->type
->type_table
[cltype22
] == idtype23
;
4055 if (unlikely(!var21
)) {
4056 PRINT_ERROR("Runtime error: %s", "Assert failed");
4057 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3928);
4060 var_tstringnode9
= var_nodearraylist8
;
4061 /* <var_tstringnode9:nullable Object> isa nullable TString */
4062 cltype25
= type_nullable_parser_nodes__TString
.color
;
4063 idtype26
= type_nullable_parser_nodes__TString
.id
;
4064 if(var_tstringnode9
== NULL
) {
4067 if(cltype25
>= var_tstringnode9
->type
->table_size
) {
4070 var24
= var_tstringnode9
->type
->type_table
[cltype25
] == idtype26
;
4073 if (unlikely(!var24
)) {
4074 PRINT_ERROR("Runtime error: %s", "Assert failed");
4075 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3930);
4078 var_pexterncallsnode10
= var_nodearraylist9
;
4079 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
4080 cltype28
= type_nullable_parser_nodes__AExternCalls
.color
;
4081 idtype29
= type_nullable_parser_nodes__AExternCalls
.id
;
4082 if(var_pexterncallsnode10
== NULL
) {
4085 if(cltype28
>= var_pexterncallsnode10
->type
->table_size
) {
4088 var27
= var_pexterncallsnode10
->type
->type_table
[cltype28
] == idtype29
;
4091 if (unlikely(!var27
)) {
4092 PRINT_ERROR("Runtime error: %s", "Assert failed");
4093 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3932);
4096 var_pexterncodeblocknode11
= var_nodearraylist10
;
4097 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
4098 cltype31
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4099 idtype32
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4100 if(var_pexterncodeblocknode11
== NULL
) {
4103 if(cltype31
>= var_pexterncodeblocknode11
->type
->table_size
) {
4106 var30
= var_pexterncodeblocknode11
->type
->type_table
[cltype31
] == idtype32
;
4109 if (unlikely(!var30
)) {
4110 PRINT_ERROR("Runtime error: %s", "Assert failed");
4111 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3934);
4114 var33
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
4118 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var34
, var_psignaturenode7
, var35
, var_tstringnode9
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var33:AExternInitPropdef>*/
4120 var_ppropdefnode1
= var33
;
4121 var_node_list
= var_ppropdefnode1
;
4122 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction84> */
4124 var37
= parser_work__Parser__go_to(var_p
, var36
);
4127 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4131 /* method parser#ReduceAction84#action for (self: Object, Parser) */
4132 void VIRTUAL_parser__ReduceAction84__action(val
* self
, val
* p0
) {
4133 parser__ReduceAction84__action(self
, p0
); /* Direct call parser#ReduceAction84#action on <self:Object(ReduceAction84)>*/
4136 /* method parser#ReduceAction85#action for (self: ReduceAction85, Parser) */
4137 void parser__ReduceAction85__action(val
* self
, val
* p0
) {
4138 val
* var_p
/* var p: Parser */;
4139 val
* var
/* : null */;
4140 val
* var_node_list
/* var node_list: nullable Object */;
4141 val
* var1
/* : nullable Object */;
4142 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4143 val
* var2
/* : nullable Object */;
4144 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4145 val
* var3
/* : nullable Object */;
4146 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4147 val
* var4
/* : nullable Object */;
4148 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4149 val
* var5
/* : nullable Object */;
4150 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4151 val
* var6
/* : nullable Object */;
4152 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4153 val
* var7
/* : nullable Object */;
4154 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4155 val
* var8
/* : nullable Object */;
4156 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4157 val
* var9
/* : nullable Object */;
4158 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4159 val
* var10
/* : nullable Object */;
4160 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4161 val
* var11
/* : nullable Object */;
4162 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4163 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4164 short int var12
/* : Bool */;
4167 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4168 short int var13
/* : Bool */;
4171 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4172 short int var16
/* : Bool */;
4175 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
4176 short int var19
/* : Bool */;
4179 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
4180 short int var22
/* : Bool */;
4183 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
4184 short int var25
/* : Bool */;
4187 val
* var_tstringnode9
/* var tstringnode9: nullable Object */;
4188 short int var28
/* : Bool */;
4191 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
4192 short int var31
/* : Bool */;
4195 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
4196 short int var34
/* : Bool */;
4199 val
* var37
/* : AExternInitPropdef */;
4200 val
* var38
/* : null */;
4201 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
4202 long var39
/* : Int */;
4203 long var40
/* : Int */;
4206 var_node_list
= var
;
4208 var1
= parser_work__Parser__pop(var_p
);
4210 var_nodearraylist11
= var1
;
4212 var2
= parser_work__Parser__pop(var_p
);
4214 var_nodearraylist10
= var2
;
4216 var3
= parser_work__Parser__pop(var_p
);
4218 var_nodearraylist9
= var3
;
4220 var4
= parser_work__Parser__pop(var_p
);
4222 var_nodearraylist8
= var4
;
4224 var5
= parser_work__Parser__pop(var_p
);
4226 var_nodearraylist7
= var5
;
4228 var6
= parser_work__Parser__pop(var_p
);
4230 var_nodearraylist6
= var6
;
4232 var7
= parser_work__Parser__pop(var_p
);
4234 var_nodearraylist5
= var7
;
4236 var8
= parser_work__Parser__pop(var_p
);
4238 var_nodearraylist4
= var8
;
4240 var9
= parser_work__Parser__pop(var_p
);
4242 var_nodearraylist3
= var9
;
4244 var10
= parser_work__Parser__pop(var_p
);
4246 var_nodearraylist2
= var10
;
4248 var11
= parser_work__Parser__pop(var_p
);
4250 var_nodearraylist1
= var11
;
4251 var_pdocnode2
= var_nodearraylist1
;
4252 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4253 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4254 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4255 if(var_pdocnode2
== NULL
) {
4258 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4261 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4264 if (unlikely(!var12
)) {
4265 PRINT_ERROR("Runtime error: %s", "Assert failed");
4266 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3968);
4269 var_tkwredefnode3
= var_nodearraylist2
;
4270 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4271 cltype14
= type_nullable_parser_nodes__TKwredef
.color
;
4272 idtype15
= type_nullable_parser_nodes__TKwredef
.id
;
4273 if(var_tkwredefnode3
== NULL
) {
4276 if(cltype14
>= var_tkwredefnode3
->type
->table_size
) {
4279 var13
= var_tkwredefnode3
->type
->type_table
[cltype14
] == idtype15
;
4282 if (unlikely(!var13
)) {
4283 PRINT_ERROR("Runtime error: %s", "Assert failed");
4284 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3970);
4287 var_pvisibilitynode4
= var_nodearraylist3
;
4288 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4289 cltype17
= type_nullable_parser_nodes__AVisibility
.color
;
4290 idtype18
= type_nullable_parser_nodes__AVisibility
.id
;
4291 if(var_pvisibilitynode4
== NULL
) {
4294 if(cltype17
>= var_pvisibilitynode4
->type
->table_size
) {
4297 var16
= var_pvisibilitynode4
->type
->type_table
[cltype17
] == idtype18
;
4300 if (unlikely(!var16
)) {
4301 PRINT_ERROR("Runtime error: %s", "Assert failed");
4302 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3972);
4305 var_tkwnewnode5
= var_nodearraylist4
;
4306 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4307 cltype20
= type_nullable_parser_nodes__TKwnew
.color
;
4308 idtype21
= type_nullable_parser_nodes__TKwnew
.id
;
4309 if(var_tkwnewnode5
== NULL
) {
4312 if(cltype20
>= var_tkwnewnode5
->type
->table_size
) {
4315 var19
= var_tkwnewnode5
->type
->type_table
[cltype20
] == idtype21
;
4318 if (unlikely(!var19
)) {
4319 PRINT_ERROR("Runtime error: %s", "Assert failed");
4320 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3974);
4323 var_pmethidnode6
= var_nodearraylist5
;
4324 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4325 cltype23
= type_nullable_parser_nodes__AMethid
.color
;
4326 idtype24
= type_nullable_parser_nodes__AMethid
.id
;
4327 if(var_pmethidnode6
== NULL
) {
4330 if(cltype23
>= var_pmethidnode6
->type
->table_size
) {
4333 var22
= var_pmethidnode6
->type
->type_table
[cltype23
] == idtype24
;
4336 if (unlikely(!var22
)) {
4337 PRINT_ERROR("Runtime error: %s", "Assert failed");
4338 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3976);
4341 var_psignaturenode7
= var_nodearraylist6
;
4342 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4343 cltype26
= type_nullable_parser_nodes__ASignature
.color
;
4344 idtype27
= type_nullable_parser_nodes__ASignature
.id
;
4345 if(var_psignaturenode7
== NULL
) {
4348 if(cltype26
>= var_psignaturenode7
->type
->table_size
) {
4351 var25
= var_psignaturenode7
->type
->type_table
[cltype26
] == idtype27
;
4354 if (unlikely(!var25
)) {
4355 PRINT_ERROR("Runtime error: %s", "Assert failed");
4356 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3978);
4359 var_tstringnode9
= var_nodearraylist9
;
4360 /* <var_tstringnode9:nullable Object> isa nullable TString */
4361 cltype29
= type_nullable_parser_nodes__TString
.color
;
4362 idtype30
= type_nullable_parser_nodes__TString
.id
;
4363 if(var_tstringnode9
== NULL
) {
4366 if(cltype29
>= var_tstringnode9
->type
->table_size
) {
4369 var28
= var_tstringnode9
->type
->type_table
[cltype29
] == idtype30
;
4372 if (unlikely(!var28
)) {
4373 PRINT_ERROR("Runtime error: %s", "Assert failed");
4374 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3980);
4377 var_pexterncallsnode10
= var_nodearraylist10
;
4378 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
4379 cltype32
= type_nullable_parser_nodes__AExternCalls
.color
;
4380 idtype33
= type_nullable_parser_nodes__AExternCalls
.id
;
4381 if(var_pexterncallsnode10
== NULL
) {
4384 if(cltype32
>= var_pexterncallsnode10
->type
->table_size
) {
4387 var31
= var_pexterncallsnode10
->type
->type_table
[cltype32
] == idtype33
;
4390 if (unlikely(!var31
)) {
4391 PRINT_ERROR("Runtime error: %s", "Assert failed");
4392 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3982);
4395 var_pexterncodeblocknode11
= var_nodearraylist11
;
4396 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
4397 cltype35
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4398 idtype36
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4399 if(var_pexterncodeblocknode11
== NULL
) {
4402 if(cltype35
>= var_pexterncodeblocknode11
->type
->table_size
) {
4405 var34
= var_pexterncodeblocknode11
->type
->type_table
[cltype35
] == idtype36
;
4408 if (unlikely(!var34
)) {
4409 PRINT_ERROR("Runtime error: %s", "Assert failed");
4410 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3984);
4413 var37
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
4416 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var37
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var_pmethidnode6
, var_psignaturenode7
, var38
, var_tstringnode9
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var37:AExternInitPropdef>*/
4418 var_ppropdefnode1
= var37
;
4419 var_node_list
= var_ppropdefnode1
;
4420 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction85> */
4422 var40
= parser_work__Parser__go_to(var_p
, var39
);
4425 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4429 /* method parser#ReduceAction85#action for (self: Object, Parser) */
4430 void VIRTUAL_parser__ReduceAction85__action(val
* self
, val
* p0
) {
4431 parser__ReduceAction85__action(self
, p0
); /* Direct call parser#ReduceAction85#action on <self:Object(ReduceAction85)>*/
4434 /* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */
4435 void parser__ReduceAction86__action(val
* self
, val
* p0
) {
4436 val
* var_p
/* var p: Parser */;
4437 val
* var
/* : null */;
4438 val
* var_node_list
/* var node_list: nullable Object */;
4439 val
* var1
/* : nullable Object */;
4440 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4441 val
* var2
/* : nullable Object */;
4442 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4443 val
* var3
/* : nullable Object */;
4444 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4445 val
* var4
/* : nullable Object */;
4446 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4447 val
* var5
/* : nullable Object */;
4448 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4449 val
* var6
/* : nullable Object */;
4450 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4451 val
* var7
/* : nullable Object */;
4452 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4453 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4454 short int var8
/* : Bool */;
4457 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4458 short int var9
/* : Bool */;
4461 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4462 short int var12
/* : Bool */;
4465 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
4466 short int var15
/* : Bool */;
4469 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
4470 short int var18
/* : Bool */;
4473 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
4474 short int var21
/* : Bool */;
4477 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
4478 short int var24
/* : Bool */;
4481 val
* var27
/* : AExternInitPropdef */;
4482 val
* var28
/* : null */;
4483 val
* var29
/* : null */;
4484 val
* var30
/* : null */;
4485 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
4486 long var31
/* : Int */;
4487 long var32
/* : Int */;
4490 var_node_list
= var
;
4492 var1
= parser_work__Parser__pop(var_p
);
4494 var_nodearraylist7
= var1
;
4496 var2
= parser_work__Parser__pop(var_p
);
4498 var_nodearraylist6
= var2
;
4500 var3
= parser_work__Parser__pop(var_p
);
4502 var_nodearraylist5
= var3
;
4504 var4
= parser_work__Parser__pop(var_p
);
4506 var_nodearraylist4
= var4
;
4508 var5
= parser_work__Parser__pop(var_p
);
4510 var_nodearraylist3
= var5
;
4512 var6
= parser_work__Parser__pop(var_p
);
4514 var_nodearraylist2
= var6
;
4516 var7
= parser_work__Parser__pop(var_p
);
4518 var_nodearraylist1
= var7
;
4519 var_pdocnode2
= var_nodearraylist1
;
4520 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4521 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4522 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4523 if(var_pdocnode2
== NULL
) {
4526 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4529 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4532 if (unlikely(!var8
)) {
4533 PRINT_ERROR("Runtime error: %s", "Assert failed");
4534 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4014);
4537 var_tkwredefnode3
= var_nodearraylist2
;
4538 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4539 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
4540 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
4541 if(var_tkwredefnode3
== NULL
) {
4544 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
4547 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
4550 if (unlikely(!var9
)) {
4551 PRINT_ERROR("Runtime error: %s", "Assert failed");
4552 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4016);
4555 var_pvisibilitynode4
= var_nodearraylist3
;
4556 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4557 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
4558 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
4559 if(var_pvisibilitynode4
== NULL
) {
4562 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
4565 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
4568 if (unlikely(!var12
)) {
4569 PRINT_ERROR("Runtime error: %s", "Assert failed");
4570 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4018);
4573 var_tkwnewnode5
= var_nodearraylist4
;
4574 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4575 cltype16
= type_nullable_parser_nodes__TKwnew
.color
;
4576 idtype17
= type_nullable_parser_nodes__TKwnew
.id
;
4577 if(var_tkwnewnode5
== NULL
) {
4580 if(cltype16
>= var_tkwnewnode5
->type
->table_size
) {
4583 var15
= var_tkwnewnode5
->type
->type_table
[cltype16
] == idtype17
;
4586 if (unlikely(!var15
)) {
4587 PRINT_ERROR("Runtime error: %s", "Assert failed");
4588 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4020);
4591 var_psignaturenode7
= var_nodearraylist5
;
4592 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4593 cltype19
= type_nullable_parser_nodes__ASignature
.color
;
4594 idtype20
= type_nullable_parser_nodes__ASignature
.id
;
4595 if(var_psignaturenode7
== NULL
) {
4598 if(cltype19
>= var_psignaturenode7
->type
->table_size
) {
4601 var18
= var_psignaturenode7
->type
->type_table
[cltype19
] == idtype20
;
4604 if (unlikely(!var18
)) {
4605 PRINT_ERROR("Runtime error: %s", "Assert failed");
4606 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4022);
4609 var_pexterncallsnode10
= var_nodearraylist6
;
4610 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
4611 cltype22
= type_nullable_parser_nodes__AExternCalls
.color
;
4612 idtype23
= type_nullable_parser_nodes__AExternCalls
.id
;
4613 if(var_pexterncallsnode10
== NULL
) {
4616 if(cltype22
>= var_pexterncallsnode10
->type
->table_size
) {
4619 var21
= var_pexterncallsnode10
->type
->type_table
[cltype22
] == idtype23
;
4622 if (unlikely(!var21
)) {
4623 PRINT_ERROR("Runtime error: %s", "Assert failed");
4624 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4024);
4627 var_pexterncodeblocknode11
= var_nodearraylist7
;
4628 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
4629 cltype25
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4630 idtype26
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4631 if(var_pexterncodeblocknode11
== NULL
) {
4634 if(cltype25
>= var_pexterncodeblocknode11
->type
->table_size
) {
4637 var24
= var_pexterncodeblocknode11
->type
->type_table
[cltype25
] == idtype26
;
4640 if (unlikely(!var24
)) {
4641 PRINT_ERROR("Runtime error: %s", "Assert failed");
4642 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4026);
4645 var27
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
4650 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var28
, var_psignaturenode7
, var29
, var30
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var27:AExternInitPropdef>*/
4652 var_ppropdefnode1
= var27
;
4653 var_node_list
= var_ppropdefnode1
;
4654 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction86> */
4656 var32
= parser_work__Parser__go_to(var_p
, var31
);
4659 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4663 /* method parser#ReduceAction86#action for (self: Object, Parser) */
4664 void VIRTUAL_parser__ReduceAction86__action(val
* self
, val
* p0
) {
4665 parser__ReduceAction86__action(self
, p0
); /* Direct call parser#ReduceAction86#action on <self:Object(ReduceAction86)>*/
4668 /* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */
4669 void parser__ReduceAction87__action(val
* self
, val
* p0
) {
4670 val
* var_p
/* var p: Parser */;
4671 val
* var
/* : null */;
4672 val
* var_node_list
/* var node_list: nullable Object */;
4673 val
* var1
/* : nullable Object */;
4674 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4675 val
* var2
/* : nullable Object */;
4676 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4677 val
* var3
/* : nullable Object */;
4678 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4679 val
* var4
/* : nullable Object */;
4680 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4681 val
* var5
/* : nullable Object */;
4682 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4683 val
* var6
/* : nullable Object */;
4684 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4685 val
* var7
/* : nullable Object */;
4686 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4687 val
* var8
/* : nullable Object */;
4688 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4689 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4690 short int var9
/* : Bool */;
4693 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4694 short int var10
/* : Bool */;
4697 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4698 short int var13
/* : Bool */;
4701 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
4702 short int var16
/* : Bool */;
4705 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
4706 short int var19
/* : Bool */;
4709 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
4710 short int var22
/* : Bool */;
4713 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
4714 short int var25
/* : Bool */;
4717 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
4718 short int var28
/* : Bool */;
4721 val
* var31
/* : AExternInitPropdef */;
4722 val
* var32
/* : null */;
4723 val
* var33
/* : null */;
4724 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
4725 long var34
/* : Int */;
4726 long var35
/* : Int */;
4729 var_node_list
= var
;
4731 var1
= parser_work__Parser__pop(var_p
);
4733 var_nodearraylist8
= var1
;
4735 var2
= parser_work__Parser__pop(var_p
);
4737 var_nodearraylist7
= var2
;
4739 var3
= parser_work__Parser__pop(var_p
);
4741 var_nodearraylist6
= var3
;
4743 var4
= parser_work__Parser__pop(var_p
);
4745 var_nodearraylist5
= var4
;
4747 var5
= parser_work__Parser__pop(var_p
);
4749 var_nodearraylist4
= var5
;
4751 var6
= parser_work__Parser__pop(var_p
);
4753 var_nodearraylist3
= var6
;
4755 var7
= parser_work__Parser__pop(var_p
);
4757 var_nodearraylist2
= var7
;
4759 var8
= parser_work__Parser__pop(var_p
);
4761 var_nodearraylist1
= var8
;
4762 var_pdocnode2
= var_nodearraylist1
;
4763 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4764 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4765 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4766 if(var_pdocnode2
== NULL
) {
4769 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4772 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4775 if (unlikely(!var9
)) {
4776 PRINT_ERROR("Runtime error: %s", "Assert failed");
4777 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4057);
4780 var_tkwredefnode3
= var_nodearraylist2
;
4781 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4782 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
4783 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
4784 if(var_tkwredefnode3
== NULL
) {
4787 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
4790 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
4793 if (unlikely(!var10
)) {
4794 PRINT_ERROR("Runtime error: %s", "Assert failed");
4795 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4059);
4798 var_pvisibilitynode4
= var_nodearraylist3
;
4799 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4800 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
4801 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
4802 if(var_pvisibilitynode4
== NULL
) {
4805 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
4808 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
4811 if (unlikely(!var13
)) {
4812 PRINT_ERROR("Runtime error: %s", "Assert failed");
4813 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4061);
4816 var_tkwnewnode5
= var_nodearraylist4
;
4817 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4818 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
4819 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
4820 if(var_tkwnewnode5
== NULL
) {
4823 if(cltype17
>= var_tkwnewnode5
->type
->table_size
) {
4826 var16
= var_tkwnewnode5
->type
->type_table
[cltype17
] == idtype18
;
4829 if (unlikely(!var16
)) {
4830 PRINT_ERROR("Runtime error: %s", "Assert failed");
4831 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4063);
4834 var_pmethidnode6
= var_nodearraylist5
;
4835 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4836 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
4837 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
4838 if(var_pmethidnode6
== NULL
) {
4841 if(cltype20
>= var_pmethidnode6
->type
->table_size
) {
4844 var19
= var_pmethidnode6
->type
->type_table
[cltype20
] == idtype21
;
4847 if (unlikely(!var19
)) {
4848 PRINT_ERROR("Runtime error: %s", "Assert failed");
4849 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4065);
4852 var_psignaturenode7
= var_nodearraylist6
;
4853 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4854 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
4855 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
4856 if(var_psignaturenode7
== NULL
) {
4859 if(cltype23
>= var_psignaturenode7
->type
->table_size
) {
4862 var22
= var_psignaturenode7
->type
->type_table
[cltype23
] == idtype24
;
4865 if (unlikely(!var22
)) {
4866 PRINT_ERROR("Runtime error: %s", "Assert failed");
4867 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4067);
4870 var_pexterncallsnode10
= var_nodearraylist7
;
4871 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
4872 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
4873 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
4874 if(var_pexterncallsnode10
== NULL
) {
4877 if(cltype26
>= var_pexterncallsnode10
->type
->table_size
) {
4880 var25
= var_pexterncallsnode10
->type
->type_table
[cltype26
] == idtype27
;
4883 if (unlikely(!var25
)) {
4884 PRINT_ERROR("Runtime error: %s", "Assert failed");
4885 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4069);
4888 var_pexterncodeblocknode11
= var_nodearraylist8
;
4889 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
4890 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4891 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4892 if(var_pexterncodeblocknode11
== NULL
) {
4895 if(cltype29
>= var_pexterncodeblocknode11
->type
->table_size
) {
4898 var28
= var_pexterncodeblocknode11
->type
->type_table
[cltype29
] == idtype30
;
4901 if (unlikely(!var28
)) {
4902 PRINT_ERROR("Runtime error: %s", "Assert failed");
4903 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4071);
4906 var31
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
4910 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var_pmethidnode6
, var_psignaturenode7
, var32
, var33
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var31:AExternInitPropdef>*/
4912 var_ppropdefnode1
= var31
;
4913 var_node_list
= var_ppropdefnode1
;
4914 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction87> */
4916 var35
= parser_work__Parser__go_to(var_p
, var34
);
4919 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4923 /* method parser#ReduceAction87#action for (self: Object, Parser) */
4924 void VIRTUAL_parser__ReduceAction87__action(val
* self
, val
* p0
) {
4925 parser__ReduceAction87__action(self
, p0
); /* Direct call parser#ReduceAction87#action on <self:Object(ReduceAction87)>*/
4928 /* method parser#ReduceAction88#action for (self: ReduceAction88, Parser) */
4929 void parser__ReduceAction88__action(val
* self
, val
* p0
) {
4930 val
* var_p
/* var p: Parser */;
4931 val
* var
/* : null */;
4932 val
* var_node_list
/* var node_list: nullable Object */;
4933 val
* var1
/* : nullable Object */;
4934 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4935 val
* var2
/* : nullable Object */;
4936 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4937 val
* var3
/* : nullable Object */;
4938 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4939 val
* var4
/* : nullable Object */;
4940 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4941 val
* var5
/* : nullable Object */;
4942 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4943 val
* var6
/* : nullable Object */;
4944 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4945 val
* var7
/* : nullable Object */;
4946 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4947 val
* var8
/* : nullable Object */;
4948 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4949 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4950 short int var9
/* : Bool */;
4953 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4954 short int var10
/* : Bool */;
4957 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4958 short int var13
/* : Bool */;
4961 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
4962 short int var16
/* : Bool */;
4965 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
4966 short int var19
/* : Bool */;
4969 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
4970 short int var22
/* : Bool */;
4973 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
4974 short int var25
/* : Bool */;
4977 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
4978 short int var28
/* : Bool */;
4981 val
* var31
/* : AExternInitPropdef */;
4982 val
* var32
/* : null */;
4983 val
* var33
/* : null */;
4984 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
4985 long var34
/* : Int */;
4986 long var35
/* : Int */;
4989 var_node_list
= var
;
4991 var1
= parser_work__Parser__pop(var_p
);
4993 var_nodearraylist8
= var1
;
4995 var2
= parser_work__Parser__pop(var_p
);
4997 var_nodearraylist7
= var2
;
4999 var3
= parser_work__Parser__pop(var_p
);
5001 var_nodearraylist6
= var3
;
5003 var4
= parser_work__Parser__pop(var_p
);
5005 var_nodearraylist5
= var4
;
5007 var5
= parser_work__Parser__pop(var_p
);
5009 var_nodearraylist4
= var5
;
5011 var6
= parser_work__Parser__pop(var_p
);
5013 var_nodearraylist3
= var6
;
5015 var7
= parser_work__Parser__pop(var_p
);
5017 var_nodearraylist2
= var7
;
5019 var8
= parser_work__Parser__pop(var_p
);
5021 var_nodearraylist1
= var8
;
5022 var_pdocnode2
= var_nodearraylist1
;
5023 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5024 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5025 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5026 if(var_pdocnode2
== NULL
) {
5029 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5032 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5035 if (unlikely(!var9
)) {
5036 PRINT_ERROR("Runtime error: %s", "Assert failed");
5037 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4102);
5040 var_tkwredefnode3
= var_nodearraylist2
;
5041 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5042 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
5043 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
5044 if(var_tkwredefnode3
== NULL
) {
5047 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
5050 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
5053 if (unlikely(!var10
)) {
5054 PRINT_ERROR("Runtime error: %s", "Assert failed");
5055 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4104);
5058 var_pvisibilitynode4
= var_nodearraylist3
;
5059 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5060 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
5061 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
5062 if(var_pvisibilitynode4
== NULL
) {
5065 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
5068 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
5071 if (unlikely(!var13
)) {
5072 PRINT_ERROR("Runtime error: %s", "Assert failed");
5073 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4106);
5076 var_tkwnewnode5
= var_nodearraylist4
;
5077 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5078 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
5079 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
5080 if(var_tkwnewnode5
== NULL
) {
5083 if(cltype17
>= var_tkwnewnode5
->type
->table_size
) {
5086 var16
= var_tkwnewnode5
->type
->type_table
[cltype17
] == idtype18
;
5089 if (unlikely(!var16
)) {
5090 PRINT_ERROR("Runtime error: %s", "Assert failed");
5091 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4108);
5094 var_psignaturenode7
= var_nodearraylist5
;
5095 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5096 cltype20
= type_nullable_parser_nodes__ASignature
.color
;
5097 idtype21
= type_nullable_parser_nodes__ASignature
.id
;
5098 if(var_psignaturenode7
== NULL
) {
5101 if(cltype20
>= var_psignaturenode7
->type
->table_size
) {
5104 var19
= var_psignaturenode7
->type
->type_table
[cltype20
] == idtype21
;
5107 if (unlikely(!var19
)) {
5108 PRINT_ERROR("Runtime error: %s", "Assert failed");
5109 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4110);
5112 var_pannotationsnode8
= var_nodearraylist6
;
5113 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
5114 cltype23
= type_nullable_parser_nodes__AAnnotations
.color
;
5115 idtype24
= type_nullable_parser_nodes__AAnnotations
.id
;
5116 if(var_pannotationsnode8
== NULL
) {
5119 if(cltype23
>= var_pannotationsnode8
->type
->table_size
) {
5122 var22
= var_pannotationsnode8
->type
->type_table
[cltype23
] == idtype24
;
5125 if (unlikely(!var22
)) {
5126 PRINT_ERROR("Runtime error: %s", "Assert failed");
5127 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4112);
5130 var_pexterncallsnode10
= var_nodearraylist7
;
5131 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
5132 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
5133 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
5134 if(var_pexterncallsnode10
== NULL
) {
5137 if(cltype26
>= var_pexterncallsnode10
->type
->table_size
) {
5140 var25
= var_pexterncallsnode10
->type
->type_table
[cltype26
] == idtype27
;
5143 if (unlikely(!var25
)) {
5144 PRINT_ERROR("Runtime error: %s", "Assert failed");
5145 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4114);
5148 var_pexterncodeblocknode11
= var_nodearraylist8
;
5149 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
5150 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5151 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5152 if(var_pexterncodeblocknode11
== NULL
) {
5155 if(cltype29
>= var_pexterncodeblocknode11
->type
->table_size
) {
5158 var28
= var_pexterncodeblocknode11
->type
->type_table
[cltype29
] == idtype30
;
5161 if (unlikely(!var28
)) {
5162 PRINT_ERROR("Runtime error: %s", "Assert failed");
5163 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4116);
5166 var31
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
5170 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var32
, var_psignaturenode7
, var_pannotationsnode8
, var33
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var31:AExternInitPropdef>*/
5172 var_ppropdefnode1
= var31
;
5173 var_node_list
= var_ppropdefnode1
;
5174 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction88> */
5176 var35
= parser_work__Parser__go_to(var_p
, var34
);
5179 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5183 /* method parser#ReduceAction88#action for (self: Object, Parser) */
5184 void VIRTUAL_parser__ReduceAction88__action(val
* self
, val
* p0
) {
5185 parser__ReduceAction88__action(self
, p0
); /* Direct call parser#ReduceAction88#action on <self:Object(ReduceAction88)>*/
5188 /* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */
5189 void parser__ReduceAction89__action(val
* self
, val
* p0
) {
5190 val
* var_p
/* var p: Parser */;
5191 val
* var
/* : null */;
5192 val
* var_node_list
/* var node_list: nullable Object */;
5193 val
* var1
/* : nullable Object */;
5194 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5195 val
* var2
/* : nullable Object */;
5196 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5197 val
* var3
/* : nullable Object */;
5198 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5199 val
* var4
/* : nullable Object */;
5200 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5201 val
* var5
/* : nullable Object */;
5202 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5203 val
* var6
/* : nullable Object */;
5204 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5205 val
* var7
/* : nullable Object */;
5206 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5207 val
* var8
/* : nullable Object */;
5208 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5209 val
* var9
/* : nullable Object */;
5210 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5211 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5212 short int var10
/* : Bool */;
5215 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5216 short int var11
/* : Bool */;
5219 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5220 short int var14
/* : Bool */;
5223 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
5224 short int var17
/* : Bool */;
5227 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
5228 short int var20
/* : Bool */;
5231 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
5232 short int var23
/* : Bool */;
5235 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
5236 short int var26
/* : Bool */;
5239 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
5240 short int var29
/* : Bool */;
5243 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
5244 short int var32
/* : Bool */;
5247 val
* var35
/* : AExternInitPropdef */;
5248 val
* var36
/* : null */;
5249 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternInitPropdef */;
5250 long var37
/* : Int */;
5251 long var38
/* : Int */;
5254 var_node_list
= var
;
5256 var1
= parser_work__Parser__pop(var_p
);
5258 var_nodearraylist9
= var1
;
5260 var2
= parser_work__Parser__pop(var_p
);
5262 var_nodearraylist8
= var2
;
5264 var3
= parser_work__Parser__pop(var_p
);
5266 var_nodearraylist7
= var3
;
5268 var4
= parser_work__Parser__pop(var_p
);
5270 var_nodearraylist6
= var4
;
5272 var5
= parser_work__Parser__pop(var_p
);
5274 var_nodearraylist5
= var5
;
5276 var6
= parser_work__Parser__pop(var_p
);
5278 var_nodearraylist4
= var6
;
5280 var7
= parser_work__Parser__pop(var_p
);
5282 var_nodearraylist3
= var7
;
5284 var8
= parser_work__Parser__pop(var_p
);
5286 var_nodearraylist2
= var8
;
5288 var9
= parser_work__Parser__pop(var_p
);
5290 var_nodearraylist1
= var9
;
5291 var_pdocnode2
= var_nodearraylist1
;
5292 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5293 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5294 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5295 if(var_pdocnode2
== NULL
) {
5298 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5301 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5304 if (unlikely(!var10
)) {
5305 PRINT_ERROR("Runtime error: %s", "Assert failed");
5306 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4148);
5309 var_tkwredefnode3
= var_nodearraylist2
;
5310 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5311 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
5312 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
5313 if(var_tkwredefnode3
== NULL
) {
5316 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
5319 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
5322 if (unlikely(!var11
)) {
5323 PRINT_ERROR("Runtime error: %s", "Assert failed");
5324 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4150);
5327 var_pvisibilitynode4
= var_nodearraylist3
;
5328 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5329 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
5330 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
5331 if(var_pvisibilitynode4
== NULL
) {
5334 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
5337 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
5340 if (unlikely(!var14
)) {
5341 PRINT_ERROR("Runtime error: %s", "Assert failed");
5342 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4152);
5345 var_tkwnewnode5
= var_nodearraylist4
;
5346 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5347 cltype18
= type_nullable_parser_nodes__TKwnew
.color
;
5348 idtype19
= type_nullable_parser_nodes__TKwnew
.id
;
5349 if(var_tkwnewnode5
== NULL
) {
5352 if(cltype18
>= var_tkwnewnode5
->type
->table_size
) {
5355 var17
= var_tkwnewnode5
->type
->type_table
[cltype18
] == idtype19
;
5358 if (unlikely(!var17
)) {
5359 PRINT_ERROR("Runtime error: %s", "Assert failed");
5360 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4154);
5363 var_pmethidnode6
= var_nodearraylist5
;
5364 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5365 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
5366 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
5367 if(var_pmethidnode6
== NULL
) {
5370 if(cltype21
>= var_pmethidnode6
->type
->table_size
) {
5373 var20
= var_pmethidnode6
->type
->type_table
[cltype21
] == idtype22
;
5376 if (unlikely(!var20
)) {
5377 PRINT_ERROR("Runtime error: %s", "Assert failed");
5378 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4156);
5381 var_psignaturenode7
= var_nodearraylist6
;
5382 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5383 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
5384 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
5385 if(var_psignaturenode7
== NULL
) {
5388 if(cltype24
>= var_psignaturenode7
->type
->table_size
) {
5391 var23
= var_psignaturenode7
->type
->type_table
[cltype24
] == idtype25
;
5394 if (unlikely(!var23
)) {
5395 PRINT_ERROR("Runtime error: %s", "Assert failed");
5396 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4158);
5399 var_pannotationsnode8
= var_nodearraylist7
;
5400 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
5401 cltype27
= type_nullable_parser_nodes__AAnnotations
.color
;
5402 idtype28
= type_nullable_parser_nodes__AAnnotations
.id
;
5403 if(var_pannotationsnode8
== NULL
) {
5406 if(cltype27
>= var_pannotationsnode8
->type
->table_size
) {
5409 var26
= var_pannotationsnode8
->type
->type_table
[cltype27
] == idtype28
;
5412 if (unlikely(!var26
)) {
5413 PRINT_ERROR("Runtime error: %s", "Assert failed");
5414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4160);
5417 var_pexterncallsnode10
= var_nodearraylist8
;
5418 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
5419 cltype30
= type_nullable_parser_nodes__AExternCalls
.color
;
5420 idtype31
= type_nullable_parser_nodes__AExternCalls
.id
;
5421 if(var_pexterncallsnode10
== NULL
) {
5424 if(cltype30
>= var_pexterncallsnode10
->type
->table_size
) {
5427 var29
= var_pexterncallsnode10
->type
->type_table
[cltype30
] == idtype31
;
5430 if (unlikely(!var29
)) {
5431 PRINT_ERROR("Runtime error: %s", "Assert failed");
5432 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4162);
5435 var_pexterncodeblocknode11
= var_nodearraylist9
;
5436 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
5437 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5438 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5439 if(var_pexterncodeblocknode11
== NULL
) {
5442 if(cltype33
>= var_pexterncodeblocknode11
->type
->table_size
) {
5445 var32
= var_pexterncodeblocknode11
->type
->type_table
[cltype33
] == idtype34
;
5448 if (unlikely(!var32
)) {
5449 PRINT_ERROR("Runtime error: %s", "Assert failed");
5450 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4164);
5453 var35
= NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef
);
5456 parser_prod__AExternInitPropdef__init_aexterninitpropdef(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var_pmethidnode6
, var_psignaturenode7
, var_pannotationsnode8
, var36
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternInitPropdef#init_aexterninitpropdef on <var35:AExternInitPropdef>*/
5458 var_ppropdefnode1
= var35
;
5459 var_node_list
= var_ppropdefnode1
;
5460 var37
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction89> */
5462 var38
= parser_work__Parser__go_to(var_p
, var37
);
5465 parser_work__Parser__push(var_p
, var38
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5469 /* method parser#ReduceAction89#action for (self: Object, Parser) */
5470 void VIRTUAL_parser__ReduceAction89__action(val
* self
, val
* p0
) {
5471 parser__ReduceAction89__action(self
, p0
); /* Direct call parser#ReduceAction89#action on <self:Object(ReduceAction89)>*/
5474 /* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */
5475 void parser__ReduceAction90__action(val
* self
, val
* p0
) {
5476 val
* var_p
/* var p: Parser */;
5477 val
* var
/* : null */;
5478 val
* var_node_list
/* var node_list: nullable Object */;
5479 val
* var1
/* : nullable Object */;
5480 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5481 val
* var2
/* : nullable Object */;
5482 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5483 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5484 long var3
/* : Int */;
5485 long var4
/* : Int */;
5488 var_node_list
= var
;
5490 var1
= parser_work__Parser__pop(var_p
);
5492 var_nodearraylist2
= var1
;
5494 var2
= parser_work__Parser__pop(var_p
);
5496 var_nodearraylist1
= var2
;
5497 var_pannotationsnode1
= var_nodearraylist2
;
5498 var_node_list
= var_pannotationsnode1
;
5499 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction90> */
5501 var4
= parser_work__Parser__go_to(var_p
, var3
);
5504 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5508 /* method parser#ReduceAction90#action for (self: Object, Parser) */
5509 void VIRTUAL_parser__ReduceAction90__action(val
* self
, val
* p0
) {
5510 parser__ReduceAction90__action(self
, p0
); /* Direct call parser#ReduceAction90#action on <self:Object(ReduceAction90)>*/
5513 /* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */
5514 void parser__ReduceAction91__action(val
* self
, val
* p0
) {
5515 val
* var_p
/* var p: Parser */;
5516 val
* var
/* : null */;
5517 val
* var_node_list
/* var node_list: nullable Object */;
5518 val
* var1
/* : nullable Object */;
5519 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5520 val
* var2
/* : nullable Object */;
5521 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5522 val
* var3
/* : nullable Object */;
5523 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5524 val
* var4
/* : nullable Object */;
5525 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5526 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5527 long var5
/* : Int */;
5528 long var6
/* : Int */;
5531 var_node_list
= var
;
5533 var1
= parser_work__Parser__pop(var_p
);
5535 var_nodearraylist4
= var1
;
5537 var2
= parser_work__Parser__pop(var_p
);
5539 var_nodearraylist3
= var2
;
5541 var3
= parser_work__Parser__pop(var_p
);
5543 var_nodearraylist2
= var3
;
5545 var4
= parser_work__Parser__pop(var_p
);
5547 var_nodearraylist1
= var4
;
5548 var_pannotationsnode1
= var_nodearraylist3
;
5549 var_node_list
= var_pannotationsnode1
;
5550 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction91> */
5552 var6
= parser_work__Parser__go_to(var_p
, var5
);
5555 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5559 /* method parser#ReduceAction91#action for (self: Object, Parser) */
5560 void VIRTUAL_parser__ReduceAction91__action(val
* self
, val
* p0
) {
5561 parser__ReduceAction91__action(self
, p0
); /* Direct call parser#ReduceAction91#action on <self:Object(ReduceAction91)>*/
5564 /* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */
5565 void parser__ReduceAction94__action(val
* self
, val
* p0
) {
5566 val
* var_p
/* var p: Parser */;
5567 val
* var
/* : null */;
5568 val
* var_node_list
/* var node_list: nullable Object */;
5569 val
* var1
/* : nullable Object */;
5570 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5571 val
* var2
/* : nullable Object */;
5572 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5573 val
* var3
/* : nullable Object */;
5574 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5575 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5576 long var4
/* : Int */;
5577 long var5
/* : Int */;
5580 var_node_list
= var
;
5582 var1
= parser_work__Parser__pop(var_p
);
5584 var_nodearraylist3
= var1
;
5586 var2
= parser_work__Parser__pop(var_p
);
5588 var_nodearraylist2
= var2
;
5590 var3
= parser_work__Parser__pop(var_p
);
5592 var_nodearraylist1
= var3
;
5593 var_pannotationsnode1
= var_nodearraylist3
;
5594 var_node_list
= var_pannotationsnode1
;
5595 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction94> */
5597 var5
= parser_work__Parser__go_to(var_p
, var4
);
5600 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5604 /* method parser#ReduceAction94#action for (self: Object, Parser) */
5605 void VIRTUAL_parser__ReduceAction94__action(val
* self
, val
* p0
) {
5606 parser__ReduceAction94__action(self
, p0
); /* Direct call parser#ReduceAction94#action on <self:Object(ReduceAction94)>*/
5609 /* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */
5610 void parser__ReduceAction95__action(val
* self
, val
* p0
) {
5611 val
* var_p
/* var p: Parser */;
5612 val
* var
/* : null */;
5613 val
* var_node_list
/* var node_list: nullable Object */;
5614 val
* var1
/* : nullable Object */;
5615 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5616 val
* var2
/* : nullable Object */;
5617 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5618 val
* var3
/* : nullable Object */;
5619 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5620 val
* var_tkwredefnode2
/* var tkwredefnode2: nullable Object */;
5621 short int var4
/* : Bool */;
5624 val
* var_tkwreadablenode3
/* var tkwreadablenode3: nullable Object */;
5625 short int var5
/* : Bool */;
5628 val
* var8
/* : AReadAble */;
5629 val
* var_pablenode1
/* var pablenode1: nullable AReadAble */;
5630 long var9
/* : Int */;
5631 long var10
/* : Int */;
5634 var_node_list
= var
;
5636 var1
= parser_work__Parser__pop(var_p
);
5638 var_nodearraylist3
= var1
;
5640 var2
= parser_work__Parser__pop(var_p
);
5642 var_nodearraylist2
= var2
;
5644 var3
= parser_work__Parser__pop(var_p
);
5646 var_nodearraylist1
= var3
;
5647 var_tkwredefnode2
= var_nodearraylist1
;
5648 /* <var_tkwredefnode2:nullable Object> isa nullable TKwredef */
5649 cltype
= type_nullable_parser_nodes__TKwredef
.color
;
5650 idtype
= type_nullable_parser_nodes__TKwredef
.id
;
5651 if(var_tkwredefnode2
== NULL
) {
5654 if(cltype
>= var_tkwredefnode2
->type
->table_size
) {
5657 var4
= var_tkwredefnode2
->type
->type_table
[cltype
] == idtype
;
5660 if (unlikely(!var4
)) {
5661 PRINT_ERROR("Runtime error: %s", "Assert failed");
5662 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4229);
5665 var_tkwreadablenode3
= var_nodearraylist3
;
5666 /* <var_tkwreadablenode3:nullable Object> isa nullable TKwreadable */
5667 cltype6
= type_nullable_parser_nodes__TKwreadable
.color
;
5668 idtype7
= type_nullable_parser_nodes__TKwreadable
.id
;
5669 if(var_tkwreadablenode3
== NULL
) {
5672 if(cltype6
>= var_tkwreadablenode3
->type
->table_size
) {
5675 var5
= var_tkwreadablenode3
->type
->type_table
[cltype6
] == idtype7
;
5678 if (unlikely(!var5
)) {
5679 PRINT_ERROR("Runtime error: %s", "Assert failed");
5680 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4231);
5683 var8
= NEW_parser_nodes__AReadAble(&type_parser_nodes__AReadAble
);
5685 parser_prod__AReadAble__init_areadable(var8
, var_tkwredefnode2
, var_tkwreadablenode3
); /* Direct call parser_prod#AReadAble#init_areadable on <var8:AReadAble>*/
5687 var_pablenode1
= var8
;
5688 var_node_list
= var_pablenode1
;
5689 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction95> */
5691 var10
= parser_work__Parser__go_to(var_p
, var9
);
5694 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5698 /* method parser#ReduceAction95#action for (self: Object, Parser) */
5699 void VIRTUAL_parser__ReduceAction95__action(val
* self
, val
* p0
) {
5700 parser__ReduceAction95__action(self
, p0
); /* Direct call parser#ReduceAction95#action on <self:Object(ReduceAction95)>*/
5703 /* method parser#ReduceAction96#action for (self: ReduceAction96, Parser) */
5704 void parser__ReduceAction96__action(val
* self
, val
* p0
) {
5705 val
* var_p
/* var p: Parser */;
5706 val
* var
/* : null */;
5707 val
* var_node_list
/* var node_list: nullable Object */;
5708 val
* var1
/* : nullable Object */;
5709 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5710 val
* var2
/* : nullable Object */;
5711 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5712 val
* var3
/* : nullable Object */;
5713 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5714 val
* var_tkwredefnode2
/* var tkwredefnode2: nullable Object */;
5715 short int var4
/* : Bool */;
5718 val
* var_pvisibilitynode3
/* var pvisibilitynode3: nullable Object */;
5719 short int var5
/* : Bool */;
5722 val
* var_tkwwritablenode4
/* var tkwwritablenode4: nullable Object */;
5723 short int var8
/* : Bool */;
5726 val
* var11
/* : AWriteAble */;
5727 val
* var_pablenode1
/* var pablenode1: nullable AWriteAble */;
5728 long var12
/* : Int */;
5729 long var13
/* : Int */;
5732 var_node_list
= var
;
5734 var1
= parser_work__Parser__pop(var_p
);
5736 var_nodearraylist3
= var1
;
5738 var2
= parser_work__Parser__pop(var_p
);
5740 var_nodearraylist2
= var2
;
5742 var3
= parser_work__Parser__pop(var_p
);
5744 var_nodearraylist1
= var3
;
5745 var_tkwredefnode2
= var_nodearraylist1
;
5746 /* <var_tkwredefnode2:nullable Object> isa nullable TKwredef */
5747 cltype
= type_nullable_parser_nodes__TKwredef
.color
;
5748 idtype
= type_nullable_parser_nodes__TKwredef
.id
;
5749 if(var_tkwredefnode2
== NULL
) {
5752 if(cltype
>= var_tkwredefnode2
->type
->table_size
) {
5755 var4
= var_tkwredefnode2
->type
->type_table
[cltype
] == idtype
;
5758 if (unlikely(!var4
)) {
5759 PRINT_ERROR("Runtime error: %s", "Assert failed");
5760 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4249);
5763 var_pvisibilitynode3
= var_nodearraylist2
;
5764 /* <var_pvisibilitynode3:nullable Object> isa nullable AVisibility */
5765 cltype6
= type_nullable_parser_nodes__AVisibility
.color
;
5766 idtype7
= type_nullable_parser_nodes__AVisibility
.id
;
5767 if(var_pvisibilitynode3
== NULL
) {
5770 if(cltype6
>= var_pvisibilitynode3
->type
->table_size
) {
5773 var5
= var_pvisibilitynode3
->type
->type_table
[cltype6
] == idtype7
;
5776 if (unlikely(!var5
)) {
5777 PRINT_ERROR("Runtime error: %s", "Assert failed");
5778 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4251);
5781 var_tkwwritablenode4
= var_nodearraylist3
;
5782 /* <var_tkwwritablenode4:nullable Object> isa nullable TKwwritable */
5783 cltype9
= type_nullable_parser_nodes__TKwwritable
.color
;
5784 idtype10
= type_nullable_parser_nodes__TKwwritable
.id
;
5785 if(var_tkwwritablenode4
== NULL
) {
5788 if(cltype9
>= var_tkwwritablenode4
->type
->table_size
) {
5791 var8
= var_tkwwritablenode4
->type
->type_table
[cltype9
] == idtype10
;
5794 if (unlikely(!var8
)) {
5795 PRINT_ERROR("Runtime error: %s", "Assert failed");
5796 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4253);
5799 var11
= NEW_parser_nodes__AWriteAble(&type_parser_nodes__AWriteAble
);
5801 parser_prod__AWriteAble__init_awriteable(var11
, var_tkwredefnode2
, var_pvisibilitynode3
, var_tkwwritablenode4
); /* Direct call parser_prod#AWriteAble#init_awriteable on <var11:AWriteAble>*/
5803 var_pablenode1
= var11
;
5804 var_node_list
= var_pablenode1
;
5805 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction96> */
5807 var13
= parser_work__Parser__go_to(var_p
, var12
);
5810 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5814 /* method parser#ReduceAction96#action for (self: Object, Parser) */
5815 void VIRTUAL_parser__ReduceAction96__action(val
* self
, val
* p0
) {
5816 parser__ReduceAction96__action(self
, p0
); /* Direct call parser#ReduceAction96#action on <self:Object(ReduceAction96)>*/
5819 /* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */
5820 void parser__ReduceAction97__action(val
* self
, val
* p0
) {
5821 val
* var_p
/* var p: Parser */;
5822 val
* var
/* : null */;
5823 val
* var_node_list
/* var node_list: nullable Object */;
5824 val
* var1
/* : APublicVisibility */;
5825 val
* var2
/* : null */;
5826 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APublicVisibility */;
5827 long var3
/* : Int */;
5828 long var4
/* : Int */;
5831 var_node_list
= var
;
5832 var1
= NEW_parser_nodes__APublicVisibility(&type_parser_nodes__APublicVisibility
);
5835 parser_prod__APublicVisibility__init_apublicvisibility(var1
, var2
); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on <var1:APublicVisibility>*/
5837 var_pvisibilitynode1
= var1
;
5838 var_node_list
= var_pvisibilitynode1
;
5839 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction97> */
5841 var4
= parser_work__Parser__go_to(var_p
, var3
);
5844 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5848 /* method parser#ReduceAction97#action for (self: Object, Parser) */
5849 void VIRTUAL_parser__ReduceAction97__action(val
* self
, val
* p0
) {
5850 parser__ReduceAction97__action(self
, p0
); /* Direct call parser#ReduceAction97#action on <self:Object(ReduceAction97)>*/
5853 /* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */
5854 void parser__ReduceAction98__action(val
* self
, val
* p0
) {
5855 val
* var_p
/* var p: Parser */;
5856 val
* var
/* : null */;
5857 val
* var_node_list
/* var node_list: nullable Object */;
5858 val
* var1
/* : nullable Object */;
5859 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5860 val
* var2
/* : nullable Object */;
5861 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5862 val
* var_tkwpublicnode2
/* var tkwpublicnode2: nullable Object */;
5863 short int var3
/* : Bool */;
5866 val
* var4
/* : APublicVisibility */;
5867 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APublicVisibility */;
5868 long var5
/* : Int */;
5869 long var6
/* : Int */;
5872 var_node_list
= var
;
5874 var1
= parser_work__Parser__pop(var_p
);
5876 var_nodearraylist2
= var1
;
5878 var2
= parser_work__Parser__pop(var_p
);
5880 var_nodearraylist1
= var2
;
5881 var_tkwpublicnode2
= var_nodearraylist1
;
5882 /* <var_tkwpublicnode2:nullable Object> isa nullable TKwpublic */
5883 cltype
= type_nullable_parser_nodes__TKwpublic
.color
;
5884 idtype
= type_nullable_parser_nodes__TKwpublic
.id
;
5885 if(var_tkwpublicnode2
== NULL
) {
5888 if(cltype
>= var_tkwpublicnode2
->type
->table_size
) {
5891 var3
= var_tkwpublicnode2
->type
->type_table
[cltype
] == idtype
;
5894 if (unlikely(!var3
)) {
5895 PRINT_ERROR("Runtime error: %s", "Assert failed");
5896 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4283);
5899 var4
= NEW_parser_nodes__APublicVisibility(&type_parser_nodes__APublicVisibility
);
5901 parser_prod__APublicVisibility__init_apublicvisibility(var4
, var_tkwpublicnode2
); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on <var4:APublicVisibility>*/
5903 var_pvisibilitynode1
= var4
;
5904 var_node_list
= var_pvisibilitynode1
;
5905 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction98> */
5907 var6
= parser_work__Parser__go_to(var_p
, var5
);
5910 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5914 /* method parser#ReduceAction98#action for (self: Object, Parser) */
5915 void VIRTUAL_parser__ReduceAction98__action(val
* self
, val
* p0
) {
5916 parser__ReduceAction98__action(self
, p0
); /* Direct call parser#ReduceAction98#action on <self:Object(ReduceAction98)>*/
5919 /* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */
5920 void parser__ReduceAction99__action(val
* self
, val
* p0
) {
5921 val
* var_p
/* var p: Parser */;
5922 val
* var
/* : null */;
5923 val
* var_node_list
/* var node_list: nullable Object */;
5924 val
* var1
/* : nullable Object */;
5925 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5926 val
* var2
/* : nullable Object */;
5927 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5928 val
* var_tkwprivatenode2
/* var tkwprivatenode2: nullable Object */;
5929 short int var3
/* : Bool */;
5932 val
* var4
/* : APrivateVisibility */;
5933 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APrivateVisibility */;
5934 long var5
/* : Int */;
5935 long var6
/* : Int */;
5938 var_node_list
= var
;
5940 var1
= parser_work__Parser__pop(var_p
);
5942 var_nodearraylist2
= var1
;
5944 var2
= parser_work__Parser__pop(var_p
);
5946 var_nodearraylist1
= var2
;
5947 var_tkwprivatenode2
= var_nodearraylist1
;
5948 /* <var_tkwprivatenode2:nullable Object> isa nullable TKwprivate */
5949 cltype
= type_nullable_parser_nodes__TKwprivate
.color
;
5950 idtype
= type_nullable_parser_nodes__TKwprivate
.id
;
5951 if(var_tkwprivatenode2
== NULL
) {
5954 if(cltype
>= var_tkwprivatenode2
->type
->table_size
) {
5957 var3
= var_tkwprivatenode2
->type
->type_table
[cltype
] == idtype
;
5960 if (unlikely(!var3
)) {
5961 PRINT_ERROR("Runtime error: %s", "Assert failed");
5962 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4299);
5965 var4
= NEW_parser_nodes__APrivateVisibility(&type_parser_nodes__APrivateVisibility
);
5967 parser_prod__APrivateVisibility__init_aprivatevisibility(var4
, var_tkwprivatenode2
); /* Direct call parser_prod#APrivateVisibility#init_aprivatevisibility on <var4:APrivateVisibility>*/
5969 var_pvisibilitynode1
= var4
;
5970 var_node_list
= var_pvisibilitynode1
;
5971 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction99> */
5973 var6
= parser_work__Parser__go_to(var_p
, var5
);
5976 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5980 /* method parser#ReduceAction99#action for (self: Object, Parser) */
5981 void VIRTUAL_parser__ReduceAction99__action(val
* self
, val
* p0
) {
5982 parser__ReduceAction99__action(self
, p0
); /* Direct call parser#ReduceAction99#action on <self:Object(ReduceAction99)>*/
5985 /* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */
5986 void parser__ReduceAction100__action(val
* self
, val
* p0
) {
5987 val
* var_p
/* var p: Parser */;
5988 val
* var
/* : null */;
5989 val
* var_node_list
/* var node_list: nullable Object */;
5990 val
* var1
/* : nullable Object */;
5991 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5992 val
* var2
/* : nullable Object */;
5993 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5994 val
* var_tkwprotectednode2
/* var tkwprotectednode2: nullable Object */;
5995 short int var3
/* : Bool */;
5998 val
* var4
/* : AProtectedVisibility */;
5999 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable AProtectedVisibility */;
6000 long var5
/* : Int */;
6001 long var6
/* : Int */;
6004 var_node_list
= var
;
6006 var1
= parser_work__Parser__pop(var_p
);
6008 var_nodearraylist2
= var1
;
6010 var2
= parser_work__Parser__pop(var_p
);
6012 var_nodearraylist1
= var2
;
6013 var_tkwprotectednode2
= var_nodearraylist1
;
6014 /* <var_tkwprotectednode2:nullable Object> isa nullable TKwprotected */
6015 cltype
= type_nullable_parser_nodes__TKwprotected
.color
;
6016 idtype
= type_nullable_parser_nodes__TKwprotected
.id
;
6017 if(var_tkwprotectednode2
== NULL
) {
6020 if(cltype
>= var_tkwprotectednode2
->type
->table_size
) {
6023 var3
= var_tkwprotectednode2
->type
->type_table
[cltype
] == idtype
;
6026 if (unlikely(!var3
)) {
6027 PRINT_ERROR("Runtime error: %s", "Assert failed");
6028 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4315);
6031 var4
= NEW_parser_nodes__AProtectedVisibility(&type_parser_nodes__AProtectedVisibility
);
6033 parser_prod__AProtectedVisibility__init_aprotectedvisibility(var4
, var_tkwprotectednode2
); /* Direct call parser_prod#AProtectedVisibility#init_aprotectedvisibility on <var4:AProtectedVisibility>*/
6035 var_pvisibilitynode1
= var4
;
6036 var_node_list
= var_pvisibilitynode1
;
6037 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction100> */
6039 var6
= parser_work__Parser__go_to(var_p
, var5
);
6042 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6046 /* method parser#ReduceAction100#action for (self: Object, Parser) */
6047 void VIRTUAL_parser__ReduceAction100__action(val
* self
, val
* p0
) {
6048 parser__ReduceAction100__action(self
, p0
); /* Direct call parser#ReduceAction100#action on <self:Object(ReduceAction100)>*/
6051 /* method parser#ReduceAction101#action for (self: ReduceAction101, Parser) */
6052 void parser__ReduceAction101__action(val
* self
, val
* p0
) {
6053 val
* var_p
/* var p: Parser */;
6054 val
* var
/* : null */;
6055 val
* var_node_list
/* var node_list: nullable Object */;
6056 val
* var1
/* : nullable Object */;
6057 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6058 val
* var2
/* : nullable Object */;
6059 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6060 val
* var_tkwintrudenode2
/* var tkwintrudenode2: nullable Object */;
6061 short int var3
/* : Bool */;
6064 val
* var4
/* : AIntrudeVisibility */;
6065 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable AIntrudeVisibility */;
6066 long var5
/* : Int */;
6067 long var6
/* : Int */;
6070 var_node_list
= var
;
6072 var1
= parser_work__Parser__pop(var_p
);
6074 var_nodearraylist2
= var1
;
6076 var2
= parser_work__Parser__pop(var_p
);
6078 var_nodearraylist1
= var2
;
6079 var_tkwintrudenode2
= var_nodearraylist1
;
6080 /* <var_tkwintrudenode2:nullable Object> isa nullable TKwintrude */
6081 cltype
= type_nullable_parser_nodes__TKwintrude
.color
;
6082 idtype
= type_nullable_parser_nodes__TKwintrude
.id
;
6083 if(var_tkwintrudenode2
== NULL
) {
6086 if(cltype
>= var_tkwintrudenode2
->type
->table_size
) {
6089 var3
= var_tkwintrudenode2
->type
->type_table
[cltype
] == idtype
;
6092 if (unlikely(!var3
)) {
6093 PRINT_ERROR("Runtime error: %s", "Assert failed");
6094 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4331);
6097 var4
= NEW_parser_nodes__AIntrudeVisibility(&type_parser_nodes__AIntrudeVisibility
);
6099 parser_prod__AIntrudeVisibility__init_aintrudevisibility(var4
, var_tkwintrudenode2
); /* Direct call parser_prod#AIntrudeVisibility#init_aintrudevisibility on <var4:AIntrudeVisibility>*/
6101 var_pvisibilitynode1
= var4
;
6102 var_node_list
= var_pvisibilitynode1
;
6103 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction101> */
6105 var6
= parser_work__Parser__go_to(var_p
, var5
);
6108 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6112 /* method parser#ReduceAction101#action for (self: Object, Parser) */
6113 void VIRTUAL_parser__ReduceAction101__action(val
* self
, val
* p0
) {
6114 parser__ReduceAction101__action(self
, p0
); /* Direct call parser#ReduceAction101#action on <self:Object(ReduceAction101)>*/
6117 /* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */
6118 void parser__ReduceAction102__action(val
* self
, val
* p0
) {
6119 val
* var_p
/* var p: Parser */;
6120 val
* var
/* : null */;
6121 val
* var_node_list
/* var node_list: nullable Object */;
6122 val
* var1
/* : nullable Object */;
6123 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6124 val
* var_tidnode2
/* var tidnode2: nullable Object */;
6125 short int var2
/* : Bool */;
6128 val
* var3
/* : AIdMethid */;
6129 val
* var_pmethidnode1
/* var pmethidnode1: nullable AIdMethid */;
6130 long var4
/* : Int */;
6131 long var5
/* : Int */;
6134 var_node_list
= var
;
6136 var1
= parser_work__Parser__pop(var_p
);
6138 var_nodearraylist1
= var1
;
6139 var_tidnode2
= var_nodearraylist1
;
6140 /* <var_tidnode2:nullable Object> isa nullable TId */
6141 cltype
= type_nullable_parser_nodes__TId
.color
;
6142 idtype
= type_nullable_parser_nodes__TId
.id
;
6143 if(var_tidnode2
== NULL
) {
6146 if(cltype
>= var_tidnode2
->type
->table_size
) {
6149 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
6152 if (unlikely(!var2
)) {
6153 PRINT_ERROR("Runtime error: %s", "Assert failed");
6154 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4346);
6157 var3
= NEW_parser_nodes__AIdMethid(&type_parser_nodes__AIdMethid
);
6159 parser_prod__AIdMethid__init_aidmethid(var3
, var_tidnode2
); /* Direct call parser_prod#AIdMethid#init_aidmethid on <var3:AIdMethid>*/
6161 var_pmethidnode1
= var3
;
6162 var_node_list
= var_pmethidnode1
;
6163 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction102> */
6165 var5
= parser_work__Parser__go_to(var_p
, var4
);
6168 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6172 /* method parser#ReduceAction102#action for (self: Object, Parser) */
6173 void VIRTUAL_parser__ReduceAction102__action(val
* self
, val
* p0
) {
6174 parser__ReduceAction102__action(self
, p0
); /* Direct call parser#ReduceAction102#action on <self:Object(ReduceAction102)>*/
6177 /* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */
6178 void parser__ReduceAction103__action(val
* self
, val
* p0
) {
6179 val
* var_p
/* var p: Parser */;
6180 val
* var
/* : null */;
6181 val
* var_node_list
/* var node_list: nullable Object */;
6182 val
* var1
/* : nullable Object */;
6183 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6184 val
* var_tplusnode2
/* var tplusnode2: nullable Object */;
6185 short int var2
/* : Bool */;
6188 val
* var3
/* : APlusMethid */;
6189 val
* var_pmethidnode1
/* var pmethidnode1: nullable APlusMethid */;
6190 long var4
/* : Int */;
6191 long var5
/* : Int */;
6194 var_node_list
= var
;
6196 var1
= parser_work__Parser__pop(var_p
);
6198 var_nodearraylist1
= var1
;
6199 var_tplusnode2
= var_nodearraylist1
;
6200 /* <var_tplusnode2:nullable Object> isa nullable TPlus */
6201 cltype
= type_nullable_parser_nodes__TPlus
.color
;
6202 idtype
= type_nullable_parser_nodes__TPlus
.id
;
6203 if(var_tplusnode2
== NULL
) {
6206 if(cltype
>= var_tplusnode2
->type
->table_size
) {
6209 var2
= var_tplusnode2
->type
->type_table
[cltype
] == idtype
;
6212 if (unlikely(!var2
)) {
6213 PRINT_ERROR("Runtime error: %s", "Assert failed");
6214 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4361);
6217 var3
= NEW_parser_nodes__APlusMethid(&type_parser_nodes__APlusMethid
);
6219 parser_prod__APlusMethid__init_aplusmethid(var3
, var_tplusnode2
); /* Direct call parser_prod#APlusMethid#init_aplusmethid on <var3:APlusMethid>*/
6221 var_pmethidnode1
= var3
;
6222 var_node_list
= var_pmethidnode1
;
6223 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction103> */
6225 var5
= parser_work__Parser__go_to(var_p
, var4
);
6228 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6232 /* method parser#ReduceAction103#action for (self: Object, Parser) */
6233 void VIRTUAL_parser__ReduceAction103__action(val
* self
, val
* p0
) {
6234 parser__ReduceAction103__action(self
, p0
); /* Direct call parser#ReduceAction103#action on <self:Object(ReduceAction103)>*/
6237 /* method parser#ReduceAction104#action for (self: ReduceAction104, Parser) */
6238 void parser__ReduceAction104__action(val
* self
, val
* p0
) {
6239 val
* var_p
/* var p: Parser */;
6240 val
* var
/* : null */;
6241 val
* var_node_list
/* var node_list: nullable Object */;
6242 val
* var1
/* : nullable Object */;
6243 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6244 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
6245 short int var2
/* : Bool */;
6248 val
* var3
/* : AMinusMethid */;
6249 val
* var_pmethidnode1
/* var pmethidnode1: nullable AMinusMethid */;
6250 long var4
/* : Int */;
6251 long var5
/* : Int */;
6254 var_node_list
= var
;
6256 var1
= parser_work__Parser__pop(var_p
);
6258 var_nodearraylist1
= var1
;
6259 var_tminusnode2
= var_nodearraylist1
;
6260 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
6261 cltype
= type_nullable_parser_nodes__TMinus
.color
;
6262 idtype
= type_nullable_parser_nodes__TMinus
.id
;
6263 if(var_tminusnode2
== NULL
) {
6266 if(cltype
>= var_tminusnode2
->type
->table_size
) {
6269 var2
= var_tminusnode2
->type
->type_table
[cltype
] == idtype
;
6272 if (unlikely(!var2
)) {
6273 PRINT_ERROR("Runtime error: %s", "Assert failed");
6274 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4376);
6277 var3
= NEW_parser_nodes__AMinusMethid(&type_parser_nodes__AMinusMethid
);
6279 parser_prod__AMinusMethid__init_aminusmethid(var3
, var_tminusnode2
); /* Direct call parser_prod#AMinusMethid#init_aminusmethid on <var3:AMinusMethid>*/
6281 var_pmethidnode1
= var3
;
6282 var_node_list
= var_pmethidnode1
;
6283 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction104> */
6285 var5
= parser_work__Parser__go_to(var_p
, var4
);
6288 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6292 /* method parser#ReduceAction104#action for (self: Object, Parser) */
6293 void VIRTUAL_parser__ReduceAction104__action(val
* self
, val
* p0
) {
6294 parser__ReduceAction104__action(self
, p0
); /* Direct call parser#ReduceAction104#action on <self:Object(ReduceAction104)>*/
6297 /* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */
6298 void parser__ReduceAction105__action(val
* self
, val
* p0
) {
6299 val
* var_p
/* var p: Parser */;
6300 val
* var
/* : null */;
6301 val
* var_node_list
/* var node_list: nullable Object */;
6302 val
* var1
/* : nullable Object */;
6303 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6304 val
* var_tstarnode2
/* var tstarnode2: nullable Object */;
6305 short int var2
/* : Bool */;
6308 val
* var3
/* : AStarMethid */;
6309 val
* var_pmethidnode1
/* var pmethidnode1: nullable AStarMethid */;
6310 long var4
/* : Int */;
6311 long var5
/* : Int */;
6314 var_node_list
= var
;
6316 var1
= parser_work__Parser__pop(var_p
);
6318 var_nodearraylist1
= var1
;
6319 var_tstarnode2
= var_nodearraylist1
;
6320 /* <var_tstarnode2:nullable Object> isa nullable TStar */
6321 cltype
= type_nullable_parser_nodes__TStar
.color
;
6322 idtype
= type_nullable_parser_nodes__TStar
.id
;
6323 if(var_tstarnode2
== NULL
) {
6326 if(cltype
>= var_tstarnode2
->type
->table_size
) {
6329 var2
= var_tstarnode2
->type
->type_table
[cltype
] == idtype
;
6332 if (unlikely(!var2
)) {
6333 PRINT_ERROR("Runtime error: %s", "Assert failed");
6334 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4391);
6337 var3
= NEW_parser_nodes__AStarMethid(&type_parser_nodes__AStarMethid
);
6339 parser_prod__AStarMethid__init_astarmethid(var3
, var_tstarnode2
); /* Direct call parser_prod#AStarMethid#init_astarmethid on <var3:AStarMethid>*/
6341 var_pmethidnode1
= var3
;
6342 var_node_list
= var_pmethidnode1
;
6343 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction105> */
6345 var5
= parser_work__Parser__go_to(var_p
, var4
);
6348 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6352 /* method parser#ReduceAction105#action for (self: Object, Parser) */
6353 void VIRTUAL_parser__ReduceAction105__action(val
* self
, val
* p0
) {
6354 parser__ReduceAction105__action(self
, p0
); /* Direct call parser#ReduceAction105#action on <self:Object(ReduceAction105)>*/
6357 /* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */
6358 void parser__ReduceAction106__action(val
* self
, val
* p0
) {
6359 val
* var_p
/* var p: Parser */;
6360 val
* var
/* : null */;
6361 val
* var_node_list
/* var node_list: nullable Object */;
6362 val
* var1
/* : nullable Object */;
6363 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6364 val
* var_tslashnode2
/* var tslashnode2: nullable Object */;
6365 short int var2
/* : Bool */;
6368 val
* var3
/* : ASlashMethid */;
6369 val
* var_pmethidnode1
/* var pmethidnode1: nullable ASlashMethid */;
6370 long var4
/* : Int */;
6371 long var5
/* : Int */;
6374 var_node_list
= var
;
6376 var1
= parser_work__Parser__pop(var_p
);
6378 var_nodearraylist1
= var1
;
6379 var_tslashnode2
= var_nodearraylist1
;
6380 /* <var_tslashnode2:nullable Object> isa nullable TSlash */
6381 cltype
= type_nullable_parser_nodes__TSlash
.color
;
6382 idtype
= type_nullable_parser_nodes__TSlash
.id
;
6383 if(var_tslashnode2
== NULL
) {
6386 if(cltype
>= var_tslashnode2
->type
->table_size
) {
6389 var2
= var_tslashnode2
->type
->type_table
[cltype
] == idtype
;
6392 if (unlikely(!var2
)) {
6393 PRINT_ERROR("Runtime error: %s", "Assert failed");
6394 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4406);
6397 var3
= NEW_parser_nodes__ASlashMethid(&type_parser_nodes__ASlashMethid
);
6399 parser_prod__ASlashMethid__init_aslashmethid(var3
, var_tslashnode2
); /* Direct call parser_prod#ASlashMethid#init_aslashmethid on <var3:ASlashMethid>*/
6401 var_pmethidnode1
= var3
;
6402 var_node_list
= var_pmethidnode1
;
6403 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction106> */
6405 var5
= parser_work__Parser__go_to(var_p
, var4
);
6408 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6412 /* method parser#ReduceAction106#action for (self: Object, Parser) */
6413 void VIRTUAL_parser__ReduceAction106__action(val
* self
, val
* p0
) {
6414 parser__ReduceAction106__action(self
, p0
); /* Direct call parser#ReduceAction106#action on <self:Object(ReduceAction106)>*/
6417 /* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */
6418 void parser__ReduceAction107__action(val
* self
, val
* p0
) {
6419 val
* var_p
/* var p: Parser */;
6420 val
* var
/* : null */;
6421 val
* var_node_list
/* var node_list: nullable Object */;
6422 val
* var1
/* : nullable Object */;
6423 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6424 val
* var_tpercentnode2
/* var tpercentnode2: nullable Object */;
6425 short int var2
/* : Bool */;
6428 val
* var3
/* : APercentMethid */;
6429 val
* var_pmethidnode1
/* var pmethidnode1: nullable APercentMethid */;
6430 long var4
/* : Int */;
6431 long var5
/* : Int */;
6434 var_node_list
= var
;
6436 var1
= parser_work__Parser__pop(var_p
);
6438 var_nodearraylist1
= var1
;
6439 var_tpercentnode2
= var_nodearraylist1
;
6440 /* <var_tpercentnode2:nullable Object> isa nullable TPercent */
6441 cltype
= type_nullable_parser_nodes__TPercent
.color
;
6442 idtype
= type_nullable_parser_nodes__TPercent
.id
;
6443 if(var_tpercentnode2
== NULL
) {
6446 if(cltype
>= var_tpercentnode2
->type
->table_size
) {
6449 var2
= var_tpercentnode2
->type
->type_table
[cltype
] == idtype
;
6452 if (unlikely(!var2
)) {
6453 PRINT_ERROR("Runtime error: %s", "Assert failed");
6454 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4421);
6457 var3
= NEW_parser_nodes__APercentMethid(&type_parser_nodes__APercentMethid
);
6459 parser_prod__APercentMethid__init_apercentmethid(var3
, var_tpercentnode2
); /* Direct call parser_prod#APercentMethid#init_apercentmethid on <var3:APercentMethid>*/
6461 var_pmethidnode1
= var3
;
6462 var_node_list
= var_pmethidnode1
;
6463 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction107> */
6465 var5
= parser_work__Parser__go_to(var_p
, var4
);
6468 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6472 /* method parser#ReduceAction107#action for (self: Object, Parser) */
6473 void VIRTUAL_parser__ReduceAction107__action(val
* self
, val
* p0
) {
6474 parser__ReduceAction107__action(self
, p0
); /* Direct call parser#ReduceAction107#action on <self:Object(ReduceAction107)>*/
6477 /* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */
6478 void parser__ReduceAction108__action(val
* self
, val
* p0
) {
6479 val
* var_p
/* var p: Parser */;
6480 val
* var
/* : null */;
6481 val
* var_node_list
/* var node_list: nullable Object */;
6482 val
* var1
/* : nullable Object */;
6483 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6484 val
* var_teqnode2
/* var teqnode2: nullable Object */;
6485 short int var2
/* : Bool */;
6488 val
* var3
/* : AEqMethid */;
6489 val
* var_pmethidnode1
/* var pmethidnode1: nullable AEqMethid */;
6490 long var4
/* : Int */;
6491 long var5
/* : Int */;
6494 var_node_list
= var
;
6496 var1
= parser_work__Parser__pop(var_p
);
6498 var_nodearraylist1
= var1
;
6499 var_teqnode2
= var_nodearraylist1
;
6500 /* <var_teqnode2:nullable Object> isa nullable TEq */
6501 cltype
= type_nullable_parser_nodes__TEq
.color
;
6502 idtype
= type_nullable_parser_nodes__TEq
.id
;
6503 if(var_teqnode2
== NULL
) {
6506 if(cltype
>= var_teqnode2
->type
->table_size
) {
6509 var2
= var_teqnode2
->type
->type_table
[cltype
] == idtype
;
6512 if (unlikely(!var2
)) {
6513 PRINT_ERROR("Runtime error: %s", "Assert failed");
6514 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4436);
6517 var3
= NEW_parser_nodes__AEqMethid(&type_parser_nodes__AEqMethid
);
6519 parser_prod__AEqMethid__init_aeqmethid(var3
, var_teqnode2
); /* Direct call parser_prod#AEqMethid#init_aeqmethid on <var3:AEqMethid>*/
6521 var_pmethidnode1
= var3
;
6522 var_node_list
= var_pmethidnode1
;
6523 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction108> */
6525 var5
= parser_work__Parser__go_to(var_p
, var4
);
6528 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6532 /* method parser#ReduceAction108#action for (self: Object, Parser) */
6533 void VIRTUAL_parser__ReduceAction108__action(val
* self
, val
* p0
) {
6534 parser__ReduceAction108__action(self
, p0
); /* Direct call parser#ReduceAction108#action on <self:Object(ReduceAction108)>*/
6537 /* method parser#ReduceAction109#action for (self: ReduceAction109, Parser) */
6538 void parser__ReduceAction109__action(val
* self
, val
* p0
) {
6539 val
* var_p
/* var p: Parser */;
6540 val
* var
/* : null */;
6541 val
* var_node_list
/* var node_list: nullable Object */;
6542 val
* var1
/* : nullable Object */;
6543 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6544 val
* var_tnenode2
/* var tnenode2: nullable Object */;
6545 short int var2
/* : Bool */;
6548 val
* var3
/* : ANeMethid */;
6549 val
* var_pmethidnode1
/* var pmethidnode1: nullable ANeMethid */;
6550 long var4
/* : Int */;
6551 long var5
/* : Int */;
6554 var_node_list
= var
;
6556 var1
= parser_work__Parser__pop(var_p
);
6558 var_nodearraylist1
= var1
;
6559 var_tnenode2
= var_nodearraylist1
;
6560 /* <var_tnenode2:nullable Object> isa nullable TNe */
6561 cltype
= type_nullable_parser_nodes__TNe
.color
;
6562 idtype
= type_nullable_parser_nodes__TNe
.id
;
6563 if(var_tnenode2
== NULL
) {
6566 if(cltype
>= var_tnenode2
->type
->table_size
) {
6569 var2
= var_tnenode2
->type
->type_table
[cltype
] == idtype
;
6572 if (unlikely(!var2
)) {
6573 PRINT_ERROR("Runtime error: %s", "Assert failed");
6574 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4451);
6577 var3
= NEW_parser_nodes__ANeMethid(&type_parser_nodes__ANeMethid
);
6579 parser_prod__ANeMethid__init_anemethid(var3
, var_tnenode2
); /* Direct call parser_prod#ANeMethid#init_anemethid on <var3:ANeMethid>*/
6581 var_pmethidnode1
= var3
;
6582 var_node_list
= var_pmethidnode1
;
6583 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction109> */
6585 var5
= parser_work__Parser__go_to(var_p
, var4
);
6588 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6592 /* method parser#ReduceAction109#action for (self: Object, Parser) */
6593 void VIRTUAL_parser__ReduceAction109__action(val
* self
, val
* p0
) {
6594 parser__ReduceAction109__action(self
, p0
); /* Direct call parser#ReduceAction109#action on <self:Object(ReduceAction109)>*/
6597 /* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */
6598 void parser__ReduceAction110__action(val
* self
, val
* p0
) {
6599 val
* var_p
/* var p: Parser */;
6600 val
* var
/* : null */;
6601 val
* var_node_list
/* var node_list: nullable Object */;
6602 val
* var1
/* : nullable Object */;
6603 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6604 val
* var_tlenode2
/* var tlenode2: nullable Object */;
6605 short int var2
/* : Bool */;
6608 val
* var3
/* : ALeMethid */;
6609 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALeMethid */;
6610 long var4
/* : Int */;
6611 long var5
/* : Int */;
6614 var_node_list
= var
;
6616 var1
= parser_work__Parser__pop(var_p
);
6618 var_nodearraylist1
= var1
;
6619 var_tlenode2
= var_nodearraylist1
;
6620 /* <var_tlenode2:nullable Object> isa nullable TLe */
6621 cltype
= type_nullable_parser_nodes__TLe
.color
;
6622 idtype
= type_nullable_parser_nodes__TLe
.id
;
6623 if(var_tlenode2
== NULL
) {
6626 if(cltype
>= var_tlenode2
->type
->table_size
) {
6629 var2
= var_tlenode2
->type
->type_table
[cltype
] == idtype
;
6632 if (unlikely(!var2
)) {
6633 PRINT_ERROR("Runtime error: %s", "Assert failed");
6634 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4466);
6637 var3
= NEW_parser_nodes__ALeMethid(&type_parser_nodes__ALeMethid
);
6639 parser_prod__ALeMethid__init_alemethid(var3
, var_tlenode2
); /* Direct call parser_prod#ALeMethid#init_alemethid on <var3:ALeMethid>*/
6641 var_pmethidnode1
= var3
;
6642 var_node_list
= var_pmethidnode1
;
6643 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction110> */
6645 var5
= parser_work__Parser__go_to(var_p
, var4
);
6648 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6652 /* method parser#ReduceAction110#action for (self: Object, Parser) */
6653 void VIRTUAL_parser__ReduceAction110__action(val
* self
, val
* p0
) {
6654 parser__ReduceAction110__action(self
, p0
); /* Direct call parser#ReduceAction110#action on <self:Object(ReduceAction110)>*/
6657 /* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */
6658 void parser__ReduceAction111__action(val
* self
, val
* p0
) {
6659 val
* var_p
/* var p: Parser */;
6660 val
* var
/* : null */;
6661 val
* var_node_list
/* var node_list: nullable Object */;
6662 val
* var1
/* : nullable Object */;
6663 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6664 val
* var_tgenode2
/* var tgenode2: nullable Object */;
6665 short int var2
/* : Bool */;
6668 val
* var3
/* : AGeMethid */;
6669 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGeMethid */;
6670 long var4
/* : Int */;
6671 long var5
/* : Int */;
6674 var_node_list
= var
;
6676 var1
= parser_work__Parser__pop(var_p
);
6678 var_nodearraylist1
= var1
;
6679 var_tgenode2
= var_nodearraylist1
;
6680 /* <var_tgenode2:nullable Object> isa nullable TGe */
6681 cltype
= type_nullable_parser_nodes__TGe
.color
;
6682 idtype
= type_nullable_parser_nodes__TGe
.id
;
6683 if(var_tgenode2
== NULL
) {
6686 if(cltype
>= var_tgenode2
->type
->table_size
) {
6689 var2
= var_tgenode2
->type
->type_table
[cltype
] == idtype
;
6692 if (unlikely(!var2
)) {
6693 PRINT_ERROR("Runtime error: %s", "Assert failed");
6694 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4481);
6697 var3
= NEW_parser_nodes__AGeMethid(&type_parser_nodes__AGeMethid
);
6699 parser_prod__AGeMethid__init_agemethid(var3
, var_tgenode2
); /* Direct call parser_prod#AGeMethid#init_agemethid on <var3:AGeMethid>*/
6701 var_pmethidnode1
= var3
;
6702 var_node_list
= var_pmethidnode1
;
6703 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction111> */
6705 var5
= parser_work__Parser__go_to(var_p
, var4
);
6708 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6712 /* method parser#ReduceAction111#action for (self: Object, Parser) */
6713 void VIRTUAL_parser__ReduceAction111__action(val
* self
, val
* p0
) {
6714 parser__ReduceAction111__action(self
, p0
); /* Direct call parser#ReduceAction111#action on <self:Object(ReduceAction111)>*/
6717 /* method parser#ReduceAction112#action for (self: ReduceAction112, Parser) */
6718 void parser__ReduceAction112__action(val
* self
, val
* p0
) {
6719 val
* var_p
/* var p: Parser */;
6720 val
* var
/* : null */;
6721 val
* var_node_list
/* var node_list: nullable Object */;
6722 val
* var1
/* : nullable Object */;
6723 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6724 val
* var_tltnode2
/* var tltnode2: nullable Object */;
6725 short int var2
/* : Bool */;
6728 val
* var3
/* : ALtMethid */;
6729 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALtMethid */;
6730 long var4
/* : Int */;
6731 long var5
/* : Int */;
6734 var_node_list
= var
;
6736 var1
= parser_work__Parser__pop(var_p
);
6738 var_nodearraylist1
= var1
;
6739 var_tltnode2
= var_nodearraylist1
;
6740 /* <var_tltnode2:nullable Object> isa nullable TLt */
6741 cltype
= type_nullable_parser_nodes__TLt
.color
;
6742 idtype
= type_nullable_parser_nodes__TLt
.id
;
6743 if(var_tltnode2
== NULL
) {
6746 if(cltype
>= var_tltnode2
->type
->table_size
) {
6749 var2
= var_tltnode2
->type
->type_table
[cltype
] == idtype
;
6752 if (unlikely(!var2
)) {
6753 PRINT_ERROR("Runtime error: %s", "Assert failed");
6754 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4496);
6757 var3
= NEW_parser_nodes__ALtMethid(&type_parser_nodes__ALtMethid
);
6759 parser_prod__ALtMethid__init_altmethid(var3
, var_tltnode2
); /* Direct call parser_prod#ALtMethid#init_altmethid on <var3:ALtMethid>*/
6761 var_pmethidnode1
= var3
;
6762 var_node_list
= var_pmethidnode1
;
6763 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction112> */
6765 var5
= parser_work__Parser__go_to(var_p
, var4
);
6768 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6772 /* method parser#ReduceAction112#action for (self: Object, Parser) */
6773 void VIRTUAL_parser__ReduceAction112__action(val
* self
, val
* p0
) {
6774 parser__ReduceAction112__action(self
, p0
); /* Direct call parser#ReduceAction112#action on <self:Object(ReduceAction112)>*/
6777 /* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */
6778 void parser__ReduceAction113__action(val
* self
, val
* p0
) {
6779 val
* var_p
/* var p: Parser */;
6780 val
* var
/* : null */;
6781 val
* var_node_list
/* var node_list: nullable Object */;
6782 val
* var1
/* : nullable Object */;
6783 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6784 val
* var_tgtnode2
/* var tgtnode2: nullable Object */;
6785 short int var2
/* : Bool */;
6788 val
* var3
/* : AGtMethid */;
6789 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGtMethid */;
6790 long var4
/* : Int */;
6791 long var5
/* : Int */;
6794 var_node_list
= var
;
6796 var1
= parser_work__Parser__pop(var_p
);
6798 var_nodearraylist1
= var1
;
6799 var_tgtnode2
= var_nodearraylist1
;
6800 /* <var_tgtnode2:nullable Object> isa nullable TGt */
6801 cltype
= type_nullable_parser_nodes__TGt
.color
;
6802 idtype
= type_nullable_parser_nodes__TGt
.id
;
6803 if(var_tgtnode2
== NULL
) {
6806 if(cltype
>= var_tgtnode2
->type
->table_size
) {
6809 var2
= var_tgtnode2
->type
->type_table
[cltype
] == idtype
;
6812 if (unlikely(!var2
)) {
6813 PRINT_ERROR("Runtime error: %s", "Assert failed");
6814 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4511);
6817 var3
= NEW_parser_nodes__AGtMethid(&type_parser_nodes__AGtMethid
);
6819 parser_prod__AGtMethid__init_agtmethid(var3
, var_tgtnode2
); /* Direct call parser_prod#AGtMethid#init_agtmethid on <var3:AGtMethid>*/
6821 var_pmethidnode1
= var3
;
6822 var_node_list
= var_pmethidnode1
;
6823 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction113> */
6825 var5
= parser_work__Parser__go_to(var_p
, var4
);
6828 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6832 /* method parser#ReduceAction113#action for (self: Object, Parser) */
6833 void VIRTUAL_parser__ReduceAction113__action(val
* self
, val
* p0
) {
6834 parser__ReduceAction113__action(self
, p0
); /* Direct call parser#ReduceAction113#action on <self:Object(ReduceAction113)>*/
6837 /* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */
6838 void parser__ReduceAction114__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_nodearraylist1
/* var nodearraylist1: nullable Object */;
6844 val
* var_tllnode2
/* var tllnode2: nullable Object */;
6845 short int var2
/* : Bool */;
6848 val
* var3
/* : ALlMethid */;
6849 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALlMethid */;
6850 long var4
/* : Int */;
6851 long var5
/* : Int */;
6854 var_node_list
= var
;
6856 var1
= parser_work__Parser__pop(var_p
);
6858 var_nodearraylist1
= var1
;
6859 var_tllnode2
= var_nodearraylist1
;
6860 /* <var_tllnode2:nullable Object> isa nullable TLl */
6861 cltype
= type_nullable_parser_nodes__TLl
.color
;
6862 idtype
= type_nullable_parser_nodes__TLl
.id
;
6863 if(var_tllnode2
== NULL
) {
6866 if(cltype
>= var_tllnode2
->type
->table_size
) {
6869 var2
= var_tllnode2
->type
->type_table
[cltype
] == idtype
;
6872 if (unlikely(!var2
)) {
6873 PRINT_ERROR("Runtime error: %s", "Assert failed");
6874 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4526);
6877 var3
= NEW_parser_nodes__ALlMethid(&type_parser_nodes__ALlMethid
);
6879 parser_prod__ALlMethid__init_allmethid(var3
, var_tllnode2
); /* Direct call parser_prod#ALlMethid#init_allmethid on <var3:ALlMethid>*/
6881 var_pmethidnode1
= var3
;
6882 var_node_list
= var_pmethidnode1
;
6883 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction114> */
6885 var5
= parser_work__Parser__go_to(var_p
, var4
);
6888 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6892 /* method parser#ReduceAction114#action for (self: Object, Parser) */
6893 void VIRTUAL_parser__ReduceAction114__action(val
* self
, val
* p0
) {
6894 parser__ReduceAction114__action(self
, p0
); /* Direct call parser#ReduceAction114#action on <self:Object(ReduceAction114)>*/
6897 /* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */
6898 void parser__ReduceAction115__action(val
* self
, val
* p0
) {
6899 val
* var_p
/* var p: Parser */;
6900 val
* var
/* : null */;
6901 val
* var_node_list
/* var node_list: nullable Object */;
6902 val
* var1
/* : nullable Object */;
6903 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6904 val
* var_tggnode2
/* var tggnode2: nullable Object */;
6905 short int var2
/* : Bool */;
6908 val
* var3
/* : AGgMethid */;
6909 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGgMethid */;
6910 long var4
/* : Int */;
6911 long var5
/* : Int */;
6914 var_node_list
= var
;
6916 var1
= parser_work__Parser__pop(var_p
);
6918 var_nodearraylist1
= var1
;
6919 var_tggnode2
= var_nodearraylist1
;
6920 /* <var_tggnode2:nullable Object> isa nullable TGg */
6921 cltype
= type_nullable_parser_nodes__TGg
.color
;
6922 idtype
= type_nullable_parser_nodes__TGg
.id
;
6923 if(var_tggnode2
== NULL
) {
6926 if(cltype
>= var_tggnode2
->type
->table_size
) {
6929 var2
= var_tggnode2
->type
->type_table
[cltype
] == idtype
;
6932 if (unlikely(!var2
)) {
6933 PRINT_ERROR("Runtime error: %s", "Assert failed");
6934 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4541);
6937 var3
= NEW_parser_nodes__AGgMethid(&type_parser_nodes__AGgMethid
);
6939 parser_prod__AGgMethid__init_aggmethid(var3
, var_tggnode2
); /* Direct call parser_prod#AGgMethid#init_aggmethid on <var3:AGgMethid>*/
6941 var_pmethidnode1
= var3
;
6942 var_node_list
= var_pmethidnode1
;
6943 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction115> */
6945 var5
= parser_work__Parser__go_to(var_p
, var4
);
6948 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6952 /* method parser#ReduceAction115#action for (self: Object, Parser) */
6953 void VIRTUAL_parser__ReduceAction115__action(val
* self
, val
* p0
) {
6954 parser__ReduceAction115__action(self
, p0
); /* Direct call parser#ReduceAction115#action on <self:Object(ReduceAction115)>*/
6957 /* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */
6958 void parser__ReduceAction116__action(val
* self
, val
* p0
) {
6959 val
* var_p
/* var p: Parser */;
6960 val
* var
/* : null */;
6961 val
* var_node_list
/* var node_list: nullable Object */;
6962 val
* var1
/* : nullable Object */;
6963 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6964 val
* var2
/* : nullable Object */;
6965 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6966 val
* var_tobranode2
/* var tobranode2: nullable Object */;
6967 short int var3
/* : Bool */;
6970 val
* var_tcbranode3
/* var tcbranode3: nullable Object */;
6971 short int var4
/* : Bool */;
6974 val
* var7
/* : ABraMethid */;
6975 val
* var_pmethidnode1
/* var pmethidnode1: nullable ABraMethid */;
6976 long var8
/* : Int */;
6977 long var9
/* : Int */;
6980 var_node_list
= var
;
6982 var1
= parser_work__Parser__pop(var_p
);
6984 var_nodearraylist2
= var1
;
6986 var2
= parser_work__Parser__pop(var_p
);
6988 var_nodearraylist1
= var2
;
6989 var_tobranode2
= var_nodearraylist1
;
6990 /* <var_tobranode2:nullable Object> isa nullable TObra */
6991 cltype
= type_nullable_parser_nodes__TObra
.color
;
6992 idtype
= type_nullable_parser_nodes__TObra
.id
;
6993 if(var_tobranode2
== NULL
) {
6996 if(cltype
>= var_tobranode2
->type
->table_size
) {
6999 var3
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
7002 if (unlikely(!var3
)) {
7003 PRINT_ERROR("Runtime error: %s", "Assert failed");
7004 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4557);
7007 var_tcbranode3
= var_nodearraylist2
;
7008 /* <var_tcbranode3:nullable Object> isa nullable TCbra */
7009 cltype5
= type_nullable_parser_nodes__TCbra
.color
;
7010 idtype6
= type_nullable_parser_nodes__TCbra
.id
;
7011 if(var_tcbranode3
== NULL
) {
7014 if(cltype5
>= var_tcbranode3
->type
->table_size
) {
7017 var4
= var_tcbranode3
->type
->type_table
[cltype5
] == idtype6
;
7020 if (unlikely(!var4
)) {
7021 PRINT_ERROR("Runtime error: %s", "Assert failed");
7022 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4559);
7025 var7
= NEW_parser_nodes__ABraMethid(&type_parser_nodes__ABraMethid
);
7027 parser_prod__ABraMethid__init_abramethid(var7
, var_tobranode2
, var_tcbranode3
); /* Direct call parser_prod#ABraMethid#init_abramethid on <var7:ABraMethid>*/
7029 var_pmethidnode1
= var7
;
7030 var_node_list
= var_pmethidnode1
;
7031 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction116> */
7033 var9
= parser_work__Parser__go_to(var_p
, var8
);
7036 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7040 /* method parser#ReduceAction116#action for (self: Object, Parser) */
7041 void VIRTUAL_parser__ReduceAction116__action(val
* self
, val
* p0
) {
7042 parser__ReduceAction116__action(self
, p0
); /* Direct call parser#ReduceAction116#action on <self:Object(ReduceAction116)>*/
7045 /* method parser#ReduceAction117#action for (self: ReduceAction117, Parser) */
7046 void parser__ReduceAction117__action(val
* self
, val
* p0
) {
7047 val
* var_p
/* var p: Parser */;
7048 val
* var
/* : null */;
7049 val
* var_node_list
/* var node_list: nullable Object */;
7050 val
* var1
/* : nullable Object */;
7051 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7052 val
* var_tstarshipnode2
/* var tstarshipnode2: nullable Object */;
7053 short int var2
/* : Bool */;
7056 val
* var3
/* : AStarshipMethid */;
7057 val
* var_pmethidnode1
/* var pmethidnode1: nullable AStarshipMethid */;
7058 long var4
/* : Int */;
7059 long var5
/* : Int */;
7062 var_node_list
= var
;
7064 var1
= parser_work__Parser__pop(var_p
);
7066 var_nodearraylist1
= var1
;
7067 var_tstarshipnode2
= var_nodearraylist1
;
7068 /* <var_tstarshipnode2:nullable Object> isa nullable TStarship */
7069 cltype
= type_nullable_parser_nodes__TStarship
.color
;
7070 idtype
= type_nullable_parser_nodes__TStarship
.id
;
7071 if(var_tstarshipnode2
== NULL
) {
7074 if(cltype
>= var_tstarshipnode2
->type
->table_size
) {
7077 var2
= var_tstarshipnode2
->type
->type_table
[cltype
] == idtype
;
7080 if (unlikely(!var2
)) {
7081 PRINT_ERROR("Runtime error: %s", "Assert failed");
7082 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4575);
7085 var3
= NEW_parser_nodes__AStarshipMethid(&type_parser_nodes__AStarshipMethid
);
7087 parser_prod__AStarshipMethid__init_astarshipmethid(var3
, var_tstarshipnode2
); /* Direct call parser_prod#AStarshipMethid#init_astarshipmethid on <var3:AStarshipMethid>*/
7089 var_pmethidnode1
= var3
;
7090 var_node_list
= var_pmethidnode1
;
7091 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction117> */
7093 var5
= parser_work__Parser__go_to(var_p
, var4
);
7096 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7100 /* method parser#ReduceAction117#action for (self: Object, Parser) */
7101 void VIRTUAL_parser__ReduceAction117__action(val
* self
, val
* p0
) {
7102 parser__ReduceAction117__action(self
, p0
); /* Direct call parser#ReduceAction117#action on <self:Object(ReduceAction117)>*/
7105 /* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */
7106 void parser__ReduceAction118__action(val
* self
, val
* p0
) {
7107 val
* var_p
/* var p: Parser */;
7108 val
* var
/* : null */;
7109 val
* var_node_list
/* var node_list: nullable Object */;
7110 val
* var1
/* : nullable Object */;
7111 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7112 val
* var2
/* : nullable Object */;
7113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7114 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7115 short int var3
/* : Bool */;
7118 val
* var_tassignnode3
/* var tassignnode3: nullable Object */;
7119 short int var4
/* : Bool */;
7122 val
* var7
/* : AAssignMethid */;
7123 val
* var_pmethidnode1
/* var pmethidnode1: nullable AAssignMethid */;
7124 long var8
/* : Int */;
7125 long var9
/* : Int */;
7128 var_node_list
= var
;
7130 var1
= parser_work__Parser__pop(var_p
);
7132 var_nodearraylist2
= var1
;
7134 var2
= parser_work__Parser__pop(var_p
);
7136 var_nodearraylist1
= var2
;
7137 var_tidnode2
= var_nodearraylist1
;
7138 /* <var_tidnode2:nullable Object> isa nullable TId */
7139 cltype
= type_nullable_parser_nodes__TId
.color
;
7140 idtype
= type_nullable_parser_nodes__TId
.id
;
7141 if(var_tidnode2
== NULL
) {
7144 if(cltype
>= var_tidnode2
->type
->table_size
) {
7147 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7150 if (unlikely(!var3
)) {
7151 PRINT_ERROR("Runtime error: %s", "Assert failed");
7152 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4591);
7155 var_tassignnode3
= var_nodearraylist2
;
7156 /* <var_tassignnode3:nullable Object> isa nullable TAssign */
7157 cltype5
= type_nullable_parser_nodes__TAssign
.color
;
7158 idtype6
= type_nullable_parser_nodes__TAssign
.id
;
7159 if(var_tassignnode3
== NULL
) {
7162 if(cltype5
>= var_tassignnode3
->type
->table_size
) {
7165 var4
= var_tassignnode3
->type
->type_table
[cltype5
] == idtype6
;
7168 if (unlikely(!var4
)) {
7169 PRINT_ERROR("Runtime error: %s", "Assert failed");
7170 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4593);
7173 var7
= NEW_parser_nodes__AAssignMethid(&type_parser_nodes__AAssignMethid
);
7175 parser_prod__AAssignMethid__init_aassignmethid(var7
, var_tidnode2
, var_tassignnode3
); /* Direct call parser_prod#AAssignMethid#init_aassignmethid on <var7:AAssignMethid>*/
7177 var_pmethidnode1
= var7
;
7178 var_node_list
= var_pmethidnode1
;
7179 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction118> */
7181 var9
= parser_work__Parser__go_to(var_p
, var8
);
7184 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7188 /* method parser#ReduceAction118#action for (self: Object, Parser) */
7189 void VIRTUAL_parser__ReduceAction118__action(val
* self
, val
* p0
) {
7190 parser__ReduceAction118__action(self
, p0
); /* Direct call parser#ReduceAction118#action on <self:Object(ReduceAction118)>*/
7193 /* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */
7194 void parser__ReduceAction119__action(val
* self
, val
* p0
) {
7195 val
* var_p
/* var p: Parser */;
7196 val
* var
/* : null */;
7197 val
* var_node_list
/* var node_list: nullable Object */;
7198 val
* var1
/* : nullable Object */;
7199 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7200 val
* var2
/* : nullable Object */;
7201 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7202 val
* var3
/* : nullable Object */;
7203 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7204 val
* var_tobranode2
/* var tobranode2: nullable Object */;
7205 short int var4
/* : Bool */;
7208 val
* var_tcbranode3
/* var tcbranode3: nullable Object */;
7209 short int var5
/* : Bool */;
7212 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
7213 short int var8
/* : Bool */;
7216 val
* var11
/* : ABraassignMethid */;
7217 val
* var_pmethidnode1
/* var pmethidnode1: nullable ABraassignMethid */;
7218 long var12
/* : Int */;
7219 long var13
/* : Int */;
7222 var_node_list
= var
;
7224 var1
= parser_work__Parser__pop(var_p
);
7226 var_nodearraylist3
= var1
;
7228 var2
= parser_work__Parser__pop(var_p
);
7230 var_nodearraylist2
= var2
;
7232 var3
= parser_work__Parser__pop(var_p
);
7234 var_nodearraylist1
= var3
;
7235 var_tobranode2
= var_nodearraylist1
;
7236 /* <var_tobranode2:nullable Object> isa nullable TObra */
7237 cltype
= type_nullable_parser_nodes__TObra
.color
;
7238 idtype
= type_nullable_parser_nodes__TObra
.id
;
7239 if(var_tobranode2
== NULL
) {
7242 if(cltype
>= var_tobranode2
->type
->table_size
) {
7245 var4
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
7248 if (unlikely(!var4
)) {
7249 PRINT_ERROR("Runtime error: %s", "Assert failed");
7250 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4611);
7253 var_tcbranode3
= var_nodearraylist2
;
7254 /* <var_tcbranode3:nullable Object> isa nullable TCbra */
7255 cltype6
= type_nullable_parser_nodes__TCbra
.color
;
7256 idtype7
= type_nullable_parser_nodes__TCbra
.id
;
7257 if(var_tcbranode3
== NULL
) {
7260 if(cltype6
>= var_tcbranode3
->type
->table_size
) {
7263 var5
= var_tcbranode3
->type
->type_table
[cltype6
] == idtype7
;
7266 if (unlikely(!var5
)) {
7267 PRINT_ERROR("Runtime error: %s", "Assert failed");
7268 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4613);
7271 var_tassignnode4
= var_nodearraylist3
;
7272 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
7273 cltype9
= type_nullable_parser_nodes__TAssign
.color
;
7274 idtype10
= type_nullable_parser_nodes__TAssign
.id
;
7275 if(var_tassignnode4
== NULL
) {
7278 if(cltype9
>= var_tassignnode4
->type
->table_size
) {
7281 var8
= var_tassignnode4
->type
->type_table
[cltype9
] == idtype10
;
7284 if (unlikely(!var8
)) {
7285 PRINT_ERROR("Runtime error: %s", "Assert failed");
7286 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4615);
7289 var11
= NEW_parser_nodes__ABraassignMethid(&type_parser_nodes__ABraassignMethid
);
7291 parser_prod__ABraassignMethid__init_abraassignmethid(var11
, var_tobranode2
, var_tcbranode3
, var_tassignnode4
); /* Direct call parser_prod#ABraassignMethid#init_abraassignmethid on <var11:ABraassignMethid>*/
7293 var_pmethidnode1
= var11
;
7294 var_node_list
= var_pmethidnode1
;
7295 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction119> */
7297 var13
= parser_work__Parser__go_to(var_p
, var12
);
7300 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7304 /* method parser#ReduceAction119#action for (self: Object, Parser) */
7305 void VIRTUAL_parser__ReduceAction119__action(val
* self
, val
* p0
) {
7306 parser__ReduceAction119__action(self
, p0
); /* Direct call parser#ReduceAction119#action on <self:Object(ReduceAction119)>*/
7309 /* method parser#ReduceAction120#action for (self: ReduceAction120, Parser) */
7310 void parser__ReduceAction120__action(val
* self
, val
* p0
) {
7311 val
* var_p
/* var p: Parser */;
7312 val
* var
/* : null */;
7313 val
* var_node_list
/* var node_list: nullable Object */;
7314 val
* var1
/* : nullable Object */;
7315 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7316 val
* var2
/* : nullable Object */;
7317 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7318 val
* var3
/* : nullable Object */;
7319 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7320 val
* var4
/* : nullable Object */;
7321 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7322 val
* var5
/* : nullable Object */;
7323 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7324 val
* var6
/* : nullable Object */;
7325 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7326 val
* var7
/* : Array[Object] */;
7327 val
* var_listnode4
/* var listnode4: Array[Object] */;
7328 val
* var_toparnode2
/* var toparnode2: nullable Object */;
7329 short int var8
/* : Bool */;
7332 val
* var_listnode3
/* var listnode3: nullable Object */;
7333 short int var9
/* : Bool */;
7336 val
* var12
/* : Array[Object] */;
7337 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
7338 short int var13
/* : Bool */;
7341 val
* var_ptypenode6
/* var ptypenode6: nullable Object */;
7342 short int var16
/* : Bool */;
7345 val
* var19
/* : ASignature */;
7346 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7347 long var20
/* : Int */;
7348 long var21
/* : Int */;
7351 var_node_list
= var
;
7353 var1
= parser_work__Parser__pop(var_p
);
7355 var_nodearraylist6
= var1
;
7357 var2
= parser_work__Parser__pop(var_p
);
7359 var_nodearraylist5
= var2
;
7361 var3
= parser_work__Parser__pop(var_p
);
7363 var_nodearraylist4
= var3
;
7365 var4
= parser_work__Parser__pop(var_p
);
7367 var_nodearraylist3
= var4
;
7369 var5
= parser_work__Parser__pop(var_p
);
7371 var_nodearraylist2
= var5
;
7373 var6
= parser_work__Parser__pop(var_p
);
7375 var_nodearraylist1
= var6
;
7376 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7378 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
7380 var_listnode4
= var7
;
7381 var_toparnode2
= var_nodearraylist1
;
7382 /* <var_toparnode2:nullable Object> isa nullable TOpar */
7383 cltype
= type_nullable_parser_nodes__TOpar
.color
;
7384 idtype
= type_nullable_parser_nodes__TOpar
.id
;
7385 if(var_toparnode2
== NULL
) {
7388 if(cltype
>= var_toparnode2
->type
->table_size
) {
7391 var8
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
7394 if (unlikely(!var8
)) {
7395 PRINT_ERROR("Runtime error: %s", "Assert failed");
7396 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4638);
7399 var_listnode3
= var_nodearraylist3
;
7400 /* <var_listnode3:nullable Object> isa Array[Object] */
7401 cltype10
= type_array__Arraykernel__Object
.color
;
7402 idtype11
= type_array__Arraykernel__Object
.id
;
7403 if(var_listnode3
== NULL
) {
7406 if(cltype10
>= var_listnode3
->type
->table_size
) {
7409 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
7412 if (unlikely(!var9
)) {
7413 PRINT_ERROR("Runtime error: %s", "Assert failed");
7414 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4640);
7418 var12
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
7420 var_listnode4
= var12
;
7421 var_tcparnode5
= var_nodearraylist4
;
7422 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
7423 cltype14
= type_nullable_parser_nodes__TCpar
.color
;
7424 idtype15
= type_nullable_parser_nodes__TCpar
.id
;
7425 if(var_tcparnode5
== NULL
) {
7428 if(cltype14
>= var_tcparnode5
->type
->table_size
) {
7431 var13
= var_tcparnode5
->type
->type_table
[cltype14
] == idtype15
;
7434 if (unlikely(!var13
)) {
7435 PRINT_ERROR("Runtime error: %s", "Assert failed");
7436 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4643);
7439 var_ptypenode6
= var_nodearraylist5
;
7440 /* <var_ptypenode6:nullable Object> isa nullable AType */
7441 cltype17
= type_nullable_parser_nodes__AType
.color
;
7442 idtype18
= type_nullable_parser_nodes__AType
.id
;
7443 if(var_ptypenode6
== NULL
) {
7446 if(cltype17
>= var_ptypenode6
->type
->table_size
) {
7449 var16
= var_ptypenode6
->type
->type_table
[cltype17
] == idtype18
;
7452 if (unlikely(!var16
)) {
7453 PRINT_ERROR("Runtime error: %s", "Assert failed");
7454 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4645);
7457 var19
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7459 parser_prod__ASignature__init_asignature(var19
, var_toparnode2
, var_listnode4
, var_tcparnode5
, var_ptypenode6
); /* Direct call parser_prod#ASignature#init_asignature on <var19:ASignature>*/
7461 var_psignaturenode1
= var19
;
7462 var_node_list
= var_psignaturenode1
;
7463 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction120> */
7465 var21
= parser_work__Parser__go_to(var_p
, var20
);
7468 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7472 /* method parser#ReduceAction120#action for (self: Object, Parser) */
7473 void VIRTUAL_parser__ReduceAction120__action(val
* self
, val
* p0
) {
7474 parser__ReduceAction120__action(self
, p0
); /* Direct call parser#ReduceAction120#action on <self:Object(ReduceAction120)>*/
7477 /* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */
7478 void parser__ReduceAction121__action(val
* self
, val
* p0
) {
7479 val
* var_p
/* var p: Parser */;
7480 val
* var
/* : null */;
7481 val
* var_node_list
/* var node_list: nullable Object */;
7482 val
* var1
/* : nullable Object */;
7483 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7484 val
* var2
/* : nullable Object */;
7485 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7486 val
* var3
/* : nullable Object */;
7487 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7488 val
* var4
/* : nullable Object */;
7489 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7490 val
* var5
/* : nullable Object */;
7491 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7492 val
* var6
/* : Array[Object] */;
7493 val
* var_listnode4
/* var listnode4: Array[Object] */;
7494 val
* var_toparnode2
/* var toparnode2: nullable Object */;
7495 short int var7
/* : Bool */;
7498 val
* var_listnode3
/* var listnode3: nullable Object */;
7499 short int var8
/* : Bool */;
7502 val
* var11
/* : Array[Object] */;
7503 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
7504 short int var12
/* : Bool */;
7507 val
* var15
/* : ASignature */;
7508 val
* var16
/* : null */;
7509 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7510 long var17
/* : Int */;
7511 long var18
/* : Int */;
7514 var_node_list
= var
;
7516 var1
= parser_work__Parser__pop(var_p
);
7518 var_nodearraylist5
= var1
;
7520 var2
= parser_work__Parser__pop(var_p
);
7522 var_nodearraylist4
= var2
;
7524 var3
= parser_work__Parser__pop(var_p
);
7526 var_nodearraylist3
= var3
;
7528 var4
= parser_work__Parser__pop(var_p
);
7530 var_nodearraylist2
= var4
;
7532 var5
= parser_work__Parser__pop(var_p
);
7534 var_nodearraylist1
= var5
;
7535 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7537 array__Array__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
7539 var_listnode4
= var6
;
7540 var_toparnode2
= var_nodearraylist1
;
7541 /* <var_toparnode2:nullable Object> isa nullable TOpar */
7542 cltype
= type_nullable_parser_nodes__TOpar
.color
;
7543 idtype
= type_nullable_parser_nodes__TOpar
.id
;
7544 if(var_toparnode2
== NULL
) {
7547 if(cltype
>= var_toparnode2
->type
->table_size
) {
7550 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
7553 if (unlikely(!var7
)) {
7554 PRINT_ERROR("Runtime error: %s", "Assert failed");
7555 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4668);
7558 var_listnode3
= var_nodearraylist3
;
7559 /* <var_listnode3:nullable Object> isa Array[Object] */
7560 cltype9
= type_array__Arraykernel__Object
.color
;
7561 idtype10
= type_array__Arraykernel__Object
.id
;
7562 if(var_listnode3
== NULL
) {
7565 if(cltype9
>= var_listnode3
->type
->table_size
) {
7568 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
7571 if (unlikely(!var8
)) {
7572 PRINT_ERROR("Runtime error: %s", "Assert failed");
7573 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4670);
7577 var11
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
7579 var_listnode4
= var11
;
7580 var_tcparnode5
= var_nodearraylist4
;
7581 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
7582 cltype13
= type_nullable_parser_nodes__TCpar
.color
;
7583 idtype14
= type_nullable_parser_nodes__TCpar
.id
;
7584 if(var_tcparnode5
== NULL
) {
7587 if(cltype13
>= var_tcparnode5
->type
->table_size
) {
7590 var12
= var_tcparnode5
->type
->type_table
[cltype13
] == idtype14
;
7593 if (unlikely(!var12
)) {
7594 PRINT_ERROR("Runtime error: %s", "Assert failed");
7595 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4673);
7598 var15
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7601 parser_prod__ASignature__init_asignature(var15
, var_toparnode2
, var_listnode4
, var_tcparnode5
, var16
); /* Direct call parser_prod#ASignature#init_asignature on <var15:ASignature>*/
7603 var_psignaturenode1
= var15
;
7604 var_node_list
= var_psignaturenode1
;
7605 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction121> */
7607 var18
= parser_work__Parser__go_to(var_p
, var17
);
7610 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7614 /* method parser#ReduceAction121#action for (self: Object, Parser) */
7615 void VIRTUAL_parser__ReduceAction121__action(val
* self
, val
* p0
) {
7616 parser__ReduceAction121__action(self
, p0
); /* Direct call parser#ReduceAction121#action on <self:Object(ReduceAction121)>*/
7619 /* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */
7620 void parser__ReduceAction122__action(val
* self
, val
* p0
) {
7621 val
* var_p
/* var p: Parser */;
7622 val
* var
/* : null */;
7623 val
* var_node_list
/* var node_list: nullable Object */;
7624 val
* var1
/* : nullable Object */;
7625 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7626 val
* var2
/* : nullable Object */;
7627 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7628 val
* var3
/* : Array[Object] */;
7629 val
* var_listnode3
/* var listnode3: Array[Object] */;
7630 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
7631 short int var4
/* : Bool */;
7634 val
* var5
/* : ASignature */;
7635 val
* var6
/* : null */;
7636 val
* var7
/* : null */;
7637 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7638 long var8
/* : Int */;
7639 long var9
/* : Int */;
7642 var_node_list
= var
;
7644 var1
= parser_work__Parser__pop(var_p
);
7646 var_nodearraylist2
= var1
;
7648 var2
= parser_work__Parser__pop(var_p
);
7650 var_nodearraylist1
= var2
;
7651 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7653 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
7655 var_listnode3
= var3
;
7656 var_ptypenode5
= var_nodearraylist1
;
7657 /* <var_ptypenode5:nullable Object> isa nullable AType */
7658 cltype
= type_nullable_parser_nodes__AType
.color
;
7659 idtype
= type_nullable_parser_nodes__AType
.id
;
7660 if(var_ptypenode5
== NULL
) {
7663 if(cltype
>= var_ptypenode5
->type
->table_size
) {
7666 var4
= var_ptypenode5
->type
->type_table
[cltype
] == idtype
;
7669 if (unlikely(!var4
)) {
7670 PRINT_ERROR("Runtime error: %s", "Assert failed");
7671 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4693);
7674 var5
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7678 parser_prod__ASignature__init_asignature(var5
, var6
, var_listnode3
, var7
, var_ptypenode5
); /* Direct call parser_prod#ASignature#init_asignature on <var5:ASignature>*/
7680 var_psignaturenode1
= var5
;
7681 var_node_list
= var_psignaturenode1
;
7682 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction122> */
7684 var9
= parser_work__Parser__go_to(var_p
, var8
);
7687 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7691 /* method parser#ReduceAction122#action for (self: Object, Parser) */
7692 void VIRTUAL_parser__ReduceAction122__action(val
* self
, val
* p0
) {
7693 parser__ReduceAction122__action(self
, p0
); /* Direct call parser#ReduceAction122#action on <self:Object(ReduceAction122)>*/
7696 /* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */
7697 void parser__ReduceAction123__action(val
* self
, val
* p0
) {
7698 val
* var_p
/* var p: Parser */;
7699 val
* var
/* : null */;
7700 val
* var_node_list
/* var node_list: nullable Object */;
7701 val
* var1
/* : nullable Object */;
7702 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7703 val
* var2
/* : Array[Object] */;
7704 val
* var_listnode3
/* var listnode3: Array[Object] */;
7705 val
* var3
/* : ASignature */;
7706 val
* var4
/* : null */;
7707 val
* var5
/* : null */;
7708 val
* var6
/* : null */;
7709 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7710 long var7
/* : Int */;
7711 long var8
/* : Int */;
7714 var_node_list
= var
;
7716 var1
= parser_work__Parser__pop(var_p
);
7718 var_nodearraylist1
= var1
;
7719 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
7721 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7723 var_listnode3
= var2
;
7724 var3
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7729 parser_prod__ASignature__init_asignature(var3
, var4
, var_listnode3
, var5
, var6
); /* Direct call parser_prod#ASignature#init_asignature on <var3:ASignature>*/
7731 var_psignaturenode1
= var3
;
7732 var_node_list
= var_psignaturenode1
;
7733 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction123> */
7735 var8
= parser_work__Parser__go_to(var_p
, var7
);
7738 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7742 /* method parser#ReduceAction123#action for (self: Object, Parser) */
7743 void VIRTUAL_parser__ReduceAction123__action(val
* self
, val
* p0
) {
7744 parser__ReduceAction123__action(self
, p0
); /* Direct call parser#ReduceAction123#action on <self:Object(ReduceAction123)>*/
7747 /* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */
7748 void parser__ReduceAction124__action(val
* self
, val
* p0
) {
7749 val
* var_p
/* var p: Parser */;
7750 val
* var
/* : null */;
7751 val
* var_node_list
/* var node_list: nullable Object */;
7752 val
* var1
/* : nullable Object */;
7753 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7754 val
* var2
/* : nullable Object */;
7755 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7756 val
* var3
/* : Array[Object] */;
7757 val
* var_listnode2
/* var listnode2: Array[Object] */;
7758 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7759 val
* var4
/* : null */;
7760 short int var5
/* : Bool */;
7761 short int var6
/* : Bool */;
7762 long var7
/* : Int */;
7763 long var8
/* : Int */;
7766 var_node_list
= var
;
7768 var1
= parser_work__Parser__pop(var_p
);
7770 var_nodearraylist2
= var1
;
7772 var2
= parser_work__Parser__pop(var_p
);
7774 var_nodearraylist1
= var2
;
7775 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7777 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
7779 var_listnode2
= var3
;
7780 var_pparamnode1
= var_nodearraylist1
;
7782 if (var_pparamnode1
== NULL
) {
7783 var5
= 0; /* is null */
7785 var5
= 1; /* arg is null and recv is not */
7788 var6
= ((short int (*)(val
*, val
*))(var_pparamnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pparamnode1
, var4
) /* != on <var_pparamnode1:nullable Object>*/;
7793 array__Array__add(var_listnode2
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7797 var_node_list
= var_listnode2
;
7798 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction124> */
7800 var8
= parser_work__Parser__go_to(var_p
, var7
);
7803 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7807 /* method parser#ReduceAction124#action for (self: Object, Parser) */
7808 void VIRTUAL_parser__ReduceAction124__action(val
* self
, val
* p0
) {
7809 parser__ReduceAction124__action(self
, p0
); /* Direct call parser#ReduceAction124#action on <self:Object(ReduceAction124)>*/
7812 /* method parser#ReduceAction125#action for (self: ReduceAction125, Parser) */
7813 void parser__ReduceAction125__action(val
* self
, val
* p0
) {
7814 val
* var_p
/* var p: Parser */;
7815 val
* var
/* : null */;
7816 val
* var_node_list
/* var node_list: nullable Object */;
7817 val
* var1
/* : nullable Object */;
7818 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7819 val
* var2
/* : nullable Object */;
7820 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7821 val
* var3
/* : nullable Object */;
7822 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7823 val
* var4
/* : Array[Object] */;
7824 val
* var_listnode3
/* var listnode3: Array[Object] */;
7825 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7826 val
* var_listnode2
/* var listnode2: nullable Object */;
7827 short int var5
/* : Bool */;
7830 val
* var6
/* : null */;
7831 short int var7
/* : Bool */;
7832 short int var8
/* : Bool */;
7833 val
* var9
/* : Array[Object] */;
7834 long var10
/* : Int */;
7835 long var11
/* : Int */;
7838 var_node_list
= var
;
7840 var1
= parser_work__Parser__pop(var_p
);
7842 var_nodearraylist3
= var1
;
7844 var2
= parser_work__Parser__pop(var_p
);
7846 var_nodearraylist2
= var2
;
7848 var3
= parser_work__Parser__pop(var_p
);
7850 var_nodearraylist1
= var3
;
7851 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7853 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
7855 var_listnode3
= var4
;
7856 var_pparamnode1
= var_nodearraylist1
;
7857 var_listnode2
= var_nodearraylist2
;
7858 /* <var_listnode2:nullable Object> isa Array[Object] */
7859 cltype
= type_array__Arraykernel__Object
.color
;
7860 idtype
= type_array__Arraykernel__Object
.id
;
7861 if(var_listnode2
== NULL
) {
7864 if(cltype
>= var_listnode2
->type
->table_size
) {
7867 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
7870 if (unlikely(!var5
)) {
7871 PRINT_ERROR("Runtime error: %s", "Assert failed");
7872 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4748);
7876 if (var_pparamnode1
== NULL
) {
7877 var7
= 0; /* is null */
7879 var7
= 1; /* arg is null and recv is not */
7882 var8
= ((short int (*)(val
*, val
*))(var_pparamnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pparamnode1
, var6
) /* != on <var_pparamnode1:nullable Object>*/;
7887 array__Array__add(var_listnode3
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7892 var9
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
7894 var_listnode3
= var9
;
7895 var_node_list
= var_listnode3
;
7896 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction125> */
7898 var11
= parser_work__Parser__go_to(var_p
, var10
);
7901 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7905 /* method parser#ReduceAction125#action for (self: Object, Parser) */
7906 void VIRTUAL_parser__ReduceAction125__action(val
* self
, val
* p0
) {
7907 parser__ReduceAction125__action(self
, p0
); /* Direct call parser#ReduceAction125#action on <self:Object(ReduceAction125)>*/
7910 /* method parser#ReduceAction127#action for (self: ReduceAction127, Parser) */
7911 void parser__ReduceAction127__action(val
* self
, val
* p0
) {
7912 val
* var_p
/* var p: Parser */;
7913 val
* var
/* : null */;
7914 val
* var_node_list
/* var node_list: nullable Object */;
7915 val
* var1
/* : nullable Object */;
7916 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7917 val
* var2
/* : nullable Object */;
7918 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7919 val
* var3
/* : nullable Object */;
7920 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7921 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7922 long var4
/* : Int */;
7923 long var5
/* : Int */;
7926 var_node_list
= var
;
7928 var1
= parser_work__Parser__pop(var_p
);
7930 var_nodearraylist3
= var1
;
7932 var2
= parser_work__Parser__pop(var_p
);
7934 var_nodearraylist2
= var2
;
7936 var3
= parser_work__Parser__pop(var_p
);
7938 var_nodearraylist1
= var3
;
7939 var_pparamnode1
= var_nodearraylist3
;
7940 var_node_list
= var_pparamnode1
;
7941 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction127> */
7943 var5
= parser_work__Parser__go_to(var_p
, var4
);
7946 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7950 /* method parser#ReduceAction127#action for (self: Object, Parser) */
7951 void VIRTUAL_parser__ReduceAction127__action(val
* self
, val
* p0
) {
7952 parser__ReduceAction127__action(self
, p0
); /* Direct call parser#ReduceAction127#action on <self:Object(ReduceAction127)>*/
7955 /* method parser#ReduceAction128#action for (self: ReduceAction128, Parser) */
7956 void parser__ReduceAction128__action(val
* self
, val
* p0
) {
7957 val
* var_p
/* var p: Parser */;
7958 val
* var
/* : null */;
7959 val
* var_node_list
/* var node_list: nullable Object */;
7960 val
* var1
/* : nullable Object */;
7961 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7962 val
* var2
/* : nullable Object */;
7963 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7964 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7965 short int var3
/* : Bool */;
7968 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
7969 short int var4
/* : Bool */;
7972 val
* var7
/* : AParam */;
7973 val
* var8
/* : null */;
7974 val
* var9
/* : null */;
7975 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7976 long var10
/* : Int */;
7977 long var11
/* : Int */;
7980 var_node_list
= var
;
7982 var1
= parser_work__Parser__pop(var_p
);
7984 var_nodearraylist2
= var1
;
7986 var2
= parser_work__Parser__pop(var_p
);
7988 var_nodearraylist1
= var2
;
7989 var_tidnode2
= var_nodearraylist1
;
7990 /* <var_tidnode2:nullable Object> isa nullable TId */
7991 cltype
= type_nullable_parser_nodes__TId
.color
;
7992 idtype
= type_nullable_parser_nodes__TId
.id
;
7993 if(var_tidnode2
== NULL
) {
7996 if(cltype
>= var_tidnode2
->type
->table_size
) {
7999 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8002 if (unlikely(!var3
)) {
8003 PRINT_ERROR("Runtime error: %s", "Assert failed");
8004 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4778);
8007 var_pannotationsnode5
= var_nodearraylist2
;
8008 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
8009 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
8010 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
8011 if(var_pannotationsnode5
== NULL
) {
8014 if(cltype5
>= var_pannotationsnode5
->type
->table_size
) {
8017 var4
= var_pannotationsnode5
->type
->type_table
[cltype5
] == idtype6
;
8020 if (unlikely(!var4
)) {
8021 PRINT_ERROR("Runtime error: %s", "Assert failed");
8022 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4780);
8025 var7
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8029 parser_prod__AParam__init_aparam(var7
, var_tidnode2
, var8
, var9
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var7:AParam>*/
8031 var_pparamnode1
= var7
;
8032 var_node_list
= var_pparamnode1
;
8033 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction128> */
8035 var11
= parser_work__Parser__go_to(var_p
, var10
);
8038 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8042 /* method parser#ReduceAction128#action for (self: Object, Parser) */
8043 void VIRTUAL_parser__ReduceAction128__action(val
* self
, val
* p0
) {
8044 parser__ReduceAction128__action(self
, p0
); /* Direct call parser#ReduceAction128#action on <self:Object(ReduceAction128)>*/
8047 /* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */
8048 void parser__ReduceAction129__action(val
* self
, val
* p0
) {
8049 val
* var_p
/* var p: Parser */;
8050 val
* var
/* : null */;
8051 val
* var_node_list
/* var node_list: nullable Object */;
8052 val
* var1
/* : nullable Object */;
8053 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8054 val
* var2
/* : nullable Object */;
8055 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8056 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8057 short int var3
/* : Bool */;
8060 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8061 short int var4
/* : Bool */;
8064 val
* var7
/* : AParam */;
8065 val
* var8
/* : null */;
8066 val
* var9
/* : null */;
8067 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
8068 long var10
/* : Int */;
8069 long var11
/* : Int */;
8072 var_node_list
= var
;
8074 var1
= parser_work__Parser__pop(var_p
);
8076 var_nodearraylist2
= var1
;
8078 var2
= parser_work__Parser__pop(var_p
);
8080 var_nodearraylist1
= var2
;
8081 var_tidnode2
= var_nodearraylist1
;
8082 /* <var_tidnode2:nullable Object> isa nullable TId */
8083 cltype
= type_nullable_parser_nodes__TId
.color
;
8084 idtype
= type_nullable_parser_nodes__TId
.id
;
8085 if(var_tidnode2
== NULL
) {
8088 if(cltype
>= var_tidnode2
->type
->table_size
) {
8091 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8094 if (unlikely(!var3
)) {
8095 PRINT_ERROR("Runtime error: %s", "Assert failed");
8096 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4799);
8099 var_ptypenode3
= var_nodearraylist2
;
8100 /* <var_ptypenode3:nullable Object> isa nullable AType */
8101 cltype5
= type_nullable_parser_nodes__AType
.color
;
8102 idtype6
= type_nullable_parser_nodes__AType
.id
;
8103 if(var_ptypenode3
== NULL
) {
8106 if(cltype5
>= var_ptypenode3
->type
->table_size
) {
8109 var4
= var_ptypenode3
->type
->type_table
[cltype5
] == idtype6
;
8112 if (unlikely(!var4
)) {
8113 PRINT_ERROR("Runtime error: %s", "Assert failed");
8114 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4801);
8117 var7
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8121 parser_prod__AParam__init_aparam(var7
, var_tidnode2
, var_ptypenode3
, var8
, var9
); /* Direct call parser_prod#AParam#init_aparam on <var7:AParam>*/
8123 var_pparamnode1
= var7
;
8124 var_node_list
= var_pparamnode1
;
8125 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction129> */
8127 var11
= parser_work__Parser__go_to(var_p
, var10
);
8130 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8134 /* method parser#ReduceAction129#action for (self: Object, Parser) */
8135 void VIRTUAL_parser__ReduceAction129__action(val
* self
, val
* p0
) {
8136 parser__ReduceAction129__action(self
, p0
); /* Direct call parser#ReduceAction129#action on <self:Object(ReduceAction129)>*/
8139 /* method parser#ReduceAction130#action for (self: ReduceAction130, Parser) */
8140 void parser__ReduceAction130__action(val
* self
, val
* p0
) {
8141 val
* var_p
/* var p: Parser */;
8142 val
* var
/* : null */;
8143 val
* var_node_list
/* var node_list: nullable Object */;
8144 val
* var1
/* : nullable Object */;
8145 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8146 val
* var2
/* : nullable Object */;
8147 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8148 val
* var3
/* : nullable Object */;
8149 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8150 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8151 short int var4
/* : Bool */;
8154 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8155 short int var5
/* : Bool */;
8158 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
8159 short int var8
/* : Bool */;
8162 val
* var11
/* : AParam */;
8163 val
* var12
/* : null */;
8164 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
8165 long var13
/* : Int */;
8166 long var14
/* : Int */;
8169 var_node_list
= var
;
8171 var1
= parser_work__Parser__pop(var_p
);
8173 var_nodearraylist3
= var1
;
8175 var2
= parser_work__Parser__pop(var_p
);
8177 var_nodearraylist2
= var2
;
8179 var3
= parser_work__Parser__pop(var_p
);
8181 var_nodearraylist1
= var3
;
8182 var_tidnode2
= var_nodearraylist1
;
8183 /* <var_tidnode2:nullable Object> isa nullable TId */
8184 cltype
= type_nullable_parser_nodes__TId
.color
;
8185 idtype
= type_nullable_parser_nodes__TId
.id
;
8186 if(var_tidnode2
== NULL
) {
8189 if(cltype
>= var_tidnode2
->type
->table_size
) {
8192 var4
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8195 if (unlikely(!var4
)) {
8196 PRINT_ERROR("Runtime error: %s", "Assert failed");
8197 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4821);
8200 var_ptypenode3
= var_nodearraylist3
;
8201 /* <var_ptypenode3:nullable Object> isa nullable AType */
8202 cltype6
= type_nullable_parser_nodes__AType
.color
;
8203 idtype7
= type_nullable_parser_nodes__AType
.id
;
8204 if(var_ptypenode3
== NULL
) {
8207 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
8210 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
8213 if (unlikely(!var5
)) {
8214 PRINT_ERROR("Runtime error: %s", "Assert failed");
8215 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4823);
8218 var_pannotationsnode5
= var_nodearraylist2
;
8219 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
8220 cltype9
= type_nullable_parser_nodes__AAnnotations
.color
;
8221 idtype10
= type_nullable_parser_nodes__AAnnotations
.id
;
8222 if(var_pannotationsnode5
== NULL
) {
8225 if(cltype9
>= var_pannotationsnode5
->type
->table_size
) {
8228 var8
= var_pannotationsnode5
->type
->type_table
[cltype9
] == idtype10
;
8231 if (unlikely(!var8
)) {
8232 PRINT_ERROR("Runtime error: %s", "Assert failed");
8233 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4825);
8236 var11
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8239 parser_prod__AParam__init_aparam(var11
, var_tidnode2
, var_ptypenode3
, var12
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var11:AParam>*/
8241 var_pparamnode1
= var11
;
8242 var_node_list
= var_pparamnode1
;
8243 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction130> */
8245 var14
= parser_work__Parser__go_to(var_p
, var13
);
8248 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8252 /* method parser#ReduceAction130#action for (self: Object, Parser) */
8253 void VIRTUAL_parser__ReduceAction130__action(val
* self
, val
* p0
) {
8254 parser__ReduceAction130__action(self
, p0
); /* Direct call parser#ReduceAction130#action on <self:Object(ReduceAction130)>*/
8257 /* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */
8258 void parser__ReduceAction131__action(val
* self
, val
* p0
) {
8259 val
* var_p
/* var p: Parser */;
8260 val
* var
/* : null */;
8261 val
* var_node_list
/* var node_list: nullable Object */;
8262 val
* var1
/* : nullable Object */;
8263 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8264 val
* var2
/* : nullable Object */;
8265 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8266 val
* var3
/* : nullable Object */;
8267 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8268 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8269 short int var4
/* : Bool */;
8272 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8273 short int var5
/* : Bool */;
8276 val
* var_tdotdotdotnode4
/* var tdotdotdotnode4: nullable Object */;
8277 short int var8
/* : Bool */;
8280 val
* var11
/* : AParam */;
8281 val
* var12
/* : null */;
8282 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
8283 long var13
/* : Int */;
8284 long var14
/* : Int */;
8287 var_node_list
= var
;
8289 var1
= parser_work__Parser__pop(var_p
);
8291 var_nodearraylist3
= var1
;
8293 var2
= parser_work__Parser__pop(var_p
);
8295 var_nodearraylist2
= var2
;
8297 var3
= parser_work__Parser__pop(var_p
);
8299 var_nodearraylist1
= var3
;
8300 var_tidnode2
= var_nodearraylist1
;
8301 /* <var_tidnode2:nullable Object> isa nullable TId */
8302 cltype
= type_nullable_parser_nodes__TId
.color
;
8303 idtype
= type_nullable_parser_nodes__TId
.id
;
8304 if(var_tidnode2
== NULL
) {
8307 if(cltype
>= var_tidnode2
->type
->table_size
) {
8310 var4
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8313 if (unlikely(!var4
)) {
8314 PRINT_ERROR("Runtime error: %s", "Assert failed");
8315 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4845);
8318 var_ptypenode3
= var_nodearraylist2
;
8319 /* <var_ptypenode3:nullable Object> isa nullable AType */
8320 cltype6
= type_nullable_parser_nodes__AType
.color
;
8321 idtype7
= type_nullable_parser_nodes__AType
.id
;
8322 if(var_ptypenode3
== NULL
) {
8325 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
8328 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
8331 if (unlikely(!var5
)) {
8332 PRINT_ERROR("Runtime error: %s", "Assert failed");
8333 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4847);
8336 var_tdotdotdotnode4
= var_nodearraylist3
;
8337 /* <var_tdotdotdotnode4:nullable Object> isa nullable TDotdotdot */
8338 cltype9
= type_nullable_parser_nodes__TDotdotdot
.color
;
8339 idtype10
= type_nullable_parser_nodes__TDotdotdot
.id
;
8340 if(var_tdotdotdotnode4
== NULL
) {
8343 if(cltype9
>= var_tdotdotdotnode4
->type
->table_size
) {
8346 var8
= var_tdotdotdotnode4
->type
->type_table
[cltype9
] == idtype10
;
8349 if (unlikely(!var8
)) {
8350 PRINT_ERROR("Runtime error: %s", "Assert failed");
8351 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4849);
8354 var11
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8357 parser_prod__AParam__init_aparam(var11
, var_tidnode2
, var_ptypenode3
, var_tdotdotdotnode4
, var12
); /* Direct call parser_prod#AParam#init_aparam on <var11:AParam>*/
8359 var_pparamnode1
= var11
;
8360 var_node_list
= var_pparamnode1
;
8361 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction131> */
8363 var14
= parser_work__Parser__go_to(var_p
, var13
);
8366 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8370 /* method parser#ReduceAction131#action for (self: Object, Parser) */
8371 void VIRTUAL_parser__ReduceAction131__action(val
* self
, val
* p0
) {
8372 parser__ReduceAction131__action(self
, p0
); /* Direct call parser#ReduceAction131#action on <self:Object(ReduceAction131)>*/
8375 /* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */
8376 void parser__ReduceAction132__action(val
* self
, val
* p0
) {
8377 val
* var_p
/* var p: Parser */;
8378 val
* var
/* : null */;
8379 val
* var_node_list
/* var node_list: nullable Object */;
8380 val
* var1
/* : nullable Object */;
8381 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8382 val
* var2
/* : nullable Object */;
8383 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8384 val
* var3
/* : nullable Object */;
8385 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8386 val
* var4
/* : nullable Object */;
8387 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8388 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8389 short int var5
/* : Bool */;
8392 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8393 short int var6
/* : Bool */;
8396 val
* var_tdotdotdotnode4
/* var tdotdotdotnode4: nullable Object */;
8397 short int var9
/* : Bool */;
8400 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
8401 short int var12
/* : Bool */;
8404 val
* var15
/* : AParam */;
8405 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
8406 long var16
/* : Int */;
8407 long var17
/* : Int */;
8410 var_node_list
= var
;
8412 var1
= parser_work__Parser__pop(var_p
);
8414 var_nodearraylist4
= var1
;
8416 var2
= parser_work__Parser__pop(var_p
);
8418 var_nodearraylist3
= var2
;
8420 var3
= parser_work__Parser__pop(var_p
);
8422 var_nodearraylist2
= var3
;
8424 var4
= parser_work__Parser__pop(var_p
);
8426 var_nodearraylist1
= var4
;
8427 var_tidnode2
= var_nodearraylist1
;
8428 /* <var_tidnode2:nullable Object> isa nullable TId */
8429 cltype
= type_nullable_parser_nodes__TId
.color
;
8430 idtype
= type_nullable_parser_nodes__TId
.id
;
8431 if(var_tidnode2
== NULL
) {
8434 if(cltype
>= var_tidnode2
->type
->table_size
) {
8437 var5
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
8440 if (unlikely(!var5
)) {
8441 PRINT_ERROR("Runtime error: %s", "Assert failed");
8442 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4870);
8445 var_ptypenode3
= var_nodearraylist3
;
8446 /* <var_ptypenode3:nullable Object> isa nullable AType */
8447 cltype7
= type_nullable_parser_nodes__AType
.color
;
8448 idtype8
= type_nullable_parser_nodes__AType
.id
;
8449 if(var_ptypenode3
== NULL
) {
8452 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
8455 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
8458 if (unlikely(!var6
)) {
8459 PRINT_ERROR("Runtime error: %s", "Assert failed");
8460 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4872);
8463 var_tdotdotdotnode4
= var_nodearraylist4
;
8464 /* <var_tdotdotdotnode4:nullable Object> isa nullable TDotdotdot */
8465 cltype10
= type_nullable_parser_nodes__TDotdotdot
.color
;
8466 idtype11
= type_nullable_parser_nodes__TDotdotdot
.id
;
8467 if(var_tdotdotdotnode4
== NULL
) {
8470 if(cltype10
>= var_tdotdotdotnode4
->type
->table_size
) {
8473 var9
= var_tdotdotdotnode4
->type
->type_table
[cltype10
] == idtype11
;
8476 if (unlikely(!var9
)) {
8477 PRINT_ERROR("Runtime error: %s", "Assert failed");
8478 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4874);
8481 var_pannotationsnode5
= var_nodearraylist2
;
8482 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
8483 cltype13
= type_nullable_parser_nodes__AAnnotations
.color
;
8484 idtype14
= type_nullable_parser_nodes__AAnnotations
.id
;
8485 if(var_pannotationsnode5
== NULL
) {
8488 if(cltype13
>= var_pannotationsnode5
->type
->table_size
) {
8491 var12
= var_pannotationsnode5
->type
->type_table
[cltype13
] == idtype14
;
8494 if (unlikely(!var12
)) {
8495 PRINT_ERROR("Runtime error: %s", "Assert failed");
8496 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4876);
8499 var15
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8501 parser_prod__AParam__init_aparam(var15
, var_tidnode2
, var_ptypenode3
, var_tdotdotdotnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var15:AParam>*/
8503 var_pparamnode1
= var15
;
8504 var_node_list
= var_pparamnode1
;
8505 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction132> */
8507 var17
= parser_work__Parser__go_to(var_p
, var16
);
8510 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8514 /* method parser#ReduceAction132#action for (self: Object, Parser) */
8515 void VIRTUAL_parser__ReduceAction132__action(val
* self
, val
* p0
) {
8516 parser__ReduceAction132__action(self
, p0
); /* Direct call parser#ReduceAction132#action on <self:Object(ReduceAction132)>*/
8519 /* method parser#ReduceAction133#action for (self: ReduceAction133, Parser) */
8520 void parser__ReduceAction133__action(val
* self
, val
* p0
) {
8521 val
* var_p
/* var p: Parser */;
8522 val
* var
/* : null */;
8523 val
* var_node_list
/* var node_list: nullable Object */;
8524 val
* var1
/* : nullable Object */;
8525 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8526 val
* var2
/* : nullable Object */;
8527 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8528 val
* var3
/* : nullable Object */;
8529 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8530 val
* var4
/* : Array[Object] */;
8531 val
* var_listnode4
/* var listnode4: Array[Object] */;
8532 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
8533 short int var5
/* : Bool */;
8536 val
* var_pexterncallnode3
/* var pexterncallnode3: nullable Object */;
8537 short int var6
/* : Bool */;
8540 val
* var9
/* : null */;
8541 short int var10
/* : Bool */;
8542 short int var11
/* : Bool */;
8543 val
* var_other
/* var other: nullable Object */;
8544 short int var13
/* : Bool */;
8545 short int var14
/* : Bool */;
8546 short int var15
/* : Bool */;
8547 val
* var16
/* : AExternCalls */;
8548 val
* var_pexterncallsnode1
/* var pexterncallsnode1: nullable AExternCalls */;
8549 long var17
/* : Int */;
8550 long var18
/* : Int */;
8553 var_node_list
= var
;
8555 var1
= parser_work__Parser__pop(var_p
);
8557 var_nodearraylist3
= var1
;
8559 var2
= parser_work__Parser__pop(var_p
);
8561 var_nodearraylist2
= var2
;
8563 var3
= parser_work__Parser__pop(var_p
);
8565 var_nodearraylist1
= var3
;
8566 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
8568 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
8570 var_listnode4
= var4
;
8571 var_tkwimportnode2
= var_nodearraylist1
;
8572 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
8573 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
8574 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
8575 if(var_tkwimportnode2
== NULL
) {
8578 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
8581 var5
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
8584 if (unlikely(!var5
)) {
8585 PRINT_ERROR("Runtime error: %s", "Assert failed");
8586 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4897);
8589 var_pexterncallnode3
= var_nodearraylist3
;
8590 /* <var_pexterncallnode3:nullable Object> isa nullable AExternCall */
8591 cltype7
= type_nullable_parser_nodes__AExternCall
.color
;
8592 idtype8
= type_nullable_parser_nodes__AExternCall
.id
;
8593 if(var_pexterncallnode3
== NULL
) {
8596 if(cltype7
>= var_pexterncallnode3
->type
->table_size
) {
8599 var6
= var_pexterncallnode3
->type
->type_table
[cltype7
] == idtype8
;
8602 if (unlikely(!var6
)) {
8603 PRINT_ERROR("Runtime error: %s", "Assert failed");
8604 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4899);
8608 if (var_pexterncallnode3
== NULL
) {
8609 var10
= 0; /* is null */
8611 var10
= 1; /* arg is null and recv is not */
8614 { /* Inline kernel#Object#!= (var_pexterncallnode3,var9) on <var_pexterncallnode3:nullable Object(nullable AExternCall)> */
8617 var14
= ((short int (*)(val
*, val
*))(var_pexterncallnode3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexterncallnode3
, var_other
) /* == on <var_pexterncallnode3:nullable AExternCall(AExternCall)>*/;
8623 RET_LABEL12
:(void)0;
8629 array__Array__add(var_listnode4
, var_pexterncallnode3
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
8633 var16
= NEW_parser_nodes__AExternCalls(&type_parser_nodes__AExternCalls
);
8635 parser_prod__AExternCalls__init_aexterncalls(var16
, var_tkwimportnode2
, var_listnode4
); /* Direct call parser_prod#AExternCalls#init_aexterncalls on <var16:AExternCalls>*/
8637 var_pexterncallsnode1
= var16
;
8638 var_node_list
= var_pexterncallsnode1
;
8639 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction133> */
8641 var18
= parser_work__Parser__go_to(var_p
, var17
);
8644 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8648 /* method parser#ReduceAction133#action for (self: Object, Parser) */
8649 void VIRTUAL_parser__ReduceAction133__action(val
* self
, val
* p0
) {
8650 parser__ReduceAction133__action(self
, p0
); /* Direct call parser#ReduceAction133#action on <self:Object(ReduceAction133)>*/
8653 /* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */
8654 void parser__ReduceAction134__action(val
* self
, val
* p0
) {
8655 val
* var_p
/* var p: Parser */;
8656 val
* var
/* : null */;
8657 val
* var_node_list
/* var node_list: nullable Object */;
8658 val
* var1
/* : nullable Object */;
8659 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8660 val
* var2
/* : nullable Object */;
8661 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8662 val
* var3
/* : nullable Object */;
8663 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8664 val
* var4
/* : nullable Object */;
8665 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8666 val
* var5
/* : Array[Object] */;
8667 val
* var_listnode5
/* var listnode5: Array[Object] */;
8668 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
8669 short int var6
/* : Bool */;
8672 val
* var_pexterncallnode3
/* var pexterncallnode3: nullable Object */;
8673 short int var7
/* : Bool */;
8676 val
* var_listnode4
/* var listnode4: nullable Object */;
8677 short int var10
/* : Bool */;
8680 val
* var13
/* : null */;
8681 short int var14
/* : Bool */;
8682 short int var15
/* : Bool */;
8683 val
* var_other
/* var other: nullable Object */;
8684 short int var17
/* : Bool */;
8685 short int var18
/* : Bool */;
8686 short int var19
/* : Bool */;
8687 val
* var20
/* : Array[Object] */;
8688 val
* var21
/* : AExternCalls */;
8689 val
* var_pexterncallsnode1
/* var pexterncallsnode1: nullable AExternCalls */;
8690 long var22
/* : Int */;
8691 long var23
/* : Int */;
8694 var_node_list
= var
;
8696 var1
= parser_work__Parser__pop(var_p
);
8698 var_nodearraylist4
= var1
;
8700 var2
= parser_work__Parser__pop(var_p
);
8702 var_nodearraylist3
= var2
;
8704 var3
= parser_work__Parser__pop(var_p
);
8706 var_nodearraylist2
= var3
;
8708 var4
= parser_work__Parser__pop(var_p
);
8710 var_nodearraylist1
= var4
;
8711 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8713 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
8715 var_listnode5
= var5
;
8716 var_tkwimportnode2
= var_nodearraylist1
;
8717 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
8718 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
8719 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
8720 if(var_tkwimportnode2
== NULL
) {
8723 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
8726 var6
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
8729 if (unlikely(!var6
)) {
8730 PRINT_ERROR("Runtime error: %s", "Assert failed");
8731 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4922);
8734 var_pexterncallnode3
= var_nodearraylist3
;
8735 /* <var_pexterncallnode3:nullable Object> isa nullable AExternCall */
8736 cltype8
= type_nullable_parser_nodes__AExternCall
.color
;
8737 idtype9
= type_nullable_parser_nodes__AExternCall
.id
;
8738 if(var_pexterncallnode3
== NULL
) {
8741 if(cltype8
>= var_pexterncallnode3
->type
->table_size
) {
8744 var7
= var_pexterncallnode3
->type
->type_table
[cltype8
] == idtype9
;
8747 if (unlikely(!var7
)) {
8748 PRINT_ERROR("Runtime error: %s", "Assert failed");
8749 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4924);
8752 var_listnode4
= var_nodearraylist4
;
8753 /* <var_listnode4:nullable Object> isa Array[Object] */
8754 cltype11
= type_array__Arraykernel__Object
.color
;
8755 idtype12
= type_array__Arraykernel__Object
.id
;
8756 if(var_listnode4
== NULL
) {
8759 if(cltype11
>= var_listnode4
->type
->table_size
) {
8762 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
8765 if (unlikely(!var10
)) {
8766 PRINT_ERROR("Runtime error: %s", "Assert failed");
8767 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4926);
8771 if (var_pexterncallnode3
== NULL
) {
8772 var14
= 0; /* is null */
8774 var14
= 1; /* arg is null and recv is not */
8777 { /* Inline kernel#Object#!= (var_pexterncallnode3,var13) on <var_pexterncallnode3:nullable Object(nullable AExternCall)> */
8780 var18
= ((short int (*)(val
*, val
*))(var_pexterncallnode3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexterncallnode3
, var_other
) /* == on <var_pexterncallnode3:nullable AExternCall(AExternCall)>*/;
8786 RET_LABEL16
:(void)0;
8792 array__Array__add(var_listnode5
, var_pexterncallnode3
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
8797 var20
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
8799 var_listnode5
= var20
;
8800 var21
= NEW_parser_nodes__AExternCalls(&type_parser_nodes__AExternCalls
);
8802 parser_prod__AExternCalls__init_aexterncalls(var21
, var_tkwimportnode2
, var_listnode5
); /* Direct call parser_prod#AExternCalls#init_aexterncalls on <var21:AExternCalls>*/
8804 var_pexterncallsnode1
= var21
;
8805 var_node_list
= var_pexterncallsnode1
;
8806 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction134> */
8808 var23
= parser_work__Parser__go_to(var_p
, var22
);
8811 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8815 /* method parser#ReduceAction134#action for (self: Object, Parser) */
8816 void VIRTUAL_parser__ReduceAction134__action(val
* self
, val
* p0
) {
8817 parser__ReduceAction134__action(self
, p0
); /* Direct call parser#ReduceAction134#action on <self:Object(ReduceAction134)>*/
8820 /* method parser#ReduceAction136#action for (self: ReduceAction136, Parser) */
8821 void parser__ReduceAction136__action(val
* self
, val
* p0
) {
8822 val
* var_p
/* var p: Parser */;
8823 val
* var
/* : null */;
8824 val
* var_node_list
/* var node_list: nullable Object */;
8825 val
* var1
/* : nullable Object */;
8826 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8827 val
* var2
/* : nullable Object */;
8828 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8829 val
* var3
/* : nullable Object */;
8830 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8831 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8832 long var4
/* : Int */;
8833 long var5
/* : Int */;
8836 var_node_list
= var
;
8838 var1
= parser_work__Parser__pop(var_p
);
8840 var_nodearraylist3
= var1
;
8842 var2
= parser_work__Parser__pop(var_p
);
8844 var_nodearraylist2
= var2
;
8846 var3
= parser_work__Parser__pop(var_p
);
8848 var_nodearraylist1
= var3
;
8849 var_pexterncallnode1
= var_nodearraylist3
;
8850 var_node_list
= var_pexterncallnode1
;
8851 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction136> */
8853 var5
= parser_work__Parser__go_to(var_p
, var4
);
8856 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8860 /* method parser#ReduceAction136#action for (self: Object, Parser) */
8861 void VIRTUAL_parser__ReduceAction136__action(val
* self
, val
* p0
) {
8862 parser__ReduceAction136__action(self
, p0
); /* Direct call parser#ReduceAction136#action on <self:Object(ReduceAction136)>*/
8865 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
8866 void parser__ReduceAction137__action(val
* self
, val
* p0
) {
8867 val
* var_p
/* var p: Parser */;
8868 val
* var
/* : null */;
8869 val
* var_node_list
/* var node_list: nullable Object */;
8870 val
* var1
/* : nullable Object */;
8871 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8872 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8873 long var2
/* : Int */;
8874 long var3
/* : Int */;
8877 var_node_list
= var
;
8879 var1
= parser_work__Parser__pop(var_p
);
8881 var_nodearraylist1
= var1
;
8882 var_pexterncallnode1
= var_nodearraylist1
;
8883 var_node_list
= var_pexterncallnode1
;
8884 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction137> */
8886 var3
= parser_work__Parser__go_to(var_p
, var2
);
8889 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8893 /* method parser#ReduceAction137#action for (self: Object, Parser) */
8894 void VIRTUAL_parser__ReduceAction137__action(val
* self
, val
* p0
) {
8895 parser__ReduceAction137__action(self
, p0
); /* Direct call parser#ReduceAction137#action on <self:Object(ReduceAction137)>*/
8898 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
8899 void parser__ReduceAction139__action(val
* self
, val
* p0
) {
8900 val
* var_p
/* var p: Parser */;
8901 val
* var
/* : null */;
8902 val
* var_node_list
/* var node_list: nullable Object */;
8903 val
* var1
/* : nullable Object */;
8904 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8905 val
* var_tkwsupernode2
/* var tkwsupernode2: nullable Object */;
8906 short int var2
/* : Bool */;
8909 val
* var3
/* : ASuperExternCall */;
8910 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ASuperExternCall */;
8911 long var4
/* : Int */;
8912 long var5
/* : Int */;
8915 var_node_list
= var
;
8917 var1
= parser_work__Parser__pop(var_p
);
8919 var_nodearraylist1
= var1
;
8920 var_tkwsupernode2
= var_nodearraylist1
;
8921 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
8922 cltype
= type_nullable_parser_nodes__TKwsuper
.color
;
8923 idtype
= type_nullable_parser_nodes__TKwsuper
.id
;
8924 if(var_tkwsupernode2
== NULL
) {
8927 if(cltype
>= var_tkwsupernode2
->type
->table_size
) {
8930 var2
= var_tkwsupernode2
->type
->type_table
[cltype
] == idtype
;
8933 if (unlikely(!var2
)) {
8934 PRINT_ERROR("Runtime error: %s", "Assert failed");
8935 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4970);
8938 var3
= NEW_parser_nodes__ASuperExternCall(&type_parser_nodes__ASuperExternCall
);
8940 parser_prod__ASuperExternCall__init_asuperexterncall(var3
, var_tkwsupernode2
); /* Direct call parser_prod#ASuperExternCall#init_asuperexterncall on <var3:ASuperExternCall>*/
8942 var_pexterncallnode1
= var3
;
8943 var_node_list
= var_pexterncallnode1
;
8944 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction139> */
8946 var5
= parser_work__Parser__go_to(var_p
, var4
);
8949 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8953 /* method parser#ReduceAction139#action for (self: Object, Parser) */
8954 void VIRTUAL_parser__ReduceAction139__action(val
* self
, val
* p0
) {
8955 parser__ReduceAction139__action(self
, p0
); /* Direct call parser#ReduceAction139#action on <self:Object(ReduceAction139)>*/
8958 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
8959 void parser__ReduceAction140__action(val
* self
, val
* p0
) {
8960 val
* var_p
/* var p: Parser */;
8961 val
* var
/* : null */;
8962 val
* var_node_list
/* var node_list: nullable Object */;
8963 val
* var1
/* : nullable Object */;
8964 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8965 val
* var_pmethidnode2
/* var pmethidnode2: nullable Object */;
8966 short int var2
/* : Bool */;
8969 val
* var3
/* : ALocalPropExternCall */;
8970 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ALocalPropExternCall */;
8971 long var4
/* : Int */;
8972 long var5
/* : Int */;
8975 var_node_list
= var
;
8977 var1
= parser_work__Parser__pop(var_p
);
8979 var_nodearraylist1
= var1
;
8980 var_pmethidnode2
= var_nodearraylist1
;
8981 /* <var_pmethidnode2:nullable Object> isa nullable AMethid */
8982 cltype
= type_nullable_parser_nodes__AMethid
.color
;
8983 idtype
= type_nullable_parser_nodes__AMethid
.id
;
8984 if(var_pmethidnode2
== NULL
) {
8987 if(cltype
>= var_pmethidnode2
->type
->table_size
) {
8990 var2
= var_pmethidnode2
->type
->type_table
[cltype
] == idtype
;
8993 if (unlikely(!var2
)) {
8994 PRINT_ERROR("Runtime error: %s", "Assert failed");
8995 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 4985);
8998 var3
= NEW_parser_nodes__ALocalPropExternCall(&type_parser_nodes__ALocalPropExternCall
);
9000 parser_prod__ALocalPropExternCall__init_alocalpropexterncall(var3
, var_pmethidnode2
); /* Direct call parser_prod#ALocalPropExternCall#init_alocalpropexterncall on <var3:ALocalPropExternCall>*/
9002 var_pexterncallnode1
= var3
;
9003 var_node_list
= var_pexterncallnode1
;
9004 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction140> */
9006 var5
= parser_work__Parser__go_to(var_p
, var4
);
9009 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9013 /* method parser#ReduceAction140#action for (self: Object, Parser) */
9014 void VIRTUAL_parser__ReduceAction140__action(val
* self
, val
* p0
) {
9015 parser__ReduceAction140__action(self
, p0
); /* Direct call parser#ReduceAction140#action on <self:Object(ReduceAction140)>*/
9018 /* method parser#ReduceAction141#action for (self: ReduceAction141, Parser) */
9019 void parser__ReduceAction141__action(val
* self
, val
* p0
) {
9020 val
* var_p
/* var p: Parser */;
9021 val
* var
/* : null */;
9022 val
* var_node_list
/* var node_list: nullable Object */;
9023 val
* var1
/* : nullable Object */;
9024 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9025 val
* var2
/* : nullable Object */;
9026 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9027 val
* var3
/* : nullable Object */;
9028 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9029 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9030 short int var4
/* : Bool */;
9033 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
9034 short int var5
/* : Bool */;
9037 val
* var_pmethidnode4
/* var pmethidnode4: nullable Object */;
9038 short int var8
/* : Bool */;
9041 val
* var11
/* : AFullPropExternCall */;
9042 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AFullPropExternCall */;
9043 long var12
/* : Int */;
9044 long var13
/* : Int */;
9047 var_node_list
= var
;
9049 var1
= parser_work__Parser__pop(var_p
);
9051 var_nodearraylist3
= var1
;
9053 var2
= parser_work__Parser__pop(var_p
);
9055 var_nodearraylist2
= var2
;
9057 var3
= parser_work__Parser__pop(var_p
);
9059 var_nodearraylist1
= var3
;
9060 var_ptypenode2
= var_nodearraylist1
;
9061 /* <var_ptypenode2:nullable Object> isa nullable AType */
9062 cltype
= type_nullable_parser_nodes__AType
.color
;
9063 idtype
= type_nullable_parser_nodes__AType
.id
;
9064 if(var_ptypenode2
== NULL
) {
9067 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9070 var4
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9073 if (unlikely(!var4
)) {
9074 PRINT_ERROR("Runtime error: %s", "Assert failed");
9075 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5002);
9078 var_tdotnode3
= var_nodearraylist2
;
9079 /* <var_tdotnode3:nullable Object> isa nullable TDot */
9080 cltype6
= type_nullable_parser_nodes__TDot
.color
;
9081 idtype7
= type_nullable_parser_nodes__TDot
.id
;
9082 if(var_tdotnode3
== NULL
) {
9085 if(cltype6
>= var_tdotnode3
->type
->table_size
) {
9088 var5
= var_tdotnode3
->type
->type_table
[cltype6
] == idtype7
;
9091 if (unlikely(!var5
)) {
9092 PRINT_ERROR("Runtime error: %s", "Assert failed");
9093 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5004);
9096 var_pmethidnode4
= var_nodearraylist3
;
9097 /* <var_pmethidnode4:nullable Object> isa nullable AMethid */
9098 cltype9
= type_nullable_parser_nodes__AMethid
.color
;
9099 idtype10
= type_nullable_parser_nodes__AMethid
.id
;
9100 if(var_pmethidnode4
== NULL
) {
9103 if(cltype9
>= var_pmethidnode4
->type
->table_size
) {
9106 var8
= var_pmethidnode4
->type
->type_table
[cltype9
] == idtype10
;
9109 if (unlikely(!var8
)) {
9110 PRINT_ERROR("Runtime error: %s", "Assert failed");
9111 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5006);
9114 var11
= NEW_parser_nodes__AFullPropExternCall(&type_parser_nodes__AFullPropExternCall
);
9116 parser_prod__AFullPropExternCall__init_afullpropexterncall(var11
, var_ptypenode2
, var_tdotnode3
, var_pmethidnode4
); /* Direct call parser_prod#AFullPropExternCall#init_afullpropexterncall on <var11:AFullPropExternCall>*/
9118 var_pexterncallnode1
= var11
;
9119 var_node_list
= var_pexterncallnode1
;
9120 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction141> */
9122 var13
= parser_work__Parser__go_to(var_p
, var12
);
9125 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9129 /* method parser#ReduceAction141#action for (self: Object, Parser) */
9130 void VIRTUAL_parser__ReduceAction141__action(val
* self
, val
* p0
) {
9131 parser__ReduceAction141__action(self
, p0
); /* Direct call parser#ReduceAction141#action on <self:Object(ReduceAction141)>*/
9134 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
9135 void parser__ReduceAction142__action(val
* self
, val
* p0
) {
9136 val
* var_p
/* var p: Parser */;
9137 val
* var
/* : null */;
9138 val
* var_node_list
/* var node_list: nullable Object */;
9139 val
* var1
/* : nullable Object */;
9140 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9141 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9142 short int var2
/* : Bool */;
9145 val
* var3
/* : AInitPropExternCall */;
9146 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AInitPropExternCall */;
9147 long var4
/* : Int */;
9148 long var5
/* : Int */;
9151 var_node_list
= var
;
9153 var1
= parser_work__Parser__pop(var_p
);
9155 var_nodearraylist1
= var1
;
9156 var_ptypenode2
= var_nodearraylist1
;
9157 /* <var_ptypenode2:nullable Object> isa nullable AType */
9158 cltype
= type_nullable_parser_nodes__AType
.color
;
9159 idtype
= type_nullable_parser_nodes__AType
.id
;
9160 if(var_ptypenode2
== NULL
) {
9163 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9166 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9169 if (unlikely(!var2
)) {
9170 PRINT_ERROR("Runtime error: %s", "Assert failed");
9171 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5023);
9174 var3
= NEW_parser_nodes__AInitPropExternCall(&type_parser_nodes__AInitPropExternCall
);
9176 parser_prod__AInitPropExternCall__init_ainitpropexterncall(var3
, var_ptypenode2
); /* Direct call parser_prod#AInitPropExternCall#init_ainitpropexterncall on <var3:AInitPropExternCall>*/
9178 var_pexterncallnode1
= var3
;
9179 var_node_list
= var_pexterncallnode1
;
9180 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction142> */
9182 var5
= parser_work__Parser__go_to(var_p
, var4
);
9185 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9189 /* method parser#ReduceAction142#action for (self: Object, Parser) */
9190 void VIRTUAL_parser__ReduceAction142__action(val
* self
, val
* p0
) {
9191 parser__ReduceAction142__action(self
, p0
); /* Direct call parser#ReduceAction142#action on <self:Object(ReduceAction142)>*/
9194 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
9195 void parser__ReduceAction143__action(val
* self
, val
* p0
) {
9196 val
* var_p
/* var p: Parser */;
9197 val
* var
/* : null */;
9198 val
* var_node_list
/* var node_list: nullable Object */;
9199 val
* var1
/* : nullable Object */;
9200 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9201 val
* var2
/* : nullable Object */;
9202 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9203 val
* var3
/* : nullable Object */;
9204 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9205 val
* var4
/* : nullable Object */;
9206 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9207 val
* var5
/* : nullable Object */;
9208 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9209 val
* var6
/* : nullable Object */;
9210 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9211 val
* var7
/* : nullable Object */;
9212 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9213 val
* var8
/* : nullable Object */;
9214 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9215 val
* var9
/* : nullable Object */;
9216 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9217 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9218 short int var10
/* : Bool */;
9221 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
9222 short int var11
/* : Bool */;
9225 val
* var_tkwasnode4
/* var tkwasnode4: nullable Object */;
9226 short int var14
/* : Bool */;
9229 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
9230 short int var17
/* : Bool */;
9233 val
* var20
/* : ACastAsExternCall */;
9234 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ACastAsExternCall */;
9235 long var21
/* : Int */;
9236 long var22
/* : Int */;
9239 var_node_list
= var
;
9241 var1
= parser_work__Parser__pop(var_p
);
9243 var_nodearraylist9
= var1
;
9245 var2
= parser_work__Parser__pop(var_p
);
9247 var_nodearraylist8
= var2
;
9249 var3
= parser_work__Parser__pop(var_p
);
9251 var_nodearraylist7
= var3
;
9253 var4
= parser_work__Parser__pop(var_p
);
9255 var_nodearraylist6
= var4
;
9257 var5
= parser_work__Parser__pop(var_p
);
9259 var_nodearraylist5
= var5
;
9261 var6
= parser_work__Parser__pop(var_p
);
9263 var_nodearraylist4
= var6
;
9265 var7
= parser_work__Parser__pop(var_p
);
9267 var_nodearraylist3
= var7
;
9269 var8
= parser_work__Parser__pop(var_p
);
9271 var_nodearraylist2
= var8
;
9273 var9
= parser_work__Parser__pop(var_p
);
9275 var_nodearraylist1
= var9
;
9276 var_ptypenode2
= var_nodearraylist1
;
9277 /* <var_ptypenode2:nullable Object> isa nullable AType */
9278 cltype
= type_nullable_parser_nodes__AType
.color
;
9279 idtype
= type_nullable_parser_nodes__AType
.id
;
9280 if(var_ptypenode2
== NULL
) {
9283 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9286 var10
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9289 if (unlikely(!var10
)) {
9290 PRINT_ERROR("Runtime error: %s", "Assert failed");
9291 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5046);
9294 var_tdotnode3
= var_nodearraylist2
;
9295 /* <var_tdotnode3:nullable Object> isa nullable TDot */
9296 cltype12
= type_nullable_parser_nodes__TDot
.color
;
9297 idtype13
= type_nullable_parser_nodes__TDot
.id
;
9298 if(var_tdotnode3
== NULL
) {
9301 if(cltype12
>= var_tdotnode3
->type
->table_size
) {
9304 var11
= var_tdotnode3
->type
->type_table
[cltype12
] == idtype13
;
9307 if (unlikely(!var11
)) {
9308 PRINT_ERROR("Runtime error: %s", "Assert failed");
9309 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5048);
9312 var_tkwasnode4
= var_nodearraylist3
;
9313 /* <var_tkwasnode4:nullable Object> isa nullable TKwas */
9314 cltype15
= type_nullable_parser_nodes__TKwas
.color
;
9315 idtype16
= type_nullable_parser_nodes__TKwas
.id
;
9316 if(var_tkwasnode4
== NULL
) {
9319 if(cltype15
>= var_tkwasnode4
->type
->table_size
) {
9322 var14
= var_tkwasnode4
->type
->type_table
[cltype15
] == idtype16
;
9325 if (unlikely(!var14
)) {
9326 PRINT_ERROR("Runtime error: %s", "Assert failed");
9327 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5050);
9330 var_ptypenode5
= var_nodearraylist7
;
9331 /* <var_ptypenode5:nullable Object> isa nullable AType */
9332 cltype18
= type_nullable_parser_nodes__AType
.color
;
9333 idtype19
= type_nullable_parser_nodes__AType
.id
;
9334 if(var_ptypenode5
== NULL
) {
9337 if(cltype18
>= var_ptypenode5
->type
->table_size
) {
9340 var17
= var_ptypenode5
->type
->type_table
[cltype18
] == idtype19
;
9343 if (unlikely(!var17
)) {
9344 PRINT_ERROR("Runtime error: %s", "Assert failed");
9345 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5052);
9348 var20
= NEW_parser_nodes__ACastAsExternCall(&type_parser_nodes__ACastAsExternCall
);
9350 parser_prod__ACastAsExternCall__init_acastasexterncall(var20
, var_ptypenode2
, var_tdotnode3
, var_tkwasnode4
, var_ptypenode5
); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on <var20:ACastAsExternCall>*/
9352 var_pexterncallnode1
= var20
;
9353 var_node_list
= var_pexterncallnode1
;
9354 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction143> */
9356 var22
= parser_work__Parser__go_to(var_p
, var21
);
9359 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9363 /* method parser#ReduceAction143#action for (self: Object, Parser) */
9364 void VIRTUAL_parser__ReduceAction143__action(val
* self
, val
* p0
) {
9365 parser__ReduceAction143__action(self
, p0
); /* Direct call parser#ReduceAction143#action on <self:Object(ReduceAction143)>*/
9368 /* method parser#ReduceAction144#action for (self: ReduceAction144, Parser) */
9369 void parser__ReduceAction144__action(val
* self
, val
* p0
) {
9370 val
* var_p
/* var p: Parser */;
9371 val
* var
/* : null */;
9372 val
* var_node_list
/* var node_list: nullable Object */;
9373 val
* var1
/* : nullable Object */;
9374 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9375 val
* var2
/* : nullable Object */;
9376 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9377 val
* var3
/* : nullable Object */;
9378 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9379 val
* var4
/* : nullable Object */;
9380 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9381 val
* var5
/* : nullable Object */;
9382 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9383 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9384 short int var6
/* : Bool */;
9387 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
9388 short int var7
/* : Bool */;
9391 val
* var_tkwasnode4
/* var tkwasnode4: nullable Object */;
9392 short int var10
/* : Bool */;
9395 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
9396 short int var13
/* : Bool */;
9399 val
* var16
/* : ACastAsExternCall */;
9400 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ACastAsExternCall */;
9401 long var17
/* : Int */;
9402 long var18
/* : Int */;
9405 var_node_list
= var
;
9407 var1
= parser_work__Parser__pop(var_p
);
9409 var_nodearraylist5
= var1
;
9411 var2
= parser_work__Parser__pop(var_p
);
9413 var_nodearraylist4
= var2
;
9415 var3
= parser_work__Parser__pop(var_p
);
9417 var_nodearraylist3
= var3
;
9419 var4
= parser_work__Parser__pop(var_p
);
9421 var_nodearraylist2
= var4
;
9423 var5
= parser_work__Parser__pop(var_p
);
9425 var_nodearraylist1
= var5
;
9426 var_ptypenode2
= var_nodearraylist1
;
9427 /* <var_ptypenode2:nullable Object> isa nullable AType */
9428 cltype
= type_nullable_parser_nodes__AType
.color
;
9429 idtype
= type_nullable_parser_nodes__AType
.id
;
9430 if(var_ptypenode2
== NULL
) {
9433 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9436 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9439 if (unlikely(!var6
)) {
9440 PRINT_ERROR("Runtime error: %s", "Assert failed");
9441 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5074);
9444 var_tdotnode3
= var_nodearraylist2
;
9445 /* <var_tdotnode3:nullable Object> isa nullable TDot */
9446 cltype8
= type_nullable_parser_nodes__TDot
.color
;
9447 idtype9
= type_nullable_parser_nodes__TDot
.id
;
9448 if(var_tdotnode3
== NULL
) {
9451 if(cltype8
>= var_tdotnode3
->type
->table_size
) {
9454 var7
= var_tdotnode3
->type
->type_table
[cltype8
] == idtype9
;
9457 if (unlikely(!var7
)) {
9458 PRINT_ERROR("Runtime error: %s", "Assert failed");
9459 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5076);
9462 var_tkwasnode4
= var_nodearraylist3
;
9463 /* <var_tkwasnode4:nullable Object> isa nullable TKwas */
9464 cltype11
= type_nullable_parser_nodes__TKwas
.color
;
9465 idtype12
= type_nullable_parser_nodes__TKwas
.id
;
9466 if(var_tkwasnode4
== NULL
) {
9469 if(cltype11
>= var_tkwasnode4
->type
->table_size
) {
9472 var10
= var_tkwasnode4
->type
->type_table
[cltype11
] == idtype12
;
9475 if (unlikely(!var10
)) {
9476 PRINT_ERROR("Runtime error: %s", "Assert failed");
9477 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5078);
9480 var_ptypenode5
= var_nodearraylist5
;
9481 /* <var_ptypenode5:nullable Object> isa nullable AType */
9482 cltype14
= type_nullable_parser_nodes__AType
.color
;
9483 idtype15
= type_nullable_parser_nodes__AType
.id
;
9484 if(var_ptypenode5
== NULL
) {
9487 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
9490 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
9493 if (unlikely(!var13
)) {
9494 PRINT_ERROR("Runtime error: %s", "Assert failed");
9495 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5080);
9498 var16
= NEW_parser_nodes__ACastAsExternCall(&type_parser_nodes__ACastAsExternCall
);
9500 parser_prod__ACastAsExternCall__init_acastasexterncall(var16
, var_ptypenode2
, var_tdotnode3
, var_tkwasnode4
, var_ptypenode5
); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on <var16:ACastAsExternCall>*/
9502 var_pexterncallnode1
= var16
;
9503 var_node_list
= var_pexterncallnode1
;
9504 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction144> */
9506 var18
= parser_work__Parser__go_to(var_p
, var17
);
9509 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9513 /* method parser#ReduceAction144#action for (self: Object, Parser) */
9514 void VIRTUAL_parser__ReduceAction144__action(val
* self
, val
* p0
) {
9515 parser__ReduceAction144__action(self
, p0
); /* Direct call parser#ReduceAction144#action on <self:Object(ReduceAction144)>*/
9518 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
9519 void parser__ReduceAction145__action(val
* self
, val
* p0
) {
9520 val
* var_p
/* var p: Parser */;
9521 val
* var
/* : null */;
9522 val
* var_node_list
/* var node_list: nullable Object */;
9523 val
* var1
/* : nullable Object */;
9524 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9525 val
* var2
/* : nullable Object */;
9526 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9527 val
* var3
/* : nullable Object */;
9528 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9529 val
* var4
/* : nullable Object */;
9530 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9531 val
* var5
/* : nullable Object */;
9532 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9533 val
* var6
/* : nullable Object */;
9534 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9535 val
* var7
/* : nullable Object */;
9536 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9537 val
* var8
/* : nullable Object */;
9538 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9539 val
* var9
/* : nullable Object */;
9540 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9541 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9542 short int var10
/* : Bool */;
9545 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9546 short int var11
/* : Bool */;
9549 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
9550 short int var14
/* : Bool */;
9553 val
* var17
/* : AAsNullableExternCall */;
9554 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
9555 long var18
/* : Int */;
9556 long var19
/* : Int */;
9559 var_node_list
= var
;
9561 var1
= parser_work__Parser__pop(var_p
);
9563 var_nodearraylist9
= var1
;
9565 var2
= parser_work__Parser__pop(var_p
);
9567 var_nodearraylist8
= var2
;
9569 var3
= parser_work__Parser__pop(var_p
);
9571 var_nodearraylist7
= var3
;
9573 var4
= parser_work__Parser__pop(var_p
);
9575 var_nodearraylist6
= var4
;
9577 var5
= parser_work__Parser__pop(var_p
);
9579 var_nodearraylist5
= var5
;
9581 var6
= parser_work__Parser__pop(var_p
);
9583 var_nodearraylist4
= var6
;
9585 var7
= parser_work__Parser__pop(var_p
);
9587 var_nodearraylist3
= var7
;
9589 var8
= parser_work__Parser__pop(var_p
);
9591 var_nodearraylist2
= var8
;
9593 var9
= parser_work__Parser__pop(var_p
);
9595 var_nodearraylist1
= var9
;
9596 var_ptypenode2
= var_nodearraylist1
;
9597 /* <var_ptypenode2:nullable Object> isa nullable AType */
9598 cltype
= type_nullable_parser_nodes__AType
.color
;
9599 idtype
= type_nullable_parser_nodes__AType
.id
;
9600 if(var_ptypenode2
== NULL
) {
9603 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9606 var10
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9609 if (unlikely(!var10
)) {
9610 PRINT_ERROR("Runtime error: %s", "Assert failed");
9611 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5106);
9614 var_tkwasnode3
= var_nodearraylist3
;
9615 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9616 cltype12
= type_nullable_parser_nodes__TKwas
.color
;
9617 idtype13
= type_nullable_parser_nodes__TKwas
.id
;
9618 if(var_tkwasnode3
== NULL
) {
9621 if(cltype12
>= var_tkwasnode3
->type
->table_size
) {
9624 var11
= var_tkwasnode3
->type
->type_table
[cltype12
] == idtype13
;
9627 if (unlikely(!var11
)) {
9628 PRINT_ERROR("Runtime error: %s", "Assert failed");
9629 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5108);
9632 var_tkwnullablenode4
= var_nodearraylist7
;
9633 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
9634 cltype15
= type_nullable_parser_nodes__TKwnullable
.color
;
9635 idtype16
= type_nullable_parser_nodes__TKwnullable
.id
;
9636 if(var_tkwnullablenode4
== NULL
) {
9639 if(cltype15
>= var_tkwnullablenode4
->type
->table_size
) {
9642 var14
= var_tkwnullablenode4
->type
->type_table
[cltype15
] == idtype16
;
9645 if (unlikely(!var14
)) {
9646 PRINT_ERROR("Runtime error: %s", "Assert failed");
9647 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5110);
9650 var17
= NEW_parser_nodes__AAsNullableExternCall(&type_parser_nodes__AAsNullableExternCall
);
9652 parser_prod__AAsNullableExternCall__init_aasnullableexterncall(var17
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var17:AAsNullableExternCall>*/
9654 var_pexterncallnode1
= var17
;
9655 var_node_list
= var_pexterncallnode1
;
9656 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction145> */
9658 var19
= parser_work__Parser__go_to(var_p
, var18
);
9661 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9665 /* method parser#ReduceAction145#action for (self: Object, Parser) */
9666 void VIRTUAL_parser__ReduceAction145__action(val
* self
, val
* p0
) {
9667 parser__ReduceAction145__action(self
, p0
); /* Direct call parser#ReduceAction145#action on <self:Object(ReduceAction145)>*/
9670 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
9671 void parser__ReduceAction146__action(val
* self
, val
* p0
) {
9672 val
* var_p
/* var p: Parser */;
9673 val
* var
/* : null */;
9674 val
* var_node_list
/* var node_list: nullable Object */;
9675 val
* var1
/* : nullable Object */;
9676 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9677 val
* var2
/* : nullable Object */;
9678 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9679 val
* var3
/* : nullable Object */;
9680 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9681 val
* var4
/* : nullable Object */;
9682 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9683 val
* var5
/* : nullable Object */;
9684 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9685 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9686 short int var6
/* : Bool */;
9689 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9690 short int var7
/* : Bool */;
9693 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
9694 short int var10
/* : Bool */;
9697 val
* var13
/* : AAsNullableExternCall */;
9698 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
9699 long var14
/* : Int */;
9700 long var15
/* : Int */;
9703 var_node_list
= var
;
9705 var1
= parser_work__Parser__pop(var_p
);
9707 var_nodearraylist5
= var1
;
9709 var2
= parser_work__Parser__pop(var_p
);
9711 var_nodearraylist4
= var2
;
9713 var3
= parser_work__Parser__pop(var_p
);
9715 var_nodearraylist3
= var3
;
9717 var4
= parser_work__Parser__pop(var_p
);
9719 var_nodearraylist2
= var4
;
9721 var5
= parser_work__Parser__pop(var_p
);
9723 var_nodearraylist1
= var5
;
9724 var_ptypenode2
= var_nodearraylist1
;
9725 /* <var_ptypenode2:nullable Object> isa nullable AType */
9726 cltype
= type_nullable_parser_nodes__AType
.color
;
9727 idtype
= type_nullable_parser_nodes__AType
.id
;
9728 if(var_ptypenode2
== NULL
) {
9731 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9734 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9737 if (unlikely(!var6
)) {
9738 PRINT_ERROR("Runtime error: %s", "Assert failed");
9739 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5131);
9742 var_tkwasnode3
= var_nodearraylist3
;
9743 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9744 cltype8
= type_nullable_parser_nodes__TKwas
.color
;
9745 idtype9
= type_nullable_parser_nodes__TKwas
.id
;
9746 if(var_tkwasnode3
== NULL
) {
9749 if(cltype8
>= var_tkwasnode3
->type
->table_size
) {
9752 var7
= var_tkwasnode3
->type
->type_table
[cltype8
] == idtype9
;
9755 if (unlikely(!var7
)) {
9756 PRINT_ERROR("Runtime error: %s", "Assert failed");
9757 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5133);
9760 var_tkwnullablenode4
= var_nodearraylist5
;
9761 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
9762 cltype11
= type_nullable_parser_nodes__TKwnullable
.color
;
9763 idtype12
= type_nullable_parser_nodes__TKwnullable
.id
;
9764 if(var_tkwnullablenode4
== NULL
) {
9767 if(cltype11
>= var_tkwnullablenode4
->type
->table_size
) {
9770 var10
= var_tkwnullablenode4
->type
->type_table
[cltype11
] == idtype12
;
9773 if (unlikely(!var10
)) {
9774 PRINT_ERROR("Runtime error: %s", "Assert failed");
9775 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5135);
9778 var13
= NEW_parser_nodes__AAsNullableExternCall(&type_parser_nodes__AAsNullableExternCall
);
9780 parser_prod__AAsNullableExternCall__init_aasnullableexterncall(var13
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var13:AAsNullableExternCall>*/
9782 var_pexterncallnode1
= var13
;
9783 var_node_list
= var_pexterncallnode1
;
9784 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction146> */
9786 var15
= parser_work__Parser__go_to(var_p
, var14
);
9789 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9793 /* method parser#ReduceAction146#action for (self: Object, Parser) */
9794 void VIRTUAL_parser__ReduceAction146__action(val
* self
, val
* p0
) {
9795 parser__ReduceAction146__action(self
, p0
); /* Direct call parser#ReduceAction146#action on <self:Object(ReduceAction146)>*/
9798 /* method parser#ReduceAction147#action for (self: ReduceAction147, Parser) */
9799 void parser__ReduceAction147__action(val
* self
, val
* p0
) {
9800 val
* var_p
/* var p: Parser */;
9801 val
* var
/* : null */;
9802 val
* var_node_list
/* var node_list: nullable Object */;
9803 val
* var1
/* : nullable Object */;
9804 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
9805 val
* var2
/* : nullable Object */;
9806 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9807 val
* var3
/* : nullable Object */;
9808 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9809 val
* var4
/* : nullable Object */;
9810 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9811 val
* var5
/* : nullable Object */;
9812 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9813 val
* var6
/* : nullable Object */;
9814 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9815 val
* var7
/* : nullable Object */;
9816 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9817 val
* var8
/* : nullable Object */;
9818 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9819 val
* var9
/* : nullable Object */;
9820 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9821 val
* var10
/* : nullable Object */;
9822 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9823 val
* var11
/* : nullable Object */;
9824 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9825 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9826 short int var12
/* : Bool */;
9829 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9830 short int var13
/* : Bool */;
9833 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
9834 short int var16
/* : Bool */;
9837 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
9838 short int var19
/* : Bool */;
9841 val
* var22
/* : AAsNotNullableExternCall */;
9842 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
9843 long var23
/* : Int */;
9844 long var24
/* : Int */;
9847 var_node_list
= var
;
9849 var1
= parser_work__Parser__pop(var_p
);
9851 var_nodearraylist11
= var1
;
9853 var2
= parser_work__Parser__pop(var_p
);
9855 var_nodearraylist10
= var2
;
9857 var3
= parser_work__Parser__pop(var_p
);
9859 var_nodearraylist9
= var3
;
9861 var4
= parser_work__Parser__pop(var_p
);
9863 var_nodearraylist8
= var4
;
9865 var5
= parser_work__Parser__pop(var_p
);
9867 var_nodearraylist7
= var5
;
9869 var6
= parser_work__Parser__pop(var_p
);
9871 var_nodearraylist6
= var6
;
9873 var7
= parser_work__Parser__pop(var_p
);
9875 var_nodearraylist5
= var7
;
9877 var8
= parser_work__Parser__pop(var_p
);
9879 var_nodearraylist4
= var8
;
9881 var9
= parser_work__Parser__pop(var_p
);
9883 var_nodearraylist3
= var9
;
9885 var10
= parser_work__Parser__pop(var_p
);
9887 var_nodearraylist2
= var10
;
9889 var11
= parser_work__Parser__pop(var_p
);
9891 var_nodearraylist1
= var11
;
9892 var_ptypenode2
= var_nodearraylist1
;
9893 /* <var_ptypenode2:nullable Object> isa nullable AType */
9894 cltype
= type_nullable_parser_nodes__AType
.color
;
9895 idtype
= type_nullable_parser_nodes__AType
.id
;
9896 if(var_ptypenode2
== NULL
) {
9899 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9902 var12
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9905 if (unlikely(!var12
)) {
9906 PRINT_ERROR("Runtime error: %s", "Assert failed");
9907 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5162);
9910 var_tkwasnode3
= var_nodearraylist3
;
9911 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9912 cltype14
= type_nullable_parser_nodes__TKwas
.color
;
9913 idtype15
= type_nullable_parser_nodes__TKwas
.id
;
9914 if(var_tkwasnode3
== NULL
) {
9917 if(cltype14
>= var_tkwasnode3
->type
->table_size
) {
9920 var13
= var_tkwasnode3
->type
->type_table
[cltype14
] == idtype15
;
9923 if (unlikely(!var13
)) {
9924 PRINT_ERROR("Runtime error: %s", "Assert failed");
9925 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5164);
9928 var_tkwnotnode4
= var_nodearraylist7
;
9929 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
9930 cltype17
= type_nullable_parser_nodes__TKwnot
.color
;
9931 idtype18
= type_nullable_parser_nodes__TKwnot
.id
;
9932 if(var_tkwnotnode4
== NULL
) {
9935 if(cltype17
>= var_tkwnotnode4
->type
->table_size
) {
9938 var16
= var_tkwnotnode4
->type
->type_table
[cltype17
] == idtype18
;
9941 if (unlikely(!var16
)) {
9942 PRINT_ERROR("Runtime error: %s", "Assert failed");
9943 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5166);
9946 var_tkwnullablenode5
= var_nodearraylist9
;
9947 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
9948 cltype20
= type_nullable_parser_nodes__TKwnullable
.color
;
9949 idtype21
= type_nullable_parser_nodes__TKwnullable
.id
;
9950 if(var_tkwnullablenode5
== NULL
) {
9953 if(cltype20
>= var_tkwnullablenode5
->type
->table_size
) {
9956 var19
= var_tkwnullablenode5
->type
->type_table
[cltype20
] == idtype21
;
9959 if (unlikely(!var19
)) {
9960 PRINT_ERROR("Runtime error: %s", "Assert failed");
9961 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5168);
9964 var22
= NEW_parser_nodes__AAsNotNullableExternCall(&type_parser_nodes__AAsNotNullableExternCall
);
9966 parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(var22
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var22:AAsNotNullableExternCall>*/
9968 var_pexterncallnode1
= var22
;
9969 var_node_list
= var_pexterncallnode1
;
9970 var23
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction147> */
9972 var24
= parser_work__Parser__go_to(var_p
, var23
);
9975 parser_work__Parser__push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9979 /* method parser#ReduceAction147#action for (self: Object, Parser) */
9980 void VIRTUAL_parser__ReduceAction147__action(val
* self
, val
* p0
) {
9981 parser__ReduceAction147__action(self
, p0
); /* Direct call parser#ReduceAction147#action on <self:Object(ReduceAction147)>*/