1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */
3 void parser__ReduceAction63__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_nodearraylist9
/* var nodearraylist9: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
19 val
* var7
/* : nullable Object */;
20 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
21 val
* var8
/* : nullable Object */;
22 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
23 val
* var9
/* : nullable Object */;
24 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
25 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
26 short int var10
/* : Bool */;
29 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
30 short int var11
/* : Bool */;
33 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
34 short int var14
/* : Bool */;
37 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
38 short int var17
/* : Bool */;
41 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
42 short int var20
/* : Bool */;
45 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
46 short int var23
/* : Bool */;
49 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
50 short int var26
/* : Bool */;
53 val
* var29
/* : AMethPropdef */;
54 val
* var30
/* : null */;
55 val
* var31
/* : null */;
56 val
* var32
/* : null */;
57 val
* var33
/* : null */;
58 val
* var34
/* : null */;
59 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
60 long var35
/* : Int */;
61 long var36
/* : Int */;
66 var1
= parser_work__Parser__pop(var_p
);
68 var_nodearraylist9
= var1
;
70 var2
= parser_work__Parser__pop(var_p
);
72 var_nodearraylist8
= var2
;
74 var3
= parser_work__Parser__pop(var_p
);
76 var_nodearraylist7
= var3
;
78 var4
= parser_work__Parser__pop(var_p
);
80 var_nodearraylist6
= var4
;
82 var5
= parser_work__Parser__pop(var_p
);
84 var_nodearraylist5
= var5
;
86 var6
= parser_work__Parser__pop(var_p
);
88 var_nodearraylist4
= var6
;
90 var7
= parser_work__Parser__pop(var_p
);
92 var_nodearraylist3
= var7
;
94 var8
= parser_work__Parser__pop(var_p
);
96 var_nodearraylist2
= var8
;
98 var9
= parser_work__Parser__pop(var_p
);
100 var_nodearraylist1
= var9
;
101 var_pdocnode2
= var_nodearraylist1
;
102 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
103 cltype
= type_nullable_parser_nodes__ADoc
.color
;
104 idtype
= type_nullable_parser_nodes__ADoc
.id
;
105 if(var_pdocnode2
== NULL
) {
108 if(cltype
>= var_pdocnode2
->type
->table_size
) {
111 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
114 if (unlikely(!var10
)) {
115 PRINT_ERROR("Runtime error: %s", "Assert failed");
116 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3190);
119 var_tkwredefnode3
= var_nodearraylist2
;
120 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
121 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
122 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
123 if(var_tkwredefnode3
== NULL
) {
126 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
129 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
132 if (unlikely(!var11
)) {
133 PRINT_ERROR("Runtime error: %s", "Assert failed");
134 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3192);
137 var_pvisibilitynode4
= var_nodearraylist3
;
138 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
139 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
140 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
141 if(var_pvisibilitynode4
== NULL
) {
144 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
147 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
150 if (unlikely(!var14
)) {
151 PRINT_ERROR("Runtime error: %s", "Assert failed");
152 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3194);
155 var_tkwnewnode7
= var_nodearraylist4
;
156 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
157 cltype18
= type_nullable_parser_nodes__TKwnew
.color
;
158 idtype19
= type_nullable_parser_nodes__TKwnew
.id
;
159 if(var_tkwnewnode7
== NULL
) {
162 if(cltype18
>= var_tkwnewnode7
->type
->table_size
) {
165 var17
= var_tkwnewnode7
->type
->type_table
[cltype18
] == idtype19
;
168 if (unlikely(!var17
)) {
169 PRINT_ERROR("Runtime error: %s", "Assert failed");
170 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3196);
173 var_pmethidnode8
= var_nodearraylist5
;
174 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
175 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
176 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
177 if(var_pmethidnode8
== NULL
) {
180 if(cltype21
>= var_pmethidnode8
->type
->table_size
) {
183 var20
= var_pmethidnode8
->type
->type_table
[cltype21
] == idtype22
;
186 if (unlikely(!var20
)) {
187 PRINT_ERROR("Runtime error: %s", "Assert failed");
188 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3198);
191 var_psignaturenode9
= var_nodearraylist6
;
192 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
193 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
194 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
195 if(var_psignaturenode9
== NULL
) {
198 if(cltype24
>= var_psignaturenode9
->type
->table_size
) {
201 var23
= var_psignaturenode9
->type
->type_table
[cltype24
] == idtype25
;
204 if (unlikely(!var23
)) {
205 PRINT_ERROR("Runtime error: %s", "Assert failed");
206 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3200);
209 var_pexprnode13
= var_nodearraylist8
;
210 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
211 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
212 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
213 if(var_pexprnode13
== NULL
) {
216 if(cltype27
>= var_pexprnode13
->type
->table_size
) {
219 var26
= var_pexprnode13
->type
->type_table
[cltype27
] == idtype28
;
222 if (unlikely(!var26
)) {
223 PRINT_ERROR("Runtime error: %s", "Assert failed");
224 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3202);
227 var29
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
234 parser_prod__AMethPropdef__init_amethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var30
, var31
, var_tkwnewnode7
, var_pmethidnode8
, var_psignaturenode9
, var32
, var33
, var34
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var29:AMethPropdef>*/
236 var_ppropdefnode1
= var29
;
237 var_node_list
= var_ppropdefnode1
;
238 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction63> */
240 var36
= parser_work__Parser__go_to(var_p
, var35
);
243 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
247 /* method parser#ReduceAction63#action for (self: Object, Parser) */
248 void VIRTUAL_parser__ReduceAction63__action(val
* self
, val
* p0
) {
249 parser__ReduceAction63__action(self
, p0
); /* Direct call parser#ReduceAction63#action on <self:Object(ReduceAction63)>*/
252 /* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */
253 void parser__ReduceAction64__action(val
* self
, val
* p0
) {
254 val
* var_p
/* var p: Parser */;
255 val
* var
/* : null */;
256 val
* var_node_list
/* var node_list: nullable Object */;
257 val
* var1
/* : nullable Object */;
258 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
259 val
* var2
/* : nullable Object */;
260 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
261 val
* var3
/* : nullable Object */;
262 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
263 val
* var4
/* : nullable Object */;
264 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
265 val
* var5
/* : nullable Object */;
266 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
267 val
* var6
/* : nullable Object */;
268 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
269 val
* var7
/* : nullable Object */;
270 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
271 val
* var8
/* : nullable Object */;
272 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
273 val
* var9
/* : nullable Object */;
274 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
275 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
276 short int var10
/* : Bool */;
279 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
280 short int var11
/* : Bool */;
283 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
284 short int var14
/* : Bool */;
287 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
288 short int var17
/* : Bool */;
291 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
292 short int var20
/* : Bool */;
295 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
296 short int var23
/* : Bool */;
299 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
300 short int var26
/* : Bool */;
303 val
* var29
/* : AMethPropdef */;
304 val
* var30
/* : null */;
305 val
* var31
/* : null */;
306 val
* var32
/* : null */;
307 val
* var33
/* : null */;
308 val
* var34
/* : null */;
309 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
310 long var35
/* : Int */;
311 long var36
/* : Int */;
316 var1
= parser_work__Parser__pop(var_p
);
318 var_nodearraylist9
= var1
;
320 var2
= parser_work__Parser__pop(var_p
);
322 var_nodearraylist8
= var2
;
324 var3
= parser_work__Parser__pop(var_p
);
326 var_nodearraylist7
= var3
;
328 var4
= parser_work__Parser__pop(var_p
);
330 var_nodearraylist6
= var4
;
332 var5
= parser_work__Parser__pop(var_p
);
334 var_nodearraylist5
= var5
;
336 var6
= parser_work__Parser__pop(var_p
);
338 var_nodearraylist4
= var6
;
340 var7
= parser_work__Parser__pop(var_p
);
342 var_nodearraylist3
= var7
;
344 var8
= parser_work__Parser__pop(var_p
);
346 var_nodearraylist2
= var8
;
348 var9
= parser_work__Parser__pop(var_p
);
350 var_nodearraylist1
= var9
;
351 var_pdocnode2
= var_nodearraylist1
;
352 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
353 cltype
= type_nullable_parser_nodes__ADoc
.color
;
354 idtype
= type_nullable_parser_nodes__ADoc
.id
;
355 if(var_pdocnode2
== NULL
) {
358 if(cltype
>= var_pdocnode2
->type
->table_size
) {
361 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
364 if (unlikely(!var10
)) {
365 PRINT_ERROR("Runtime error: %s", "Assert failed");
366 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3236);
369 var_tkwredefnode3
= var_nodearraylist2
;
370 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
371 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
372 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
373 if(var_tkwredefnode3
== NULL
) {
376 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
379 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
382 if (unlikely(!var11
)) {
383 PRINT_ERROR("Runtime error: %s", "Assert failed");
384 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3238);
387 var_pvisibilitynode4
= var_nodearraylist3
;
388 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
389 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
390 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
391 if(var_pvisibilitynode4
== NULL
) {
394 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
397 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
400 if (unlikely(!var14
)) {
401 PRINT_ERROR("Runtime error: %s", "Assert failed");
402 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3240);
405 var_tkwnewnode7
= var_nodearraylist4
;
406 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
407 cltype18
= type_nullable_parser_nodes__TKwnew
.color
;
408 idtype19
= type_nullable_parser_nodes__TKwnew
.id
;
409 if(var_tkwnewnode7
== NULL
) {
412 if(cltype18
>= var_tkwnewnode7
->type
->table_size
) {
415 var17
= var_tkwnewnode7
->type
->type_table
[cltype18
] == idtype19
;
418 if (unlikely(!var17
)) {
419 PRINT_ERROR("Runtime error: %s", "Assert failed");
420 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3242);
423 var_psignaturenode9
= var_nodearraylist5
;
424 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
425 cltype21
= type_nullable_parser_nodes__ASignature
.color
;
426 idtype22
= type_nullable_parser_nodes__ASignature
.id
;
427 if(var_psignaturenode9
== NULL
) {
430 if(cltype21
>= var_psignaturenode9
->type
->table_size
) {
433 var20
= var_psignaturenode9
->type
->type_table
[cltype21
] == idtype22
;
436 if (unlikely(!var20
)) {
437 PRINT_ERROR("Runtime error: %s", "Assert failed");
438 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3244);
441 var_pannotationsnode10
= var_nodearraylist6
;
442 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
443 cltype24
= type_nullable_parser_nodes__AAnnotations
.color
;
444 idtype25
= type_nullable_parser_nodes__AAnnotations
.id
;
445 if(var_pannotationsnode10
== NULL
) {
448 if(cltype24
>= var_pannotationsnode10
->type
->table_size
) {
451 var23
= var_pannotationsnode10
->type
->type_table
[cltype24
] == idtype25
;
454 if (unlikely(!var23
)) {
455 PRINT_ERROR("Runtime error: %s", "Assert failed");
456 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3246);
459 var_pexprnode13
= var_nodearraylist8
;
460 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
461 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
462 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
463 if(var_pexprnode13
== NULL
) {
466 if(cltype27
>= var_pexprnode13
->type
->table_size
) {
469 var26
= var_pexprnode13
->type
->type_table
[cltype27
] == idtype28
;
472 if (unlikely(!var26
)) {
473 PRINT_ERROR("Runtime error: %s", "Assert failed");
474 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3248);
477 var29
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
484 parser_prod__AMethPropdef__init_amethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var30
, var31
, var_tkwnewnode7
, var32
, var_psignaturenode9
, var_pannotationsnode10
, var33
, var34
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var29:AMethPropdef>*/
486 var_ppropdefnode1
= var29
;
487 var_node_list
= var_ppropdefnode1
;
488 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction64> */
490 var36
= parser_work__Parser__go_to(var_p
, var35
);
493 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
497 /* method parser#ReduceAction64#action for (self: Object, Parser) */
498 void VIRTUAL_parser__ReduceAction64__action(val
* self
, val
* p0
) {
499 parser__ReduceAction64__action(self
, p0
); /* Direct call parser#ReduceAction64#action on <self:Object(ReduceAction64)>*/
502 /* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */
503 void parser__ReduceAction65__action(val
* self
, val
* p0
) {
504 val
* var_p
/* var p: Parser */;
505 val
* var
/* : null */;
506 val
* var_node_list
/* var node_list: nullable Object */;
507 val
* var1
/* : nullable Object */;
508 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
509 val
* var2
/* : nullable Object */;
510 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
511 val
* var3
/* : nullable Object */;
512 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
513 val
* var4
/* : nullable Object */;
514 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
515 val
* var5
/* : nullable Object */;
516 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
517 val
* var6
/* : nullable Object */;
518 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
519 val
* var7
/* : nullable Object */;
520 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
521 val
* var8
/* : nullable Object */;
522 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
523 val
* var9
/* : nullable Object */;
524 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
525 val
* var10
/* : nullable Object */;
526 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
527 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
528 short int var11
/* : Bool */;
531 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
532 short int var12
/* : Bool */;
535 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
536 short int var15
/* : Bool */;
539 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
540 short int var18
/* : Bool */;
543 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
544 short int var21
/* : Bool */;
547 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
548 short int var24
/* : Bool */;
551 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
552 short int var27
/* : Bool */;
555 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
556 short int var30
/* : Bool */;
559 val
* var33
/* : AMethPropdef */;
560 val
* var34
/* : null */;
561 val
* var35
/* : null */;
562 val
* var36
/* : null */;
563 val
* var37
/* : null */;
564 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
565 long var38
/* : Int */;
566 long var39
/* : Int */;
571 var1
= parser_work__Parser__pop(var_p
);
573 var_nodearraylist10
= var1
;
575 var2
= parser_work__Parser__pop(var_p
);
577 var_nodearraylist9
= var2
;
579 var3
= parser_work__Parser__pop(var_p
);
581 var_nodearraylist8
= var3
;
583 var4
= parser_work__Parser__pop(var_p
);
585 var_nodearraylist7
= var4
;
587 var5
= parser_work__Parser__pop(var_p
);
589 var_nodearraylist6
= var5
;
591 var6
= parser_work__Parser__pop(var_p
);
593 var_nodearraylist5
= var6
;
595 var7
= parser_work__Parser__pop(var_p
);
597 var_nodearraylist4
= var7
;
599 var8
= parser_work__Parser__pop(var_p
);
601 var_nodearraylist3
= var8
;
603 var9
= parser_work__Parser__pop(var_p
);
605 var_nodearraylist2
= var9
;
607 var10
= parser_work__Parser__pop(var_p
);
609 var_nodearraylist1
= var10
;
610 var_pdocnode2
= var_nodearraylist1
;
611 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
612 cltype
= type_nullable_parser_nodes__ADoc
.color
;
613 idtype
= type_nullable_parser_nodes__ADoc
.id
;
614 if(var_pdocnode2
== NULL
) {
617 if(cltype
>= var_pdocnode2
->type
->table_size
) {
620 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
623 if (unlikely(!var11
)) {
624 PRINT_ERROR("Runtime error: %s", "Assert failed");
625 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3283);
628 var_tkwredefnode3
= var_nodearraylist2
;
629 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
630 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
631 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
632 if(var_tkwredefnode3
== NULL
) {
635 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
638 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
641 if (unlikely(!var12
)) {
642 PRINT_ERROR("Runtime error: %s", "Assert failed");
643 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3285);
646 var_pvisibilitynode4
= var_nodearraylist3
;
647 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
648 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
649 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
650 if(var_pvisibilitynode4
== NULL
) {
653 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
656 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
659 if (unlikely(!var15
)) {
660 PRINT_ERROR("Runtime error: %s", "Assert failed");
661 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3287);
664 var_tkwnewnode7
= var_nodearraylist4
;
665 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
666 cltype19
= type_nullable_parser_nodes__TKwnew
.color
;
667 idtype20
= type_nullable_parser_nodes__TKwnew
.id
;
668 if(var_tkwnewnode7
== NULL
) {
671 if(cltype19
>= var_tkwnewnode7
->type
->table_size
) {
674 var18
= var_tkwnewnode7
->type
->type_table
[cltype19
] == idtype20
;
677 if (unlikely(!var18
)) {
678 PRINT_ERROR("Runtime error: %s", "Assert failed");
679 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3289);
682 var_pmethidnode8
= var_nodearraylist5
;
683 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
684 cltype22
= type_nullable_parser_nodes__AMethid
.color
;
685 idtype23
= type_nullable_parser_nodes__AMethid
.id
;
686 if(var_pmethidnode8
== NULL
) {
689 if(cltype22
>= var_pmethidnode8
->type
->table_size
) {
692 var21
= var_pmethidnode8
->type
->type_table
[cltype22
] == idtype23
;
695 if (unlikely(!var21
)) {
696 PRINT_ERROR("Runtime error: %s", "Assert failed");
697 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3291);
700 var_psignaturenode9
= var_nodearraylist6
;
701 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
702 cltype25
= type_nullable_parser_nodes__ASignature
.color
;
703 idtype26
= type_nullable_parser_nodes__ASignature
.id
;
704 if(var_psignaturenode9
== NULL
) {
707 if(cltype25
>= var_psignaturenode9
->type
->table_size
) {
710 var24
= var_psignaturenode9
->type
->type_table
[cltype25
] == idtype26
;
713 if (unlikely(!var24
)) {
714 PRINT_ERROR("Runtime error: %s", "Assert failed");
715 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3293);
718 var_pannotationsnode10
= var_nodearraylist7
;
719 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
720 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
721 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
722 if(var_pannotationsnode10
== NULL
) {
725 if(cltype28
>= var_pannotationsnode10
->type
->table_size
) {
728 var27
= var_pannotationsnode10
->type
->type_table
[cltype28
] == idtype29
;
731 if (unlikely(!var27
)) {
732 PRINT_ERROR("Runtime error: %s", "Assert failed");
733 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3295);
736 var_pexprnode13
= var_nodearraylist9
;
737 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
738 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
739 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
740 if(var_pexprnode13
== NULL
) {
743 if(cltype31
>= var_pexprnode13
->type
->table_size
) {
746 var30
= var_pexprnode13
->type
->type_table
[cltype31
] == idtype32
;
749 if (unlikely(!var30
)) {
750 PRINT_ERROR("Runtime error: %s", "Assert failed");
751 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3297);
754 var33
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
760 parser_prod__AMethPropdef__init_amethpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var34
, var35
, var_tkwnewnode7
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var36
, var37
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var33:AMethPropdef>*/
762 var_ppropdefnode1
= var33
;
763 var_node_list
= var_ppropdefnode1
;
764 var38
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction65> */
766 var39
= parser_work__Parser__go_to(var_p
, var38
);
769 parser_work__Parser__push(var_p
, var39
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
773 /* method parser#ReduceAction65#action for (self: Object, Parser) */
774 void VIRTUAL_parser__ReduceAction65__action(val
* self
, val
* p0
) {
775 parser__ReduceAction65__action(self
, p0
); /* Direct call parser#ReduceAction65#action on <self:Object(ReduceAction65)>*/
778 /* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */
779 void parser__ReduceAction66__action(val
* self
, val
* p0
) {
780 val
* var_p
/* var p: Parser */;
781 val
* var
/* : null */;
782 val
* var_node_list
/* var node_list: nullable Object */;
783 val
* var1
/* : nullable Object */;
784 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
785 val
* var2
/* : nullable Object */;
786 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
787 val
* var3
/* : nullable Object */;
788 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
789 val
* var4
/* : nullable Object */;
790 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
791 val
* var5
/* : nullable Object */;
792 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
793 val
* var6
/* : nullable Object */;
794 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
795 val
* var7
/* : nullable Object */;
796 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
797 val
* var8
/* : nullable Object */;
798 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
799 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
800 short int var9
/* : Bool */;
803 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
804 short int var10
/* : Bool */;
807 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
808 short int var13
/* : Bool */;
811 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
812 short int var16
/* : Bool */;
815 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
816 short int var19
/* : Bool */;
819 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
820 short int var22
/* : Bool */;
823 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
824 short int var25
/* : Bool */;
827 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
828 short int var28
/* : Bool */;
831 val
* var31
/* : AMethPropdef */;
832 val
* var32
/* : null */;
833 val
* var33
/* : null */;
834 val
* var34
/* : null */;
835 val
* var35
/* : null */;
836 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
837 long var36
/* : Int */;
838 long var37
/* : Int */;
843 var1
= parser_work__Parser__pop(var_p
);
845 var_nodearraylist8
= var1
;
847 var2
= parser_work__Parser__pop(var_p
);
849 var_nodearraylist7
= var2
;
851 var3
= parser_work__Parser__pop(var_p
);
853 var_nodearraylist6
= var3
;
855 var4
= parser_work__Parser__pop(var_p
);
857 var_nodearraylist5
= var4
;
859 var5
= parser_work__Parser__pop(var_p
);
861 var_nodearraylist4
= var5
;
863 var6
= parser_work__Parser__pop(var_p
);
865 var_nodearraylist3
= var6
;
867 var7
= parser_work__Parser__pop(var_p
);
869 var_nodearraylist2
= var7
;
871 var8
= parser_work__Parser__pop(var_p
);
873 var_nodearraylist1
= var8
;
874 var_pdocnode2
= var_nodearraylist1
;
875 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
876 cltype
= type_nullable_parser_nodes__ADoc
.color
;
877 idtype
= type_nullable_parser_nodes__ADoc
.id
;
878 if(var_pdocnode2
== NULL
) {
881 if(cltype
>= var_pdocnode2
->type
->table_size
) {
884 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
887 if (unlikely(!var9
)) {
888 PRINT_ERROR("Runtime error: %s", "Assert failed");
889 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3330);
892 var_tkwredefnode3
= var_nodearraylist2
;
893 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
894 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
895 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
896 if(var_tkwredefnode3
== NULL
) {
899 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
902 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
905 if (unlikely(!var10
)) {
906 PRINT_ERROR("Runtime error: %s", "Assert failed");
907 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3332);
910 var_pvisibilitynode4
= var_nodearraylist3
;
911 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
912 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
913 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
914 if(var_pvisibilitynode4
== NULL
) {
917 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
920 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
923 if (unlikely(!var13
)) {
924 PRINT_ERROR("Runtime error: %s", "Assert failed");
925 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3334);
928 var_tkwmethnode5
= var_nodearraylist4
;
929 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
930 cltype17
= type_nullable_parser_nodes__TKwmeth
.color
;
931 idtype18
= type_nullable_parser_nodes__TKwmeth
.id
;
932 if(var_tkwmethnode5
== NULL
) {
935 if(cltype17
>= var_tkwmethnode5
->type
->table_size
) {
938 var16
= var_tkwmethnode5
->type
->type_table
[cltype17
] == idtype18
;
941 if (unlikely(!var16
)) {
942 PRINT_ERROR("Runtime error: %s", "Assert failed");
943 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3336);
946 var_pmethidnode8
= var_nodearraylist5
;
947 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
948 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
949 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
950 if(var_pmethidnode8
== NULL
) {
953 if(cltype20
>= var_pmethidnode8
->type
->table_size
) {
956 var19
= var_pmethidnode8
->type
->type_table
[cltype20
] == idtype21
;
959 if (unlikely(!var19
)) {
960 PRINT_ERROR("Runtime error: %s", "Assert failed");
961 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3338);
964 var_psignaturenode9
= var_nodearraylist6
;
965 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
966 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
967 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
968 if(var_psignaturenode9
== NULL
) {
971 if(cltype23
>= var_psignaturenode9
->type
->table_size
) {
974 var22
= var_psignaturenode9
->type
->type_table
[cltype23
] == idtype24
;
977 if (unlikely(!var22
)) {
978 PRINT_ERROR("Runtime error: %s", "Assert failed");
979 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3340);
982 var_pexterncallsnode11
= var_nodearraylist7
;
983 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
984 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
985 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
986 if(var_pexterncallsnode11
== NULL
) {
989 if(cltype26
>= var_pexterncallsnode11
->type
->table_size
) {
992 var25
= var_pexterncallsnode11
->type
->type_table
[cltype26
] == idtype27
;
995 if (unlikely(!var25
)) {
996 PRINT_ERROR("Runtime error: %s", "Assert failed");
997 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3342);
1000 var_pexterncodeblocknode12
= var_nodearraylist8
;
1001 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
1002 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
1003 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
1004 if(var_pexterncodeblocknode12
== NULL
) {
1007 if(cltype29
>= var_pexterncodeblocknode12
->type
->table_size
) {
1010 var28
= var_pexterncodeblocknode12
->type
->type_table
[cltype29
] == idtype30
;
1013 if (unlikely(!var28
)) {
1014 PRINT_ERROR("Runtime error: %s", "Assert failed");
1015 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3344);
1018 var31
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
1024 parser_prod__AMethPropdef__init_amethpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var32
, var33
, var_pmethidnode8
, var_psignaturenode9
, var34
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var35
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var31:AMethPropdef>*/
1026 var_ppropdefnode1
= var31
;
1027 var_node_list
= var_ppropdefnode1
;
1028 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction66> */
1030 var37
= parser_work__Parser__go_to(var_p
, var36
);
1033 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1037 /* method parser#ReduceAction66#action for (self: Object, Parser) */
1038 void VIRTUAL_parser__ReduceAction66__action(val
* self
, val
* p0
) {
1039 parser__ReduceAction66__action(self
, p0
); /* Direct call parser#ReduceAction66#action on <self:Object(ReduceAction66)>*/
1042 /* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */
1043 void parser__ReduceAction67__action(val
* self
, val
* p0
) {
1044 val
* var_p
/* var p: Parser */;
1045 val
* var
/* : null */;
1046 val
* var_node_list
/* var node_list: nullable Object */;
1047 val
* var1
/* : nullable Object */;
1048 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1049 val
* var2
/* : nullable Object */;
1050 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1051 val
* var3
/* : nullable Object */;
1052 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1053 val
* var4
/* : nullable Object */;
1054 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1055 val
* var5
/* : nullable Object */;
1056 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1057 val
* var6
/* : nullable Object */;
1058 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1059 val
* var7
/* : nullable Object */;
1060 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1061 val
* var8
/* : nullable Object */;
1062 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1063 val
* var9
/* : nullable Object */;
1064 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1065 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1066 short int var10
/* : Bool */;
1069 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1070 short int var11
/* : Bool */;
1073 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1074 short int var14
/* : Bool */;
1077 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
1078 short int var17
/* : Bool */;
1081 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
1082 short int var20
/* : Bool */;
1085 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
1086 short int var23
/* : Bool */;
1089 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
1090 short int var26
/* : Bool */;
1093 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
1094 short int var29
/* : Bool */;
1097 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
1098 short int var32
/* : Bool */;
1101 val
* var35
/* : AMethPropdef */;
1102 val
* var36
/* : null */;
1103 val
* var37
/* : null */;
1104 val
* var38
/* : null */;
1105 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
1106 long var39
/* : Int */;
1107 long var40
/* : Int */;
1110 var_node_list
= var
;
1112 var1
= parser_work__Parser__pop(var_p
);
1114 var_nodearraylist9
= var1
;
1116 var2
= parser_work__Parser__pop(var_p
);
1118 var_nodearraylist8
= var2
;
1120 var3
= parser_work__Parser__pop(var_p
);
1122 var_nodearraylist7
= var3
;
1124 var4
= parser_work__Parser__pop(var_p
);
1126 var_nodearraylist6
= var4
;
1128 var5
= parser_work__Parser__pop(var_p
);
1130 var_nodearraylist5
= var5
;
1132 var6
= parser_work__Parser__pop(var_p
);
1134 var_nodearraylist4
= var6
;
1136 var7
= parser_work__Parser__pop(var_p
);
1138 var_nodearraylist3
= var7
;
1140 var8
= parser_work__Parser__pop(var_p
);
1142 var_nodearraylist2
= var8
;
1144 var9
= parser_work__Parser__pop(var_p
);
1146 var_nodearraylist1
= var9
;
1147 var_pdocnode2
= var_nodearraylist1
;
1148 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1149 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1150 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1151 if(var_pdocnode2
== NULL
) {
1154 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1157 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1160 if (unlikely(!var10
)) {
1161 PRINT_ERROR("Runtime error: %s", "Assert failed");
1162 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3378);
1165 var_tkwredefnode3
= var_nodearraylist2
;
1166 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1167 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
1168 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
1169 if(var_tkwredefnode3
== NULL
) {
1172 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
1175 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
1178 if (unlikely(!var11
)) {
1179 PRINT_ERROR("Runtime error: %s", "Assert failed");
1180 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3380);
1183 var_pvisibilitynode4
= var_nodearraylist3
;
1184 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1185 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
1186 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
1187 if(var_pvisibilitynode4
== NULL
) {
1190 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
1193 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
1196 if (unlikely(!var14
)) {
1197 PRINT_ERROR("Runtime error: %s", "Assert failed");
1198 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3382);
1201 var_tkwmethnode5
= var_nodearraylist4
;
1202 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1203 cltype18
= type_nullable_parser_nodes__TKwmeth
.color
;
1204 idtype19
= type_nullable_parser_nodes__TKwmeth
.id
;
1205 if(var_tkwmethnode5
== NULL
) {
1208 if(cltype18
>= var_tkwmethnode5
->type
->table_size
) {
1211 var17
= var_tkwmethnode5
->type
->type_table
[cltype18
] == idtype19
;
1214 if (unlikely(!var17
)) {
1215 PRINT_ERROR("Runtime error: %s", "Assert failed");
1216 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3384);
1219 var_pmethidnode8
= var_nodearraylist5
;
1220 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
1221 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
1222 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
1223 if(var_pmethidnode8
== NULL
) {
1226 if(cltype21
>= var_pmethidnode8
->type
->table_size
) {
1229 var20
= var_pmethidnode8
->type
->type_table
[cltype21
] == idtype22
;
1232 if (unlikely(!var20
)) {
1233 PRINT_ERROR("Runtime error: %s", "Assert failed");
1234 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3386);
1237 var_psignaturenode9
= var_nodearraylist6
;
1238 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
1239 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
1240 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
1241 if(var_psignaturenode9
== NULL
) {
1244 if(cltype24
>= var_psignaturenode9
->type
->table_size
) {
1247 var23
= var_psignaturenode9
->type
->type_table
[cltype24
] == idtype25
;
1250 if (unlikely(!var23
)) {
1251 PRINT_ERROR("Runtime error: %s", "Assert failed");
1252 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3388);
1255 var_pannotationsnode10
= var_nodearraylist7
;
1256 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
1257 cltype27
= type_nullable_parser_nodes__AAnnotations
.color
;
1258 idtype28
= type_nullable_parser_nodes__AAnnotations
.id
;
1259 if(var_pannotationsnode10
== NULL
) {
1262 if(cltype27
>= var_pannotationsnode10
->type
->table_size
) {
1265 var26
= var_pannotationsnode10
->type
->type_table
[cltype27
] == idtype28
;
1268 if (unlikely(!var26
)) {
1269 PRINT_ERROR("Runtime error: %s", "Assert failed");
1270 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3390);
1273 var_pexterncallsnode11
= var_nodearraylist8
;
1274 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
1275 cltype30
= type_nullable_parser_nodes__AExternCalls
.color
;
1276 idtype31
= type_nullable_parser_nodes__AExternCalls
.id
;
1277 if(var_pexterncallsnode11
== NULL
) {
1280 if(cltype30
>= var_pexterncallsnode11
->type
->table_size
) {
1283 var29
= var_pexterncallsnode11
->type
->type_table
[cltype30
] == idtype31
;
1286 if (unlikely(!var29
)) {
1287 PRINT_ERROR("Runtime error: %s", "Assert failed");
1288 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3392);
1291 var_pexterncodeblocknode12
= var_nodearraylist9
;
1292 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
1293 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
1294 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
1295 if(var_pexterncodeblocknode12
== NULL
) {
1298 if(cltype33
>= var_pexterncodeblocknode12
->type
->table_size
) {
1301 var32
= var_pexterncodeblocknode12
->type
->type_table
[cltype33
] == idtype34
;
1304 if (unlikely(!var32
)) {
1305 PRINT_ERROR("Runtime error: %s", "Assert failed");
1306 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3394);
1309 var35
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
1314 parser_prod__AMethPropdef__init_amethpropdef(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var36
, var37
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var38
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var35:AMethPropdef>*/
1316 var_ppropdefnode1
= var35
;
1317 var_node_list
= var_ppropdefnode1
;
1318 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction67> */
1320 var40
= parser_work__Parser__go_to(var_p
, var39
);
1323 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1327 /* method parser#ReduceAction67#action for (self: Object, Parser) */
1328 void VIRTUAL_parser__ReduceAction67__action(val
* self
, val
* p0
) {
1329 parser__ReduceAction67__action(self
, p0
); /* Direct call parser#ReduceAction67#action on <self:Object(ReduceAction67)>*/
1332 /* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */
1333 void parser__ReduceAction68__action(val
* self
, val
* p0
) {
1334 val
* var_p
/* var p: Parser */;
1335 val
* var
/* : null */;
1336 val
* var_node_list
/* var node_list: nullable Object */;
1337 val
* var1
/* : nullable Object */;
1338 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1339 val
* var2
/* : nullable Object */;
1340 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1341 val
* var3
/* : nullable Object */;
1342 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1343 val
* var4
/* : nullable Object */;
1344 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1345 val
* var5
/* : nullable Object */;
1346 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1347 val
* var6
/* : nullable Object */;
1348 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1349 val
* var7
/* : nullable Object */;
1350 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1351 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1352 short int var8
/* : Bool */;
1355 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1356 short int var9
/* : Bool */;
1359 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1360 short int var12
/* : Bool */;
1363 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
1364 short int var15
/* : Bool */;
1367 val
* var_tidnode6
/* var tidnode6: nullable Object */;
1368 short int var18
/* : Bool */;
1371 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
1372 short int var21
/* : Bool */;
1375 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
1376 short int var24
/* : Bool */;
1379 val
* var27
/* : AAttrPropdef */;
1380 val
* var28
/* : null */;
1381 val
* var29
/* : null */;
1382 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1383 long var30
/* : Int */;
1384 long var31
/* : Int */;
1387 var_node_list
= var
;
1389 var1
= parser_work__Parser__pop(var_p
);
1391 var_nodearraylist7
= var1
;
1393 var2
= parser_work__Parser__pop(var_p
);
1395 var_nodearraylist6
= var2
;
1397 var3
= parser_work__Parser__pop(var_p
);
1399 var_nodearraylist5
= var3
;
1401 var4
= parser_work__Parser__pop(var_p
);
1403 var_nodearraylist4
= var4
;
1405 var5
= parser_work__Parser__pop(var_p
);
1407 var_nodearraylist3
= var5
;
1409 var6
= parser_work__Parser__pop(var_p
);
1411 var_nodearraylist2
= var6
;
1413 var7
= parser_work__Parser__pop(var_p
);
1415 var_nodearraylist1
= var7
;
1416 var_pdocnode2
= var_nodearraylist1
;
1417 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1418 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1419 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1420 if(var_pdocnode2
== NULL
) {
1423 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1426 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1429 if (unlikely(!var8
)) {
1430 PRINT_ERROR("Runtime error: %s", "Assert failed");
1431 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3426);
1434 var_tkwredefnode3
= var_nodearraylist2
;
1435 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1436 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
1437 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
1438 if(var_tkwredefnode3
== NULL
) {
1441 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
1444 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
1447 if (unlikely(!var9
)) {
1448 PRINT_ERROR("Runtime error: %s", "Assert failed");
1449 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3428);
1452 var_pvisibilitynode4
= var_nodearraylist3
;
1453 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1454 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
1455 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
1456 if(var_pvisibilitynode4
== NULL
) {
1459 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
1462 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
1465 if (unlikely(!var12
)) {
1466 PRINT_ERROR("Runtime error: %s", "Assert failed");
1467 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3430);
1470 var_tkwvarnode5
= var_nodearraylist4
;
1471 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
1472 cltype16
= type_nullable_parser_nodes__TKwvar
.color
;
1473 idtype17
= type_nullable_parser_nodes__TKwvar
.id
;
1474 if(var_tkwvarnode5
== NULL
) {
1477 if(cltype16
>= var_tkwvarnode5
->type
->table_size
) {
1480 var15
= var_tkwvarnode5
->type
->type_table
[cltype16
] == idtype17
;
1483 if (unlikely(!var15
)) {
1484 PRINT_ERROR("Runtime error: %s", "Assert failed");
1485 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3432);
1488 var_tidnode6
= var_nodearraylist5
;
1489 /* <var_tidnode6:nullable Object> isa nullable TId */
1490 cltype19
= type_nullable_parser_nodes__TId
.color
;
1491 idtype20
= type_nullable_parser_nodes__TId
.id
;
1492 if(var_tidnode6
== NULL
) {
1495 if(cltype19
>= var_tidnode6
->type
->table_size
) {
1498 var18
= var_tidnode6
->type
->type_table
[cltype19
] == idtype20
;
1501 if (unlikely(!var18
)) {
1502 PRINT_ERROR("Runtime error: %s", "Assert failed");
1503 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3434);
1506 var_ptypenode7
= var_nodearraylist6
;
1507 /* <var_ptypenode7:nullable Object> isa nullable AType */
1508 cltype22
= type_nullable_parser_nodes__AType
.color
;
1509 idtype23
= type_nullable_parser_nodes__AType
.id
;
1510 if(var_ptypenode7
== NULL
) {
1513 if(cltype22
>= var_ptypenode7
->type
->table_size
) {
1516 var21
= var_ptypenode7
->type
->type_table
[cltype22
] == idtype23
;
1519 if (unlikely(!var21
)) {
1520 PRINT_ERROR("Runtime error: %s", "Assert failed");
1521 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3436);
1524 var_pannotationsnode9
= var_nodearraylist7
;
1525 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
1526 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
1527 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
1528 if(var_pannotationsnode9
== NULL
) {
1531 if(cltype25
>= var_pannotationsnode9
->type
->table_size
) {
1534 var24
= var_pannotationsnode9
->type
->type_table
[cltype25
] == idtype26
;
1537 if (unlikely(!var24
)) {
1538 PRINT_ERROR("Runtime error: %s", "Assert failed");
1539 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3438);
1542 var27
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1546 parser_prod__AAttrPropdef__init_aattrpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var28
, var_pannotationsnode9
, var29
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var27:AAttrPropdef>*/
1548 var_ppropdefnode1
= var27
;
1549 var_node_list
= var_ppropdefnode1
;
1550 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction68> */
1552 var31
= parser_work__Parser__go_to(var_p
, var30
);
1555 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1559 /* method parser#ReduceAction68#action for (self: Object, Parser) */
1560 void VIRTUAL_parser__ReduceAction68__action(val
* self
, val
* p0
) {
1561 parser__ReduceAction68__action(self
, p0
); /* Direct call parser#ReduceAction68#action on <self:Object(ReduceAction68)>*/
1564 /* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */
1565 void parser__ReduceAction69__action(val
* self
, val
* p0
) {
1566 val
* var_p
/* var p: Parser */;
1567 val
* var
/* : null */;
1568 val
* var_node_list
/* var node_list: nullable Object */;
1569 val
* var1
/* : nullable Object */;
1570 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1571 val
* var2
/* : nullable Object */;
1572 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1573 val
* var3
/* : nullable Object */;
1574 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1575 val
* var4
/* : nullable Object */;
1576 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1577 val
* var5
/* : nullable Object */;
1578 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1579 val
* var6
/* : nullable Object */;
1580 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1581 val
* var7
/* : nullable Object */;
1582 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1583 val
* var8
/* : nullable Object */;
1584 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1585 val
* var9
/* : nullable Object */;
1586 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1587 val
* var10
/* : nullable Object */;
1588 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1589 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1590 short int var11
/* : Bool */;
1593 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1594 short int var12
/* : Bool */;
1597 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1598 short int var15
/* : Bool */;
1601 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
1602 short int var18
/* : Bool */;
1605 val
* var_tidnode6
/* var tidnode6: nullable Object */;
1606 short int var21
/* : Bool */;
1609 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
1610 short int var24
/* : Bool */;
1613 val
* var_pexprnode8
/* var pexprnode8: nullable Object */;
1614 short int var27
/* : Bool */;
1617 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
1618 short int var30
/* : Bool */;
1621 val
* var33
/* : AAttrPropdef */;
1622 val
* var34
/* : null */;
1623 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1624 long var35
/* : Int */;
1625 long var36
/* : Int */;
1628 var_node_list
= var
;
1630 var1
= parser_work__Parser__pop(var_p
);
1632 var_nodearraylist10
= var1
;
1634 var2
= parser_work__Parser__pop(var_p
);
1636 var_nodearraylist9
= var2
;
1638 var3
= parser_work__Parser__pop(var_p
);
1640 var_nodearraylist8
= var3
;
1642 var4
= parser_work__Parser__pop(var_p
);
1644 var_nodearraylist7
= var4
;
1646 var5
= parser_work__Parser__pop(var_p
);
1648 var_nodearraylist6
= var5
;
1650 var6
= parser_work__Parser__pop(var_p
);
1652 var_nodearraylist5
= var6
;
1654 var7
= parser_work__Parser__pop(var_p
);
1656 var_nodearraylist4
= var7
;
1658 var8
= parser_work__Parser__pop(var_p
);
1660 var_nodearraylist3
= var8
;
1662 var9
= parser_work__Parser__pop(var_p
);
1664 var_nodearraylist2
= var9
;
1666 var10
= parser_work__Parser__pop(var_p
);
1668 var_nodearraylist1
= var10
;
1669 var_pdocnode2
= var_nodearraylist1
;
1670 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1671 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1672 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1673 if(var_pdocnode2
== NULL
) {
1676 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1679 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1682 if (unlikely(!var11
)) {
1683 PRINT_ERROR("Runtime error: %s", "Assert failed");
1684 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3470);
1687 var_tkwredefnode3
= var_nodearraylist2
;
1688 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1689 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
1690 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
1691 if(var_tkwredefnode3
== NULL
) {
1694 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
1697 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
1700 if (unlikely(!var12
)) {
1701 PRINT_ERROR("Runtime error: %s", "Assert failed");
1702 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3472);
1705 var_pvisibilitynode4
= var_nodearraylist3
;
1706 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1707 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
1708 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
1709 if(var_pvisibilitynode4
== NULL
) {
1712 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
1715 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
1718 if (unlikely(!var15
)) {
1719 PRINT_ERROR("Runtime error: %s", "Assert failed");
1720 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3474);
1723 var_tkwvarnode5
= var_nodearraylist4
;
1724 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
1725 cltype19
= type_nullable_parser_nodes__TKwvar
.color
;
1726 idtype20
= type_nullable_parser_nodes__TKwvar
.id
;
1727 if(var_tkwvarnode5
== NULL
) {
1730 if(cltype19
>= var_tkwvarnode5
->type
->table_size
) {
1733 var18
= var_tkwvarnode5
->type
->type_table
[cltype19
] == idtype20
;
1736 if (unlikely(!var18
)) {
1737 PRINT_ERROR("Runtime error: %s", "Assert failed");
1738 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3476);
1741 var_tidnode6
= var_nodearraylist5
;
1742 /* <var_tidnode6:nullable Object> isa nullable TId */
1743 cltype22
= type_nullable_parser_nodes__TId
.color
;
1744 idtype23
= type_nullable_parser_nodes__TId
.id
;
1745 if(var_tidnode6
== NULL
) {
1748 if(cltype22
>= var_tidnode6
->type
->table_size
) {
1751 var21
= var_tidnode6
->type
->type_table
[cltype22
] == idtype23
;
1754 if (unlikely(!var21
)) {
1755 PRINT_ERROR("Runtime error: %s", "Assert failed");
1756 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3478);
1759 var_ptypenode7
= var_nodearraylist6
;
1760 /* <var_ptypenode7:nullable Object> isa nullable AType */
1761 cltype25
= type_nullable_parser_nodes__AType
.color
;
1762 idtype26
= type_nullable_parser_nodes__AType
.id
;
1763 if(var_ptypenode7
== NULL
) {
1766 if(cltype25
>= var_ptypenode7
->type
->table_size
) {
1769 var24
= var_ptypenode7
->type
->type_table
[cltype25
] == idtype26
;
1772 if (unlikely(!var24
)) {
1773 PRINT_ERROR("Runtime error: %s", "Assert failed");
1774 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3480);
1777 var_pexprnode8
= var_nodearraylist9
;
1778 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
1779 cltype28
= type_nullable_parser_nodes__AExpr
.color
;
1780 idtype29
= type_nullable_parser_nodes__AExpr
.id
;
1781 if(var_pexprnode8
== NULL
) {
1784 if(cltype28
>= var_pexprnode8
->type
->table_size
) {
1787 var27
= var_pexprnode8
->type
->type_table
[cltype28
] == idtype29
;
1790 if (unlikely(!var27
)) {
1791 PRINT_ERROR("Runtime error: %s", "Assert failed");
1792 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3482);
1795 var_pannotationsnode9
= var_nodearraylist10
;
1796 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
1797 cltype31
= type_nullable_parser_nodes__AAnnotations
.color
;
1798 idtype32
= type_nullable_parser_nodes__AAnnotations
.id
;
1799 if(var_pannotationsnode9
== NULL
) {
1802 if(cltype31
>= var_pannotationsnode9
->type
->table_size
) {
1805 var30
= var_pannotationsnode9
->type
->type_table
[cltype31
] == idtype32
;
1808 if (unlikely(!var30
)) {
1809 PRINT_ERROR("Runtime error: %s", "Assert failed");
1810 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3484);
1813 var33
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
1816 parser_prod__AAttrPropdef__init_aattrpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var_pexprnode8
, var_pannotationsnode9
, var34
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var33:AAttrPropdef>*/
1818 var_ppropdefnode1
= var33
;
1819 var_node_list
= var_ppropdefnode1
;
1820 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction69> */
1822 var36
= parser_work__Parser__go_to(var_p
, var35
);
1825 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1829 /* method parser#ReduceAction69#action for (self: Object, Parser) */
1830 void VIRTUAL_parser__ReduceAction69__action(val
* self
, val
* p0
) {
1831 parser__ReduceAction69__action(self
, p0
); /* Direct call parser#ReduceAction69#action on <self:Object(ReduceAction69)>*/
1834 /* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */
1835 void parser__ReduceAction70__action(val
* self
, val
* p0
) {
1836 val
* var_p
/* var p: Parser */;
1837 val
* var
/* : null */;
1838 val
* var_node_list
/* var node_list: nullable Object */;
1839 val
* var1
/* : nullable Object */;
1840 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1841 val
* var2
/* : nullable Object */;
1842 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1843 val
* var3
/* : nullable Object */;
1844 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1845 val
* var4
/* : nullable Object */;
1846 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1847 val
* var5
/* : nullable Object */;
1848 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1849 val
* var6
/* : nullable Object */;
1850 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1851 val
* var7
/* : nullable Object */;
1852 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1853 val
* var8
/* : nullable Object */;
1854 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1855 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1856 short int var9
/* : Bool */;
1859 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1860 short int var10
/* : Bool */;
1863 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1864 short int var13
/* : Bool */;
1867 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
1868 short int var16
/* : Bool */;
1871 val
* var_tidnode6
/* var tidnode6: nullable Object */;
1872 short int var19
/* : Bool */;
1875 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
1876 short int var22
/* : Bool */;
1879 val
* var_pexprnode10
/* var pexprnode10: nullable Object */;
1880 short int var25
/* : Bool */;
1883 val
* var28
/* : AAttrPropdef */;
1884 val
* var29
/* : null */;
1885 val
* var30
/* : null */;
1886 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
1887 long var31
/* : Int */;
1888 long var32
/* : Int */;
1891 var_node_list
= var
;
1893 var1
= parser_work__Parser__pop(var_p
);
1895 var_nodearraylist8
= var1
;
1897 var2
= parser_work__Parser__pop(var_p
);
1899 var_nodearraylist7
= var2
;
1901 var3
= parser_work__Parser__pop(var_p
);
1903 var_nodearraylist6
= var3
;
1905 var4
= parser_work__Parser__pop(var_p
);
1907 var_nodearraylist5
= var4
;
1909 var5
= parser_work__Parser__pop(var_p
);
1911 var_nodearraylist4
= var5
;
1913 var6
= parser_work__Parser__pop(var_p
);
1915 var_nodearraylist3
= var6
;
1917 var7
= parser_work__Parser__pop(var_p
);
1919 var_nodearraylist2
= var7
;
1921 var8
= parser_work__Parser__pop(var_p
);
1923 var_nodearraylist1
= var8
;
1924 var_pdocnode2
= var_nodearraylist1
;
1925 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1926 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1927 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1928 if(var_pdocnode2
== NULL
) {
1931 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1934 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1937 if (unlikely(!var9
)) {
1938 PRINT_ERROR("Runtime error: %s", "Assert failed");
1939 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3514);
1942 var_tkwredefnode3
= var_nodearraylist2
;
1943 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1944 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
1945 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
1946 if(var_tkwredefnode3
== NULL
) {
1949 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
1952 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
1955 if (unlikely(!var10
)) {
1956 PRINT_ERROR("Runtime error: %s", "Assert failed");
1957 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3516);
1960 var_pvisibilitynode4
= var_nodearraylist3
;
1961 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1962 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
1963 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
1964 if(var_pvisibilitynode4
== NULL
) {
1967 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
1970 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
1973 if (unlikely(!var13
)) {
1974 PRINT_ERROR("Runtime error: %s", "Assert failed");
1975 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3518);
1978 var_tkwvarnode5
= var_nodearraylist4
;
1979 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
1980 cltype17
= type_nullable_parser_nodes__TKwvar
.color
;
1981 idtype18
= type_nullable_parser_nodes__TKwvar
.id
;
1982 if(var_tkwvarnode5
== NULL
) {
1985 if(cltype17
>= var_tkwvarnode5
->type
->table_size
) {
1988 var16
= var_tkwvarnode5
->type
->type_table
[cltype17
] == idtype18
;
1991 if (unlikely(!var16
)) {
1992 PRINT_ERROR("Runtime error: %s", "Assert failed");
1993 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3520);
1996 var_tidnode6
= var_nodearraylist5
;
1997 /* <var_tidnode6:nullable Object> isa nullable TId */
1998 cltype20
= type_nullable_parser_nodes__TId
.color
;
1999 idtype21
= type_nullable_parser_nodes__TId
.id
;
2000 if(var_tidnode6
== NULL
) {
2003 if(cltype20
>= var_tidnode6
->type
->table_size
) {
2006 var19
= var_tidnode6
->type
->type_table
[cltype20
] == idtype21
;
2009 if (unlikely(!var19
)) {
2010 PRINT_ERROR("Runtime error: %s", "Assert failed");
2011 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3522);
2014 var_ptypenode7
= var_nodearraylist6
;
2015 /* <var_ptypenode7:nullable Object> isa nullable AType */
2016 cltype23
= type_nullable_parser_nodes__AType
.color
;
2017 idtype24
= type_nullable_parser_nodes__AType
.id
;
2018 if(var_ptypenode7
== NULL
) {
2021 if(cltype23
>= var_ptypenode7
->type
->table_size
) {
2024 var22
= var_ptypenode7
->type
->type_table
[cltype23
] == idtype24
;
2027 if (unlikely(!var22
)) {
2028 PRINT_ERROR("Runtime error: %s", "Assert failed");
2029 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3524);
2032 var_pexprnode10
= var_nodearraylist8
;
2033 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
2034 cltype26
= type_nullable_parser_nodes__AExpr
.color
;
2035 idtype27
= type_nullable_parser_nodes__AExpr
.id
;
2036 if(var_pexprnode10
== NULL
) {
2039 if(cltype26
>= var_pexprnode10
->type
->table_size
) {
2042 var25
= var_pexprnode10
->type
->type_table
[cltype26
] == idtype27
;
2045 if (unlikely(!var25
)) {
2046 PRINT_ERROR("Runtime error: %s", "Assert failed");
2047 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3526);
2050 var28
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2054 parser_prod__AAttrPropdef__init_aattrpropdef(var28
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var29
, var30
, var_pexprnode10
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var28:AAttrPropdef>*/
2056 var_ppropdefnode1
= var28
;
2057 var_node_list
= var_ppropdefnode1
;
2058 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction70> */
2060 var32
= parser_work__Parser__go_to(var_p
, var31
);
2063 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2067 /* method parser#ReduceAction70#action for (self: Object, Parser) */
2068 void VIRTUAL_parser__ReduceAction70__action(val
* self
, val
* p0
) {
2069 parser__ReduceAction70__action(self
, p0
); /* Direct call parser#ReduceAction70#action on <self:Object(ReduceAction70)>*/
2072 /* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */
2073 void parser__ReduceAction71__action(val
* self
, val
* p0
) {
2074 val
* var_p
/* var p: Parser */;
2075 val
* var
/* : null */;
2076 val
* var_node_list
/* var node_list: nullable Object */;
2077 val
* var1
/* : nullable Object */;
2078 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2079 val
* var2
/* : nullable Object */;
2080 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2081 val
* var3
/* : nullable Object */;
2082 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2083 val
* var4
/* : nullable Object */;
2084 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2085 val
* var5
/* : nullable Object */;
2086 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2087 val
* var6
/* : nullable Object */;
2088 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2089 val
* var7
/* : nullable Object */;
2090 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2091 val
* var8
/* : nullable Object */;
2092 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2093 val
* var9
/* : nullable Object */;
2094 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2095 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2096 short int var10
/* : Bool */;
2099 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2100 short int var11
/* : Bool */;
2103 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2104 short int var14
/* : Bool */;
2107 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
2108 short int var17
/* : Bool */;
2111 val
* var_tidnode6
/* var tidnode6: nullable Object */;
2112 short int var20
/* : Bool */;
2115 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
2116 short int var23
/* : Bool */;
2119 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
2120 short int var26
/* : Bool */;
2123 val
* var_pexprnode10
/* var pexprnode10: nullable Object */;
2124 short int var29
/* : Bool */;
2127 val
* var32
/* : AAttrPropdef */;
2128 val
* var33
/* : null */;
2129 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
2130 long var34
/* : Int */;
2131 long var35
/* : Int */;
2134 var_node_list
= var
;
2136 var1
= parser_work__Parser__pop(var_p
);
2138 var_nodearraylist9
= var1
;
2140 var2
= parser_work__Parser__pop(var_p
);
2142 var_nodearraylist8
= var2
;
2144 var3
= parser_work__Parser__pop(var_p
);
2146 var_nodearraylist7
= var3
;
2148 var4
= parser_work__Parser__pop(var_p
);
2150 var_nodearraylist6
= var4
;
2152 var5
= parser_work__Parser__pop(var_p
);
2154 var_nodearraylist5
= var5
;
2156 var6
= parser_work__Parser__pop(var_p
);
2158 var_nodearraylist4
= var6
;
2160 var7
= parser_work__Parser__pop(var_p
);
2162 var_nodearraylist3
= var7
;
2164 var8
= parser_work__Parser__pop(var_p
);
2166 var_nodearraylist2
= var8
;
2168 var9
= parser_work__Parser__pop(var_p
);
2170 var_nodearraylist1
= var9
;
2171 var_pdocnode2
= var_nodearraylist1
;
2172 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2173 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2174 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2175 if(var_pdocnode2
== NULL
) {
2178 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2181 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2184 if (unlikely(!var10
)) {
2185 PRINT_ERROR("Runtime error: %s", "Assert failed");
2186 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3557);
2189 var_tkwredefnode3
= var_nodearraylist2
;
2190 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2191 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
2192 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
2193 if(var_tkwredefnode3
== NULL
) {
2196 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
2199 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
2202 if (unlikely(!var11
)) {
2203 PRINT_ERROR("Runtime error: %s", "Assert failed");
2204 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3559);
2207 var_pvisibilitynode4
= var_nodearraylist3
;
2208 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2209 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
2210 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
2211 if(var_pvisibilitynode4
== NULL
) {
2214 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
2217 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
2220 if (unlikely(!var14
)) {
2221 PRINT_ERROR("Runtime error: %s", "Assert failed");
2222 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3561);
2225 var_tkwvarnode5
= var_nodearraylist4
;
2226 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
2227 cltype18
= type_nullable_parser_nodes__TKwvar
.color
;
2228 idtype19
= type_nullable_parser_nodes__TKwvar
.id
;
2229 if(var_tkwvarnode5
== NULL
) {
2232 if(cltype18
>= var_tkwvarnode5
->type
->table_size
) {
2235 var17
= var_tkwvarnode5
->type
->type_table
[cltype18
] == idtype19
;
2238 if (unlikely(!var17
)) {
2239 PRINT_ERROR("Runtime error: %s", "Assert failed");
2240 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3563);
2243 var_tidnode6
= var_nodearraylist5
;
2244 /* <var_tidnode6:nullable Object> isa nullable TId */
2245 cltype21
= type_nullable_parser_nodes__TId
.color
;
2246 idtype22
= type_nullable_parser_nodes__TId
.id
;
2247 if(var_tidnode6
== NULL
) {
2250 if(cltype21
>= var_tidnode6
->type
->table_size
) {
2253 var20
= var_tidnode6
->type
->type_table
[cltype21
] == idtype22
;
2256 if (unlikely(!var20
)) {
2257 PRINT_ERROR("Runtime error: %s", "Assert failed");
2258 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3565);
2261 var_ptypenode7
= var_nodearraylist6
;
2262 /* <var_ptypenode7:nullable Object> isa nullable AType */
2263 cltype24
= type_nullable_parser_nodes__AType
.color
;
2264 idtype25
= type_nullable_parser_nodes__AType
.id
;
2265 if(var_ptypenode7
== NULL
) {
2268 if(cltype24
>= var_ptypenode7
->type
->table_size
) {
2271 var23
= var_ptypenode7
->type
->type_table
[cltype24
] == idtype25
;
2274 if (unlikely(!var23
)) {
2275 PRINT_ERROR("Runtime error: %s", "Assert failed");
2276 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3567);
2279 var_pannotationsnode9
= var_nodearraylist7
;
2280 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
2281 cltype27
= type_nullable_parser_nodes__AAnnotations
.color
;
2282 idtype28
= type_nullable_parser_nodes__AAnnotations
.id
;
2283 if(var_pannotationsnode9
== NULL
) {
2286 if(cltype27
>= var_pannotationsnode9
->type
->table_size
) {
2289 var26
= var_pannotationsnode9
->type
->type_table
[cltype27
] == idtype28
;
2292 if (unlikely(!var26
)) {
2293 PRINT_ERROR("Runtime error: %s", "Assert failed");
2294 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3569);
2297 var_pexprnode10
= var_nodearraylist9
;
2298 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
2299 cltype30
= type_nullable_parser_nodes__AExpr
.color
;
2300 idtype31
= type_nullable_parser_nodes__AExpr
.id
;
2301 if(var_pexprnode10
== NULL
) {
2304 if(cltype30
>= var_pexprnode10
->type
->table_size
) {
2307 var29
= var_pexprnode10
->type
->type_table
[cltype30
] == idtype31
;
2310 if (unlikely(!var29
)) {
2311 PRINT_ERROR("Runtime error: %s", "Assert failed");
2312 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3571);
2315 var32
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2318 parser_prod__AAttrPropdef__init_aattrpropdef(var32
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var33
, var_pannotationsnode9
, var_pexprnode10
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var32:AAttrPropdef>*/
2320 var_ppropdefnode1
= var32
;
2321 var_node_list
= var_ppropdefnode1
;
2322 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction71> */
2324 var35
= parser_work__Parser__go_to(var_p
, var34
);
2327 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2331 /* method parser#ReduceAction71#action for (self: Object, Parser) */
2332 void VIRTUAL_parser__ReduceAction71__action(val
* self
, val
* p0
) {
2333 parser__ReduceAction71__action(self
, p0
); /* Direct call parser#ReduceAction71#action on <self:Object(ReduceAction71)>*/
2336 /* method parser#ReduceAction72#action for (self: ReduceAction72, Parser) */
2337 void parser__ReduceAction72__action(val
* self
, val
* p0
) {
2338 val
* var_p
/* var p: Parser */;
2339 val
* var
/* : null */;
2340 val
* var_node_list
/* var node_list: nullable Object */;
2341 val
* var1
/* : nullable Object */;
2342 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2343 val
* var2
/* : nullable Object */;
2344 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2345 val
* var3
/* : nullable Object */;
2346 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2347 val
* var4
/* : nullable Object */;
2348 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2349 val
* var5
/* : nullable Object */;
2350 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2351 val
* var6
/* : nullable Object */;
2352 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2353 val
* var7
/* : nullable Object */;
2354 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2355 val
* var8
/* : nullable Object */;
2356 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2357 val
* var9
/* : nullable Object */;
2358 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2359 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2360 short int var10
/* : Bool */;
2363 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2364 short int var11
/* : Bool */;
2367 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2368 short int var14
/* : Bool */;
2371 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
2372 short int var17
/* : Bool */;
2375 val
* var_tidnode6
/* var tidnode6: nullable Object */;
2376 short int var20
/* : Bool */;
2379 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
2380 short int var23
/* : Bool */;
2383 val
* var_pexprnode10
/* var pexprnode10: nullable Object */;
2384 short int var26
/* : Bool */;
2387 val
* var29
/* : AAttrPropdef */;
2388 val
* var30
/* : null */;
2389 val
* var31
/* : null */;
2390 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
2391 long var32
/* : Int */;
2392 long var33
/* : Int */;
2395 var_node_list
= var
;
2397 var1
= parser_work__Parser__pop(var_p
);
2399 var_nodearraylist9
= var1
;
2401 var2
= parser_work__Parser__pop(var_p
);
2403 var_nodearraylist8
= var2
;
2405 var3
= parser_work__Parser__pop(var_p
);
2407 var_nodearraylist7
= var3
;
2409 var4
= parser_work__Parser__pop(var_p
);
2411 var_nodearraylist6
= var4
;
2413 var5
= parser_work__Parser__pop(var_p
);
2415 var_nodearraylist5
= var5
;
2417 var6
= parser_work__Parser__pop(var_p
);
2419 var_nodearraylist4
= var6
;
2421 var7
= parser_work__Parser__pop(var_p
);
2423 var_nodearraylist3
= var7
;
2425 var8
= parser_work__Parser__pop(var_p
);
2427 var_nodearraylist2
= var8
;
2429 var9
= parser_work__Parser__pop(var_p
);
2431 var_nodearraylist1
= var9
;
2432 var_pdocnode2
= var_nodearraylist1
;
2433 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2434 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2435 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2436 if(var_pdocnode2
== NULL
) {
2439 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2442 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2445 if (unlikely(!var10
)) {
2446 PRINT_ERROR("Runtime error: %s", "Assert failed");
2447 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3602);
2450 var_tkwredefnode3
= var_nodearraylist2
;
2451 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2452 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
2453 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
2454 if(var_tkwredefnode3
== NULL
) {
2457 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
2460 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
2463 if (unlikely(!var11
)) {
2464 PRINT_ERROR("Runtime error: %s", "Assert failed");
2465 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3604);
2468 var_pvisibilitynode4
= var_nodearraylist3
;
2469 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2470 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
2471 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
2472 if(var_pvisibilitynode4
== NULL
) {
2475 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
2478 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
2481 if (unlikely(!var14
)) {
2482 PRINT_ERROR("Runtime error: %s", "Assert failed");
2483 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3606);
2486 var_tkwvarnode5
= var_nodearraylist4
;
2487 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
2488 cltype18
= type_nullable_parser_nodes__TKwvar
.color
;
2489 idtype19
= type_nullable_parser_nodes__TKwvar
.id
;
2490 if(var_tkwvarnode5
== NULL
) {
2493 if(cltype18
>= var_tkwvarnode5
->type
->table_size
) {
2496 var17
= var_tkwvarnode5
->type
->type_table
[cltype18
] == idtype19
;
2499 if (unlikely(!var17
)) {
2500 PRINT_ERROR("Runtime error: %s", "Assert failed");
2501 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3608);
2504 var_tidnode6
= var_nodearraylist5
;
2505 /* <var_tidnode6:nullable Object> isa nullable TId */
2506 cltype21
= type_nullable_parser_nodes__TId
.color
;
2507 idtype22
= type_nullable_parser_nodes__TId
.id
;
2508 if(var_tidnode6
== NULL
) {
2511 if(cltype21
>= var_tidnode6
->type
->table_size
) {
2514 var20
= var_tidnode6
->type
->type_table
[cltype21
] == idtype22
;
2517 if (unlikely(!var20
)) {
2518 PRINT_ERROR("Runtime error: %s", "Assert failed");
2519 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3610);
2522 var_ptypenode7
= var_nodearraylist6
;
2523 /* <var_ptypenode7:nullable Object> isa nullable AType */
2524 cltype24
= type_nullable_parser_nodes__AType
.color
;
2525 idtype25
= type_nullable_parser_nodes__AType
.id
;
2526 if(var_ptypenode7
== NULL
) {
2529 if(cltype24
>= var_ptypenode7
->type
->table_size
) {
2532 var23
= var_ptypenode7
->type
->type_table
[cltype24
] == idtype25
;
2535 if (unlikely(!var23
)) {
2536 PRINT_ERROR("Runtime error: %s", "Assert failed");
2537 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3612);
2540 var_pexprnode10
= var_nodearraylist8
;
2541 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
2542 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
2543 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
2544 if(var_pexprnode10
== NULL
) {
2547 if(cltype27
>= var_pexprnode10
->type
->table_size
) {
2550 var26
= var_pexprnode10
->type
->type_table
[cltype27
] == idtype28
;
2553 if (unlikely(!var26
)) {
2554 PRINT_ERROR("Runtime error: %s", "Assert failed");
2555 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3614);
2558 var29
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2562 parser_prod__AAttrPropdef__init_aattrpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var30
, var31
, var_pexprnode10
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var29:AAttrPropdef>*/
2564 var_ppropdefnode1
= var29
;
2565 var_node_list
= var_ppropdefnode1
;
2566 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction72> */
2568 var33
= parser_work__Parser__go_to(var_p
, var32
);
2571 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2575 /* method parser#ReduceAction72#action for (self: Object, Parser) */
2576 void VIRTUAL_parser__ReduceAction72__action(val
* self
, val
* p0
) {
2577 parser__ReduceAction72__action(self
, p0
); /* Direct call parser#ReduceAction72#action on <self:Object(ReduceAction72)>*/
2580 /* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */
2581 void parser__ReduceAction73__action(val
* self
, val
* p0
) {
2582 val
* var_p
/* var p: Parser */;
2583 val
* var
/* : null */;
2584 val
* var_node_list
/* var node_list: nullable Object */;
2585 val
* var1
/* : nullable Object */;
2586 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2587 val
* var2
/* : nullable Object */;
2588 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2589 val
* var3
/* : nullable Object */;
2590 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2591 val
* var4
/* : nullable Object */;
2592 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2593 val
* var5
/* : nullable Object */;
2594 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2595 val
* var6
/* : nullable Object */;
2596 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2597 val
* var7
/* : nullable Object */;
2598 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2599 val
* var8
/* : nullable Object */;
2600 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2601 val
* var9
/* : nullable Object */;
2602 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2603 val
* var10
/* : nullable Object */;
2604 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2605 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2606 short int var11
/* : Bool */;
2609 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2610 short int var12
/* : Bool */;
2613 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2614 short int var15
/* : Bool */;
2617 val
* var_tkwvarnode5
/* var tkwvarnode5: nullable Object */;
2618 short int var18
/* : Bool */;
2621 val
* var_tidnode6
/* var tidnode6: nullable Object */;
2622 short int var21
/* : Bool */;
2625 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
2626 short int var24
/* : Bool */;
2629 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
2630 short int var27
/* : Bool */;
2633 val
* var_pexprnode10
/* var pexprnode10: nullable Object */;
2634 short int var30
/* : Bool */;
2637 val
* var33
/* : AAttrPropdef */;
2638 val
* var34
/* : null */;
2639 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
2640 long var35
/* : Int */;
2641 long var36
/* : Int */;
2644 var_node_list
= var
;
2646 var1
= parser_work__Parser__pop(var_p
);
2648 var_nodearraylist10
= var1
;
2650 var2
= parser_work__Parser__pop(var_p
);
2652 var_nodearraylist9
= var2
;
2654 var3
= parser_work__Parser__pop(var_p
);
2656 var_nodearraylist8
= var3
;
2658 var4
= parser_work__Parser__pop(var_p
);
2660 var_nodearraylist7
= var4
;
2662 var5
= parser_work__Parser__pop(var_p
);
2664 var_nodearraylist6
= var5
;
2666 var6
= parser_work__Parser__pop(var_p
);
2668 var_nodearraylist5
= var6
;
2670 var7
= parser_work__Parser__pop(var_p
);
2672 var_nodearraylist4
= var7
;
2674 var8
= parser_work__Parser__pop(var_p
);
2676 var_nodearraylist3
= var8
;
2678 var9
= parser_work__Parser__pop(var_p
);
2680 var_nodearraylist2
= var9
;
2682 var10
= parser_work__Parser__pop(var_p
);
2684 var_nodearraylist1
= var10
;
2685 var_pdocnode2
= var_nodearraylist1
;
2686 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2687 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2688 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2689 if(var_pdocnode2
== NULL
) {
2692 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2695 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2698 if (unlikely(!var11
)) {
2699 PRINT_ERROR("Runtime error: %s", "Assert failed");
2700 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3646);
2703 var_tkwredefnode3
= var_nodearraylist2
;
2704 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2705 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
2706 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
2707 if(var_tkwredefnode3
== NULL
) {
2710 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
2713 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
2716 if (unlikely(!var12
)) {
2717 PRINT_ERROR("Runtime error: %s", "Assert failed");
2718 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3648);
2721 var_pvisibilitynode4
= var_nodearraylist3
;
2722 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2723 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
2724 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
2725 if(var_pvisibilitynode4
== NULL
) {
2728 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
2731 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
2734 if (unlikely(!var15
)) {
2735 PRINT_ERROR("Runtime error: %s", "Assert failed");
2736 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3650);
2739 var_tkwvarnode5
= var_nodearraylist4
;
2740 /* <var_tkwvarnode5:nullable Object> isa nullable TKwvar */
2741 cltype19
= type_nullable_parser_nodes__TKwvar
.color
;
2742 idtype20
= type_nullable_parser_nodes__TKwvar
.id
;
2743 if(var_tkwvarnode5
== NULL
) {
2746 if(cltype19
>= var_tkwvarnode5
->type
->table_size
) {
2749 var18
= var_tkwvarnode5
->type
->type_table
[cltype19
] == idtype20
;
2752 if (unlikely(!var18
)) {
2753 PRINT_ERROR("Runtime error: %s", "Assert failed");
2754 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3652);
2757 var_tidnode6
= var_nodearraylist5
;
2758 /* <var_tidnode6:nullable Object> isa nullable TId */
2759 cltype22
= type_nullable_parser_nodes__TId
.color
;
2760 idtype23
= type_nullable_parser_nodes__TId
.id
;
2761 if(var_tidnode6
== NULL
) {
2764 if(cltype22
>= var_tidnode6
->type
->table_size
) {
2767 var21
= var_tidnode6
->type
->type_table
[cltype22
] == idtype23
;
2770 if (unlikely(!var21
)) {
2771 PRINT_ERROR("Runtime error: %s", "Assert failed");
2772 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3654);
2775 var_ptypenode7
= var_nodearraylist6
;
2776 /* <var_ptypenode7:nullable Object> isa nullable AType */
2777 cltype25
= type_nullable_parser_nodes__AType
.color
;
2778 idtype26
= type_nullable_parser_nodes__AType
.id
;
2779 if(var_ptypenode7
== NULL
) {
2782 if(cltype25
>= var_ptypenode7
->type
->table_size
) {
2785 var24
= var_ptypenode7
->type
->type_table
[cltype25
] == idtype26
;
2788 if (unlikely(!var24
)) {
2789 PRINT_ERROR("Runtime error: %s", "Assert failed");
2790 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3656);
2793 var_pannotationsnode9
= var_nodearraylist7
;
2794 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
2795 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
2796 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
2797 if(var_pannotationsnode9
== NULL
) {
2800 if(cltype28
>= var_pannotationsnode9
->type
->table_size
) {
2803 var27
= var_pannotationsnode9
->type
->type_table
[cltype28
] == idtype29
;
2806 if (unlikely(!var27
)) {
2807 PRINT_ERROR("Runtime error: %s", "Assert failed");
2808 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3658);
2811 var_pexprnode10
= var_nodearraylist9
;
2812 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
2813 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
2814 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
2815 if(var_pexprnode10
== NULL
) {
2818 if(cltype31
>= var_pexprnode10
->type
->table_size
) {
2821 var30
= var_pexprnode10
->type
->type_table
[cltype31
] == idtype32
;
2824 if (unlikely(!var30
)) {
2825 PRINT_ERROR("Runtime error: %s", "Assert failed");
2826 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3660);
2829 var33
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
2832 parser_prod__AAttrPropdef__init_aattrpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwvarnode5
, var_tidnode6
, var_ptypenode7
, var34
, var_pannotationsnode9
, var_pexprnode10
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var33:AAttrPropdef>*/
2834 var_ppropdefnode1
= var33
;
2835 var_node_list
= var_ppropdefnode1
;
2836 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction73> */
2838 var36
= parser_work__Parser__go_to(var_p
, var35
);
2841 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2845 /* method parser#ReduceAction73#action for (self: Object, Parser) */
2846 void VIRTUAL_parser__ReduceAction73__action(val
* self
, val
* p0
) {
2847 parser__ReduceAction73__action(self
, p0
); /* Direct call parser#ReduceAction73#action on <self:Object(ReduceAction73)>*/
2850 /* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */
2851 void parser__ReduceAction74__action(val
* self
, val
* p0
) {
2852 val
* var_p
/* var p: Parser */;
2853 val
* var
/* : null */;
2854 val
* var_node_list
/* var node_list: nullable Object */;
2855 val
* var1
/* : nullable Object */;
2856 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2857 val
* var2
/* : nullable Object */;
2858 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2859 val
* var3
/* : nullable Object */;
2860 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2861 val
* var4
/* : nullable Object */;
2862 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2863 val
* var5
/* : nullable Object */;
2864 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2865 val
* var6
/* : nullable Object */;
2866 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2867 val
* var7
/* : nullable Object */;
2868 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2869 val
* var8
/* : nullable Object */;
2870 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2871 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2872 short int var9
/* : Bool */;
2875 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2876 short int var10
/* : Bool */;
2879 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2880 short int var13
/* : Bool */;
2883 val
* var_tkwinitnode6
/* var tkwinitnode6: nullable Object */;
2884 short int var16
/* : Bool */;
2887 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
2888 short int var19
/* : Bool */;
2891 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
2892 short int var22
/* : Bool */;
2895 val
* var25
/* : AMethPropdef */;
2896 val
* var26
/* : null */;
2897 val
* var27
/* : null */;
2898 val
* var28
/* : null */;
2899 val
* var29
/* : null */;
2900 val
* var30
/* : null */;
2901 val
* var31
/* : null */;
2902 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
2903 long var32
/* : Int */;
2904 long var33
/* : Int */;
2907 var_node_list
= var
;
2909 var1
= parser_work__Parser__pop(var_p
);
2911 var_nodearraylist8
= var1
;
2913 var2
= parser_work__Parser__pop(var_p
);
2915 var_nodearraylist7
= var2
;
2917 var3
= parser_work__Parser__pop(var_p
);
2919 var_nodearraylist6
= var3
;
2921 var4
= parser_work__Parser__pop(var_p
);
2923 var_nodearraylist5
= var4
;
2925 var5
= parser_work__Parser__pop(var_p
);
2927 var_nodearraylist4
= var5
;
2929 var6
= parser_work__Parser__pop(var_p
);
2931 var_nodearraylist3
= var6
;
2933 var7
= parser_work__Parser__pop(var_p
);
2935 var_nodearraylist2
= var7
;
2937 var8
= parser_work__Parser__pop(var_p
);
2939 var_nodearraylist1
= var8
;
2940 var_pdocnode2
= var_nodearraylist1
;
2941 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2942 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2943 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2944 if(var_pdocnode2
== NULL
) {
2947 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2950 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2953 if (unlikely(!var9
)) {
2954 PRINT_ERROR("Runtime error: %s", "Assert failed");
2955 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3690);
2958 var_tkwredefnode3
= var_nodearraylist2
;
2959 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2960 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
2961 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
2962 if(var_tkwredefnode3
== NULL
) {
2965 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
2968 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
2971 if (unlikely(!var10
)) {
2972 PRINT_ERROR("Runtime error: %s", "Assert failed");
2973 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3692);
2976 var_pvisibilitynode4
= var_nodearraylist3
;
2977 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2978 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
2979 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
2980 if(var_pvisibilitynode4
== NULL
) {
2983 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
2986 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
2989 if (unlikely(!var13
)) {
2990 PRINT_ERROR("Runtime error: %s", "Assert failed");
2991 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3694);
2994 var_tkwinitnode6
= var_nodearraylist4
;
2995 /* <var_tkwinitnode6:nullable Object> isa nullable TKwinit */
2996 cltype17
= type_nullable_parser_nodes__TKwinit
.color
;
2997 idtype18
= type_nullable_parser_nodes__TKwinit
.id
;
2998 if(var_tkwinitnode6
== NULL
) {
3001 if(cltype17
>= var_tkwinitnode6
->type
->table_size
) {
3004 var16
= var_tkwinitnode6
->type
->type_table
[cltype17
] == idtype18
;
3007 if (unlikely(!var16
)) {
3008 PRINT_ERROR("Runtime error: %s", "Assert failed");
3009 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3696);
3012 var_psignaturenode9
= var_nodearraylist5
;
3013 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
3014 cltype20
= type_nullable_parser_nodes__ASignature
.color
;
3015 idtype21
= type_nullable_parser_nodes__ASignature
.id
;
3016 if(var_psignaturenode9
== NULL
) {
3019 if(cltype20
>= var_psignaturenode9
->type
->table_size
) {
3022 var19
= var_psignaturenode9
->type
->type_table
[cltype20
] == idtype21
;
3025 if (unlikely(!var19
)) {
3026 PRINT_ERROR("Runtime error: %s", "Assert failed");
3027 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3698);
3030 var_pexprnode13
= var_nodearraylist7
;
3031 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
3032 cltype23
= type_nullable_parser_nodes__AExpr
.color
;
3033 idtype24
= type_nullable_parser_nodes__AExpr
.id
;
3034 if(var_pexprnode13
== NULL
) {
3037 if(cltype23
>= var_pexprnode13
->type
->table_size
) {
3040 var22
= var_pexprnode13
->type
->type_table
[cltype23
] == idtype24
;
3043 if (unlikely(!var22
)) {
3044 PRINT_ERROR("Runtime error: %s", "Assert failed");
3045 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3700);
3048 var25
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
3056 parser_prod__AMethPropdef__init_amethpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var26
, var_tkwinitnode6
, var27
, var28
, var_psignaturenode9
, var29
, var30
, var31
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var25:AMethPropdef>*/
3058 var_ppropdefnode1
= var25
;
3059 var_node_list
= var_ppropdefnode1
;
3060 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction74> */
3062 var33
= parser_work__Parser__go_to(var_p
, var32
);
3065 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3069 /* method parser#ReduceAction74#action for (self: Object, Parser) */
3070 void VIRTUAL_parser__ReduceAction74__action(val
* self
, val
* p0
) {
3071 parser__ReduceAction74__action(self
, p0
); /* Direct call parser#ReduceAction74#action on <self:Object(ReduceAction74)>*/
3074 /* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */
3075 void parser__ReduceAction75__action(val
* self
, val
* p0
) {
3076 val
* var_p
/* var p: Parser */;
3077 val
* var
/* : null */;
3078 val
* var_node_list
/* var node_list: nullable Object */;
3079 val
* var1
/* : nullable Object */;
3080 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3081 val
* var2
/* : nullable Object */;
3082 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3083 val
* var3
/* : nullable Object */;
3084 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3085 val
* var4
/* : nullable Object */;
3086 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3087 val
* var5
/* : nullable Object */;
3088 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3089 val
* var6
/* : nullable Object */;
3090 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3091 val
* var7
/* : nullable Object */;
3092 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3093 val
* var8
/* : nullable Object */;
3094 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3095 val
* var9
/* : nullable Object */;
3096 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3097 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3098 short int var10
/* : Bool */;
3101 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3102 short int var11
/* : Bool */;
3105 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3106 short int var14
/* : Bool */;
3109 val
* var_tkwinitnode6
/* var tkwinitnode6: nullable Object */;
3110 short int var17
/* : Bool */;
3113 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
3114 short int var20
/* : Bool */;
3117 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
3118 short int var23
/* : Bool */;
3121 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
3122 short int var26
/* : Bool */;
3125 val
* var29
/* : AMethPropdef */;
3126 val
* var30
/* : null */;
3127 val
* var31
/* : null */;
3128 val
* var32
/* : null */;
3129 val
* var33
/* : null */;
3130 val
* var34
/* : null */;
3131 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
3132 long var35
/* : Int */;
3133 long var36
/* : Int */;
3136 var_node_list
= var
;
3138 var1
= parser_work__Parser__pop(var_p
);
3140 var_nodearraylist9
= var1
;
3142 var2
= parser_work__Parser__pop(var_p
);
3144 var_nodearraylist8
= var2
;
3146 var3
= parser_work__Parser__pop(var_p
);
3148 var_nodearraylist7
= var3
;
3150 var4
= parser_work__Parser__pop(var_p
);
3152 var_nodearraylist6
= var4
;
3154 var5
= parser_work__Parser__pop(var_p
);
3156 var_nodearraylist5
= var5
;
3158 var6
= parser_work__Parser__pop(var_p
);
3160 var_nodearraylist4
= var6
;
3162 var7
= parser_work__Parser__pop(var_p
);
3164 var_nodearraylist3
= var7
;
3166 var8
= parser_work__Parser__pop(var_p
);
3168 var_nodearraylist2
= var8
;
3170 var9
= parser_work__Parser__pop(var_p
);
3172 var_nodearraylist1
= var9
;
3173 var_pdocnode2
= var_nodearraylist1
;
3174 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3175 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3176 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3177 if(var_pdocnode2
== NULL
) {
3180 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3183 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3186 if (unlikely(!var10
)) {
3187 PRINT_ERROR("Runtime error: %s", "Assert failed");
3188 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3734);
3191 var_tkwredefnode3
= var_nodearraylist2
;
3192 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3193 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
3194 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
3195 if(var_tkwredefnode3
== NULL
) {
3198 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
3201 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
3204 if (unlikely(!var11
)) {
3205 PRINT_ERROR("Runtime error: %s", "Assert failed");
3206 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3736);
3209 var_pvisibilitynode4
= var_nodearraylist3
;
3210 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3211 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
3212 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
3213 if(var_pvisibilitynode4
== NULL
) {
3216 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
3219 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
3222 if (unlikely(!var14
)) {
3223 PRINT_ERROR("Runtime error: %s", "Assert failed");
3224 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3738);
3227 var_tkwinitnode6
= var_nodearraylist4
;
3228 /* <var_tkwinitnode6:nullable Object> isa nullable TKwinit */
3229 cltype18
= type_nullable_parser_nodes__TKwinit
.color
;
3230 idtype19
= type_nullable_parser_nodes__TKwinit
.id
;
3231 if(var_tkwinitnode6
== NULL
) {
3234 if(cltype18
>= var_tkwinitnode6
->type
->table_size
) {
3237 var17
= var_tkwinitnode6
->type
->type_table
[cltype18
] == idtype19
;
3240 if (unlikely(!var17
)) {
3241 PRINT_ERROR("Runtime error: %s", "Assert failed");
3242 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3740);
3245 var_pmethidnode8
= var_nodearraylist5
;
3246 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
3247 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
3248 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
3249 if(var_pmethidnode8
== NULL
) {
3252 if(cltype21
>= var_pmethidnode8
->type
->table_size
) {
3255 var20
= var_pmethidnode8
->type
->type_table
[cltype21
] == idtype22
;
3258 if (unlikely(!var20
)) {
3259 PRINT_ERROR("Runtime error: %s", "Assert failed");
3260 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3742);
3263 var_psignaturenode9
= var_nodearraylist6
;
3264 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
3265 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
3266 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
3267 if(var_psignaturenode9
== NULL
) {
3270 if(cltype24
>= var_psignaturenode9
->type
->table_size
) {
3273 var23
= var_psignaturenode9
->type
->type_table
[cltype24
] == idtype25
;
3276 if (unlikely(!var23
)) {
3277 PRINT_ERROR("Runtime error: %s", "Assert failed");
3278 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3744);
3281 var_pexprnode13
= var_nodearraylist8
;
3282 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
3283 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
3284 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
3285 if(var_pexprnode13
== NULL
) {
3288 if(cltype27
>= var_pexprnode13
->type
->table_size
) {
3291 var26
= var_pexprnode13
->type
->type_table
[cltype27
] == idtype28
;
3294 if (unlikely(!var26
)) {
3295 PRINT_ERROR("Runtime error: %s", "Assert failed");
3296 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3746);
3299 var29
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
3306 parser_prod__AMethPropdef__init_amethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var30
, var_tkwinitnode6
, var31
, var_pmethidnode8
, var_psignaturenode9
, var32
, var33
, var34
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var29:AMethPropdef>*/
3308 var_ppropdefnode1
= var29
;
3309 var_node_list
= var_ppropdefnode1
;
3310 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction75> */
3312 var36
= parser_work__Parser__go_to(var_p
, var35
);
3315 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3319 /* method parser#ReduceAction75#action for (self: Object, Parser) */
3320 void VIRTUAL_parser__ReduceAction75__action(val
* self
, val
* p0
) {
3321 parser__ReduceAction75__action(self
, p0
); /* Direct call parser#ReduceAction75#action on <self:Object(ReduceAction75)>*/
3324 /* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */
3325 void parser__ReduceAction76__action(val
* self
, val
* p0
) {
3326 val
* var_p
/* var p: Parser */;
3327 val
* var
/* : null */;
3328 val
* var_node_list
/* var node_list: nullable Object */;
3329 val
* var1
/* : nullable Object */;
3330 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3331 val
* var2
/* : nullable Object */;
3332 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3333 val
* var3
/* : nullable Object */;
3334 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3335 val
* var4
/* : nullable Object */;
3336 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3337 val
* var5
/* : nullable Object */;
3338 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3339 val
* var6
/* : nullable Object */;
3340 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3341 val
* var7
/* : nullable Object */;
3342 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3343 val
* var8
/* : nullable Object */;
3344 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3345 val
* var9
/* : nullable Object */;
3346 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3347 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3348 short int var10
/* : Bool */;
3351 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3352 short int var11
/* : Bool */;
3355 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3356 short int var14
/* : Bool */;
3359 val
* var_tkwinitnode6
/* var tkwinitnode6: nullable Object */;
3360 short int var17
/* : Bool */;
3363 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
3364 short int var20
/* : Bool */;
3367 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
3368 short int var23
/* : Bool */;
3371 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
3372 short int var26
/* : Bool */;
3375 val
* var29
/* : AMethPropdef */;
3376 val
* var30
/* : null */;
3377 val
* var31
/* : null */;
3378 val
* var32
/* : null */;
3379 val
* var33
/* : null */;
3380 val
* var34
/* : null */;
3381 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
3382 long var35
/* : Int */;
3383 long var36
/* : Int */;
3386 var_node_list
= var
;
3388 var1
= parser_work__Parser__pop(var_p
);
3390 var_nodearraylist9
= var1
;
3392 var2
= parser_work__Parser__pop(var_p
);
3394 var_nodearraylist8
= var2
;
3396 var3
= parser_work__Parser__pop(var_p
);
3398 var_nodearraylist7
= var3
;
3400 var4
= parser_work__Parser__pop(var_p
);
3402 var_nodearraylist6
= var4
;
3404 var5
= parser_work__Parser__pop(var_p
);
3406 var_nodearraylist5
= var5
;
3408 var6
= parser_work__Parser__pop(var_p
);
3410 var_nodearraylist4
= var6
;
3412 var7
= parser_work__Parser__pop(var_p
);
3414 var_nodearraylist3
= var7
;
3416 var8
= parser_work__Parser__pop(var_p
);
3418 var_nodearraylist2
= var8
;
3420 var9
= parser_work__Parser__pop(var_p
);
3422 var_nodearraylist1
= var9
;
3423 var_pdocnode2
= var_nodearraylist1
;
3424 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3425 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3426 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3427 if(var_pdocnode2
== NULL
) {
3430 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3433 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3436 if (unlikely(!var10
)) {
3437 PRINT_ERROR("Runtime error: %s", "Assert failed");
3438 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3780);
3441 var_tkwredefnode3
= var_nodearraylist2
;
3442 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3443 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
3444 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
3445 if(var_tkwredefnode3
== NULL
) {
3448 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
3451 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
3454 if (unlikely(!var11
)) {
3455 PRINT_ERROR("Runtime error: %s", "Assert failed");
3456 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3782);
3459 var_pvisibilitynode4
= var_nodearraylist3
;
3460 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3461 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
3462 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
3463 if(var_pvisibilitynode4
== NULL
) {
3466 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
3469 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
3472 if (unlikely(!var14
)) {
3473 PRINT_ERROR("Runtime error: %s", "Assert failed");
3474 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3784);
3477 var_tkwinitnode6
= var_nodearraylist4
;
3478 /* <var_tkwinitnode6:nullable Object> isa nullable TKwinit */
3479 cltype18
= type_nullable_parser_nodes__TKwinit
.color
;
3480 idtype19
= type_nullable_parser_nodes__TKwinit
.id
;
3481 if(var_tkwinitnode6
== NULL
) {
3484 if(cltype18
>= var_tkwinitnode6
->type
->table_size
) {
3487 var17
= var_tkwinitnode6
->type
->type_table
[cltype18
] == idtype19
;
3490 if (unlikely(!var17
)) {
3491 PRINT_ERROR("Runtime error: %s", "Assert failed");
3492 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3786);
3495 var_psignaturenode9
= var_nodearraylist5
;
3496 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
3497 cltype21
= type_nullable_parser_nodes__ASignature
.color
;
3498 idtype22
= type_nullable_parser_nodes__ASignature
.id
;
3499 if(var_psignaturenode9
== NULL
) {
3502 if(cltype21
>= var_psignaturenode9
->type
->table_size
) {
3505 var20
= var_psignaturenode9
->type
->type_table
[cltype21
] == idtype22
;
3508 if (unlikely(!var20
)) {
3509 PRINT_ERROR("Runtime error: %s", "Assert failed");
3510 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3788);
3513 var_pannotationsnode10
= var_nodearraylist6
;
3514 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
3515 cltype24
= type_nullable_parser_nodes__AAnnotations
.color
;
3516 idtype25
= type_nullable_parser_nodes__AAnnotations
.id
;
3517 if(var_pannotationsnode10
== NULL
) {
3520 if(cltype24
>= var_pannotationsnode10
->type
->table_size
) {
3523 var23
= var_pannotationsnode10
->type
->type_table
[cltype24
] == idtype25
;
3526 if (unlikely(!var23
)) {
3527 PRINT_ERROR("Runtime error: %s", "Assert failed");
3528 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3790);
3531 var_pexprnode13
= var_nodearraylist8
;
3532 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
3533 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
3534 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
3535 if(var_pexprnode13
== NULL
) {
3538 if(cltype27
>= var_pexprnode13
->type
->table_size
) {
3541 var26
= var_pexprnode13
->type
->type_table
[cltype27
] == idtype28
;
3544 if (unlikely(!var26
)) {
3545 PRINT_ERROR("Runtime error: %s", "Assert failed");
3546 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3792);
3549 var29
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
3556 parser_prod__AMethPropdef__init_amethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var30
, var_tkwinitnode6
, var31
, var32
, var_psignaturenode9
, var_pannotationsnode10
, var33
, var34
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var29:AMethPropdef>*/
3558 var_ppropdefnode1
= var29
;
3559 var_node_list
= var_ppropdefnode1
;
3560 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction76> */
3562 var36
= parser_work__Parser__go_to(var_p
, var35
);
3565 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3569 /* method parser#ReduceAction76#action for (self: Object, Parser) */
3570 void VIRTUAL_parser__ReduceAction76__action(val
* self
, val
* p0
) {
3571 parser__ReduceAction76__action(self
, p0
); /* Direct call parser#ReduceAction76#action on <self:Object(ReduceAction76)>*/
3574 /* method parser#ReduceAction77#action for (self: ReduceAction77, Parser) */
3575 void parser__ReduceAction77__action(val
* self
, val
* p0
) {
3576 val
* var_p
/* var p: Parser */;
3577 val
* var
/* : null */;
3578 val
* var_node_list
/* var node_list: nullable Object */;
3579 val
* var1
/* : nullable Object */;
3580 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3581 val
* var2
/* : nullable Object */;
3582 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3583 val
* var3
/* : nullable Object */;
3584 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3585 val
* var4
/* : nullable Object */;
3586 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3587 val
* var5
/* : nullable Object */;
3588 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3589 val
* var6
/* : nullable Object */;
3590 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3591 val
* var7
/* : nullable Object */;
3592 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3593 val
* var8
/* : nullable Object */;
3594 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3595 val
* var9
/* : nullable Object */;
3596 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3597 val
* var10
/* : nullable Object */;
3598 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3599 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3600 short int var11
/* : Bool */;
3603 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3604 short int var12
/* : Bool */;
3607 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3608 short int var15
/* : Bool */;
3611 val
* var_tkwinitnode6
/* var tkwinitnode6: nullable Object */;
3612 short int var18
/* : Bool */;
3615 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
3616 short int var21
/* : Bool */;
3619 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
3620 short int var24
/* : Bool */;
3623 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
3624 short int var27
/* : Bool */;
3627 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
3628 short int var30
/* : Bool */;
3631 val
* var33
/* : AMethPropdef */;
3632 val
* var34
/* : null */;
3633 val
* var35
/* : null */;
3634 val
* var36
/* : null */;
3635 val
* var37
/* : null */;
3636 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
3637 long var38
/* : Int */;
3638 long var39
/* : Int */;
3641 var_node_list
= var
;
3643 var1
= parser_work__Parser__pop(var_p
);
3645 var_nodearraylist10
= var1
;
3647 var2
= parser_work__Parser__pop(var_p
);
3649 var_nodearraylist9
= var2
;
3651 var3
= parser_work__Parser__pop(var_p
);
3653 var_nodearraylist8
= var3
;
3655 var4
= parser_work__Parser__pop(var_p
);
3657 var_nodearraylist7
= var4
;
3659 var5
= parser_work__Parser__pop(var_p
);
3661 var_nodearraylist6
= var5
;
3663 var6
= parser_work__Parser__pop(var_p
);
3665 var_nodearraylist5
= var6
;
3667 var7
= parser_work__Parser__pop(var_p
);
3669 var_nodearraylist4
= var7
;
3671 var8
= parser_work__Parser__pop(var_p
);
3673 var_nodearraylist3
= var8
;
3675 var9
= parser_work__Parser__pop(var_p
);
3677 var_nodearraylist2
= var9
;
3679 var10
= parser_work__Parser__pop(var_p
);
3681 var_nodearraylist1
= var10
;
3682 var_pdocnode2
= var_nodearraylist1
;
3683 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3684 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3685 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3686 if(var_pdocnode2
== NULL
) {
3689 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3692 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3695 if (unlikely(!var11
)) {
3696 PRINT_ERROR("Runtime error: %s", "Assert failed");
3697 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3827);
3700 var_tkwredefnode3
= var_nodearraylist2
;
3701 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3702 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
3703 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
3704 if(var_tkwredefnode3
== NULL
) {
3707 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
3710 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
3713 if (unlikely(!var12
)) {
3714 PRINT_ERROR("Runtime error: %s", "Assert failed");
3715 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3829);
3718 var_pvisibilitynode4
= var_nodearraylist3
;
3719 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3720 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
3721 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
3722 if(var_pvisibilitynode4
== NULL
) {
3725 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
3728 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
3731 if (unlikely(!var15
)) {
3732 PRINT_ERROR("Runtime error: %s", "Assert failed");
3733 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3831);
3736 var_tkwinitnode6
= var_nodearraylist4
;
3737 /* <var_tkwinitnode6:nullable Object> isa nullable TKwinit */
3738 cltype19
= type_nullable_parser_nodes__TKwinit
.color
;
3739 idtype20
= type_nullable_parser_nodes__TKwinit
.id
;
3740 if(var_tkwinitnode6
== NULL
) {
3743 if(cltype19
>= var_tkwinitnode6
->type
->table_size
) {
3746 var18
= var_tkwinitnode6
->type
->type_table
[cltype19
] == idtype20
;
3749 if (unlikely(!var18
)) {
3750 PRINT_ERROR("Runtime error: %s", "Assert failed");
3751 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3833);
3754 var_pmethidnode8
= var_nodearraylist5
;
3755 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
3756 cltype22
= type_nullable_parser_nodes__AMethid
.color
;
3757 idtype23
= type_nullable_parser_nodes__AMethid
.id
;
3758 if(var_pmethidnode8
== NULL
) {
3761 if(cltype22
>= var_pmethidnode8
->type
->table_size
) {
3764 var21
= var_pmethidnode8
->type
->type_table
[cltype22
] == idtype23
;
3767 if (unlikely(!var21
)) {
3768 PRINT_ERROR("Runtime error: %s", "Assert failed");
3769 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3835);
3772 var_psignaturenode9
= var_nodearraylist6
;
3773 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
3774 cltype25
= type_nullable_parser_nodes__ASignature
.color
;
3775 idtype26
= type_nullable_parser_nodes__ASignature
.id
;
3776 if(var_psignaturenode9
== NULL
) {
3779 if(cltype25
>= var_psignaturenode9
->type
->table_size
) {
3782 var24
= var_psignaturenode9
->type
->type_table
[cltype25
] == idtype26
;
3785 if (unlikely(!var24
)) {
3786 PRINT_ERROR("Runtime error: %s", "Assert failed");
3787 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3837);
3790 var_pannotationsnode10
= var_nodearraylist7
;
3791 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
3792 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
3793 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
3794 if(var_pannotationsnode10
== NULL
) {
3797 if(cltype28
>= var_pannotationsnode10
->type
->table_size
) {
3800 var27
= var_pannotationsnode10
->type
->type_table
[cltype28
] == idtype29
;
3803 if (unlikely(!var27
)) {
3804 PRINT_ERROR("Runtime error: %s", "Assert failed");
3805 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3839);
3808 var_pexprnode13
= var_nodearraylist9
;
3809 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
3810 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
3811 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
3812 if(var_pexprnode13
== NULL
) {
3815 if(cltype31
>= var_pexprnode13
->type
->table_size
) {
3818 var30
= var_pexprnode13
->type
->type_table
[cltype31
] == idtype32
;
3821 if (unlikely(!var30
)) {
3822 PRINT_ERROR("Runtime error: %s", "Assert failed");
3823 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3841);
3826 var33
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
3832 parser_prod__AMethPropdef__init_amethpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var34
, var_tkwinitnode6
, var35
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var36
, var37
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var33:AMethPropdef>*/
3834 var_ppropdefnode1
= var33
;
3835 var_node_list
= var_ppropdefnode1
;
3836 var38
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction77> */
3838 var39
= parser_work__Parser__go_to(var_p
, var38
);
3841 parser_work__Parser__push(var_p
, var39
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3845 /* method parser#ReduceAction77#action for (self: Object, Parser) */
3846 void VIRTUAL_parser__ReduceAction77__action(val
* self
, val
* p0
) {
3847 parser__ReduceAction77__action(self
, p0
); /* Direct call parser#ReduceAction77#action on <self:Object(ReduceAction77)>*/
3850 /* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */
3851 void parser__ReduceAction78__action(val
* self
, val
* p0
) {
3852 val
* var_p
/* var p: Parser */;
3853 val
* var
/* : null */;
3854 val
* var_node_list
/* var node_list: nullable Object */;
3855 val
* var1
/* : nullable Object */;
3856 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3857 val
* var2
/* : nullable Object */;
3858 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3859 val
* var3
/* : nullable Object */;
3860 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3861 val
* var4
/* : nullable Object */;
3862 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3863 val
* var5
/* : nullable Object */;
3864 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3865 val
* var6
/* : nullable Object */;
3866 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3867 val
* var7
/* : nullable Object */;
3868 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3869 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3870 short int var8
/* : Bool */;
3873 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3874 short int var9
/* : Bool */;
3877 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3878 short int var12
/* : Bool */;
3881 val
* var_tkwtypenode5
/* var tkwtypenode5: nullable Object */;
3882 short int var15
/* : Bool */;
3885 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3886 short int var18
/* : Bool */;
3889 val
* var_ptypenode7
/* var ptypenode7: nullable Object */;
3890 short int var21
/* : Bool */;
3893 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
3894 short int var24
/* : Bool */;
3897 val
* var27
/* : ATypePropdef */;
3898 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable ATypePropdef */;
3899 long var28
/* : Int */;
3900 long var29
/* : Int */;
3903 var_node_list
= var
;
3905 var1
= parser_work__Parser__pop(var_p
);
3907 var_nodearraylist7
= var1
;
3909 var2
= parser_work__Parser__pop(var_p
);
3911 var_nodearraylist6
= var2
;
3913 var3
= parser_work__Parser__pop(var_p
);
3915 var_nodearraylist5
= var3
;
3917 var4
= parser_work__Parser__pop(var_p
);
3919 var_nodearraylist4
= var4
;
3921 var5
= parser_work__Parser__pop(var_p
);
3923 var_nodearraylist3
= var5
;
3925 var6
= parser_work__Parser__pop(var_p
);
3927 var_nodearraylist2
= var6
;
3929 var7
= parser_work__Parser__pop(var_p
);
3931 var_nodearraylist1
= var7
;
3932 var_pdocnode2
= var_nodearraylist1
;
3933 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3934 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3935 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3936 if(var_pdocnode2
== NULL
) {
3939 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3942 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3945 if (unlikely(!var8
)) {
3946 PRINT_ERROR("Runtime error: %s", "Assert failed");
3947 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3873);
3950 var_tkwredefnode3
= var_nodearraylist2
;
3951 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3952 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
3953 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
3954 if(var_tkwredefnode3
== NULL
) {
3957 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
3960 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
3963 if (unlikely(!var9
)) {
3964 PRINT_ERROR("Runtime error: %s", "Assert failed");
3965 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3875);
3968 var_pvisibilitynode4
= var_nodearraylist3
;
3969 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3970 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
3971 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
3972 if(var_pvisibilitynode4
== NULL
) {
3975 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
3978 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
3981 if (unlikely(!var12
)) {
3982 PRINT_ERROR("Runtime error: %s", "Assert failed");
3983 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3877);
3986 var_tkwtypenode5
= var_nodearraylist4
;
3987 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
3988 cltype16
= type_nullable_parser_nodes__TKwtype
.color
;
3989 idtype17
= type_nullable_parser_nodes__TKwtype
.id
;
3990 if(var_tkwtypenode5
== NULL
) {
3993 if(cltype16
>= var_tkwtypenode5
->type
->table_size
) {
3996 var15
= var_tkwtypenode5
->type
->type_table
[cltype16
] == idtype17
;
3999 if (unlikely(!var15
)) {
4000 PRINT_ERROR("Runtime error: %s", "Assert failed");
4001 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3879);
4004 var_tclassidnode6
= var_nodearraylist5
;
4005 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4006 cltype19
= type_nullable_parser_nodes__TClassid
.color
;
4007 idtype20
= type_nullable_parser_nodes__TClassid
.id
;
4008 if(var_tclassidnode6
== NULL
) {
4011 if(cltype19
>= var_tclassidnode6
->type
->table_size
) {
4014 var18
= var_tclassidnode6
->type
->type_table
[cltype19
] == idtype20
;
4017 if (unlikely(!var18
)) {
4018 PRINT_ERROR("Runtime error: %s", "Assert failed");
4019 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3881);
4022 var_ptypenode7
= var_nodearraylist6
;
4023 /* <var_ptypenode7:nullable Object> isa nullable AType */
4024 cltype22
= type_nullable_parser_nodes__AType
.color
;
4025 idtype23
= type_nullable_parser_nodes__AType
.id
;
4026 if(var_ptypenode7
== NULL
) {
4029 if(cltype22
>= var_ptypenode7
->type
->table_size
) {
4032 var21
= var_ptypenode7
->type
->type_table
[cltype22
] == idtype23
;
4035 if (unlikely(!var21
)) {
4036 PRINT_ERROR("Runtime error: %s", "Assert failed");
4037 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3883);
4040 var_pannotationsnode8
= var_nodearraylist7
;
4041 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
4042 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
4043 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
4044 if(var_pannotationsnode8
== NULL
) {
4047 if(cltype25
>= var_pannotationsnode8
->type
->table_size
) {
4050 var24
= var_pannotationsnode8
->type
->type_table
[cltype25
] == idtype26
;
4053 if (unlikely(!var24
)) {
4054 PRINT_ERROR("Runtime error: %s", "Assert failed");
4055 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3885);
4058 var27
= NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef
);
4060 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>*/
4062 var_ppropdefnode1
= var27
;
4063 var_node_list
= var_ppropdefnode1
;
4064 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction78> */
4066 var29
= parser_work__Parser__go_to(var_p
, var28
);
4069 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4073 /* method parser#ReduceAction78#action for (self: Object, Parser) */
4074 void VIRTUAL_parser__ReduceAction78__action(val
* self
, val
* p0
) {
4075 parser__ReduceAction78__action(self
, p0
); /* Direct call parser#ReduceAction78#action on <self:Object(ReduceAction78)>*/
4078 /* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */
4079 void parser__ReduceAction79__action(val
* self
, val
* p0
) {
4080 val
* var_p
/* var p: Parser */;
4081 val
* var
/* : null */;
4082 val
* var_node_list
/* var node_list: nullable Object */;
4083 val
* var1
/* : nullable Object */;
4084 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4085 val
* var2
/* : nullable Object */;
4086 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4087 val
* var3
/* : nullable Object */;
4088 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4089 val
* var4
/* : nullable Object */;
4090 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4091 val
* var5
/* : nullable Object */;
4092 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4093 val
* var6
/* : nullable Object */;
4094 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4095 val
* var7
/* : nullable Object */;
4096 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4097 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4098 short int var8
/* : Bool */;
4101 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4102 short int var9
/* : Bool */;
4105 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4106 short int var12
/* : Bool */;
4109 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
4110 short int var15
/* : Bool */;
4113 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
4114 short int var18
/* : Bool */;
4117 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
4118 short int var21
/* : Bool */;
4121 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
4122 short int var24
/* : Bool */;
4125 val
* var27
/* : AMethPropdef */;
4126 val
* var28
/* : null */;
4127 val
* var29
/* : null */;
4128 val
* var30
/* : null */;
4129 val
* var31
/* : null */;
4130 val
* var32
/* : null */;
4131 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
4132 long var33
/* : Int */;
4133 long var34
/* : Int */;
4136 var_node_list
= var
;
4138 var1
= parser_work__Parser__pop(var_p
);
4140 var_nodearraylist7
= var1
;
4142 var2
= parser_work__Parser__pop(var_p
);
4144 var_nodearraylist6
= var2
;
4146 var3
= parser_work__Parser__pop(var_p
);
4148 var_nodearraylist5
= var3
;
4150 var4
= parser_work__Parser__pop(var_p
);
4152 var_nodearraylist4
= var4
;
4154 var5
= parser_work__Parser__pop(var_p
);
4156 var_nodearraylist3
= var5
;
4158 var6
= parser_work__Parser__pop(var_p
);
4160 var_nodearraylist2
= var6
;
4162 var7
= parser_work__Parser__pop(var_p
);
4164 var_nodearraylist1
= var7
;
4165 var_pdocnode2
= var_nodearraylist1
;
4166 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4167 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4168 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4169 if(var_pdocnode2
== NULL
) {
4172 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4175 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4178 if (unlikely(!var8
)) {
4179 PRINT_ERROR("Runtime error: %s", "Assert failed");
4180 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3912);
4183 var_tkwredefnode3
= var_nodearraylist2
;
4184 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4185 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
4186 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
4187 if(var_tkwredefnode3
== NULL
) {
4190 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
4193 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
4196 if (unlikely(!var9
)) {
4197 PRINT_ERROR("Runtime error: %s", "Assert failed");
4198 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3914);
4201 var_pvisibilitynode4
= var_nodearraylist3
;
4202 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4203 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
4204 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
4205 if(var_pvisibilitynode4
== NULL
) {
4208 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
4211 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
4214 if (unlikely(!var12
)) {
4215 PRINT_ERROR("Runtime error: %s", "Assert failed");
4216 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3916);
4219 var_tkwnewnode7
= var_nodearraylist4
;
4220 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
4221 cltype16
= type_nullable_parser_nodes__TKwnew
.color
;
4222 idtype17
= type_nullable_parser_nodes__TKwnew
.id
;
4223 if(var_tkwnewnode7
== NULL
) {
4226 if(cltype16
>= var_tkwnewnode7
->type
->table_size
) {
4229 var15
= var_tkwnewnode7
->type
->type_table
[cltype16
] == idtype17
;
4232 if (unlikely(!var15
)) {
4233 PRINT_ERROR("Runtime error: %s", "Assert failed");
4234 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3918);
4237 var_psignaturenode9
= var_nodearraylist5
;
4238 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
4239 cltype19
= type_nullable_parser_nodes__ASignature
.color
;
4240 idtype20
= type_nullable_parser_nodes__ASignature
.id
;
4241 if(var_psignaturenode9
== NULL
) {
4244 if(cltype19
>= var_psignaturenode9
->type
->table_size
) {
4247 var18
= var_psignaturenode9
->type
->type_table
[cltype19
] == idtype20
;
4250 if (unlikely(!var18
)) {
4251 PRINT_ERROR("Runtime error: %s", "Assert failed");
4252 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3920);
4255 var_pexterncallsnode11
= var_nodearraylist6
;
4256 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
4257 cltype22
= type_nullable_parser_nodes__AExternCalls
.color
;
4258 idtype23
= type_nullable_parser_nodes__AExternCalls
.id
;
4259 if(var_pexterncallsnode11
== NULL
) {
4262 if(cltype22
>= var_pexterncallsnode11
->type
->table_size
) {
4265 var21
= var_pexterncallsnode11
->type
->type_table
[cltype22
] == idtype23
;
4268 if (unlikely(!var21
)) {
4269 PRINT_ERROR("Runtime error: %s", "Assert failed");
4270 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3922);
4273 var_pexterncodeblocknode12
= var_nodearraylist7
;
4274 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
4275 cltype25
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4276 idtype26
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4277 if(var_pexterncodeblocknode12
== NULL
) {
4280 if(cltype25
>= var_pexterncodeblocknode12
->type
->table_size
) {
4283 var24
= var_pexterncodeblocknode12
->type
->type_table
[cltype25
] == idtype26
;
4286 if (unlikely(!var24
)) {
4287 PRINT_ERROR("Runtime error: %s", "Assert failed");
4288 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3924);
4291 var27
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
4298 parser_prod__AMethPropdef__init_amethpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var28
, var29
, var_tkwnewnode7
, var30
, var_psignaturenode9
, var31
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var32
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var27:AMethPropdef>*/
4300 var_ppropdefnode1
= var27
;
4301 var_node_list
= var_ppropdefnode1
;
4302 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction79> */
4304 var34
= parser_work__Parser__go_to(var_p
, var33
);
4307 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4311 /* method parser#ReduceAction79#action for (self: Object, Parser) */
4312 void VIRTUAL_parser__ReduceAction79__action(val
* self
, val
* p0
) {
4313 parser__ReduceAction79__action(self
, p0
); /* Direct call parser#ReduceAction79#action on <self:Object(ReduceAction79)>*/
4316 /* method parser#ReduceAction80#action for (self: ReduceAction80, Parser) */
4317 void parser__ReduceAction80__action(val
* self
, val
* p0
) {
4318 val
* var_p
/* var p: Parser */;
4319 val
* var
/* : null */;
4320 val
* var_node_list
/* var node_list: nullable Object */;
4321 val
* var1
/* : nullable Object */;
4322 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4323 val
* var2
/* : nullable Object */;
4324 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4325 val
* var3
/* : nullable Object */;
4326 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4327 val
* var4
/* : nullable Object */;
4328 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4329 val
* var5
/* : nullable Object */;
4330 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4331 val
* var6
/* : nullable Object */;
4332 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4333 val
* var7
/* : nullable Object */;
4334 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4335 val
* var8
/* : nullable Object */;
4336 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4337 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4338 short int var9
/* : Bool */;
4341 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4342 short int var10
/* : Bool */;
4345 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4346 short int var13
/* : Bool */;
4349 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
4350 short int var16
/* : Bool */;
4353 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
4354 short int var19
/* : Bool */;
4357 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
4358 short int var22
/* : Bool */;
4361 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
4362 short int var25
/* : Bool */;
4365 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
4366 short int var28
/* : Bool */;
4369 val
* var31
/* : AMethPropdef */;
4370 val
* var32
/* : null */;
4371 val
* var33
/* : null */;
4372 val
* var34
/* : null */;
4373 val
* var35
/* : null */;
4374 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
4375 long var36
/* : Int */;
4376 long var37
/* : Int */;
4379 var_node_list
= var
;
4381 var1
= parser_work__Parser__pop(var_p
);
4383 var_nodearraylist8
= var1
;
4385 var2
= parser_work__Parser__pop(var_p
);
4387 var_nodearraylist7
= var2
;
4389 var3
= parser_work__Parser__pop(var_p
);
4391 var_nodearraylist6
= var3
;
4393 var4
= parser_work__Parser__pop(var_p
);
4395 var_nodearraylist5
= var4
;
4397 var5
= parser_work__Parser__pop(var_p
);
4399 var_nodearraylist4
= var5
;
4401 var6
= parser_work__Parser__pop(var_p
);
4403 var_nodearraylist3
= var6
;
4405 var7
= parser_work__Parser__pop(var_p
);
4407 var_nodearraylist2
= var7
;
4409 var8
= parser_work__Parser__pop(var_p
);
4411 var_nodearraylist1
= var8
;
4412 var_pdocnode2
= var_nodearraylist1
;
4413 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4414 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4415 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4416 if(var_pdocnode2
== NULL
) {
4419 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4422 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4425 if (unlikely(!var9
)) {
4426 PRINT_ERROR("Runtime error: %s", "Assert failed");
4427 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3957);
4430 var_tkwredefnode3
= var_nodearraylist2
;
4431 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4432 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
4433 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
4434 if(var_tkwredefnode3
== NULL
) {
4437 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
4440 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
4443 if (unlikely(!var10
)) {
4444 PRINT_ERROR("Runtime error: %s", "Assert failed");
4445 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3959);
4448 var_pvisibilitynode4
= var_nodearraylist3
;
4449 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4450 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
4451 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
4452 if(var_pvisibilitynode4
== NULL
) {
4455 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
4458 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
4461 if (unlikely(!var13
)) {
4462 PRINT_ERROR("Runtime error: %s", "Assert failed");
4463 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3961);
4466 var_tkwnewnode7
= var_nodearraylist4
;
4467 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
4468 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
4469 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
4470 if(var_tkwnewnode7
== NULL
) {
4473 if(cltype17
>= var_tkwnewnode7
->type
->table_size
) {
4476 var16
= var_tkwnewnode7
->type
->type_table
[cltype17
] == idtype18
;
4479 if (unlikely(!var16
)) {
4480 PRINT_ERROR("Runtime error: %s", "Assert failed");
4481 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3963);
4484 var_pmethidnode8
= var_nodearraylist5
;
4485 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
4486 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
4487 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
4488 if(var_pmethidnode8
== NULL
) {
4491 if(cltype20
>= var_pmethidnode8
->type
->table_size
) {
4494 var19
= var_pmethidnode8
->type
->type_table
[cltype20
] == idtype21
;
4497 if (unlikely(!var19
)) {
4498 PRINT_ERROR("Runtime error: %s", "Assert failed");
4499 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3965);
4502 var_psignaturenode9
= var_nodearraylist6
;
4503 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
4504 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
4505 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
4506 if(var_psignaturenode9
== NULL
) {
4509 if(cltype23
>= var_psignaturenode9
->type
->table_size
) {
4512 var22
= var_psignaturenode9
->type
->type_table
[cltype23
] == idtype24
;
4515 if (unlikely(!var22
)) {
4516 PRINT_ERROR("Runtime error: %s", "Assert failed");
4517 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3967);
4520 var_pexterncallsnode11
= var_nodearraylist7
;
4521 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
4522 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
4523 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
4524 if(var_pexterncallsnode11
== NULL
) {
4527 if(cltype26
>= var_pexterncallsnode11
->type
->table_size
) {
4530 var25
= var_pexterncallsnode11
->type
->type_table
[cltype26
] == idtype27
;
4533 if (unlikely(!var25
)) {
4534 PRINT_ERROR("Runtime error: %s", "Assert failed");
4535 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3969);
4538 var_pexterncodeblocknode12
= var_nodearraylist8
;
4539 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
4540 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4541 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4542 if(var_pexterncodeblocknode12
== NULL
) {
4545 if(cltype29
>= var_pexterncodeblocknode12
->type
->table_size
) {
4548 var28
= var_pexterncodeblocknode12
->type
->type_table
[cltype29
] == idtype30
;
4551 if (unlikely(!var28
)) {
4552 PRINT_ERROR("Runtime error: %s", "Assert failed");
4553 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3971);
4556 var31
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
4562 parser_prod__AMethPropdef__init_amethpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var32
, var33
, var_tkwnewnode7
, var_pmethidnode8
, var_psignaturenode9
, var34
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var35
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var31:AMethPropdef>*/
4564 var_ppropdefnode1
= var31
;
4565 var_node_list
= var_ppropdefnode1
;
4566 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction80> */
4568 var37
= parser_work__Parser__go_to(var_p
, var36
);
4571 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4575 /* method parser#ReduceAction80#action for (self: Object, Parser) */
4576 void VIRTUAL_parser__ReduceAction80__action(val
* self
, val
* p0
) {
4577 parser__ReduceAction80__action(self
, p0
); /* Direct call parser#ReduceAction80#action on <self:Object(ReduceAction80)>*/
4580 /* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */
4581 void parser__ReduceAction81__action(val
* self
, val
* p0
) {
4582 val
* var_p
/* var p: Parser */;
4583 val
* var
/* : null */;
4584 val
* var_node_list
/* var node_list: nullable Object */;
4585 val
* var1
/* : nullable Object */;
4586 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4587 val
* var2
/* : nullable Object */;
4588 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4589 val
* var3
/* : nullable Object */;
4590 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4591 val
* var4
/* : nullable Object */;
4592 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4593 val
* var5
/* : nullable Object */;
4594 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4595 val
* var6
/* : nullable Object */;
4596 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4597 val
* var7
/* : nullable Object */;
4598 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4599 val
* var8
/* : nullable Object */;
4600 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4601 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4602 short int var9
/* : Bool */;
4605 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4606 short int var10
/* : Bool */;
4609 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4610 short int var13
/* : Bool */;
4613 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
4614 short int var16
/* : Bool */;
4617 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
4618 short int var19
/* : Bool */;
4621 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
4622 short int var22
/* : Bool */;
4625 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
4626 short int var25
/* : Bool */;
4629 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
4630 short int var28
/* : Bool */;
4633 val
* var31
/* : AMethPropdef */;
4634 val
* var32
/* : null */;
4635 val
* var33
/* : null */;
4636 val
* var34
/* : null */;
4637 val
* var35
/* : null */;
4638 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
4639 long var36
/* : Int */;
4640 long var37
/* : Int */;
4643 var_node_list
= var
;
4645 var1
= parser_work__Parser__pop(var_p
);
4647 var_nodearraylist8
= var1
;
4649 var2
= parser_work__Parser__pop(var_p
);
4651 var_nodearraylist7
= var2
;
4653 var3
= parser_work__Parser__pop(var_p
);
4655 var_nodearraylist6
= var3
;
4657 var4
= parser_work__Parser__pop(var_p
);
4659 var_nodearraylist5
= var4
;
4661 var5
= parser_work__Parser__pop(var_p
);
4663 var_nodearraylist4
= var5
;
4665 var6
= parser_work__Parser__pop(var_p
);
4667 var_nodearraylist3
= var6
;
4669 var7
= parser_work__Parser__pop(var_p
);
4671 var_nodearraylist2
= var7
;
4673 var8
= parser_work__Parser__pop(var_p
);
4675 var_nodearraylist1
= var8
;
4676 var_pdocnode2
= var_nodearraylist1
;
4677 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4678 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4679 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4680 if(var_pdocnode2
== NULL
) {
4683 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4686 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4689 if (unlikely(!var9
)) {
4690 PRINT_ERROR("Runtime error: %s", "Assert failed");
4691 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4004);
4694 var_tkwredefnode3
= var_nodearraylist2
;
4695 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4696 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
4697 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
4698 if(var_tkwredefnode3
== NULL
) {
4701 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
4704 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
4707 if (unlikely(!var10
)) {
4708 PRINT_ERROR("Runtime error: %s", "Assert failed");
4709 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4006);
4712 var_pvisibilitynode4
= var_nodearraylist3
;
4713 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4714 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
4715 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
4716 if(var_pvisibilitynode4
== NULL
) {
4719 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
4722 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
4725 if (unlikely(!var13
)) {
4726 PRINT_ERROR("Runtime error: %s", "Assert failed");
4727 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4008);
4730 var_tkwnewnode7
= var_nodearraylist4
;
4731 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
4732 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
4733 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
4734 if(var_tkwnewnode7
== NULL
) {
4737 if(cltype17
>= var_tkwnewnode7
->type
->table_size
) {
4740 var16
= var_tkwnewnode7
->type
->type_table
[cltype17
] == idtype18
;
4743 if (unlikely(!var16
)) {
4744 PRINT_ERROR("Runtime error: %s", "Assert failed");
4745 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4010);
4748 var_psignaturenode9
= var_nodearraylist5
;
4749 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
4750 cltype20
= type_nullable_parser_nodes__ASignature
.color
;
4751 idtype21
= type_nullable_parser_nodes__ASignature
.id
;
4752 if(var_psignaturenode9
== NULL
) {
4755 if(cltype20
>= var_psignaturenode9
->type
->table_size
) {
4758 var19
= var_psignaturenode9
->type
->type_table
[cltype20
] == idtype21
;
4761 if (unlikely(!var19
)) {
4762 PRINT_ERROR("Runtime error: %s", "Assert failed");
4763 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4012);
4766 var_pannotationsnode10
= var_nodearraylist6
;
4767 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
4768 cltype23
= type_nullable_parser_nodes__AAnnotations
.color
;
4769 idtype24
= type_nullable_parser_nodes__AAnnotations
.id
;
4770 if(var_pannotationsnode10
== NULL
) {
4773 if(cltype23
>= var_pannotationsnode10
->type
->table_size
) {
4776 var22
= var_pannotationsnode10
->type
->type_table
[cltype23
] == idtype24
;
4779 if (unlikely(!var22
)) {
4780 PRINT_ERROR("Runtime error: %s", "Assert failed");
4781 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4014);
4784 var_pexterncallsnode11
= var_nodearraylist7
;
4785 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
4786 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
4787 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
4788 if(var_pexterncallsnode11
== NULL
) {
4791 if(cltype26
>= var_pexterncallsnode11
->type
->table_size
) {
4794 var25
= var_pexterncallsnode11
->type
->type_table
[cltype26
] == idtype27
;
4797 if (unlikely(!var25
)) {
4798 PRINT_ERROR("Runtime error: %s", "Assert failed");
4799 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4016);
4802 var_pexterncodeblocknode12
= var_nodearraylist8
;
4803 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
4804 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4805 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4806 if(var_pexterncodeblocknode12
== NULL
) {
4809 if(cltype29
>= var_pexterncodeblocknode12
->type
->table_size
) {
4812 var28
= var_pexterncodeblocknode12
->type
->type_table
[cltype29
] == idtype30
;
4815 if (unlikely(!var28
)) {
4816 PRINT_ERROR("Runtime error: %s", "Assert failed");
4817 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4018);
4820 var31
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
4826 parser_prod__AMethPropdef__init_amethpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var32
, var33
, var_tkwnewnode7
, var34
, var_psignaturenode9
, var_pannotationsnode10
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var35
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var31:AMethPropdef>*/
4828 var_ppropdefnode1
= var31
;
4829 var_node_list
= var_ppropdefnode1
;
4830 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction81> */
4832 var37
= parser_work__Parser__go_to(var_p
, var36
);
4835 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4839 /* method parser#ReduceAction81#action for (self: Object, Parser) */
4840 void VIRTUAL_parser__ReduceAction81__action(val
* self
, val
* p0
) {
4841 parser__ReduceAction81__action(self
, p0
); /* Direct call parser#ReduceAction81#action on <self:Object(ReduceAction81)>*/
4844 /* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */
4845 void parser__ReduceAction82__action(val
* self
, val
* p0
) {
4846 val
* var_p
/* var p: Parser */;
4847 val
* var
/* : null */;
4848 val
* var_node_list
/* var node_list: nullable Object */;
4849 val
* var1
/* : nullable Object */;
4850 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4851 val
* var2
/* : nullable Object */;
4852 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4853 val
* var3
/* : nullable Object */;
4854 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4855 val
* var4
/* : nullable Object */;
4856 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4857 val
* var5
/* : nullable Object */;
4858 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4859 val
* var6
/* : nullable Object */;
4860 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4861 val
* var7
/* : nullable Object */;
4862 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4863 val
* var8
/* : nullable Object */;
4864 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4865 val
* var9
/* : nullable Object */;
4866 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4867 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4868 short int var10
/* : Bool */;
4871 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4872 short int var11
/* : Bool */;
4875 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4876 short int var14
/* : Bool */;
4879 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
4880 short int var17
/* : Bool */;
4883 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
4884 short int var20
/* : Bool */;
4887 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
4888 short int var23
/* : Bool */;
4891 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
4892 short int var26
/* : Bool */;
4895 val
* var_pexterncallsnode11
/* var pexterncallsnode11: nullable Object */;
4896 short int var29
/* : Bool */;
4899 val
* var_pexterncodeblocknode12
/* var pexterncodeblocknode12: nullable Object */;
4900 short int var32
/* : Bool */;
4903 val
* var35
/* : AMethPropdef */;
4904 val
* var36
/* : null */;
4905 val
* var37
/* : null */;
4906 val
* var38
/* : null */;
4907 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
4908 long var39
/* : Int */;
4909 long var40
/* : Int */;
4912 var_node_list
= var
;
4914 var1
= parser_work__Parser__pop(var_p
);
4916 var_nodearraylist9
= var1
;
4918 var2
= parser_work__Parser__pop(var_p
);
4920 var_nodearraylist8
= var2
;
4922 var3
= parser_work__Parser__pop(var_p
);
4924 var_nodearraylist7
= var3
;
4926 var4
= parser_work__Parser__pop(var_p
);
4928 var_nodearraylist6
= var4
;
4930 var5
= parser_work__Parser__pop(var_p
);
4932 var_nodearraylist5
= var5
;
4934 var6
= parser_work__Parser__pop(var_p
);
4936 var_nodearraylist4
= var6
;
4938 var7
= parser_work__Parser__pop(var_p
);
4940 var_nodearraylist3
= var7
;
4942 var8
= parser_work__Parser__pop(var_p
);
4944 var_nodearraylist2
= var8
;
4946 var9
= parser_work__Parser__pop(var_p
);
4948 var_nodearraylist1
= var9
;
4949 var_pdocnode2
= var_nodearraylist1
;
4950 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4951 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4952 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4953 if(var_pdocnode2
== NULL
) {
4956 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4959 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4962 if (unlikely(!var10
)) {
4963 PRINT_ERROR("Runtime error: %s", "Assert failed");
4964 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4052);
4967 var_tkwredefnode3
= var_nodearraylist2
;
4968 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4969 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
4970 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
4971 if(var_tkwredefnode3
== NULL
) {
4974 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
4977 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
4980 if (unlikely(!var11
)) {
4981 PRINT_ERROR("Runtime error: %s", "Assert failed");
4982 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4054);
4985 var_pvisibilitynode4
= var_nodearraylist3
;
4986 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4987 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
4988 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
4989 if(var_pvisibilitynode4
== NULL
) {
4992 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
4995 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
4998 if (unlikely(!var14
)) {
4999 PRINT_ERROR("Runtime error: %s", "Assert failed");
5000 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4056);
5003 var_tkwnewnode7
= var_nodearraylist4
;
5004 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
5005 cltype18
= type_nullable_parser_nodes__TKwnew
.color
;
5006 idtype19
= type_nullable_parser_nodes__TKwnew
.id
;
5007 if(var_tkwnewnode7
== NULL
) {
5010 if(cltype18
>= var_tkwnewnode7
->type
->table_size
) {
5013 var17
= var_tkwnewnode7
->type
->type_table
[cltype18
] == idtype19
;
5016 if (unlikely(!var17
)) {
5017 PRINT_ERROR("Runtime error: %s", "Assert failed");
5018 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4058);
5021 var_pmethidnode8
= var_nodearraylist5
;
5022 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
5023 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
5024 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
5025 if(var_pmethidnode8
== NULL
) {
5028 if(cltype21
>= var_pmethidnode8
->type
->table_size
) {
5031 var20
= var_pmethidnode8
->type
->type_table
[cltype21
] == idtype22
;
5034 if (unlikely(!var20
)) {
5035 PRINT_ERROR("Runtime error: %s", "Assert failed");
5036 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4060);
5039 var_psignaturenode9
= var_nodearraylist6
;
5040 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
5041 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
5042 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
5043 if(var_psignaturenode9
== NULL
) {
5046 if(cltype24
>= var_psignaturenode9
->type
->table_size
) {
5049 var23
= var_psignaturenode9
->type
->type_table
[cltype24
] == idtype25
;
5052 if (unlikely(!var23
)) {
5053 PRINT_ERROR("Runtime error: %s", "Assert failed");
5054 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4062);
5057 var_pannotationsnode10
= var_nodearraylist7
;
5058 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
5059 cltype27
= type_nullable_parser_nodes__AAnnotations
.color
;
5060 idtype28
= type_nullable_parser_nodes__AAnnotations
.id
;
5061 if(var_pannotationsnode10
== NULL
) {
5064 if(cltype27
>= var_pannotationsnode10
->type
->table_size
) {
5067 var26
= var_pannotationsnode10
->type
->type_table
[cltype27
] == idtype28
;
5070 if (unlikely(!var26
)) {
5071 PRINT_ERROR("Runtime error: %s", "Assert failed");
5072 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4064);
5075 var_pexterncallsnode11
= var_nodearraylist8
;
5076 /* <var_pexterncallsnode11:nullable Object> isa nullable AExternCalls */
5077 cltype30
= type_nullable_parser_nodes__AExternCalls
.color
;
5078 idtype31
= type_nullable_parser_nodes__AExternCalls
.id
;
5079 if(var_pexterncallsnode11
== NULL
) {
5082 if(cltype30
>= var_pexterncallsnode11
->type
->table_size
) {
5085 var29
= var_pexterncallsnode11
->type
->type_table
[cltype30
] == idtype31
;
5088 if (unlikely(!var29
)) {
5089 PRINT_ERROR("Runtime error: %s", "Assert failed");
5090 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4066);
5093 var_pexterncodeblocknode12
= var_nodearraylist9
;
5094 /* <var_pexterncodeblocknode12:nullable Object> isa nullable AExternCodeBlock */
5095 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5096 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5097 if(var_pexterncodeblocknode12
== NULL
) {
5100 if(cltype33
>= var_pexterncodeblocknode12
->type
->table_size
) {
5103 var32
= var_pexterncodeblocknode12
->type
->type_table
[cltype33
] == idtype34
;
5106 if (unlikely(!var32
)) {
5107 PRINT_ERROR("Runtime error: %s", "Assert failed");
5108 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4068);
5111 var35
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
5116 parser_prod__AMethPropdef__init_amethpropdef(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var36
, var37
, var_tkwnewnode7
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var_pexterncallsnode11
, var_pexterncodeblocknode12
, var38
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var35:AMethPropdef>*/
5118 var_ppropdefnode1
= var35
;
5119 var_node_list
= var_ppropdefnode1
;
5120 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction82> */
5122 var40
= parser_work__Parser__go_to(var_p
, var39
);
5125 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5129 /* method parser#ReduceAction82#action for (self: Object, Parser) */
5130 void VIRTUAL_parser__ReduceAction82__action(val
* self
, val
* p0
) {
5131 parser__ReduceAction82__action(self
, p0
); /* Direct call parser#ReduceAction82#action on <self:Object(ReduceAction82)>*/
5134 /* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */
5135 void parser__ReduceAction83__action(val
* self
, val
* p0
) {
5136 val
* var_p
/* var p: Parser */;
5137 val
* var
/* : null */;
5138 val
* var_node_list
/* var node_list: nullable Object */;
5139 val
* var1
/* : nullable Object */;
5140 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5141 val
* var2
/* : nullable Object */;
5142 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5143 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5144 long var3
/* : Int */;
5145 long var4
/* : Int */;
5148 var_node_list
= var
;
5150 var1
= parser_work__Parser__pop(var_p
);
5152 var_nodearraylist2
= var1
;
5154 var2
= parser_work__Parser__pop(var_p
);
5156 var_nodearraylist1
= var2
;
5157 var_pannotationsnode1
= var_nodearraylist2
;
5158 var_node_list
= var_pannotationsnode1
;
5159 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction83> */
5161 var4
= parser_work__Parser__go_to(var_p
, var3
);
5164 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5168 /* method parser#ReduceAction83#action for (self: Object, Parser) */
5169 void VIRTUAL_parser__ReduceAction83__action(val
* self
, val
* p0
) {
5170 parser__ReduceAction83__action(self
, p0
); /* Direct call parser#ReduceAction83#action on <self:Object(ReduceAction83)>*/
5173 /* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */
5174 void parser__ReduceAction84__action(val
* self
, val
* p0
) {
5175 val
* var_p
/* var p: Parser */;
5176 val
* var
/* : null */;
5177 val
* var_node_list
/* var node_list: nullable Object */;
5178 val
* var1
/* : nullable Object */;
5179 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5180 val
* var2
/* : nullable Object */;
5181 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5182 val
* var3
/* : nullable Object */;
5183 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5184 val
* var4
/* : nullable Object */;
5185 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5186 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5187 long var5
/* : Int */;
5188 long var6
/* : Int */;
5191 var_node_list
= var
;
5193 var1
= parser_work__Parser__pop(var_p
);
5195 var_nodearraylist4
= var1
;
5197 var2
= parser_work__Parser__pop(var_p
);
5199 var_nodearraylist3
= var2
;
5201 var3
= parser_work__Parser__pop(var_p
);
5203 var_nodearraylist2
= var3
;
5205 var4
= parser_work__Parser__pop(var_p
);
5207 var_nodearraylist1
= var4
;
5208 var_pannotationsnode1
= var_nodearraylist3
;
5209 var_node_list
= var_pannotationsnode1
;
5210 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction84> */
5212 var6
= parser_work__Parser__go_to(var_p
, var5
);
5215 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5219 /* method parser#ReduceAction84#action for (self: Object, Parser) */
5220 void VIRTUAL_parser__ReduceAction84__action(val
* self
, val
* p0
) {
5221 parser__ReduceAction84__action(self
, p0
); /* Direct call parser#ReduceAction84#action on <self:Object(ReduceAction84)>*/
5224 /* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */
5225 void parser__ReduceAction87__action(val
* self
, val
* p0
) {
5226 val
* var_p
/* var p: Parser */;
5227 val
* var
/* : null */;
5228 val
* var_node_list
/* var node_list: nullable Object */;
5229 val
* var1
/* : nullable Object */;
5230 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5231 val
* var2
/* : nullable Object */;
5232 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5233 val
* var3
/* : nullable Object */;
5234 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5235 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
5236 long var4
/* : Int */;
5237 long var5
/* : Int */;
5240 var_node_list
= var
;
5242 var1
= parser_work__Parser__pop(var_p
);
5244 var_nodearraylist3
= var1
;
5246 var2
= parser_work__Parser__pop(var_p
);
5248 var_nodearraylist2
= var2
;
5250 var3
= parser_work__Parser__pop(var_p
);
5252 var_nodearraylist1
= var3
;
5253 var_pannotationsnode1
= var_nodearraylist3
;
5254 var_node_list
= var_pannotationsnode1
;
5255 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction87> */
5257 var5
= parser_work__Parser__go_to(var_p
, var4
);
5260 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5264 /* method parser#ReduceAction87#action for (self: Object, Parser) */
5265 void VIRTUAL_parser__ReduceAction87__action(val
* self
, val
* p0
) {
5266 parser__ReduceAction87__action(self
, p0
); /* Direct call parser#ReduceAction87#action on <self:Object(ReduceAction87)>*/
5269 /* method parser#ReduceAction88#action for (self: ReduceAction88, Parser) */
5270 void parser__ReduceAction88__action(val
* self
, val
* p0
) {
5271 val
* var_p
/* var p: Parser */;
5272 val
* var
/* : null */;
5273 val
* var_node_list
/* var node_list: nullable Object */;
5274 val
* var1
/* : APublicVisibility */;
5275 val
* var2
/* : null */;
5276 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APublicVisibility */;
5277 long var3
/* : Int */;
5278 long var4
/* : Int */;
5281 var_node_list
= var
;
5282 var1
= NEW_parser_nodes__APublicVisibility(&type_parser_nodes__APublicVisibility
);
5285 parser_prod__APublicVisibility__init_apublicvisibility(var1
, var2
); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on <var1:APublicVisibility>*/
5287 var_pvisibilitynode1
= var1
;
5288 var_node_list
= var_pvisibilitynode1
;
5289 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction88> */
5291 var4
= parser_work__Parser__go_to(var_p
, var3
);
5294 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5298 /* method parser#ReduceAction88#action for (self: Object, Parser) */
5299 void VIRTUAL_parser__ReduceAction88__action(val
* self
, val
* p0
) {
5300 parser__ReduceAction88__action(self
, p0
); /* Direct call parser#ReduceAction88#action on <self:Object(ReduceAction88)>*/
5303 /* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */
5304 void parser__ReduceAction89__action(val
* self
, val
* p0
) {
5305 val
* var_p
/* var p: Parser */;
5306 val
* var
/* : null */;
5307 val
* var_node_list
/* var node_list: nullable Object */;
5308 val
* var1
/* : nullable Object */;
5309 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5310 val
* var2
/* : nullable Object */;
5311 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5312 val
* var_tkwpublicnode2
/* var tkwpublicnode2: nullable Object */;
5313 short int var3
/* : Bool */;
5316 val
* var4
/* : APublicVisibility */;
5317 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APublicVisibility */;
5318 long var5
/* : Int */;
5319 long var6
/* : Int */;
5322 var_node_list
= var
;
5324 var1
= parser_work__Parser__pop(var_p
);
5326 var_nodearraylist2
= var1
;
5328 var2
= parser_work__Parser__pop(var_p
);
5330 var_nodearraylist1
= var2
;
5331 var_tkwpublicnode2
= var_nodearraylist1
;
5332 /* <var_tkwpublicnode2:nullable Object> isa nullable TKwpublic */
5333 cltype
= type_nullable_parser_nodes__TKwpublic
.color
;
5334 idtype
= type_nullable_parser_nodes__TKwpublic
.id
;
5335 if(var_tkwpublicnode2
== NULL
) {
5338 if(cltype
>= var_tkwpublicnode2
->type
->table_size
) {
5341 var3
= var_tkwpublicnode2
->type
->type_table
[cltype
] == idtype
;
5344 if (unlikely(!var3
)) {
5345 PRINT_ERROR("Runtime error: %s", "Assert failed");
5346 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4146);
5349 var4
= NEW_parser_nodes__APublicVisibility(&type_parser_nodes__APublicVisibility
);
5351 parser_prod__APublicVisibility__init_apublicvisibility(var4
, var_tkwpublicnode2
); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on <var4:APublicVisibility>*/
5353 var_pvisibilitynode1
= var4
;
5354 var_node_list
= var_pvisibilitynode1
;
5355 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction89> */
5357 var6
= parser_work__Parser__go_to(var_p
, var5
);
5360 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5364 /* method parser#ReduceAction89#action for (self: Object, Parser) */
5365 void VIRTUAL_parser__ReduceAction89__action(val
* self
, val
* p0
) {
5366 parser__ReduceAction89__action(self
, p0
); /* Direct call parser#ReduceAction89#action on <self:Object(ReduceAction89)>*/
5369 /* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */
5370 void parser__ReduceAction90__action(val
* self
, val
* p0
) {
5371 val
* var_p
/* var p: Parser */;
5372 val
* var
/* : null */;
5373 val
* var_node_list
/* var node_list: nullable Object */;
5374 val
* var1
/* : nullable Object */;
5375 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5376 val
* var2
/* : nullable Object */;
5377 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5378 val
* var_tkwprivatenode2
/* var tkwprivatenode2: nullable Object */;
5379 short int var3
/* : Bool */;
5382 val
* var4
/* : APrivateVisibility */;
5383 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable APrivateVisibility */;
5384 long var5
/* : Int */;
5385 long var6
/* : Int */;
5388 var_node_list
= var
;
5390 var1
= parser_work__Parser__pop(var_p
);
5392 var_nodearraylist2
= var1
;
5394 var2
= parser_work__Parser__pop(var_p
);
5396 var_nodearraylist1
= var2
;
5397 var_tkwprivatenode2
= var_nodearraylist1
;
5398 /* <var_tkwprivatenode2:nullable Object> isa nullable TKwprivate */
5399 cltype
= type_nullable_parser_nodes__TKwprivate
.color
;
5400 idtype
= type_nullable_parser_nodes__TKwprivate
.id
;
5401 if(var_tkwprivatenode2
== NULL
) {
5404 if(cltype
>= var_tkwprivatenode2
->type
->table_size
) {
5407 var3
= var_tkwprivatenode2
->type
->type_table
[cltype
] == idtype
;
5410 if (unlikely(!var3
)) {
5411 PRINT_ERROR("Runtime error: %s", "Assert failed");
5412 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4162);
5415 var4
= NEW_parser_nodes__APrivateVisibility(&type_parser_nodes__APrivateVisibility
);
5417 parser_prod__APrivateVisibility__init_aprivatevisibility(var4
, var_tkwprivatenode2
); /* Direct call parser_prod#APrivateVisibility#init_aprivatevisibility on <var4:APrivateVisibility>*/
5419 var_pvisibilitynode1
= var4
;
5420 var_node_list
= var_pvisibilitynode1
;
5421 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction90> */
5423 var6
= parser_work__Parser__go_to(var_p
, var5
);
5426 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5430 /* method parser#ReduceAction90#action for (self: Object, Parser) */
5431 void VIRTUAL_parser__ReduceAction90__action(val
* self
, val
* p0
) {
5432 parser__ReduceAction90__action(self
, p0
); /* Direct call parser#ReduceAction90#action on <self:Object(ReduceAction90)>*/
5435 /* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */
5436 void parser__ReduceAction91__action(val
* self
, val
* p0
) {
5437 val
* var_p
/* var p: Parser */;
5438 val
* var
/* : null */;
5439 val
* var_node_list
/* var node_list: nullable Object */;
5440 val
* var1
/* : nullable Object */;
5441 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5442 val
* var2
/* : nullable Object */;
5443 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5444 val
* var_tkwprotectednode2
/* var tkwprotectednode2: nullable Object */;
5445 short int var3
/* : Bool */;
5448 val
* var4
/* : AProtectedVisibility */;
5449 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable AProtectedVisibility */;
5450 long var5
/* : Int */;
5451 long var6
/* : Int */;
5454 var_node_list
= var
;
5456 var1
= parser_work__Parser__pop(var_p
);
5458 var_nodearraylist2
= var1
;
5460 var2
= parser_work__Parser__pop(var_p
);
5462 var_nodearraylist1
= var2
;
5463 var_tkwprotectednode2
= var_nodearraylist1
;
5464 /* <var_tkwprotectednode2:nullable Object> isa nullable TKwprotected */
5465 cltype
= type_nullable_parser_nodes__TKwprotected
.color
;
5466 idtype
= type_nullable_parser_nodes__TKwprotected
.id
;
5467 if(var_tkwprotectednode2
== NULL
) {
5470 if(cltype
>= var_tkwprotectednode2
->type
->table_size
) {
5473 var3
= var_tkwprotectednode2
->type
->type_table
[cltype
] == idtype
;
5476 if (unlikely(!var3
)) {
5477 PRINT_ERROR("Runtime error: %s", "Assert failed");
5478 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4178);
5481 var4
= NEW_parser_nodes__AProtectedVisibility(&type_parser_nodes__AProtectedVisibility
);
5483 parser_prod__AProtectedVisibility__init_aprotectedvisibility(var4
, var_tkwprotectednode2
); /* Direct call parser_prod#AProtectedVisibility#init_aprotectedvisibility on <var4:AProtectedVisibility>*/
5485 var_pvisibilitynode1
= var4
;
5486 var_node_list
= var_pvisibilitynode1
;
5487 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction91> */
5489 var6
= parser_work__Parser__go_to(var_p
, var5
);
5492 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5496 /* method parser#ReduceAction91#action for (self: Object, Parser) */
5497 void VIRTUAL_parser__ReduceAction91__action(val
* self
, val
* p0
) {
5498 parser__ReduceAction91__action(self
, p0
); /* Direct call parser#ReduceAction91#action on <self:Object(ReduceAction91)>*/
5501 /* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */
5502 void parser__ReduceAction92__action(val
* self
, val
* p0
) {
5503 val
* var_p
/* var p: Parser */;
5504 val
* var
/* : null */;
5505 val
* var_node_list
/* var node_list: nullable Object */;
5506 val
* var1
/* : nullable Object */;
5507 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5508 val
* var2
/* : nullable Object */;
5509 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5510 val
* var_tkwintrudenode2
/* var tkwintrudenode2: nullable Object */;
5511 short int var3
/* : Bool */;
5514 val
* var4
/* : AIntrudeVisibility */;
5515 val
* var_pvisibilitynode1
/* var pvisibilitynode1: nullable AIntrudeVisibility */;
5516 long var5
/* : Int */;
5517 long var6
/* : Int */;
5520 var_node_list
= var
;
5522 var1
= parser_work__Parser__pop(var_p
);
5524 var_nodearraylist2
= var1
;
5526 var2
= parser_work__Parser__pop(var_p
);
5528 var_nodearraylist1
= var2
;
5529 var_tkwintrudenode2
= var_nodearraylist1
;
5530 /* <var_tkwintrudenode2:nullable Object> isa nullable TKwintrude */
5531 cltype
= type_nullable_parser_nodes__TKwintrude
.color
;
5532 idtype
= type_nullable_parser_nodes__TKwintrude
.id
;
5533 if(var_tkwintrudenode2
== NULL
) {
5536 if(cltype
>= var_tkwintrudenode2
->type
->table_size
) {
5539 var3
= var_tkwintrudenode2
->type
->type_table
[cltype
] == idtype
;
5542 if (unlikely(!var3
)) {
5543 PRINT_ERROR("Runtime error: %s", "Assert failed");
5544 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4194);
5547 var4
= NEW_parser_nodes__AIntrudeVisibility(&type_parser_nodes__AIntrudeVisibility
);
5549 parser_prod__AIntrudeVisibility__init_aintrudevisibility(var4
, var_tkwintrudenode2
); /* Direct call parser_prod#AIntrudeVisibility#init_aintrudevisibility on <var4:AIntrudeVisibility>*/
5551 var_pvisibilitynode1
= var4
;
5552 var_node_list
= var_pvisibilitynode1
;
5553 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction92> */
5555 var6
= parser_work__Parser__go_to(var_p
, var5
);
5558 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5562 /* method parser#ReduceAction92#action for (self: Object, Parser) */
5563 void VIRTUAL_parser__ReduceAction92__action(val
* self
, val
* p0
) {
5564 parser__ReduceAction92__action(self
, p0
); /* Direct call parser#ReduceAction92#action on <self:Object(ReduceAction92)>*/
5567 /* method parser#ReduceAction93#action for (self: ReduceAction93, Parser) */
5568 void parser__ReduceAction93__action(val
* self
, val
* p0
) {
5569 val
* var_p
/* var p: Parser */;
5570 val
* var
/* : null */;
5571 val
* var_node_list
/* var node_list: nullable Object */;
5572 val
* var1
/* : nullable Object */;
5573 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5574 val
* var_tplusnode2
/* var tplusnode2: nullable Object */;
5575 short int var2
/* : Bool */;
5578 val
* var3
/* : APlusMethid */;
5579 val
* var_pmethidnode1
/* var pmethidnode1: nullable APlusMethid */;
5580 long var4
/* : Int */;
5581 long var5
/* : Int */;
5584 var_node_list
= var
;
5586 var1
= parser_work__Parser__pop(var_p
);
5588 var_nodearraylist1
= var1
;
5589 var_tplusnode2
= var_nodearraylist1
;
5590 /* <var_tplusnode2:nullable Object> isa nullable TPlus */
5591 cltype
= type_nullable_parser_nodes__TPlus
.color
;
5592 idtype
= type_nullable_parser_nodes__TPlus
.id
;
5593 if(var_tplusnode2
== NULL
) {
5596 if(cltype
>= var_tplusnode2
->type
->table_size
) {
5599 var2
= var_tplusnode2
->type
->type_table
[cltype
] == idtype
;
5602 if (unlikely(!var2
)) {
5603 PRINT_ERROR("Runtime error: %s", "Assert failed");
5604 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4209);
5607 var3
= NEW_parser_nodes__APlusMethid(&type_parser_nodes__APlusMethid
);
5609 parser_prod__APlusMethid__init_aplusmethid(var3
, var_tplusnode2
); /* Direct call parser_prod#APlusMethid#init_aplusmethid on <var3:APlusMethid>*/
5611 var_pmethidnode1
= var3
;
5612 var_node_list
= var_pmethidnode1
;
5613 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction93> */
5615 var5
= parser_work__Parser__go_to(var_p
, var4
);
5618 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5622 /* method parser#ReduceAction93#action for (self: Object, Parser) */
5623 void VIRTUAL_parser__ReduceAction93__action(val
* self
, val
* p0
) {
5624 parser__ReduceAction93__action(self
, p0
); /* Direct call parser#ReduceAction93#action on <self:Object(ReduceAction93)>*/
5627 /* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */
5628 void parser__ReduceAction94__action(val
* self
, val
* p0
) {
5629 val
* var_p
/* var p: Parser */;
5630 val
* var
/* : null */;
5631 val
* var_node_list
/* var node_list: nullable Object */;
5632 val
* var1
/* : nullable Object */;
5633 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5634 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
5635 short int var2
/* : Bool */;
5638 val
* var3
/* : AMinusMethid */;
5639 val
* var_pmethidnode1
/* var pmethidnode1: nullable AMinusMethid */;
5640 long var4
/* : Int */;
5641 long var5
/* : Int */;
5644 var_node_list
= var
;
5646 var1
= parser_work__Parser__pop(var_p
);
5648 var_nodearraylist1
= var1
;
5649 var_tminusnode2
= var_nodearraylist1
;
5650 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
5651 cltype
= type_nullable_parser_nodes__TMinus
.color
;
5652 idtype
= type_nullable_parser_nodes__TMinus
.id
;
5653 if(var_tminusnode2
== NULL
) {
5656 if(cltype
>= var_tminusnode2
->type
->table_size
) {
5659 var2
= var_tminusnode2
->type
->type_table
[cltype
] == idtype
;
5662 if (unlikely(!var2
)) {
5663 PRINT_ERROR("Runtime error: %s", "Assert failed");
5664 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4224);
5667 var3
= NEW_parser_nodes__AMinusMethid(&type_parser_nodes__AMinusMethid
);
5669 parser_prod__AMinusMethid__init_aminusmethid(var3
, var_tminusnode2
); /* Direct call parser_prod#AMinusMethid#init_aminusmethid on <var3:AMinusMethid>*/
5671 var_pmethidnode1
= var3
;
5672 var_node_list
= var_pmethidnode1
;
5673 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction94> */
5675 var5
= parser_work__Parser__go_to(var_p
, var4
);
5678 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5682 /* method parser#ReduceAction94#action for (self: Object, Parser) */
5683 void VIRTUAL_parser__ReduceAction94__action(val
* self
, val
* p0
) {
5684 parser__ReduceAction94__action(self
, p0
); /* Direct call parser#ReduceAction94#action on <self:Object(ReduceAction94)>*/
5687 /* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */
5688 void parser__ReduceAction95__action(val
* self
, val
* p0
) {
5689 val
* var_p
/* var p: Parser */;
5690 val
* var
/* : null */;
5691 val
* var_node_list
/* var node_list: nullable Object */;
5692 val
* var1
/* : nullable Object */;
5693 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5694 val
* var_tstarnode2
/* var tstarnode2: nullable Object */;
5695 short int var2
/* : Bool */;
5698 val
* var3
/* : AStarMethid */;
5699 val
* var_pmethidnode1
/* var pmethidnode1: nullable AStarMethid */;
5700 long var4
/* : Int */;
5701 long var5
/* : Int */;
5704 var_node_list
= var
;
5706 var1
= parser_work__Parser__pop(var_p
);
5708 var_nodearraylist1
= var1
;
5709 var_tstarnode2
= var_nodearraylist1
;
5710 /* <var_tstarnode2:nullable Object> isa nullable TStar */
5711 cltype
= type_nullable_parser_nodes__TStar
.color
;
5712 idtype
= type_nullable_parser_nodes__TStar
.id
;
5713 if(var_tstarnode2
== NULL
) {
5716 if(cltype
>= var_tstarnode2
->type
->table_size
) {
5719 var2
= var_tstarnode2
->type
->type_table
[cltype
] == idtype
;
5722 if (unlikely(!var2
)) {
5723 PRINT_ERROR("Runtime error: %s", "Assert failed");
5724 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4239);
5727 var3
= NEW_parser_nodes__AStarMethid(&type_parser_nodes__AStarMethid
);
5729 parser_prod__AStarMethid__init_astarmethid(var3
, var_tstarnode2
); /* Direct call parser_prod#AStarMethid#init_astarmethid on <var3:AStarMethid>*/
5731 var_pmethidnode1
= var3
;
5732 var_node_list
= var_pmethidnode1
;
5733 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction95> */
5735 var5
= parser_work__Parser__go_to(var_p
, var4
);
5738 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5742 /* method parser#ReduceAction95#action for (self: Object, Parser) */
5743 void VIRTUAL_parser__ReduceAction95__action(val
* self
, val
* p0
) {
5744 parser__ReduceAction95__action(self
, p0
); /* Direct call parser#ReduceAction95#action on <self:Object(ReduceAction95)>*/
5747 /* method parser#ReduceAction96#action for (self: ReduceAction96, Parser) */
5748 void parser__ReduceAction96__action(val
* self
, val
* p0
) {
5749 val
* var_p
/* var p: Parser */;
5750 val
* var
/* : null */;
5751 val
* var_node_list
/* var node_list: nullable Object */;
5752 val
* var1
/* : nullable Object */;
5753 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5754 val
* var_tstarstarnode2
/* var tstarstarnode2: nullable Object */;
5755 short int var2
/* : Bool */;
5758 val
* var3
/* : AStarstarMethid */;
5759 val
* var_pmethidnode1
/* var pmethidnode1: nullable AStarstarMethid */;
5760 long var4
/* : Int */;
5761 long var5
/* : Int */;
5764 var_node_list
= var
;
5766 var1
= parser_work__Parser__pop(var_p
);
5768 var_nodearraylist1
= var1
;
5769 var_tstarstarnode2
= var_nodearraylist1
;
5770 /* <var_tstarstarnode2:nullable Object> isa nullable TStarstar */
5771 cltype
= type_nullable_parser_nodes__TStarstar
.color
;
5772 idtype
= type_nullable_parser_nodes__TStarstar
.id
;
5773 if(var_tstarstarnode2
== NULL
) {
5776 if(cltype
>= var_tstarstarnode2
->type
->table_size
) {
5779 var2
= var_tstarstarnode2
->type
->type_table
[cltype
] == idtype
;
5782 if (unlikely(!var2
)) {
5783 PRINT_ERROR("Runtime error: %s", "Assert failed");
5784 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4254);
5787 var3
= NEW_parser_nodes__AStarstarMethid(&type_parser_nodes__AStarstarMethid
);
5789 parser_prod__AStarstarMethid__init_astarstarmethid(var3
, var_tstarstarnode2
); /* Direct call parser_prod#AStarstarMethid#init_astarstarmethid on <var3:AStarstarMethid>*/
5791 var_pmethidnode1
= var3
;
5792 var_node_list
= var_pmethidnode1
;
5793 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction96> */
5795 var5
= parser_work__Parser__go_to(var_p
, var4
);
5798 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5802 /* method parser#ReduceAction96#action for (self: Object, Parser) */
5803 void VIRTUAL_parser__ReduceAction96__action(val
* self
, val
* p0
) {
5804 parser__ReduceAction96__action(self
, p0
); /* Direct call parser#ReduceAction96#action on <self:Object(ReduceAction96)>*/
5807 /* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */
5808 void parser__ReduceAction97__action(val
* self
, val
* p0
) {
5809 val
* var_p
/* var p: Parser */;
5810 val
* var
/* : null */;
5811 val
* var_node_list
/* var node_list: nullable Object */;
5812 val
* var1
/* : nullable Object */;
5813 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5814 val
* var_tslashnode2
/* var tslashnode2: nullable Object */;
5815 short int var2
/* : Bool */;
5818 val
* var3
/* : ASlashMethid */;
5819 val
* var_pmethidnode1
/* var pmethidnode1: nullable ASlashMethid */;
5820 long var4
/* : Int */;
5821 long var5
/* : Int */;
5824 var_node_list
= var
;
5826 var1
= parser_work__Parser__pop(var_p
);
5828 var_nodearraylist1
= var1
;
5829 var_tslashnode2
= var_nodearraylist1
;
5830 /* <var_tslashnode2:nullable Object> isa nullable TSlash */
5831 cltype
= type_nullable_parser_nodes__TSlash
.color
;
5832 idtype
= type_nullable_parser_nodes__TSlash
.id
;
5833 if(var_tslashnode2
== NULL
) {
5836 if(cltype
>= var_tslashnode2
->type
->table_size
) {
5839 var2
= var_tslashnode2
->type
->type_table
[cltype
] == idtype
;
5842 if (unlikely(!var2
)) {
5843 PRINT_ERROR("Runtime error: %s", "Assert failed");
5844 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4269);
5847 var3
= NEW_parser_nodes__ASlashMethid(&type_parser_nodes__ASlashMethid
);
5849 parser_prod__ASlashMethid__init_aslashmethid(var3
, var_tslashnode2
); /* Direct call parser_prod#ASlashMethid#init_aslashmethid on <var3:ASlashMethid>*/
5851 var_pmethidnode1
= var3
;
5852 var_node_list
= var_pmethidnode1
;
5853 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction97> */
5855 var5
= parser_work__Parser__go_to(var_p
, var4
);
5858 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5862 /* method parser#ReduceAction97#action for (self: Object, Parser) */
5863 void VIRTUAL_parser__ReduceAction97__action(val
* self
, val
* p0
) {
5864 parser__ReduceAction97__action(self
, p0
); /* Direct call parser#ReduceAction97#action on <self:Object(ReduceAction97)>*/
5867 /* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */
5868 void parser__ReduceAction98__action(val
* self
, val
* p0
) {
5869 val
* var_p
/* var p: Parser */;
5870 val
* var
/* : null */;
5871 val
* var_node_list
/* var node_list: nullable Object */;
5872 val
* var1
/* : nullable Object */;
5873 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5874 val
* var_tpercentnode2
/* var tpercentnode2: nullable Object */;
5875 short int var2
/* : Bool */;
5878 val
* var3
/* : APercentMethid */;
5879 val
* var_pmethidnode1
/* var pmethidnode1: nullable APercentMethid */;
5880 long var4
/* : Int */;
5881 long var5
/* : Int */;
5884 var_node_list
= var
;
5886 var1
= parser_work__Parser__pop(var_p
);
5888 var_nodearraylist1
= var1
;
5889 var_tpercentnode2
= var_nodearraylist1
;
5890 /* <var_tpercentnode2:nullable Object> isa nullable TPercent */
5891 cltype
= type_nullable_parser_nodes__TPercent
.color
;
5892 idtype
= type_nullable_parser_nodes__TPercent
.id
;
5893 if(var_tpercentnode2
== NULL
) {
5896 if(cltype
>= var_tpercentnode2
->type
->table_size
) {
5899 var2
= var_tpercentnode2
->type
->type_table
[cltype
] == idtype
;
5902 if (unlikely(!var2
)) {
5903 PRINT_ERROR("Runtime error: %s", "Assert failed");
5904 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4284);
5907 var3
= NEW_parser_nodes__APercentMethid(&type_parser_nodes__APercentMethid
);
5909 parser_prod__APercentMethid__init_apercentmethid(var3
, var_tpercentnode2
); /* Direct call parser_prod#APercentMethid#init_apercentmethid on <var3:APercentMethid>*/
5911 var_pmethidnode1
= var3
;
5912 var_node_list
= var_pmethidnode1
;
5913 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction98> */
5915 var5
= parser_work__Parser__go_to(var_p
, var4
);
5918 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5922 /* method parser#ReduceAction98#action for (self: Object, Parser) */
5923 void VIRTUAL_parser__ReduceAction98__action(val
* self
, val
* p0
) {
5924 parser__ReduceAction98__action(self
, p0
); /* Direct call parser#ReduceAction98#action on <self:Object(ReduceAction98)>*/
5927 /* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */
5928 void parser__ReduceAction99__action(val
* self
, val
* p0
) {
5929 val
* var_p
/* var p: Parser */;
5930 val
* var
/* : null */;
5931 val
* var_node_list
/* var node_list: nullable Object */;
5932 val
* var1
/* : nullable Object */;
5933 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5934 val
* var_teqnode2
/* var teqnode2: nullable Object */;
5935 short int var2
/* : Bool */;
5938 val
* var3
/* : AEqMethid */;
5939 val
* var_pmethidnode1
/* var pmethidnode1: nullable AEqMethid */;
5940 long var4
/* : Int */;
5941 long var5
/* : Int */;
5944 var_node_list
= var
;
5946 var1
= parser_work__Parser__pop(var_p
);
5948 var_nodearraylist1
= var1
;
5949 var_teqnode2
= var_nodearraylist1
;
5950 /* <var_teqnode2:nullable Object> isa nullable TEq */
5951 cltype
= type_nullable_parser_nodes__TEq
.color
;
5952 idtype
= type_nullable_parser_nodes__TEq
.id
;
5953 if(var_teqnode2
== NULL
) {
5956 if(cltype
>= var_teqnode2
->type
->table_size
) {
5959 var2
= var_teqnode2
->type
->type_table
[cltype
] == idtype
;
5962 if (unlikely(!var2
)) {
5963 PRINT_ERROR("Runtime error: %s", "Assert failed");
5964 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4299);
5967 var3
= NEW_parser_nodes__AEqMethid(&type_parser_nodes__AEqMethid
);
5969 parser_prod__AEqMethid__init_aeqmethid(var3
, var_teqnode2
); /* Direct call parser_prod#AEqMethid#init_aeqmethid on <var3:AEqMethid>*/
5971 var_pmethidnode1
= var3
;
5972 var_node_list
= var_pmethidnode1
;
5973 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction99> */
5975 var5
= parser_work__Parser__go_to(var_p
, var4
);
5978 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5982 /* method parser#ReduceAction99#action for (self: Object, Parser) */
5983 void VIRTUAL_parser__ReduceAction99__action(val
* self
, val
* p0
) {
5984 parser__ReduceAction99__action(self
, p0
); /* Direct call parser#ReduceAction99#action on <self:Object(ReduceAction99)>*/
5987 /* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */
5988 void parser__ReduceAction100__action(val
* self
, val
* p0
) {
5989 val
* var_p
/* var p: Parser */;
5990 val
* var
/* : null */;
5991 val
* var_node_list
/* var node_list: nullable Object */;
5992 val
* var1
/* : nullable Object */;
5993 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5994 val
* var_tnenode2
/* var tnenode2: nullable Object */;
5995 short int var2
/* : Bool */;
5998 val
* var3
/* : ANeMethid */;
5999 val
* var_pmethidnode1
/* var pmethidnode1: nullable ANeMethid */;
6000 long var4
/* : Int */;
6001 long var5
/* : Int */;
6004 var_node_list
= var
;
6006 var1
= parser_work__Parser__pop(var_p
);
6008 var_nodearraylist1
= var1
;
6009 var_tnenode2
= var_nodearraylist1
;
6010 /* <var_tnenode2:nullable Object> isa nullable TNe */
6011 cltype
= type_nullable_parser_nodes__TNe
.color
;
6012 idtype
= type_nullable_parser_nodes__TNe
.id
;
6013 if(var_tnenode2
== NULL
) {
6016 if(cltype
>= var_tnenode2
->type
->table_size
) {
6019 var2
= var_tnenode2
->type
->type_table
[cltype
] == idtype
;
6022 if (unlikely(!var2
)) {
6023 PRINT_ERROR("Runtime error: %s", "Assert failed");
6024 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4314);
6027 var3
= NEW_parser_nodes__ANeMethid(&type_parser_nodes__ANeMethid
);
6029 parser_prod__ANeMethid__init_anemethid(var3
, var_tnenode2
); /* Direct call parser_prod#ANeMethid#init_anemethid on <var3:ANeMethid>*/
6031 var_pmethidnode1
= var3
;
6032 var_node_list
= var_pmethidnode1
;
6033 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction100> */
6035 var5
= parser_work__Parser__go_to(var_p
, var4
);
6038 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6042 /* method parser#ReduceAction100#action for (self: Object, Parser) */
6043 void VIRTUAL_parser__ReduceAction100__action(val
* self
, val
* p0
) {
6044 parser__ReduceAction100__action(self
, p0
); /* Direct call parser#ReduceAction100#action on <self:Object(ReduceAction100)>*/
6047 /* method parser#ReduceAction101#action for (self: ReduceAction101, Parser) */
6048 void parser__ReduceAction101__action(val
* self
, val
* p0
) {
6049 val
* var_p
/* var p: Parser */;
6050 val
* var
/* : null */;
6051 val
* var_node_list
/* var node_list: nullable Object */;
6052 val
* var1
/* : nullable Object */;
6053 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6054 val
* var_tlenode2
/* var tlenode2: nullable Object */;
6055 short int var2
/* : Bool */;
6058 val
* var3
/* : ALeMethid */;
6059 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALeMethid */;
6060 long var4
/* : Int */;
6061 long var5
/* : Int */;
6064 var_node_list
= var
;
6066 var1
= parser_work__Parser__pop(var_p
);
6068 var_nodearraylist1
= var1
;
6069 var_tlenode2
= var_nodearraylist1
;
6070 /* <var_tlenode2:nullable Object> isa nullable TLe */
6071 cltype
= type_nullable_parser_nodes__TLe
.color
;
6072 idtype
= type_nullable_parser_nodes__TLe
.id
;
6073 if(var_tlenode2
== NULL
) {
6076 if(cltype
>= var_tlenode2
->type
->table_size
) {
6079 var2
= var_tlenode2
->type
->type_table
[cltype
] == idtype
;
6082 if (unlikely(!var2
)) {
6083 PRINT_ERROR("Runtime error: %s", "Assert failed");
6084 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4329);
6087 var3
= NEW_parser_nodes__ALeMethid(&type_parser_nodes__ALeMethid
);
6089 parser_prod__ALeMethid__init_alemethid(var3
, var_tlenode2
); /* Direct call parser_prod#ALeMethid#init_alemethid on <var3:ALeMethid>*/
6091 var_pmethidnode1
= var3
;
6092 var_node_list
= var_pmethidnode1
;
6093 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction101> */
6095 var5
= parser_work__Parser__go_to(var_p
, var4
);
6098 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6102 /* method parser#ReduceAction101#action for (self: Object, Parser) */
6103 void VIRTUAL_parser__ReduceAction101__action(val
* self
, val
* p0
) {
6104 parser__ReduceAction101__action(self
, p0
); /* Direct call parser#ReduceAction101#action on <self:Object(ReduceAction101)>*/
6107 /* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */
6108 void parser__ReduceAction102__action(val
* self
, val
* p0
) {
6109 val
* var_p
/* var p: Parser */;
6110 val
* var
/* : null */;
6111 val
* var_node_list
/* var node_list: nullable Object */;
6112 val
* var1
/* : nullable Object */;
6113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6114 val
* var_tgenode2
/* var tgenode2: nullable Object */;
6115 short int var2
/* : Bool */;
6118 val
* var3
/* : AGeMethid */;
6119 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGeMethid */;
6120 long var4
/* : Int */;
6121 long var5
/* : Int */;
6124 var_node_list
= var
;
6126 var1
= parser_work__Parser__pop(var_p
);
6128 var_nodearraylist1
= var1
;
6129 var_tgenode2
= var_nodearraylist1
;
6130 /* <var_tgenode2:nullable Object> isa nullable TGe */
6131 cltype
= type_nullable_parser_nodes__TGe
.color
;
6132 idtype
= type_nullable_parser_nodes__TGe
.id
;
6133 if(var_tgenode2
== NULL
) {
6136 if(cltype
>= var_tgenode2
->type
->table_size
) {
6139 var2
= var_tgenode2
->type
->type_table
[cltype
] == idtype
;
6142 if (unlikely(!var2
)) {
6143 PRINT_ERROR("Runtime error: %s", "Assert failed");
6144 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4344);
6147 var3
= NEW_parser_nodes__AGeMethid(&type_parser_nodes__AGeMethid
);
6149 parser_prod__AGeMethid__init_agemethid(var3
, var_tgenode2
); /* Direct call parser_prod#AGeMethid#init_agemethid on <var3:AGeMethid>*/
6151 var_pmethidnode1
= var3
;
6152 var_node_list
= var_pmethidnode1
;
6153 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction102> */
6155 var5
= parser_work__Parser__go_to(var_p
, var4
);
6158 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6162 /* method parser#ReduceAction102#action for (self: Object, Parser) */
6163 void VIRTUAL_parser__ReduceAction102__action(val
* self
, val
* p0
) {
6164 parser__ReduceAction102__action(self
, p0
); /* Direct call parser#ReduceAction102#action on <self:Object(ReduceAction102)>*/
6167 /* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */
6168 void parser__ReduceAction103__action(val
* self
, val
* p0
) {
6169 val
* var_p
/* var p: Parser */;
6170 val
* var
/* : null */;
6171 val
* var_node_list
/* var node_list: nullable Object */;
6172 val
* var1
/* : nullable Object */;
6173 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6174 val
* var_tltnode2
/* var tltnode2: nullable Object */;
6175 short int var2
/* : Bool */;
6178 val
* var3
/* : ALtMethid */;
6179 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALtMethid */;
6180 long var4
/* : Int */;
6181 long var5
/* : Int */;
6184 var_node_list
= var
;
6186 var1
= parser_work__Parser__pop(var_p
);
6188 var_nodearraylist1
= var1
;
6189 var_tltnode2
= var_nodearraylist1
;
6190 /* <var_tltnode2:nullable Object> isa nullable TLt */
6191 cltype
= type_nullable_parser_nodes__TLt
.color
;
6192 idtype
= type_nullable_parser_nodes__TLt
.id
;
6193 if(var_tltnode2
== NULL
) {
6196 if(cltype
>= var_tltnode2
->type
->table_size
) {
6199 var2
= var_tltnode2
->type
->type_table
[cltype
] == idtype
;
6202 if (unlikely(!var2
)) {
6203 PRINT_ERROR("Runtime error: %s", "Assert failed");
6204 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4359);
6207 var3
= NEW_parser_nodes__ALtMethid(&type_parser_nodes__ALtMethid
);
6209 parser_prod__ALtMethid__init_altmethid(var3
, var_tltnode2
); /* Direct call parser_prod#ALtMethid#init_altmethid on <var3:ALtMethid>*/
6211 var_pmethidnode1
= var3
;
6212 var_node_list
= var_pmethidnode1
;
6213 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction103> */
6215 var5
= parser_work__Parser__go_to(var_p
, var4
);
6218 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6222 /* method parser#ReduceAction103#action for (self: Object, Parser) */
6223 void VIRTUAL_parser__ReduceAction103__action(val
* self
, val
* p0
) {
6224 parser__ReduceAction103__action(self
, p0
); /* Direct call parser#ReduceAction103#action on <self:Object(ReduceAction103)>*/
6227 /* method parser#ReduceAction104#action for (self: ReduceAction104, Parser) */
6228 void parser__ReduceAction104__action(val
* self
, val
* p0
) {
6229 val
* var_p
/* var p: Parser */;
6230 val
* var
/* : null */;
6231 val
* var_node_list
/* var node_list: nullable Object */;
6232 val
* var1
/* : nullable Object */;
6233 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6234 val
* var_tgtnode2
/* var tgtnode2: nullable Object */;
6235 short int var2
/* : Bool */;
6238 val
* var3
/* : AGtMethid */;
6239 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGtMethid */;
6240 long var4
/* : Int */;
6241 long var5
/* : Int */;
6244 var_node_list
= var
;
6246 var1
= parser_work__Parser__pop(var_p
);
6248 var_nodearraylist1
= var1
;
6249 var_tgtnode2
= var_nodearraylist1
;
6250 /* <var_tgtnode2:nullable Object> isa nullable TGt */
6251 cltype
= type_nullable_parser_nodes__TGt
.color
;
6252 idtype
= type_nullable_parser_nodes__TGt
.id
;
6253 if(var_tgtnode2
== NULL
) {
6256 if(cltype
>= var_tgtnode2
->type
->table_size
) {
6259 var2
= var_tgtnode2
->type
->type_table
[cltype
] == idtype
;
6262 if (unlikely(!var2
)) {
6263 PRINT_ERROR("Runtime error: %s", "Assert failed");
6264 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4374);
6267 var3
= NEW_parser_nodes__AGtMethid(&type_parser_nodes__AGtMethid
);
6269 parser_prod__AGtMethid__init_agtmethid(var3
, var_tgtnode2
); /* Direct call parser_prod#AGtMethid#init_agtmethid on <var3:AGtMethid>*/
6271 var_pmethidnode1
= var3
;
6272 var_node_list
= var_pmethidnode1
;
6273 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction104> */
6275 var5
= parser_work__Parser__go_to(var_p
, var4
);
6278 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6282 /* method parser#ReduceAction104#action for (self: Object, Parser) */
6283 void VIRTUAL_parser__ReduceAction104__action(val
* self
, val
* p0
) {
6284 parser__ReduceAction104__action(self
, p0
); /* Direct call parser#ReduceAction104#action on <self:Object(ReduceAction104)>*/
6287 /* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */
6288 void parser__ReduceAction105__action(val
* self
, val
* p0
) {
6289 val
* var_p
/* var p: Parser */;
6290 val
* var
/* : null */;
6291 val
* var_node_list
/* var node_list: nullable Object */;
6292 val
* var1
/* : nullable Object */;
6293 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6294 val
* var_tllnode2
/* var tllnode2: nullable Object */;
6295 short int var2
/* : Bool */;
6298 val
* var3
/* : ALlMethid */;
6299 val
* var_pmethidnode1
/* var pmethidnode1: nullable ALlMethid */;
6300 long var4
/* : Int */;
6301 long var5
/* : Int */;
6304 var_node_list
= var
;
6306 var1
= parser_work__Parser__pop(var_p
);
6308 var_nodearraylist1
= var1
;
6309 var_tllnode2
= var_nodearraylist1
;
6310 /* <var_tllnode2:nullable Object> isa nullable TLl */
6311 cltype
= type_nullable_parser_nodes__TLl
.color
;
6312 idtype
= type_nullable_parser_nodes__TLl
.id
;
6313 if(var_tllnode2
== NULL
) {
6316 if(cltype
>= var_tllnode2
->type
->table_size
) {
6319 var2
= var_tllnode2
->type
->type_table
[cltype
] == idtype
;
6322 if (unlikely(!var2
)) {
6323 PRINT_ERROR("Runtime error: %s", "Assert failed");
6324 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4389);
6327 var3
= NEW_parser_nodes__ALlMethid(&type_parser_nodes__ALlMethid
);
6329 parser_prod__ALlMethid__init_allmethid(var3
, var_tllnode2
); /* Direct call parser_prod#ALlMethid#init_allmethid on <var3:ALlMethid>*/
6331 var_pmethidnode1
= var3
;
6332 var_node_list
= var_pmethidnode1
;
6333 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction105> */
6335 var5
= parser_work__Parser__go_to(var_p
, var4
);
6338 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6342 /* method parser#ReduceAction105#action for (self: Object, Parser) */
6343 void VIRTUAL_parser__ReduceAction105__action(val
* self
, val
* p0
) {
6344 parser__ReduceAction105__action(self
, p0
); /* Direct call parser#ReduceAction105#action on <self:Object(ReduceAction105)>*/
6347 /* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */
6348 void parser__ReduceAction106__action(val
* self
, val
* p0
) {
6349 val
* var_p
/* var p: Parser */;
6350 val
* var
/* : null */;
6351 val
* var_node_list
/* var node_list: nullable Object */;
6352 val
* var1
/* : nullable Object */;
6353 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6354 val
* var_tggnode2
/* var tggnode2: nullable Object */;
6355 short int var2
/* : Bool */;
6358 val
* var3
/* : AGgMethid */;
6359 val
* var_pmethidnode1
/* var pmethidnode1: nullable AGgMethid */;
6360 long var4
/* : Int */;
6361 long var5
/* : Int */;
6364 var_node_list
= var
;
6366 var1
= parser_work__Parser__pop(var_p
);
6368 var_nodearraylist1
= var1
;
6369 var_tggnode2
= var_nodearraylist1
;
6370 /* <var_tggnode2:nullable Object> isa nullable TGg */
6371 cltype
= type_nullable_parser_nodes__TGg
.color
;
6372 idtype
= type_nullable_parser_nodes__TGg
.id
;
6373 if(var_tggnode2
== NULL
) {
6376 if(cltype
>= var_tggnode2
->type
->table_size
) {
6379 var2
= var_tggnode2
->type
->type_table
[cltype
] == idtype
;
6382 if (unlikely(!var2
)) {
6383 PRINT_ERROR("Runtime error: %s", "Assert failed");
6384 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4404);
6387 var3
= NEW_parser_nodes__AGgMethid(&type_parser_nodes__AGgMethid
);
6389 parser_prod__AGgMethid__init_aggmethid(var3
, var_tggnode2
); /* Direct call parser_prod#AGgMethid#init_aggmethid on <var3:AGgMethid>*/
6391 var_pmethidnode1
= var3
;
6392 var_node_list
= var_pmethidnode1
;
6393 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction106> */
6395 var5
= parser_work__Parser__go_to(var_p
, var4
);
6398 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6402 /* method parser#ReduceAction106#action for (self: Object, Parser) */
6403 void VIRTUAL_parser__ReduceAction106__action(val
* self
, val
* p0
) {
6404 parser__ReduceAction106__action(self
, p0
); /* Direct call parser#ReduceAction106#action on <self:Object(ReduceAction106)>*/
6407 /* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */
6408 void parser__ReduceAction107__action(val
* self
, val
* p0
) {
6409 val
* var_p
/* var p: Parser */;
6410 val
* var
/* : null */;
6411 val
* var_node_list
/* var node_list: nullable Object */;
6412 val
* var1
/* : nullable Object */;
6413 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6414 val
* var2
/* : nullable Object */;
6415 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6416 val
* var_tobranode2
/* var tobranode2: nullable Object */;
6417 short int var3
/* : Bool */;
6420 val
* var_tcbranode3
/* var tcbranode3: nullable Object */;
6421 short int var4
/* : Bool */;
6424 val
* var7
/* : ABraMethid */;
6425 val
* var_pmethidnode1
/* var pmethidnode1: nullable ABraMethid */;
6426 long var8
/* : Int */;
6427 long var9
/* : Int */;
6430 var_node_list
= var
;
6432 var1
= parser_work__Parser__pop(var_p
);
6434 var_nodearraylist2
= var1
;
6436 var2
= parser_work__Parser__pop(var_p
);
6438 var_nodearraylist1
= var2
;
6439 var_tobranode2
= var_nodearraylist1
;
6440 /* <var_tobranode2:nullable Object> isa nullable TObra */
6441 cltype
= type_nullable_parser_nodes__TObra
.color
;
6442 idtype
= type_nullable_parser_nodes__TObra
.id
;
6443 if(var_tobranode2
== NULL
) {
6446 if(cltype
>= var_tobranode2
->type
->table_size
) {
6449 var3
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
6452 if (unlikely(!var3
)) {
6453 PRINT_ERROR("Runtime error: %s", "Assert failed");
6454 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4420);
6457 var_tcbranode3
= var_nodearraylist2
;
6458 /* <var_tcbranode3:nullable Object> isa nullable TCbra */
6459 cltype5
= type_nullable_parser_nodes__TCbra
.color
;
6460 idtype6
= type_nullable_parser_nodes__TCbra
.id
;
6461 if(var_tcbranode3
== NULL
) {
6464 if(cltype5
>= var_tcbranode3
->type
->table_size
) {
6467 var4
= var_tcbranode3
->type
->type_table
[cltype5
] == idtype6
;
6470 if (unlikely(!var4
)) {
6471 PRINT_ERROR("Runtime error: %s", "Assert failed");
6472 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4422);
6475 var7
= NEW_parser_nodes__ABraMethid(&type_parser_nodes__ABraMethid
);
6477 parser_prod__ABraMethid__init_abramethid(var7
, var_tobranode2
, var_tcbranode3
); /* Direct call parser_prod#ABraMethid#init_abramethid on <var7:ABraMethid>*/
6479 var_pmethidnode1
= var7
;
6480 var_node_list
= var_pmethidnode1
;
6481 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction107> */
6483 var9
= parser_work__Parser__go_to(var_p
, var8
);
6486 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6490 /* method parser#ReduceAction107#action for (self: Object, Parser) */
6491 void VIRTUAL_parser__ReduceAction107__action(val
* self
, val
* p0
) {
6492 parser__ReduceAction107__action(self
, p0
); /* Direct call parser#ReduceAction107#action on <self:Object(ReduceAction107)>*/
6495 /* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */
6496 void parser__ReduceAction108__action(val
* self
, val
* p0
) {
6497 val
* var_p
/* var p: Parser */;
6498 val
* var
/* : null */;
6499 val
* var_node_list
/* var node_list: nullable Object */;
6500 val
* var1
/* : nullable Object */;
6501 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6502 val
* var_tstarshipnode2
/* var tstarshipnode2: nullable Object */;
6503 short int var2
/* : Bool */;
6506 val
* var3
/* : AStarshipMethid */;
6507 val
* var_pmethidnode1
/* var pmethidnode1: nullable AStarshipMethid */;
6508 long var4
/* : Int */;
6509 long var5
/* : Int */;
6512 var_node_list
= var
;
6514 var1
= parser_work__Parser__pop(var_p
);
6516 var_nodearraylist1
= var1
;
6517 var_tstarshipnode2
= var_nodearraylist1
;
6518 /* <var_tstarshipnode2:nullable Object> isa nullable TStarship */
6519 cltype
= type_nullable_parser_nodes__TStarship
.color
;
6520 idtype
= type_nullable_parser_nodes__TStarship
.id
;
6521 if(var_tstarshipnode2
== NULL
) {
6524 if(cltype
>= var_tstarshipnode2
->type
->table_size
) {
6527 var2
= var_tstarshipnode2
->type
->type_table
[cltype
] == idtype
;
6530 if (unlikely(!var2
)) {
6531 PRINT_ERROR("Runtime error: %s", "Assert failed");
6532 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4438);
6535 var3
= NEW_parser_nodes__AStarshipMethid(&type_parser_nodes__AStarshipMethid
);
6537 parser_prod__AStarshipMethid__init_astarshipmethid(var3
, var_tstarshipnode2
); /* Direct call parser_prod#AStarshipMethid#init_astarshipmethid on <var3:AStarshipMethid>*/
6539 var_pmethidnode1
= var3
;
6540 var_node_list
= var_pmethidnode1
;
6541 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction108> */
6543 var5
= parser_work__Parser__go_to(var_p
, var4
);
6546 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6550 /* method parser#ReduceAction108#action for (self: Object, Parser) */
6551 void VIRTUAL_parser__ReduceAction108__action(val
* self
, val
* p0
) {
6552 parser__ReduceAction108__action(self
, p0
); /* Direct call parser#ReduceAction108#action on <self:Object(ReduceAction108)>*/
6555 /* method parser#ReduceAction109#action for (self: ReduceAction109, Parser) */
6556 void parser__ReduceAction109__action(val
* self
, val
* p0
) {
6557 val
* var_p
/* var p: Parser */;
6558 val
* var
/* : null */;
6559 val
* var_node_list
/* var node_list: nullable Object */;
6560 val
* var1
/* : nullable Object */;
6561 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6562 val
* var2
/* : nullable Object */;
6563 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6564 val
* var_tidnode2
/* var tidnode2: nullable Object */;
6565 short int var3
/* : Bool */;
6568 val
* var_tassignnode3
/* var tassignnode3: nullable Object */;
6569 short int var4
/* : Bool */;
6572 val
* var7
/* : AAssignMethid */;
6573 val
* var_pmethidnode1
/* var pmethidnode1: nullable AAssignMethid */;
6574 long var8
/* : Int */;
6575 long var9
/* : Int */;
6578 var_node_list
= var
;
6580 var1
= parser_work__Parser__pop(var_p
);
6582 var_nodearraylist2
= var1
;
6584 var2
= parser_work__Parser__pop(var_p
);
6586 var_nodearraylist1
= var2
;
6587 var_tidnode2
= var_nodearraylist1
;
6588 /* <var_tidnode2:nullable Object> isa nullable TId */
6589 cltype
= type_nullable_parser_nodes__TId
.color
;
6590 idtype
= type_nullable_parser_nodes__TId
.id
;
6591 if(var_tidnode2
== NULL
) {
6594 if(cltype
>= var_tidnode2
->type
->table_size
) {
6597 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
6600 if (unlikely(!var3
)) {
6601 PRINT_ERROR("Runtime error: %s", "Assert failed");
6602 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4454);
6605 var_tassignnode3
= var_nodearraylist2
;
6606 /* <var_tassignnode3:nullable Object> isa nullable TAssign */
6607 cltype5
= type_nullable_parser_nodes__TAssign
.color
;
6608 idtype6
= type_nullable_parser_nodes__TAssign
.id
;
6609 if(var_tassignnode3
== NULL
) {
6612 if(cltype5
>= var_tassignnode3
->type
->table_size
) {
6615 var4
= var_tassignnode3
->type
->type_table
[cltype5
] == idtype6
;
6618 if (unlikely(!var4
)) {
6619 PRINT_ERROR("Runtime error: %s", "Assert failed");
6620 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4456);
6623 var7
= NEW_parser_nodes__AAssignMethid(&type_parser_nodes__AAssignMethid
);
6625 parser_prod__AAssignMethid__init_aassignmethid(var7
, var_tidnode2
, var_tassignnode3
); /* Direct call parser_prod#AAssignMethid#init_aassignmethid on <var7:AAssignMethid>*/
6627 var_pmethidnode1
= var7
;
6628 var_node_list
= var_pmethidnode1
;
6629 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction109> */
6631 var9
= parser_work__Parser__go_to(var_p
, var8
);
6634 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6638 /* method parser#ReduceAction109#action for (self: Object, Parser) */
6639 void VIRTUAL_parser__ReduceAction109__action(val
* self
, val
* p0
) {
6640 parser__ReduceAction109__action(self
, p0
); /* Direct call parser#ReduceAction109#action on <self:Object(ReduceAction109)>*/
6643 /* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */
6644 void parser__ReduceAction110__action(val
* self
, val
* p0
) {
6645 val
* var_p
/* var p: Parser */;
6646 val
* var
/* : null */;
6647 val
* var_node_list
/* var node_list: nullable Object */;
6648 val
* var1
/* : nullable Object */;
6649 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6650 val
* var2
/* : nullable Object */;
6651 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6652 val
* var3
/* : nullable Object */;
6653 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6654 val
* var_tobranode2
/* var tobranode2: nullable Object */;
6655 short int var4
/* : Bool */;
6658 val
* var_tcbranode3
/* var tcbranode3: nullable Object */;
6659 short int var5
/* : Bool */;
6662 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
6663 short int var8
/* : Bool */;
6666 val
* var11
/* : ABraassignMethid */;
6667 val
* var_pmethidnode1
/* var pmethidnode1: nullable ABraassignMethid */;
6668 long var12
/* : Int */;
6669 long var13
/* : Int */;
6672 var_node_list
= var
;
6674 var1
= parser_work__Parser__pop(var_p
);
6676 var_nodearraylist3
= var1
;
6678 var2
= parser_work__Parser__pop(var_p
);
6680 var_nodearraylist2
= var2
;
6682 var3
= parser_work__Parser__pop(var_p
);
6684 var_nodearraylist1
= var3
;
6685 var_tobranode2
= var_nodearraylist1
;
6686 /* <var_tobranode2:nullable Object> isa nullable TObra */
6687 cltype
= type_nullable_parser_nodes__TObra
.color
;
6688 idtype
= type_nullable_parser_nodes__TObra
.id
;
6689 if(var_tobranode2
== NULL
) {
6692 if(cltype
>= var_tobranode2
->type
->table_size
) {
6695 var4
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
6698 if (unlikely(!var4
)) {
6699 PRINT_ERROR("Runtime error: %s", "Assert failed");
6700 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4474);
6703 var_tcbranode3
= var_nodearraylist2
;
6704 /* <var_tcbranode3:nullable Object> isa nullable TCbra */
6705 cltype6
= type_nullable_parser_nodes__TCbra
.color
;
6706 idtype7
= type_nullable_parser_nodes__TCbra
.id
;
6707 if(var_tcbranode3
== NULL
) {
6710 if(cltype6
>= var_tcbranode3
->type
->table_size
) {
6713 var5
= var_tcbranode3
->type
->type_table
[cltype6
] == idtype7
;
6716 if (unlikely(!var5
)) {
6717 PRINT_ERROR("Runtime error: %s", "Assert failed");
6718 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4476);
6721 var_tassignnode4
= var_nodearraylist3
;
6722 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
6723 cltype9
= type_nullable_parser_nodes__TAssign
.color
;
6724 idtype10
= type_nullable_parser_nodes__TAssign
.id
;
6725 if(var_tassignnode4
== NULL
) {
6728 if(cltype9
>= var_tassignnode4
->type
->table_size
) {
6731 var8
= var_tassignnode4
->type
->type_table
[cltype9
] == idtype10
;
6734 if (unlikely(!var8
)) {
6735 PRINT_ERROR("Runtime error: %s", "Assert failed");
6736 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4478);
6739 var11
= NEW_parser_nodes__ABraassignMethid(&type_parser_nodes__ABraassignMethid
);
6741 parser_prod__ABraassignMethid__init_abraassignmethid(var11
, var_tobranode2
, var_tcbranode3
, var_tassignnode4
); /* Direct call parser_prod#ABraassignMethid#init_abraassignmethid on <var11:ABraassignMethid>*/
6743 var_pmethidnode1
= var11
;
6744 var_node_list
= var_pmethidnode1
;
6745 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction110> */
6747 var13
= parser_work__Parser__go_to(var_p
, var12
);
6750 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6754 /* method parser#ReduceAction110#action for (self: Object, Parser) */
6755 void VIRTUAL_parser__ReduceAction110__action(val
* self
, val
* p0
) {
6756 parser__ReduceAction110__action(self
, p0
); /* Direct call parser#ReduceAction110#action on <self:Object(ReduceAction110)>*/
6759 /* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */
6760 void parser__ReduceAction111__action(val
* self
, val
* p0
) {
6761 val
* var_p
/* var p: Parser */;
6762 val
* var
/* : null */;
6763 val
* var_node_list
/* var node_list: nullable Object */;
6764 val
* var1
/* : nullable Object */;
6765 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6766 val
* var_tidnode2
/* var tidnode2: nullable Object */;
6767 short int var2
/* : Bool */;
6770 val
* var3
/* : AIdMethid */;
6771 val
* var_pmethidnode1
/* var pmethidnode1: nullable AIdMethid */;
6772 long var4
/* : Int */;
6773 long var5
/* : Int */;
6776 var_node_list
= var
;
6778 var1
= parser_work__Parser__pop(var_p
);
6780 var_nodearraylist1
= var1
;
6781 var_tidnode2
= var_nodearraylist1
;
6782 /* <var_tidnode2:nullable Object> isa nullable TId */
6783 cltype
= type_nullable_parser_nodes__TId
.color
;
6784 idtype
= type_nullable_parser_nodes__TId
.id
;
6785 if(var_tidnode2
== NULL
) {
6788 if(cltype
>= var_tidnode2
->type
->table_size
) {
6791 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
6794 if (unlikely(!var2
)) {
6795 PRINT_ERROR("Runtime error: %s", "Assert failed");
6796 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4495);
6799 var3
= NEW_parser_nodes__AIdMethid(&type_parser_nodes__AIdMethid
);
6801 parser_prod__AIdMethid__init_aidmethid(var3
, var_tidnode2
); /* Direct call parser_prod#AIdMethid#init_aidmethid on <var3:AIdMethid>*/
6803 var_pmethidnode1
= var3
;
6804 var_node_list
= var_pmethidnode1
;
6805 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction111> */
6807 var5
= parser_work__Parser__go_to(var_p
, var4
);
6810 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6814 /* method parser#ReduceAction111#action for (self: Object, Parser) */
6815 void VIRTUAL_parser__ReduceAction111__action(val
* self
, val
* p0
) {
6816 parser__ReduceAction111__action(self
, p0
); /* Direct call parser#ReduceAction111#action on <self:Object(ReduceAction111)>*/
6819 /* method parser#ReduceAction112#action for (self: ReduceAction112, Parser) */
6820 void parser__ReduceAction112__action(val
* self
, val
* p0
) {
6821 val
* var_p
/* var p: Parser */;
6822 val
* var
/* : null */;
6823 val
* var_node_list
/* var node_list: nullable Object */;
6824 val
* var1
/* : nullable Object */;
6825 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6826 val
* var2
/* : nullable Object */;
6827 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6828 val
* var3
/* : nullable Object */;
6829 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6830 val
* var4
/* : nullable Object */;
6831 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6832 val
* var5
/* : nullable Object */;
6833 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6834 val
* var6
/* : nullable Object */;
6835 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6836 val
* var7
/* : Array[Object] */;
6837 val
* var_listnode4
/* var listnode4: Array[Object] */;
6838 val
* var_toparnode2
/* var toparnode2: nullable Object */;
6839 short int var8
/* : Bool */;
6842 val
* var_listnode3
/* var listnode3: nullable Object */;
6843 short int var9
/* : Bool */;
6846 val
* var12
/* : Array[Object] */;
6847 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
6848 short int var13
/* : Bool */;
6851 val
* var_ptypenode6
/* var ptypenode6: nullable Object */;
6852 short int var16
/* : Bool */;
6855 val
* var19
/* : ASignature */;
6856 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
6857 long var20
/* : Int */;
6858 long var21
/* : Int */;
6861 var_node_list
= var
;
6863 var1
= parser_work__Parser__pop(var_p
);
6865 var_nodearraylist6
= var1
;
6867 var2
= parser_work__Parser__pop(var_p
);
6869 var_nodearraylist5
= var2
;
6871 var3
= parser_work__Parser__pop(var_p
);
6873 var_nodearraylist4
= var3
;
6875 var4
= parser_work__Parser__pop(var_p
);
6877 var_nodearraylist3
= var4
;
6879 var5
= parser_work__Parser__pop(var_p
);
6881 var_nodearraylist2
= var5
;
6883 var6
= parser_work__Parser__pop(var_p
);
6885 var_nodearraylist1
= var6
;
6886 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6888 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6890 var_listnode4
= var7
;
6891 var_toparnode2
= var_nodearraylist1
;
6892 /* <var_toparnode2:nullable Object> isa nullable TOpar */
6893 cltype
= type_nullable_parser_nodes__TOpar
.color
;
6894 idtype
= type_nullable_parser_nodes__TOpar
.id
;
6895 if(var_toparnode2
== NULL
) {
6898 if(cltype
>= var_toparnode2
->type
->table_size
) {
6901 var8
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
6904 if (unlikely(!var8
)) {
6905 PRINT_ERROR("Runtime error: %s", "Assert failed");
6906 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4516);
6909 var_listnode3
= var_nodearraylist3
;
6910 /* <var_listnode3:nullable Object> isa Array[Object] */
6911 cltype10
= type_array__Arraykernel__Object
.color
;
6912 idtype11
= type_array__Arraykernel__Object
.id
;
6913 if(var_listnode3
== NULL
) {
6916 if(cltype10
>= var_listnode3
->type
->table_size
) {
6919 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
6922 if (unlikely(!var9
)) {
6923 PRINT_ERROR("Runtime error: %s", "Assert failed");
6924 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4518);
6928 var12
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
6930 var_listnode4
= var12
;
6931 var_tcparnode5
= var_nodearraylist4
;
6932 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
6933 cltype14
= type_nullable_parser_nodes__TCpar
.color
;
6934 idtype15
= type_nullable_parser_nodes__TCpar
.id
;
6935 if(var_tcparnode5
== NULL
) {
6938 if(cltype14
>= var_tcparnode5
->type
->table_size
) {
6941 var13
= var_tcparnode5
->type
->type_table
[cltype14
] == idtype15
;
6944 if (unlikely(!var13
)) {
6945 PRINT_ERROR("Runtime error: %s", "Assert failed");
6946 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4521);
6949 var_ptypenode6
= var_nodearraylist5
;
6950 /* <var_ptypenode6:nullable Object> isa nullable AType */
6951 cltype17
= type_nullable_parser_nodes__AType
.color
;
6952 idtype18
= type_nullable_parser_nodes__AType
.id
;
6953 if(var_ptypenode6
== NULL
) {
6956 if(cltype17
>= var_ptypenode6
->type
->table_size
) {
6959 var16
= var_ptypenode6
->type
->type_table
[cltype17
] == idtype18
;
6962 if (unlikely(!var16
)) {
6963 PRINT_ERROR("Runtime error: %s", "Assert failed");
6964 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4523);
6967 var19
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
6969 parser_prod__ASignature__init_asignature(var19
, var_toparnode2
, var_listnode4
, var_tcparnode5
, var_ptypenode6
); /* Direct call parser_prod#ASignature#init_asignature on <var19:ASignature>*/
6971 var_psignaturenode1
= var19
;
6972 var_node_list
= var_psignaturenode1
;
6973 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction112> */
6975 var21
= parser_work__Parser__go_to(var_p
, var20
);
6978 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6982 /* method parser#ReduceAction112#action for (self: Object, Parser) */
6983 void VIRTUAL_parser__ReduceAction112__action(val
* self
, val
* p0
) {
6984 parser__ReduceAction112__action(self
, p0
); /* Direct call parser#ReduceAction112#action on <self:Object(ReduceAction112)>*/
6987 /* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */
6988 void parser__ReduceAction113__action(val
* self
, val
* p0
) {
6989 val
* var_p
/* var p: Parser */;
6990 val
* var
/* : null */;
6991 val
* var_node_list
/* var node_list: nullable Object */;
6992 val
* var1
/* : nullable Object */;
6993 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6994 val
* var2
/* : nullable Object */;
6995 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6996 val
* var3
/* : nullable Object */;
6997 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6998 val
* var4
/* : nullable Object */;
6999 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7000 val
* var5
/* : nullable Object */;
7001 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7002 val
* var6
/* : Array[Object] */;
7003 val
* var_listnode4
/* var listnode4: Array[Object] */;
7004 val
* var_toparnode2
/* var toparnode2: nullable Object */;
7005 short int var7
/* : Bool */;
7008 val
* var_listnode3
/* var listnode3: nullable Object */;
7009 short int var8
/* : Bool */;
7012 val
* var11
/* : Array[Object] */;
7013 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
7014 short int var12
/* : Bool */;
7017 val
* var15
/* : ASignature */;
7018 val
* var16
/* : null */;
7019 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7020 long var17
/* : Int */;
7021 long var18
/* : Int */;
7024 var_node_list
= var
;
7026 var1
= parser_work__Parser__pop(var_p
);
7028 var_nodearraylist5
= var1
;
7030 var2
= parser_work__Parser__pop(var_p
);
7032 var_nodearraylist4
= var2
;
7034 var3
= parser_work__Parser__pop(var_p
);
7036 var_nodearraylist3
= var3
;
7038 var4
= parser_work__Parser__pop(var_p
);
7040 var_nodearraylist2
= var4
;
7042 var5
= parser_work__Parser__pop(var_p
);
7044 var_nodearraylist1
= var5
;
7045 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7047 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7049 var_listnode4
= var6
;
7050 var_toparnode2
= var_nodearraylist1
;
7051 /* <var_toparnode2:nullable Object> isa nullable TOpar */
7052 cltype
= type_nullable_parser_nodes__TOpar
.color
;
7053 idtype
= type_nullable_parser_nodes__TOpar
.id
;
7054 if(var_toparnode2
== NULL
) {
7057 if(cltype
>= var_toparnode2
->type
->table_size
) {
7060 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
7063 if (unlikely(!var7
)) {
7064 PRINT_ERROR("Runtime error: %s", "Assert failed");
7065 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4546);
7068 var_listnode3
= var_nodearraylist3
;
7069 /* <var_listnode3:nullable Object> isa Array[Object] */
7070 cltype9
= type_array__Arraykernel__Object
.color
;
7071 idtype10
= type_array__Arraykernel__Object
.id
;
7072 if(var_listnode3
== NULL
) {
7075 if(cltype9
>= var_listnode3
->type
->table_size
) {
7078 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
7081 if (unlikely(!var8
)) {
7082 PRINT_ERROR("Runtime error: %s", "Assert failed");
7083 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4548);
7087 var11
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
7089 var_listnode4
= var11
;
7090 var_tcparnode5
= var_nodearraylist4
;
7091 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
7092 cltype13
= type_nullable_parser_nodes__TCpar
.color
;
7093 idtype14
= type_nullable_parser_nodes__TCpar
.id
;
7094 if(var_tcparnode5
== NULL
) {
7097 if(cltype13
>= var_tcparnode5
->type
->table_size
) {
7100 var12
= var_tcparnode5
->type
->type_table
[cltype13
] == idtype14
;
7103 if (unlikely(!var12
)) {
7104 PRINT_ERROR("Runtime error: %s", "Assert failed");
7105 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4551);
7108 var15
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7111 parser_prod__ASignature__init_asignature(var15
, var_toparnode2
, var_listnode4
, var_tcparnode5
, var16
); /* Direct call parser_prod#ASignature#init_asignature on <var15:ASignature>*/
7113 var_psignaturenode1
= var15
;
7114 var_node_list
= var_psignaturenode1
;
7115 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction113> */
7117 var18
= parser_work__Parser__go_to(var_p
, var17
);
7120 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7124 /* method parser#ReduceAction113#action for (self: Object, Parser) */
7125 void VIRTUAL_parser__ReduceAction113__action(val
* self
, val
* p0
) {
7126 parser__ReduceAction113__action(self
, p0
); /* Direct call parser#ReduceAction113#action on <self:Object(ReduceAction113)>*/
7129 /* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */
7130 void parser__ReduceAction114__action(val
* self
, val
* p0
) {
7131 val
* var_p
/* var p: Parser */;
7132 val
* var
/* : null */;
7133 val
* var_node_list
/* var node_list: nullable Object */;
7134 val
* var1
/* : nullable Object */;
7135 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7136 val
* var2
/* : nullable Object */;
7137 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7138 val
* var3
/* : Array[Object] */;
7139 val
* var_listnode3
/* var listnode3: Array[Object] */;
7140 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
7141 short int var4
/* : Bool */;
7144 val
* var5
/* : ASignature */;
7145 val
* var6
/* : null */;
7146 val
* var7
/* : null */;
7147 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7148 long var8
/* : Int */;
7149 long var9
/* : Int */;
7152 var_node_list
= var
;
7154 var1
= parser_work__Parser__pop(var_p
);
7156 var_nodearraylist2
= var1
;
7158 var2
= parser_work__Parser__pop(var_p
);
7160 var_nodearraylist1
= var2
;
7161 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7163 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
7165 var_listnode3
= var3
;
7166 var_ptypenode5
= var_nodearraylist1
;
7167 /* <var_ptypenode5:nullable Object> isa nullable AType */
7168 cltype
= type_nullable_parser_nodes__AType
.color
;
7169 idtype
= type_nullable_parser_nodes__AType
.id
;
7170 if(var_ptypenode5
== NULL
) {
7173 if(cltype
>= var_ptypenode5
->type
->table_size
) {
7176 var4
= var_ptypenode5
->type
->type_table
[cltype
] == idtype
;
7179 if (unlikely(!var4
)) {
7180 PRINT_ERROR("Runtime error: %s", "Assert failed");
7181 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4571);
7184 var5
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7188 parser_prod__ASignature__init_asignature(var5
, var6
, var_listnode3
, var7
, var_ptypenode5
); /* Direct call parser_prod#ASignature#init_asignature on <var5:ASignature>*/
7190 var_psignaturenode1
= var5
;
7191 var_node_list
= var_psignaturenode1
;
7192 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction114> */
7194 var9
= parser_work__Parser__go_to(var_p
, var8
);
7197 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7201 /* method parser#ReduceAction114#action for (self: Object, Parser) */
7202 void VIRTUAL_parser__ReduceAction114__action(val
* self
, val
* p0
) {
7203 parser__ReduceAction114__action(self
, p0
); /* Direct call parser#ReduceAction114#action on <self:Object(ReduceAction114)>*/
7206 /* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */
7207 void parser__ReduceAction115__action(val
* self
, val
* p0
) {
7208 val
* var_p
/* var p: Parser */;
7209 val
* var
/* : null */;
7210 val
* var_node_list
/* var node_list: nullable Object */;
7211 val
* var1
/* : nullable Object */;
7212 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7213 val
* var2
/* : Array[Object] */;
7214 val
* var_listnode3
/* var listnode3: Array[Object] */;
7215 val
* var3
/* : ASignature */;
7216 val
* var4
/* : null */;
7217 val
* var5
/* : null */;
7218 val
* var6
/* : null */;
7219 val
* var_psignaturenode1
/* var psignaturenode1: nullable ASignature */;
7220 long var7
/* : Int */;
7221 long var8
/* : Int */;
7224 var_node_list
= var
;
7226 var1
= parser_work__Parser__pop(var_p
);
7228 var_nodearraylist1
= var1
;
7229 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
7231 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
7233 var_listnode3
= var2
;
7234 var3
= NEW_parser_nodes__ASignature(&type_parser_nodes__ASignature
);
7239 parser_prod__ASignature__init_asignature(var3
, var4
, var_listnode3
, var5
, var6
); /* Direct call parser_prod#ASignature#init_asignature on <var3:ASignature>*/
7241 var_psignaturenode1
= var3
;
7242 var_node_list
= var_psignaturenode1
;
7243 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction115> */
7245 var8
= parser_work__Parser__go_to(var_p
, var7
);
7248 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7252 /* method parser#ReduceAction115#action for (self: Object, Parser) */
7253 void VIRTUAL_parser__ReduceAction115__action(val
* self
, val
* p0
) {
7254 parser__ReduceAction115__action(self
, p0
); /* Direct call parser#ReduceAction115#action on <self:Object(ReduceAction115)>*/
7257 /* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */
7258 void parser__ReduceAction116__action(val
* self
, val
* p0
) {
7259 val
* var_p
/* var p: Parser */;
7260 val
* var
/* : null */;
7261 val
* var_node_list
/* var node_list: nullable Object */;
7262 val
* var1
/* : nullable Object */;
7263 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7264 val
* var2
/* : nullable Object */;
7265 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7266 val
* var3
/* : Array[Object] */;
7267 val
* var_listnode2
/* var listnode2: Array[Object] */;
7268 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7269 val
* var4
/* : null */;
7270 short int var5
/* : Bool */;
7271 short int var6
/* : Bool */;
7272 long var7
/* : Int */;
7273 long var8
/* : Int */;
7276 var_node_list
= var
;
7278 var1
= parser_work__Parser__pop(var_p
);
7280 var_nodearraylist2
= var1
;
7282 var2
= parser_work__Parser__pop(var_p
);
7284 var_nodearraylist1
= var2
;
7285 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7287 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
7289 var_listnode2
= var3
;
7290 var_pparamnode1
= var_nodearraylist1
;
7292 if (var_pparamnode1
== NULL
) {
7293 var5
= 0; /* is null */
7295 var5
= 1; /* arg is null and recv is not */
7298 var6
= ((short int (*)(val
*, val
*))(var_pparamnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pparamnode1
, var4
) /* != on <var_pparamnode1:nullable Object>*/;
7303 array__Array__add(var_listnode2
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7307 var_node_list
= var_listnode2
;
7308 var7
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction116> */
7310 var8
= parser_work__Parser__go_to(var_p
, var7
);
7313 parser_work__Parser__push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7317 /* method parser#ReduceAction116#action for (self: Object, Parser) */
7318 void VIRTUAL_parser__ReduceAction116__action(val
* self
, val
* p0
) {
7319 parser__ReduceAction116__action(self
, p0
); /* Direct call parser#ReduceAction116#action on <self:Object(ReduceAction116)>*/
7322 /* method parser#ReduceAction117#action for (self: ReduceAction117, Parser) */
7323 void parser__ReduceAction117__action(val
* self
, val
* p0
) {
7324 val
* var_p
/* var p: Parser */;
7325 val
* var
/* : null */;
7326 val
* var_node_list
/* var node_list: nullable Object */;
7327 val
* var1
/* : nullable Object */;
7328 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7329 val
* var2
/* : nullable Object */;
7330 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7331 val
* var3
/* : nullable Object */;
7332 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7333 val
* var4
/* : Array[Object] */;
7334 val
* var_listnode3
/* var listnode3: Array[Object] */;
7335 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7336 val
* var_listnode2
/* var listnode2: nullable Object */;
7337 short int var5
/* : Bool */;
7340 val
* var6
/* : null */;
7341 short int var7
/* : Bool */;
7342 short int var8
/* : Bool */;
7343 val
* var9
/* : Array[Object] */;
7344 long var10
/* : Int */;
7345 long var11
/* : Int */;
7348 var_node_list
= var
;
7350 var1
= parser_work__Parser__pop(var_p
);
7352 var_nodearraylist3
= var1
;
7354 var2
= parser_work__Parser__pop(var_p
);
7356 var_nodearraylist2
= var2
;
7358 var3
= parser_work__Parser__pop(var_p
);
7360 var_nodearraylist1
= var3
;
7361 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7363 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
7365 var_listnode3
= var4
;
7366 var_pparamnode1
= var_nodearraylist1
;
7367 var_listnode2
= var_nodearraylist2
;
7368 /* <var_listnode2:nullable Object> isa Array[Object] */
7369 cltype
= type_array__Arraykernel__Object
.color
;
7370 idtype
= type_array__Arraykernel__Object
.id
;
7371 if(var_listnode2
== NULL
) {
7374 if(cltype
>= var_listnode2
->type
->table_size
) {
7377 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
7380 if (unlikely(!var5
)) {
7381 PRINT_ERROR("Runtime error: %s", "Assert failed");
7382 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4626);
7386 if (var_pparamnode1
== NULL
) {
7387 var7
= 0; /* is null */
7389 var7
= 1; /* arg is null and recv is not */
7392 var8
= ((short int (*)(val
*, val
*))(var_pparamnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pparamnode1
, var6
) /* != on <var_pparamnode1:nullable Object>*/;
7397 array__Array__add(var_listnode3
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7402 var9
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
7404 var_listnode3
= var9
;
7405 var_node_list
= var_listnode3
;
7406 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction117> */
7408 var11
= parser_work__Parser__go_to(var_p
, var10
);
7411 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7415 /* method parser#ReduceAction117#action for (self: Object, Parser) */
7416 void VIRTUAL_parser__ReduceAction117__action(val
* self
, val
* p0
) {
7417 parser__ReduceAction117__action(self
, p0
); /* Direct call parser#ReduceAction117#action on <self:Object(ReduceAction117)>*/
7420 /* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */
7421 void parser__ReduceAction119__action(val
* self
, val
* p0
) {
7422 val
* var_p
/* var p: Parser */;
7423 val
* var
/* : null */;
7424 val
* var_node_list
/* var node_list: nullable Object */;
7425 val
* var1
/* : nullable Object */;
7426 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7427 val
* var2
/* : nullable Object */;
7428 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7429 val
* var3
/* : nullable Object */;
7430 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7431 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7432 long var4
/* : Int */;
7433 long var5
/* : Int */;
7436 var_node_list
= var
;
7438 var1
= parser_work__Parser__pop(var_p
);
7440 var_nodearraylist3
= var1
;
7442 var2
= parser_work__Parser__pop(var_p
);
7444 var_nodearraylist2
= var2
;
7446 var3
= parser_work__Parser__pop(var_p
);
7448 var_nodearraylist1
= var3
;
7449 var_pparamnode1
= var_nodearraylist3
;
7450 var_node_list
= var_pparamnode1
;
7451 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction119> */
7453 var5
= parser_work__Parser__go_to(var_p
, var4
);
7456 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7460 /* method parser#ReduceAction119#action for (self: Object, Parser) */
7461 void VIRTUAL_parser__ReduceAction119__action(val
* self
, val
* p0
) {
7462 parser__ReduceAction119__action(self
, p0
); /* Direct call parser#ReduceAction119#action on <self:Object(ReduceAction119)>*/
7465 /* method parser#ReduceAction120#action for (self: ReduceAction120, Parser) */
7466 void parser__ReduceAction120__action(val
* self
, val
* p0
) {
7467 val
* var_p
/* var p: Parser */;
7468 val
* var
/* : null */;
7469 val
* var_node_list
/* var node_list: nullable Object */;
7470 val
* var1
/* : nullable Object */;
7471 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7472 val
* var2
/* : nullable Object */;
7473 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7474 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7475 short int var3
/* : Bool */;
7478 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
7479 short int var4
/* : Bool */;
7482 val
* var7
/* : AParam */;
7483 val
* var8
/* : null */;
7484 val
* var9
/* : null */;
7485 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7486 long var10
/* : Int */;
7487 long var11
/* : Int */;
7490 var_node_list
= var
;
7492 var1
= parser_work__Parser__pop(var_p
);
7494 var_nodearraylist2
= var1
;
7496 var2
= parser_work__Parser__pop(var_p
);
7498 var_nodearraylist1
= var2
;
7499 var_tidnode2
= var_nodearraylist1
;
7500 /* <var_tidnode2:nullable Object> isa nullable TId */
7501 cltype
= type_nullable_parser_nodes__TId
.color
;
7502 idtype
= type_nullable_parser_nodes__TId
.id
;
7503 if(var_tidnode2
== NULL
) {
7506 if(cltype
>= var_tidnode2
->type
->table_size
) {
7509 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7512 if (unlikely(!var3
)) {
7513 PRINT_ERROR("Runtime error: %s", "Assert failed");
7514 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4656);
7517 var_pannotationsnode5
= var_nodearraylist2
;
7518 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
7519 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
7520 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
7521 if(var_pannotationsnode5
== NULL
) {
7524 if(cltype5
>= var_pannotationsnode5
->type
->table_size
) {
7527 var4
= var_pannotationsnode5
->type
->type_table
[cltype5
] == idtype6
;
7530 if (unlikely(!var4
)) {
7531 PRINT_ERROR("Runtime error: %s", "Assert failed");
7532 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4658);
7535 var7
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
7539 parser_prod__AParam__init_aparam(var7
, var_tidnode2
, var8
, var9
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var7:AParam>*/
7541 var_pparamnode1
= var7
;
7542 var_node_list
= var_pparamnode1
;
7543 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction120> */
7545 var11
= parser_work__Parser__go_to(var_p
, var10
);
7548 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7552 /* method parser#ReduceAction120#action for (self: Object, Parser) */
7553 void VIRTUAL_parser__ReduceAction120__action(val
* self
, val
* p0
) {
7554 parser__ReduceAction120__action(self
, p0
); /* Direct call parser#ReduceAction120#action on <self:Object(ReduceAction120)>*/
7557 /* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */
7558 void parser__ReduceAction121__action(val
* self
, val
* p0
) {
7559 val
* var_p
/* var p: Parser */;
7560 val
* var
/* : null */;
7561 val
* var_node_list
/* var node_list: nullable Object */;
7562 val
* var1
/* : nullable Object */;
7563 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7564 val
* var2
/* : nullable Object */;
7565 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7566 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7567 short int var3
/* : Bool */;
7570 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7571 short int var4
/* : Bool */;
7574 val
* var7
/* : AParam */;
7575 val
* var8
/* : null */;
7576 val
* var9
/* : null */;
7577 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7578 long var10
/* : Int */;
7579 long var11
/* : Int */;
7582 var_node_list
= var
;
7584 var1
= parser_work__Parser__pop(var_p
);
7586 var_nodearraylist2
= var1
;
7588 var2
= parser_work__Parser__pop(var_p
);
7590 var_nodearraylist1
= var2
;
7591 var_tidnode2
= var_nodearraylist1
;
7592 /* <var_tidnode2:nullable Object> isa nullable TId */
7593 cltype
= type_nullable_parser_nodes__TId
.color
;
7594 idtype
= type_nullable_parser_nodes__TId
.id
;
7595 if(var_tidnode2
== NULL
) {
7598 if(cltype
>= var_tidnode2
->type
->table_size
) {
7601 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7604 if (unlikely(!var3
)) {
7605 PRINT_ERROR("Runtime error: %s", "Assert failed");
7606 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4677);
7609 var_ptypenode3
= var_nodearraylist2
;
7610 /* <var_ptypenode3:nullable Object> isa nullable AType */
7611 cltype5
= type_nullable_parser_nodes__AType
.color
;
7612 idtype6
= type_nullable_parser_nodes__AType
.id
;
7613 if(var_ptypenode3
== NULL
) {
7616 if(cltype5
>= var_ptypenode3
->type
->table_size
) {
7619 var4
= var_ptypenode3
->type
->type_table
[cltype5
] == idtype6
;
7622 if (unlikely(!var4
)) {
7623 PRINT_ERROR("Runtime error: %s", "Assert failed");
7624 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4679);
7627 var7
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
7631 parser_prod__AParam__init_aparam(var7
, var_tidnode2
, var_ptypenode3
, var8
, var9
); /* Direct call parser_prod#AParam#init_aparam on <var7:AParam>*/
7633 var_pparamnode1
= var7
;
7634 var_node_list
= var_pparamnode1
;
7635 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction121> */
7637 var11
= parser_work__Parser__go_to(var_p
, var10
);
7640 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7644 /* method parser#ReduceAction121#action for (self: Object, Parser) */
7645 void VIRTUAL_parser__ReduceAction121__action(val
* self
, val
* p0
) {
7646 parser__ReduceAction121__action(self
, p0
); /* Direct call parser#ReduceAction121#action on <self:Object(ReduceAction121)>*/
7649 /* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */
7650 void parser__ReduceAction122__action(val
* self
, val
* p0
) {
7651 val
* var_p
/* var p: Parser */;
7652 val
* var
/* : null */;
7653 val
* var_node_list
/* var node_list: nullable Object */;
7654 val
* var1
/* : nullable Object */;
7655 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7656 val
* var2
/* : nullable Object */;
7657 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7658 val
* var3
/* : nullable Object */;
7659 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7660 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7661 short int var4
/* : Bool */;
7664 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7665 short int var5
/* : Bool */;
7668 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
7669 short int var8
/* : Bool */;
7672 val
* var11
/* : AParam */;
7673 val
* var12
/* : null */;
7674 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7675 long var13
/* : Int */;
7676 long var14
/* : Int */;
7679 var_node_list
= var
;
7681 var1
= parser_work__Parser__pop(var_p
);
7683 var_nodearraylist3
= var1
;
7685 var2
= parser_work__Parser__pop(var_p
);
7687 var_nodearraylist2
= var2
;
7689 var3
= parser_work__Parser__pop(var_p
);
7691 var_nodearraylist1
= var3
;
7692 var_tidnode2
= var_nodearraylist1
;
7693 /* <var_tidnode2:nullable Object> isa nullable TId */
7694 cltype
= type_nullable_parser_nodes__TId
.color
;
7695 idtype
= type_nullable_parser_nodes__TId
.id
;
7696 if(var_tidnode2
== NULL
) {
7699 if(cltype
>= var_tidnode2
->type
->table_size
) {
7702 var4
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7705 if (unlikely(!var4
)) {
7706 PRINT_ERROR("Runtime error: %s", "Assert failed");
7707 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4699);
7710 var_ptypenode3
= var_nodearraylist3
;
7711 /* <var_ptypenode3:nullable Object> isa nullable AType */
7712 cltype6
= type_nullable_parser_nodes__AType
.color
;
7713 idtype7
= type_nullable_parser_nodes__AType
.id
;
7714 if(var_ptypenode3
== NULL
) {
7717 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
7720 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
7723 if (unlikely(!var5
)) {
7724 PRINT_ERROR("Runtime error: %s", "Assert failed");
7725 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4701);
7728 var_pannotationsnode5
= var_nodearraylist2
;
7729 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
7730 cltype9
= type_nullable_parser_nodes__AAnnotations
.color
;
7731 idtype10
= type_nullable_parser_nodes__AAnnotations
.id
;
7732 if(var_pannotationsnode5
== NULL
) {
7735 if(cltype9
>= var_pannotationsnode5
->type
->table_size
) {
7738 var8
= var_pannotationsnode5
->type
->type_table
[cltype9
] == idtype10
;
7741 if (unlikely(!var8
)) {
7742 PRINT_ERROR("Runtime error: %s", "Assert failed");
7743 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4703);
7746 var11
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
7749 parser_prod__AParam__init_aparam(var11
, var_tidnode2
, var_ptypenode3
, var12
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var11:AParam>*/
7751 var_pparamnode1
= var11
;
7752 var_node_list
= var_pparamnode1
;
7753 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction122> */
7755 var14
= parser_work__Parser__go_to(var_p
, var13
);
7758 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7762 /* method parser#ReduceAction122#action for (self: Object, Parser) */
7763 void VIRTUAL_parser__ReduceAction122__action(val
* self
, val
* p0
) {
7764 parser__ReduceAction122__action(self
, p0
); /* Direct call parser#ReduceAction122#action on <self:Object(ReduceAction122)>*/
7767 /* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */
7768 void parser__ReduceAction123__action(val
* self
, val
* p0
) {
7769 val
* var_p
/* var p: Parser */;
7770 val
* var
/* : null */;
7771 val
* var_node_list
/* var node_list: nullable Object */;
7772 val
* var1
/* : nullable Object */;
7773 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7774 val
* var2
/* : nullable Object */;
7775 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7776 val
* var3
/* : nullable Object */;
7777 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7778 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7779 short int var4
/* : Bool */;
7782 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7783 short int var5
/* : Bool */;
7786 val
* var_tdotdotdotnode4
/* var tdotdotdotnode4: nullable Object */;
7787 short int var8
/* : Bool */;
7790 val
* var11
/* : AParam */;
7791 val
* var12
/* : null */;
7792 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7793 long var13
/* : Int */;
7794 long var14
/* : Int */;
7797 var_node_list
= var
;
7799 var1
= parser_work__Parser__pop(var_p
);
7801 var_nodearraylist3
= var1
;
7803 var2
= parser_work__Parser__pop(var_p
);
7805 var_nodearraylist2
= var2
;
7807 var3
= parser_work__Parser__pop(var_p
);
7809 var_nodearraylist1
= var3
;
7810 var_tidnode2
= var_nodearraylist1
;
7811 /* <var_tidnode2:nullable Object> isa nullable TId */
7812 cltype
= type_nullable_parser_nodes__TId
.color
;
7813 idtype
= type_nullable_parser_nodes__TId
.id
;
7814 if(var_tidnode2
== NULL
) {
7817 if(cltype
>= var_tidnode2
->type
->table_size
) {
7820 var4
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7823 if (unlikely(!var4
)) {
7824 PRINT_ERROR("Runtime error: %s", "Assert failed");
7825 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4723);
7828 var_ptypenode3
= var_nodearraylist2
;
7829 /* <var_ptypenode3:nullable Object> isa nullable AType */
7830 cltype6
= type_nullable_parser_nodes__AType
.color
;
7831 idtype7
= type_nullable_parser_nodes__AType
.id
;
7832 if(var_ptypenode3
== NULL
) {
7835 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
7838 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
7841 if (unlikely(!var5
)) {
7842 PRINT_ERROR("Runtime error: %s", "Assert failed");
7843 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4725);
7846 var_tdotdotdotnode4
= var_nodearraylist3
;
7847 /* <var_tdotdotdotnode4:nullable Object> isa nullable TDotdotdot */
7848 cltype9
= type_nullable_parser_nodes__TDotdotdot
.color
;
7849 idtype10
= type_nullable_parser_nodes__TDotdotdot
.id
;
7850 if(var_tdotdotdotnode4
== NULL
) {
7853 if(cltype9
>= var_tdotdotdotnode4
->type
->table_size
) {
7856 var8
= var_tdotdotdotnode4
->type
->type_table
[cltype9
] == idtype10
;
7859 if (unlikely(!var8
)) {
7860 PRINT_ERROR("Runtime error: %s", "Assert failed");
7861 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4727);
7864 var11
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
7867 parser_prod__AParam__init_aparam(var11
, var_tidnode2
, var_ptypenode3
, var_tdotdotdotnode4
, var12
); /* Direct call parser_prod#AParam#init_aparam on <var11:AParam>*/
7869 var_pparamnode1
= var11
;
7870 var_node_list
= var_pparamnode1
;
7871 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction123> */
7873 var14
= parser_work__Parser__go_to(var_p
, var13
);
7876 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7880 /* method parser#ReduceAction123#action for (self: Object, Parser) */
7881 void VIRTUAL_parser__ReduceAction123__action(val
* self
, val
* p0
) {
7882 parser__ReduceAction123__action(self
, p0
); /* Direct call parser#ReduceAction123#action on <self:Object(ReduceAction123)>*/
7885 /* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */
7886 void parser__ReduceAction124__action(val
* self
, val
* p0
) {
7887 val
* var_p
/* var p: Parser */;
7888 val
* var
/* : null */;
7889 val
* var_node_list
/* var node_list: nullable Object */;
7890 val
* var1
/* : nullable Object */;
7891 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7892 val
* var2
/* : nullable Object */;
7893 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7894 val
* var3
/* : nullable Object */;
7895 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7896 val
* var4
/* : nullable Object */;
7897 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7898 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7899 short int var5
/* : Bool */;
7902 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7903 short int var6
/* : Bool */;
7906 val
* var_tdotdotdotnode4
/* var tdotdotdotnode4: nullable Object */;
7907 short int var9
/* : Bool */;
7910 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
7911 short int var12
/* : Bool */;
7914 val
* var15
/* : AParam */;
7915 val
* var_pparamnode1
/* var pparamnode1: nullable AParam */;
7916 long var16
/* : Int */;
7917 long var17
/* : Int */;
7920 var_node_list
= var
;
7922 var1
= parser_work__Parser__pop(var_p
);
7924 var_nodearraylist4
= var1
;
7926 var2
= parser_work__Parser__pop(var_p
);
7928 var_nodearraylist3
= var2
;
7930 var3
= parser_work__Parser__pop(var_p
);
7932 var_nodearraylist2
= var3
;
7934 var4
= parser_work__Parser__pop(var_p
);
7936 var_nodearraylist1
= var4
;
7937 var_tidnode2
= var_nodearraylist1
;
7938 /* <var_tidnode2:nullable Object> isa nullable TId */
7939 cltype
= type_nullable_parser_nodes__TId
.color
;
7940 idtype
= type_nullable_parser_nodes__TId
.id
;
7941 if(var_tidnode2
== NULL
) {
7944 if(cltype
>= var_tidnode2
->type
->table_size
) {
7947 var5
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
7950 if (unlikely(!var5
)) {
7951 PRINT_ERROR("Runtime error: %s", "Assert failed");
7952 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4748);
7955 var_ptypenode3
= var_nodearraylist3
;
7956 /* <var_ptypenode3:nullable Object> isa nullable AType */
7957 cltype7
= type_nullable_parser_nodes__AType
.color
;
7958 idtype8
= type_nullable_parser_nodes__AType
.id
;
7959 if(var_ptypenode3
== NULL
) {
7962 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
7965 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
7968 if (unlikely(!var6
)) {
7969 PRINT_ERROR("Runtime error: %s", "Assert failed");
7970 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4750);
7973 var_tdotdotdotnode4
= var_nodearraylist4
;
7974 /* <var_tdotdotdotnode4:nullable Object> isa nullable TDotdotdot */
7975 cltype10
= type_nullable_parser_nodes__TDotdotdot
.color
;
7976 idtype11
= type_nullable_parser_nodes__TDotdotdot
.id
;
7977 if(var_tdotdotdotnode4
== NULL
) {
7980 if(cltype10
>= var_tdotdotdotnode4
->type
->table_size
) {
7983 var9
= var_tdotdotdotnode4
->type
->type_table
[cltype10
] == idtype11
;
7986 if (unlikely(!var9
)) {
7987 PRINT_ERROR("Runtime error: %s", "Assert failed");
7988 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4752);
7991 var_pannotationsnode5
= var_nodearraylist2
;
7992 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
7993 cltype13
= type_nullable_parser_nodes__AAnnotations
.color
;
7994 idtype14
= type_nullable_parser_nodes__AAnnotations
.id
;
7995 if(var_pannotationsnode5
== NULL
) {
7998 if(cltype13
>= var_pannotationsnode5
->type
->table_size
) {
8001 var12
= var_pannotationsnode5
->type
->type_table
[cltype13
] == idtype14
;
8004 if (unlikely(!var12
)) {
8005 PRINT_ERROR("Runtime error: %s", "Assert failed");
8006 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4754);
8009 var15
= NEW_parser_nodes__AParam(&type_parser_nodes__AParam
);
8011 parser_prod__AParam__init_aparam(var15
, var_tidnode2
, var_ptypenode3
, var_tdotdotdotnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParam#init_aparam on <var15:AParam>*/
8013 var_pparamnode1
= var15
;
8014 var_node_list
= var_pparamnode1
;
8015 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction124> */
8017 var17
= parser_work__Parser__go_to(var_p
, var16
);
8020 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8024 /* method parser#ReduceAction124#action for (self: Object, Parser) */
8025 void VIRTUAL_parser__ReduceAction124__action(val
* self
, val
* p0
) {
8026 parser__ReduceAction124__action(self
, p0
); /* Direct call parser#ReduceAction124#action on <self:Object(ReduceAction124)>*/
8029 /* method parser#ReduceAction125#action for (self: ReduceAction125, Parser) */
8030 void parser__ReduceAction125__action(val
* self
, val
* p0
) {
8031 val
* var_p
/* var p: Parser */;
8032 val
* var
/* : null */;
8033 val
* var_node_list
/* var node_list: nullable Object */;
8034 val
* var1
/* : nullable Object */;
8035 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8036 val
* var2
/* : nullable Object */;
8037 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8038 val
* var3
/* : nullable Object */;
8039 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8040 val
* var4
/* : Array[Object] */;
8041 val
* var_listnode4
/* var listnode4: Array[Object] */;
8042 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
8043 short int var5
/* : Bool */;
8046 val
* var_pexterncallnode3
/* var pexterncallnode3: nullable Object */;
8047 short int var6
/* : Bool */;
8050 val
* var9
/* : null */;
8051 short int var10
/* : Bool */;
8052 short int var11
/* : Bool */;
8053 val
* var_other
/* var other: nullable Object */;
8054 short int var13
/* : Bool */;
8055 short int var14
/* : Bool */;
8056 short int var15
/* : Bool */;
8057 val
* var16
/* : AExternCalls */;
8058 val
* var_pexterncallsnode1
/* var pexterncallsnode1: nullable AExternCalls */;
8059 long var17
/* : Int */;
8060 long var18
/* : Int */;
8063 var_node_list
= var
;
8065 var1
= parser_work__Parser__pop(var_p
);
8067 var_nodearraylist3
= var1
;
8069 var2
= parser_work__Parser__pop(var_p
);
8071 var_nodearraylist2
= var2
;
8073 var3
= parser_work__Parser__pop(var_p
);
8075 var_nodearraylist1
= var3
;
8076 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
8078 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
8080 var_listnode4
= var4
;
8081 var_tkwimportnode2
= var_nodearraylist1
;
8082 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
8083 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
8084 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
8085 if(var_tkwimportnode2
== NULL
) {
8088 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
8091 var5
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
8094 if (unlikely(!var5
)) {
8095 PRINT_ERROR("Runtime error: %s", "Assert failed");
8096 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4775);
8099 var_pexterncallnode3
= var_nodearraylist3
;
8100 /* <var_pexterncallnode3:nullable Object> isa nullable AExternCall */
8101 cltype7
= type_nullable_parser_nodes__AExternCall
.color
;
8102 idtype8
= type_nullable_parser_nodes__AExternCall
.id
;
8103 if(var_pexterncallnode3
== NULL
) {
8106 if(cltype7
>= var_pexterncallnode3
->type
->table_size
) {
8109 var6
= var_pexterncallnode3
->type
->type_table
[cltype7
] == idtype8
;
8112 if (unlikely(!var6
)) {
8113 PRINT_ERROR("Runtime error: %s", "Assert failed");
8114 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4777);
8118 if (var_pexterncallnode3
== NULL
) {
8119 var10
= 0; /* is null */
8121 var10
= 1; /* arg is null and recv is not */
8124 { /* Inline kernel#Object#!= (var_pexterncallnode3,var9) on <var_pexterncallnode3:nullable Object(nullable AExternCall)> */
8127 var14
= ((short int (*)(val
*, val
*))(var_pexterncallnode3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexterncallnode3
, var_other
) /* == on <var_pexterncallnode3:nullable AExternCall(AExternCall)>*/;
8133 RET_LABEL12
:(void)0;
8139 array__Array__add(var_listnode4
, var_pexterncallnode3
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
8143 var16
= NEW_parser_nodes__AExternCalls(&type_parser_nodes__AExternCalls
);
8145 parser_prod__AExternCalls__init_aexterncalls(var16
, var_tkwimportnode2
, var_listnode4
); /* Direct call parser_prod#AExternCalls#init_aexterncalls on <var16:AExternCalls>*/
8147 var_pexterncallsnode1
= var16
;
8148 var_node_list
= var_pexterncallsnode1
;
8149 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction125> */
8151 var18
= parser_work__Parser__go_to(var_p
, var17
);
8154 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8158 /* method parser#ReduceAction125#action for (self: Object, Parser) */
8159 void VIRTUAL_parser__ReduceAction125__action(val
* self
, val
* p0
) {
8160 parser__ReduceAction125__action(self
, p0
); /* Direct call parser#ReduceAction125#action on <self:Object(ReduceAction125)>*/
8163 /* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */
8164 void parser__ReduceAction126__action(val
* self
, val
* p0
) {
8165 val
* var_p
/* var p: Parser */;
8166 val
* var
/* : null */;
8167 val
* var_node_list
/* var node_list: nullable Object */;
8168 val
* var1
/* : nullable Object */;
8169 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8170 val
* var2
/* : nullable Object */;
8171 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8172 val
* var3
/* : nullable Object */;
8173 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8174 val
* var4
/* : nullable Object */;
8175 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8176 val
* var5
/* : Array[Object] */;
8177 val
* var_listnode5
/* var listnode5: Array[Object] */;
8178 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
8179 short int var6
/* : Bool */;
8182 val
* var_pexterncallnode3
/* var pexterncallnode3: nullable Object */;
8183 short int var7
/* : Bool */;
8186 val
* var_listnode4
/* var listnode4: nullable Object */;
8187 short int var10
/* : Bool */;
8190 val
* var13
/* : null */;
8191 short int var14
/* : Bool */;
8192 short int var15
/* : Bool */;
8193 val
* var_other
/* var other: nullable Object */;
8194 short int var17
/* : Bool */;
8195 short int var18
/* : Bool */;
8196 short int var19
/* : Bool */;
8197 val
* var20
/* : Array[Object] */;
8198 val
* var21
/* : AExternCalls */;
8199 val
* var_pexterncallsnode1
/* var pexterncallsnode1: nullable AExternCalls */;
8200 long var22
/* : Int */;
8201 long var23
/* : Int */;
8204 var_node_list
= var
;
8206 var1
= parser_work__Parser__pop(var_p
);
8208 var_nodearraylist4
= var1
;
8210 var2
= parser_work__Parser__pop(var_p
);
8212 var_nodearraylist3
= var2
;
8214 var3
= parser_work__Parser__pop(var_p
);
8216 var_nodearraylist2
= var3
;
8218 var4
= parser_work__Parser__pop(var_p
);
8220 var_nodearraylist1
= var4
;
8221 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8223 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8225 var_listnode5
= var5
;
8226 var_tkwimportnode2
= var_nodearraylist1
;
8227 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
8228 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
8229 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
8230 if(var_tkwimportnode2
== NULL
) {
8233 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
8236 var6
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
8239 if (unlikely(!var6
)) {
8240 PRINT_ERROR("Runtime error: %s", "Assert failed");
8241 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4800);
8244 var_pexterncallnode3
= var_nodearraylist3
;
8245 /* <var_pexterncallnode3:nullable Object> isa nullable AExternCall */
8246 cltype8
= type_nullable_parser_nodes__AExternCall
.color
;
8247 idtype9
= type_nullable_parser_nodes__AExternCall
.id
;
8248 if(var_pexterncallnode3
== NULL
) {
8251 if(cltype8
>= var_pexterncallnode3
->type
->table_size
) {
8254 var7
= var_pexterncallnode3
->type
->type_table
[cltype8
] == idtype9
;
8257 if (unlikely(!var7
)) {
8258 PRINT_ERROR("Runtime error: %s", "Assert failed");
8259 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4802);
8262 var_listnode4
= var_nodearraylist4
;
8263 /* <var_listnode4:nullable Object> isa Array[Object] */
8264 cltype11
= type_array__Arraykernel__Object
.color
;
8265 idtype12
= type_array__Arraykernel__Object
.id
;
8266 if(var_listnode4
== NULL
) {
8269 if(cltype11
>= var_listnode4
->type
->table_size
) {
8272 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
8275 if (unlikely(!var10
)) {
8276 PRINT_ERROR("Runtime error: %s", "Assert failed");
8277 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4804);
8281 if (var_pexterncallnode3
== NULL
) {
8282 var14
= 0; /* is null */
8284 var14
= 1; /* arg is null and recv is not */
8287 { /* Inline kernel#Object#!= (var_pexterncallnode3,var13) on <var_pexterncallnode3:nullable Object(nullable AExternCall)> */
8290 var18
= ((short int (*)(val
*, val
*))(var_pexterncallnode3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexterncallnode3
, var_other
) /* == on <var_pexterncallnode3:nullable AExternCall(AExternCall)>*/;
8296 RET_LABEL16
:(void)0;
8302 array__Array__add(var_listnode5
, var_pexterncallnode3
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
8307 var20
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
8309 var_listnode5
= var20
;
8310 var21
= NEW_parser_nodes__AExternCalls(&type_parser_nodes__AExternCalls
);
8312 parser_prod__AExternCalls__init_aexterncalls(var21
, var_tkwimportnode2
, var_listnode5
); /* Direct call parser_prod#AExternCalls#init_aexterncalls on <var21:AExternCalls>*/
8314 var_pexterncallsnode1
= var21
;
8315 var_node_list
= var_pexterncallsnode1
;
8316 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction126> */
8318 var23
= parser_work__Parser__go_to(var_p
, var22
);
8321 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8325 /* method parser#ReduceAction126#action for (self: Object, Parser) */
8326 void VIRTUAL_parser__ReduceAction126__action(val
* self
, val
* p0
) {
8327 parser__ReduceAction126__action(self
, p0
); /* Direct call parser#ReduceAction126#action on <self:Object(ReduceAction126)>*/
8330 /* method parser#ReduceAction128#action for (self: ReduceAction128, Parser) */
8331 void parser__ReduceAction128__action(val
* self
, val
* p0
) {
8332 val
* var_p
/* var p: Parser */;
8333 val
* var
/* : null */;
8334 val
* var_node_list
/* var node_list: nullable Object */;
8335 val
* var1
/* : nullable Object */;
8336 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8337 val
* var2
/* : nullable Object */;
8338 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8339 val
* var3
/* : nullable Object */;
8340 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8341 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8342 long var4
/* : Int */;
8343 long var5
/* : Int */;
8346 var_node_list
= var
;
8348 var1
= parser_work__Parser__pop(var_p
);
8350 var_nodearraylist3
= var1
;
8352 var2
= parser_work__Parser__pop(var_p
);
8354 var_nodearraylist2
= var2
;
8356 var3
= parser_work__Parser__pop(var_p
);
8358 var_nodearraylist1
= var3
;
8359 var_pexterncallnode1
= var_nodearraylist3
;
8360 var_node_list
= var_pexterncallnode1
;
8361 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction128> */
8363 var5
= parser_work__Parser__go_to(var_p
, var4
);
8366 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8370 /* method parser#ReduceAction128#action for (self: Object, Parser) */
8371 void VIRTUAL_parser__ReduceAction128__action(val
* self
, val
* p0
) {
8372 parser__ReduceAction128__action(self
, p0
); /* Direct call parser#ReduceAction128#action on <self:Object(ReduceAction128)>*/
8375 /* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */
8376 void parser__ReduceAction129__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_nodearraylist1
/* var nodearraylist1: nullable Object */;
8382 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8383 long var2
/* : Int */;
8384 long var3
/* : Int */;
8387 var_node_list
= var
;
8389 var1
= parser_work__Parser__pop(var_p
);
8391 var_nodearraylist1
= var1
;
8392 var_pexterncallnode1
= var_nodearraylist1
;
8393 var_node_list
= var_pexterncallnode1
;
8394 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction129> */
8396 var3
= parser_work__Parser__go_to(var_p
, var2
);
8399 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8403 /* method parser#ReduceAction129#action for (self: Object, Parser) */
8404 void VIRTUAL_parser__ReduceAction129__action(val
* self
, val
* p0
) {
8405 parser__ReduceAction129__action(self
, p0
); /* Direct call parser#ReduceAction129#action on <self:Object(ReduceAction129)>*/
8408 /* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */
8409 void parser__ReduceAction131__action(val
* self
, val
* p0
) {
8410 val
* var_p
/* var p: Parser */;
8411 val
* var
/* : null */;
8412 val
* var_node_list
/* var node_list: nullable Object */;
8413 val
* var1
/* : nullable Object */;
8414 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8415 val
* var_tkwsupernode2
/* var tkwsupernode2: nullable Object */;
8416 short int var2
/* : Bool */;
8419 val
* var3
/* : ASuperExternCall */;
8420 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ASuperExternCall */;
8421 long var4
/* : Int */;
8422 long var5
/* : Int */;
8425 var_node_list
= var
;
8427 var1
= parser_work__Parser__pop(var_p
);
8429 var_nodearraylist1
= var1
;
8430 var_tkwsupernode2
= var_nodearraylist1
;
8431 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
8432 cltype
= type_nullable_parser_nodes__TKwsuper
.color
;
8433 idtype
= type_nullable_parser_nodes__TKwsuper
.id
;
8434 if(var_tkwsupernode2
== NULL
) {
8437 if(cltype
>= var_tkwsupernode2
->type
->table_size
) {
8440 var2
= var_tkwsupernode2
->type
->type_table
[cltype
] == idtype
;
8443 if (unlikely(!var2
)) {
8444 PRINT_ERROR("Runtime error: %s", "Assert failed");
8445 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4848);
8448 var3
= NEW_parser_nodes__ASuperExternCall(&type_parser_nodes__ASuperExternCall
);
8450 parser_prod__ASuperExternCall__init_asuperexterncall(var3
, var_tkwsupernode2
); /* Direct call parser_prod#ASuperExternCall#init_asuperexterncall on <var3:ASuperExternCall>*/
8452 var_pexterncallnode1
= var3
;
8453 var_node_list
= var_pexterncallnode1
;
8454 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction131> */
8456 var5
= parser_work__Parser__go_to(var_p
, var4
);
8459 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8463 /* method parser#ReduceAction131#action for (self: Object, Parser) */
8464 void VIRTUAL_parser__ReduceAction131__action(val
* self
, val
* p0
) {
8465 parser__ReduceAction131__action(self
, p0
); /* Direct call parser#ReduceAction131#action on <self:Object(ReduceAction131)>*/
8468 /* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */
8469 void parser__ReduceAction132__action(val
* self
, val
* p0
) {
8470 val
* var_p
/* var p: Parser */;
8471 val
* var
/* : null */;
8472 val
* var_node_list
/* var node_list: nullable Object */;
8473 val
* var1
/* : nullable Object */;
8474 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8475 val
* var_pmethidnode2
/* var pmethidnode2: nullable Object */;
8476 short int var2
/* : Bool */;
8479 val
* var3
/* : ALocalPropExternCall */;
8480 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ALocalPropExternCall */;
8481 long var4
/* : Int */;
8482 long var5
/* : Int */;
8485 var_node_list
= var
;
8487 var1
= parser_work__Parser__pop(var_p
);
8489 var_nodearraylist1
= var1
;
8490 var_pmethidnode2
= var_nodearraylist1
;
8491 /* <var_pmethidnode2:nullable Object> isa nullable AMethid */
8492 cltype
= type_nullable_parser_nodes__AMethid
.color
;
8493 idtype
= type_nullable_parser_nodes__AMethid
.id
;
8494 if(var_pmethidnode2
== NULL
) {
8497 if(cltype
>= var_pmethidnode2
->type
->table_size
) {
8500 var2
= var_pmethidnode2
->type
->type_table
[cltype
] == idtype
;
8503 if (unlikely(!var2
)) {
8504 PRINT_ERROR("Runtime error: %s", "Assert failed");
8505 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4863);
8508 var3
= NEW_parser_nodes__ALocalPropExternCall(&type_parser_nodes__ALocalPropExternCall
);
8510 parser_prod__ALocalPropExternCall__init_alocalpropexterncall(var3
, var_pmethidnode2
); /* Direct call parser_prod#ALocalPropExternCall#init_alocalpropexterncall on <var3:ALocalPropExternCall>*/
8512 var_pexterncallnode1
= var3
;
8513 var_node_list
= var_pexterncallnode1
;
8514 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction132> */
8516 var5
= parser_work__Parser__go_to(var_p
, var4
);
8519 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8523 /* method parser#ReduceAction132#action for (self: Object, Parser) */
8524 void VIRTUAL_parser__ReduceAction132__action(val
* self
, val
* p0
) {
8525 parser__ReduceAction132__action(self
, p0
); /* Direct call parser#ReduceAction132#action on <self:Object(ReduceAction132)>*/
8528 /* method parser#ReduceAction133#action for (self: ReduceAction133, Parser) */
8529 void parser__ReduceAction133__action(val
* self
, val
* p0
) {
8530 val
* var_p
/* var p: Parser */;
8531 val
* var
/* : null */;
8532 val
* var_node_list
/* var node_list: nullable Object */;
8533 val
* var1
/* : nullable Object */;
8534 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8535 val
* var2
/* : nullable Object */;
8536 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8537 val
* var3
/* : nullable Object */;
8538 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8539 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8540 short int var4
/* : Bool */;
8543 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
8544 short int var5
/* : Bool */;
8547 val
* var_pmethidnode4
/* var pmethidnode4: nullable Object */;
8548 short int var8
/* : Bool */;
8551 val
* var11
/* : AFullPropExternCall */;
8552 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AFullPropExternCall */;
8553 long var12
/* : Int */;
8554 long var13
/* : Int */;
8557 var_node_list
= var
;
8559 var1
= parser_work__Parser__pop(var_p
);
8561 var_nodearraylist3
= var1
;
8563 var2
= parser_work__Parser__pop(var_p
);
8565 var_nodearraylist2
= var2
;
8567 var3
= parser_work__Parser__pop(var_p
);
8569 var_nodearraylist1
= var3
;
8570 var_ptypenode2
= var_nodearraylist1
;
8571 /* <var_ptypenode2:nullable Object> isa nullable AType */
8572 cltype
= type_nullable_parser_nodes__AType
.color
;
8573 idtype
= type_nullable_parser_nodes__AType
.id
;
8574 if(var_ptypenode2
== NULL
) {
8577 if(cltype
>= var_ptypenode2
->type
->table_size
) {
8580 var4
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
8583 if (unlikely(!var4
)) {
8584 PRINT_ERROR("Runtime error: %s", "Assert failed");
8585 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4880);
8588 var_tdotnode3
= var_nodearraylist2
;
8589 /* <var_tdotnode3:nullable Object> isa nullable TDot */
8590 cltype6
= type_nullable_parser_nodes__TDot
.color
;
8591 idtype7
= type_nullable_parser_nodes__TDot
.id
;
8592 if(var_tdotnode3
== NULL
) {
8595 if(cltype6
>= var_tdotnode3
->type
->table_size
) {
8598 var5
= var_tdotnode3
->type
->type_table
[cltype6
] == idtype7
;
8601 if (unlikely(!var5
)) {
8602 PRINT_ERROR("Runtime error: %s", "Assert failed");
8603 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4882);
8606 var_pmethidnode4
= var_nodearraylist3
;
8607 /* <var_pmethidnode4:nullable Object> isa nullable AMethid */
8608 cltype9
= type_nullable_parser_nodes__AMethid
.color
;
8609 idtype10
= type_nullable_parser_nodes__AMethid
.id
;
8610 if(var_pmethidnode4
== NULL
) {
8613 if(cltype9
>= var_pmethidnode4
->type
->table_size
) {
8616 var8
= var_pmethidnode4
->type
->type_table
[cltype9
] == idtype10
;
8619 if (unlikely(!var8
)) {
8620 PRINT_ERROR("Runtime error: %s", "Assert failed");
8621 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4884);
8624 var11
= NEW_parser_nodes__AFullPropExternCall(&type_parser_nodes__AFullPropExternCall
);
8626 parser_prod__AFullPropExternCall__init_afullpropexterncall(var11
, var_ptypenode2
, var_tdotnode3
, var_pmethidnode4
); /* Direct call parser_prod#AFullPropExternCall#init_afullpropexterncall on <var11:AFullPropExternCall>*/
8628 var_pexterncallnode1
= var11
;
8629 var_node_list
= var_pexterncallnode1
;
8630 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction133> */
8632 var13
= parser_work__Parser__go_to(var_p
, var12
);
8635 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8639 /* method parser#ReduceAction133#action for (self: Object, Parser) */
8640 void VIRTUAL_parser__ReduceAction133__action(val
* self
, val
* p0
) {
8641 parser__ReduceAction133__action(self
, p0
); /* Direct call parser#ReduceAction133#action on <self:Object(ReduceAction133)>*/
8644 /* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */
8645 void parser__ReduceAction134__action(val
* self
, val
* p0
) {
8646 val
* var_p
/* var p: Parser */;
8647 val
* var
/* : null */;
8648 val
* var_node_list
/* var node_list: nullable Object */;
8649 val
* var1
/* : nullable Object */;
8650 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8651 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8652 short int var2
/* : Bool */;
8655 val
* var3
/* : AInitPropExternCall */;
8656 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AInitPropExternCall */;
8657 long var4
/* : Int */;
8658 long var5
/* : Int */;
8661 var_node_list
= var
;
8663 var1
= parser_work__Parser__pop(var_p
);
8665 var_nodearraylist1
= var1
;
8666 var_ptypenode2
= var_nodearraylist1
;
8667 /* <var_ptypenode2:nullable Object> isa nullable AType */
8668 cltype
= type_nullable_parser_nodes__AType
.color
;
8669 idtype
= type_nullable_parser_nodes__AType
.id
;
8670 if(var_ptypenode2
== NULL
) {
8673 if(cltype
>= var_ptypenode2
->type
->table_size
) {
8676 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
8679 if (unlikely(!var2
)) {
8680 PRINT_ERROR("Runtime error: %s", "Assert failed");
8681 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4901);
8684 var3
= NEW_parser_nodes__AInitPropExternCall(&type_parser_nodes__AInitPropExternCall
);
8686 parser_prod__AInitPropExternCall__init_ainitpropexterncall(var3
, var_ptypenode2
); /* Direct call parser_prod#AInitPropExternCall#init_ainitpropexterncall on <var3:AInitPropExternCall>*/
8688 var_pexterncallnode1
= var3
;
8689 var_node_list
= var_pexterncallnode1
;
8690 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction134> */
8692 var5
= parser_work__Parser__go_to(var_p
, var4
);
8695 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8699 /* method parser#ReduceAction134#action for (self: Object, Parser) */
8700 void VIRTUAL_parser__ReduceAction134__action(val
* self
, val
* p0
) {
8701 parser__ReduceAction134__action(self
, p0
); /* Direct call parser#ReduceAction134#action on <self:Object(ReduceAction134)>*/
8704 /* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */
8705 void parser__ReduceAction135__action(val
* self
, val
* p0
) {
8706 val
* var_p
/* var p: Parser */;
8707 val
* var
/* : null */;
8708 val
* var_node_list
/* var node_list: nullable Object */;
8709 val
* var1
/* : nullable Object */;
8710 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8711 val
* var2
/* : nullable Object */;
8712 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8713 val
* var3
/* : nullable Object */;
8714 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8715 val
* var4
/* : nullable Object */;
8716 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8717 val
* var5
/* : nullable Object */;
8718 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8719 val
* var6
/* : nullable Object */;
8720 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8721 val
* var7
/* : nullable Object */;
8722 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8723 val
* var8
/* : nullable Object */;
8724 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8725 val
* var9
/* : nullable Object */;
8726 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8727 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8728 short int var10
/* : Bool */;
8731 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
8732 short int var11
/* : Bool */;
8735 val
* var_tkwasnode4
/* var tkwasnode4: nullable Object */;
8736 short int var14
/* : Bool */;
8739 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
8740 short int var17
/* : Bool */;
8743 val
* var20
/* : ACastAsExternCall */;
8744 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ACastAsExternCall */;
8745 long var21
/* : Int */;
8746 long var22
/* : Int */;
8749 var_node_list
= var
;
8751 var1
= parser_work__Parser__pop(var_p
);
8753 var_nodearraylist9
= var1
;
8755 var2
= parser_work__Parser__pop(var_p
);
8757 var_nodearraylist8
= var2
;
8759 var3
= parser_work__Parser__pop(var_p
);
8761 var_nodearraylist7
= var3
;
8763 var4
= parser_work__Parser__pop(var_p
);
8765 var_nodearraylist6
= var4
;
8767 var5
= parser_work__Parser__pop(var_p
);
8769 var_nodearraylist5
= var5
;
8771 var6
= parser_work__Parser__pop(var_p
);
8773 var_nodearraylist4
= var6
;
8775 var7
= parser_work__Parser__pop(var_p
);
8777 var_nodearraylist3
= var7
;
8779 var8
= parser_work__Parser__pop(var_p
);
8781 var_nodearraylist2
= var8
;
8783 var9
= parser_work__Parser__pop(var_p
);
8785 var_nodearraylist1
= var9
;
8786 var_ptypenode2
= var_nodearraylist1
;
8787 /* <var_ptypenode2:nullable Object> isa nullable AType */
8788 cltype
= type_nullable_parser_nodes__AType
.color
;
8789 idtype
= type_nullable_parser_nodes__AType
.id
;
8790 if(var_ptypenode2
== NULL
) {
8793 if(cltype
>= var_ptypenode2
->type
->table_size
) {
8796 var10
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
8799 if (unlikely(!var10
)) {
8800 PRINT_ERROR("Runtime error: %s", "Assert failed");
8801 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4924);
8804 var_tdotnode3
= var_nodearraylist2
;
8805 /* <var_tdotnode3:nullable Object> isa nullable TDot */
8806 cltype12
= type_nullable_parser_nodes__TDot
.color
;
8807 idtype13
= type_nullable_parser_nodes__TDot
.id
;
8808 if(var_tdotnode3
== NULL
) {
8811 if(cltype12
>= var_tdotnode3
->type
->table_size
) {
8814 var11
= var_tdotnode3
->type
->type_table
[cltype12
] == idtype13
;
8817 if (unlikely(!var11
)) {
8818 PRINT_ERROR("Runtime error: %s", "Assert failed");
8819 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4926);
8822 var_tkwasnode4
= var_nodearraylist3
;
8823 /* <var_tkwasnode4:nullable Object> isa nullable TKwas */
8824 cltype15
= type_nullable_parser_nodes__TKwas
.color
;
8825 idtype16
= type_nullable_parser_nodes__TKwas
.id
;
8826 if(var_tkwasnode4
== NULL
) {
8829 if(cltype15
>= var_tkwasnode4
->type
->table_size
) {
8832 var14
= var_tkwasnode4
->type
->type_table
[cltype15
] == idtype16
;
8835 if (unlikely(!var14
)) {
8836 PRINT_ERROR("Runtime error: %s", "Assert failed");
8837 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4928);
8840 var_ptypenode5
= var_nodearraylist7
;
8841 /* <var_ptypenode5:nullable Object> isa nullable AType */
8842 cltype18
= type_nullable_parser_nodes__AType
.color
;
8843 idtype19
= type_nullable_parser_nodes__AType
.id
;
8844 if(var_ptypenode5
== NULL
) {
8847 if(cltype18
>= var_ptypenode5
->type
->table_size
) {
8850 var17
= var_ptypenode5
->type
->type_table
[cltype18
] == idtype19
;
8853 if (unlikely(!var17
)) {
8854 PRINT_ERROR("Runtime error: %s", "Assert failed");
8855 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4930);
8858 var20
= NEW_parser_nodes__ACastAsExternCall(&type_parser_nodes__ACastAsExternCall
);
8860 parser_prod__ACastAsExternCall__init_acastasexterncall(var20
, var_ptypenode2
, var_tdotnode3
, var_tkwasnode4
, var_ptypenode5
); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on <var20:ACastAsExternCall>*/
8862 var_pexterncallnode1
= var20
;
8863 var_node_list
= var_pexterncallnode1
;
8864 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction135> */
8866 var22
= parser_work__Parser__go_to(var_p
, var21
);
8869 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8873 /* method parser#ReduceAction135#action for (self: Object, Parser) */
8874 void VIRTUAL_parser__ReduceAction135__action(val
* self
, val
* p0
) {
8875 parser__ReduceAction135__action(self
, p0
); /* Direct call parser#ReduceAction135#action on <self:Object(ReduceAction135)>*/
8878 /* method parser#ReduceAction136#action for (self: ReduceAction136, Parser) */
8879 void parser__ReduceAction136__action(val
* self
, val
* p0
) {
8880 val
* var_p
/* var p: Parser */;
8881 val
* var
/* : null */;
8882 val
* var_node_list
/* var node_list: nullable Object */;
8883 val
* var1
/* : nullable Object */;
8884 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8885 val
* var2
/* : nullable Object */;
8886 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8887 val
* var3
/* : nullable Object */;
8888 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8889 val
* var4
/* : nullable Object */;
8890 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8891 val
* var5
/* : nullable Object */;
8892 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8893 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8894 short int var6
/* : Bool */;
8897 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
8898 short int var7
/* : Bool */;
8901 val
* var_tkwasnode4
/* var tkwasnode4: nullable Object */;
8902 short int var10
/* : Bool */;
8905 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
8906 short int var13
/* : Bool */;
8909 val
* var16
/* : ACastAsExternCall */;
8910 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ACastAsExternCall */;
8911 long var17
/* : Int */;
8912 long var18
/* : Int */;
8915 var_node_list
= var
;
8917 var1
= parser_work__Parser__pop(var_p
);
8919 var_nodearraylist5
= var1
;
8921 var2
= parser_work__Parser__pop(var_p
);
8923 var_nodearraylist4
= var2
;
8925 var3
= parser_work__Parser__pop(var_p
);
8927 var_nodearraylist3
= var3
;
8929 var4
= parser_work__Parser__pop(var_p
);
8931 var_nodearraylist2
= var4
;
8933 var5
= parser_work__Parser__pop(var_p
);
8935 var_nodearraylist1
= var5
;
8936 var_ptypenode2
= var_nodearraylist1
;
8937 /* <var_ptypenode2:nullable Object> isa nullable AType */
8938 cltype
= type_nullable_parser_nodes__AType
.color
;
8939 idtype
= type_nullable_parser_nodes__AType
.id
;
8940 if(var_ptypenode2
== NULL
) {
8943 if(cltype
>= var_ptypenode2
->type
->table_size
) {
8946 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
8949 if (unlikely(!var6
)) {
8950 PRINT_ERROR("Runtime error: %s", "Assert failed");
8951 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4952);
8954 var_tdotnode3
= var_nodearraylist2
;
8955 /* <var_tdotnode3:nullable Object> isa nullable TDot */
8956 cltype8
= type_nullable_parser_nodes__TDot
.color
;
8957 idtype9
= type_nullable_parser_nodes__TDot
.id
;
8958 if(var_tdotnode3
== NULL
) {
8961 if(cltype8
>= var_tdotnode3
->type
->table_size
) {
8964 var7
= var_tdotnode3
->type
->type_table
[cltype8
] == idtype9
;
8967 if (unlikely(!var7
)) {
8968 PRINT_ERROR("Runtime error: %s", "Assert failed");
8969 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4954);
8972 var_tkwasnode4
= var_nodearraylist3
;
8973 /* <var_tkwasnode4:nullable Object> isa nullable TKwas */
8974 cltype11
= type_nullable_parser_nodes__TKwas
.color
;
8975 idtype12
= type_nullable_parser_nodes__TKwas
.id
;
8976 if(var_tkwasnode4
== NULL
) {
8979 if(cltype11
>= var_tkwasnode4
->type
->table_size
) {
8982 var10
= var_tkwasnode4
->type
->type_table
[cltype11
] == idtype12
;
8985 if (unlikely(!var10
)) {
8986 PRINT_ERROR("Runtime error: %s", "Assert failed");
8987 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4956);
8990 var_ptypenode5
= var_nodearraylist5
;
8991 /* <var_ptypenode5:nullable Object> isa nullable AType */
8992 cltype14
= type_nullable_parser_nodes__AType
.color
;
8993 idtype15
= type_nullable_parser_nodes__AType
.id
;
8994 if(var_ptypenode5
== NULL
) {
8997 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
9000 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
9003 if (unlikely(!var13
)) {
9004 PRINT_ERROR("Runtime error: %s", "Assert failed");
9005 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4958);
9008 var16
= NEW_parser_nodes__ACastAsExternCall(&type_parser_nodes__ACastAsExternCall
);
9010 parser_prod__ACastAsExternCall__init_acastasexterncall(var16
, var_ptypenode2
, var_tdotnode3
, var_tkwasnode4
, var_ptypenode5
); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on <var16:ACastAsExternCall>*/
9012 var_pexterncallnode1
= var16
;
9013 var_node_list
= var_pexterncallnode1
;
9014 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction136> */
9016 var18
= parser_work__Parser__go_to(var_p
, var17
);
9019 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9023 /* method parser#ReduceAction136#action for (self: Object, Parser) */
9024 void VIRTUAL_parser__ReduceAction136__action(val
* self
, val
* p0
) {
9025 parser__ReduceAction136__action(self
, p0
); /* Direct call parser#ReduceAction136#action on <self:Object(ReduceAction136)>*/
9028 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
9029 void parser__ReduceAction137__action(val
* self
, val
* p0
) {
9030 val
* var_p
/* var p: Parser */;
9031 val
* var
/* : null */;
9032 val
* var_node_list
/* var node_list: nullable Object */;
9033 val
* var1
/* : nullable Object */;
9034 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9035 val
* var2
/* : nullable Object */;
9036 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9037 val
* var3
/* : nullable Object */;
9038 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9039 val
* var4
/* : nullable Object */;
9040 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9041 val
* var5
/* : nullable Object */;
9042 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9043 val
* var6
/* : nullable Object */;
9044 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9045 val
* var7
/* : nullable Object */;
9046 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9047 val
* var8
/* : nullable Object */;
9048 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9049 val
* var9
/* : nullable Object */;
9050 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9051 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9052 short int var10
/* : Bool */;
9055 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9056 short int var11
/* : Bool */;
9059 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
9060 short int var14
/* : Bool */;
9063 val
* var17
/* : AAsNullableExternCall */;
9064 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
9065 long var18
/* : Int */;
9066 long var19
/* : Int */;
9069 var_node_list
= var
;
9071 var1
= parser_work__Parser__pop(var_p
);
9073 var_nodearraylist9
= var1
;
9075 var2
= parser_work__Parser__pop(var_p
);
9077 var_nodearraylist8
= var2
;
9079 var3
= parser_work__Parser__pop(var_p
);
9081 var_nodearraylist7
= var3
;
9083 var4
= parser_work__Parser__pop(var_p
);
9085 var_nodearraylist6
= var4
;
9087 var5
= parser_work__Parser__pop(var_p
);
9089 var_nodearraylist5
= var5
;
9091 var6
= parser_work__Parser__pop(var_p
);
9093 var_nodearraylist4
= var6
;
9095 var7
= parser_work__Parser__pop(var_p
);
9097 var_nodearraylist3
= var7
;
9099 var8
= parser_work__Parser__pop(var_p
);
9101 var_nodearraylist2
= var8
;
9103 var9
= parser_work__Parser__pop(var_p
);
9105 var_nodearraylist1
= var9
;
9106 var_ptypenode2
= var_nodearraylist1
;
9107 /* <var_ptypenode2:nullable Object> isa nullable AType */
9108 cltype
= type_nullable_parser_nodes__AType
.color
;
9109 idtype
= type_nullable_parser_nodes__AType
.id
;
9110 if(var_ptypenode2
== NULL
) {
9113 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9116 var10
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9119 if (unlikely(!var10
)) {
9120 PRINT_ERROR("Runtime error: %s", "Assert failed");
9121 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4984);
9124 var_tkwasnode3
= var_nodearraylist3
;
9125 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9126 cltype12
= type_nullable_parser_nodes__TKwas
.color
;
9127 idtype13
= type_nullable_parser_nodes__TKwas
.id
;
9128 if(var_tkwasnode3
== NULL
) {
9131 if(cltype12
>= var_tkwasnode3
->type
->table_size
) {
9134 var11
= var_tkwasnode3
->type
->type_table
[cltype12
] == idtype13
;
9137 if (unlikely(!var11
)) {
9138 PRINT_ERROR("Runtime error: %s", "Assert failed");
9139 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4986);
9142 var_tkwnullablenode4
= var_nodearraylist7
;
9143 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
9144 cltype15
= type_nullable_parser_nodes__TKwnullable
.color
;
9145 idtype16
= type_nullable_parser_nodes__TKwnullable
.id
;
9146 if(var_tkwnullablenode4
== NULL
) {
9149 if(cltype15
>= var_tkwnullablenode4
->type
->table_size
) {
9152 var14
= var_tkwnullablenode4
->type
->type_table
[cltype15
] == idtype16
;
9155 if (unlikely(!var14
)) {
9156 PRINT_ERROR("Runtime error: %s", "Assert failed");
9157 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 4988);
9160 var17
= NEW_parser_nodes__AAsNullableExternCall(&type_parser_nodes__AAsNullableExternCall
);
9162 parser_prod__AAsNullableExternCall__init_aasnullableexterncall(var17
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var17:AAsNullableExternCall>*/
9164 var_pexterncallnode1
= var17
;
9165 var_node_list
= var_pexterncallnode1
;
9166 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction137> */
9168 var19
= parser_work__Parser__go_to(var_p
, var18
);
9171 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9175 /* method parser#ReduceAction137#action for (self: Object, Parser) */
9176 void VIRTUAL_parser__ReduceAction137__action(val
* self
, val
* p0
) {
9177 parser__ReduceAction137__action(self
, p0
); /* Direct call parser#ReduceAction137#action on <self:Object(ReduceAction137)>*/
9180 /* method parser#ReduceAction138#action for (self: ReduceAction138, Parser) */
9181 void parser__ReduceAction138__action(val
* self
, val
* p0
) {
9182 val
* var_p
/* var p: Parser */;
9183 val
* var
/* : null */;
9184 val
* var_node_list
/* var node_list: nullable Object */;
9185 val
* var1
/* : nullable Object */;
9186 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9187 val
* var2
/* : nullable Object */;
9188 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9189 val
* var3
/* : nullable Object */;
9190 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9191 val
* var4
/* : nullable Object */;
9192 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9193 val
* var5
/* : nullable Object */;
9194 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9195 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9196 short int var6
/* : Bool */;
9199 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9200 short int var7
/* : Bool */;
9203 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
9204 short int var10
/* : Bool */;
9207 val
* var13
/* : AAsNullableExternCall */;
9208 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
9209 long var14
/* : Int */;
9210 long var15
/* : Int */;
9213 var_node_list
= var
;
9215 var1
= parser_work__Parser__pop(var_p
);
9217 var_nodearraylist5
= var1
;
9219 var2
= parser_work__Parser__pop(var_p
);
9221 var_nodearraylist4
= var2
;
9223 var3
= parser_work__Parser__pop(var_p
);
9225 var_nodearraylist3
= var3
;
9227 var4
= parser_work__Parser__pop(var_p
);
9229 var_nodearraylist2
= var4
;
9231 var5
= parser_work__Parser__pop(var_p
);
9233 var_nodearraylist1
= var5
;
9234 var_ptypenode2
= var_nodearraylist1
;
9235 /* <var_ptypenode2:nullable Object> isa nullable AType */
9236 cltype
= type_nullable_parser_nodes__AType
.color
;
9237 idtype
= type_nullable_parser_nodes__AType
.id
;
9238 if(var_ptypenode2
== NULL
) {
9241 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9244 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9247 if (unlikely(!var6
)) {
9248 PRINT_ERROR("Runtime error: %s", "Assert failed");
9249 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5009);
9252 var_tkwasnode3
= var_nodearraylist3
;
9253 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9254 cltype8
= type_nullable_parser_nodes__TKwas
.color
;
9255 idtype9
= type_nullable_parser_nodes__TKwas
.id
;
9256 if(var_tkwasnode3
== NULL
) {
9259 if(cltype8
>= var_tkwasnode3
->type
->table_size
) {
9262 var7
= var_tkwasnode3
->type
->type_table
[cltype8
] == idtype9
;
9265 if (unlikely(!var7
)) {
9266 PRINT_ERROR("Runtime error: %s", "Assert failed");
9267 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5011);
9270 var_tkwnullablenode4
= var_nodearraylist5
;
9271 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
9272 cltype11
= type_nullable_parser_nodes__TKwnullable
.color
;
9273 idtype12
= type_nullable_parser_nodes__TKwnullable
.id
;
9274 if(var_tkwnullablenode4
== NULL
) {
9277 if(cltype11
>= var_tkwnullablenode4
->type
->table_size
) {
9280 var10
= var_tkwnullablenode4
->type
->type_table
[cltype11
] == idtype12
;
9283 if (unlikely(!var10
)) {
9284 PRINT_ERROR("Runtime error: %s", "Assert failed");
9285 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5013);
9288 var13
= NEW_parser_nodes__AAsNullableExternCall(&type_parser_nodes__AAsNullableExternCall
);
9290 parser_prod__AAsNullableExternCall__init_aasnullableexterncall(var13
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var13:AAsNullableExternCall>*/
9292 var_pexterncallnode1
= var13
;
9293 var_node_list
= var_pexterncallnode1
;
9294 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction138> */
9296 var15
= parser_work__Parser__go_to(var_p
, var14
);
9299 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9303 /* method parser#ReduceAction138#action for (self: Object, Parser) */
9304 void VIRTUAL_parser__ReduceAction138__action(val
* self
, val
* p0
) {
9305 parser__ReduceAction138__action(self
, p0
); /* Direct call parser#ReduceAction138#action on <self:Object(ReduceAction138)>*/
9308 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
9309 void parser__ReduceAction139__action(val
* self
, val
* p0
) {
9310 val
* var_p
/* var p: Parser */;
9311 val
* var
/* : null */;
9312 val
* var_node_list
/* var node_list: nullable Object */;
9313 val
* var1
/* : nullable Object */;
9314 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
9315 val
* var2
/* : nullable Object */;
9316 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9317 val
* var3
/* : nullable Object */;
9318 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9319 val
* var4
/* : nullable Object */;
9320 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9321 val
* var5
/* : nullable Object */;
9322 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9323 val
* var6
/* : nullable Object */;
9324 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9325 val
* var7
/* : nullable Object */;
9326 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9327 val
* var8
/* : nullable Object */;
9328 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9329 val
* var9
/* : nullable Object */;
9330 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9331 val
* var10
/* : nullable Object */;
9332 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9333 val
* var11
/* : nullable Object */;
9334 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9335 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9336 short int var12
/* : Bool */;
9339 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9340 short int var13
/* : Bool */;
9343 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
9344 short int var16
/* : Bool */;
9347 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
9348 short int var19
/* : Bool */;
9351 val
* var22
/* : AAsNotNullableExternCall */;
9352 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
9353 long var23
/* : Int */;
9354 long var24
/* : Int */;
9357 var_node_list
= var
;
9359 var1
= parser_work__Parser__pop(var_p
);
9361 var_nodearraylist11
= var1
;
9363 var2
= parser_work__Parser__pop(var_p
);
9365 var_nodearraylist10
= var2
;
9367 var3
= parser_work__Parser__pop(var_p
);
9369 var_nodearraylist9
= var3
;
9371 var4
= parser_work__Parser__pop(var_p
);
9373 var_nodearraylist8
= var4
;
9375 var5
= parser_work__Parser__pop(var_p
);
9377 var_nodearraylist7
= var5
;
9379 var6
= parser_work__Parser__pop(var_p
);
9381 var_nodearraylist6
= var6
;
9383 var7
= parser_work__Parser__pop(var_p
);
9385 var_nodearraylist5
= var7
;
9387 var8
= parser_work__Parser__pop(var_p
);
9389 var_nodearraylist4
= var8
;
9391 var9
= parser_work__Parser__pop(var_p
);
9393 var_nodearraylist3
= var9
;
9395 var10
= parser_work__Parser__pop(var_p
);
9397 var_nodearraylist2
= var10
;
9399 var11
= parser_work__Parser__pop(var_p
);
9401 var_nodearraylist1
= var11
;
9402 var_ptypenode2
= var_nodearraylist1
;
9403 /* <var_ptypenode2:nullable Object> isa nullable AType */
9404 cltype
= type_nullable_parser_nodes__AType
.color
;
9405 idtype
= type_nullable_parser_nodes__AType
.id
;
9406 if(var_ptypenode2
== NULL
) {
9409 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9412 var12
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9415 if (unlikely(!var12
)) {
9416 PRINT_ERROR("Runtime error: %s", "Assert failed");
9417 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5040);
9420 var_tkwasnode3
= var_nodearraylist3
;
9421 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9422 cltype14
= type_nullable_parser_nodes__TKwas
.color
;
9423 idtype15
= type_nullable_parser_nodes__TKwas
.id
;
9424 if(var_tkwasnode3
== NULL
) {
9427 if(cltype14
>= var_tkwasnode3
->type
->table_size
) {
9430 var13
= var_tkwasnode3
->type
->type_table
[cltype14
] == idtype15
;
9433 if (unlikely(!var13
)) {
9434 PRINT_ERROR("Runtime error: %s", "Assert failed");
9435 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5042);
9438 var_tkwnotnode4
= var_nodearraylist7
;
9439 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
9440 cltype17
= type_nullable_parser_nodes__TKwnot
.color
;
9441 idtype18
= type_nullable_parser_nodes__TKwnot
.id
;
9442 if(var_tkwnotnode4
== NULL
) {
9445 if(cltype17
>= var_tkwnotnode4
->type
->table_size
) {
9448 var16
= var_tkwnotnode4
->type
->type_table
[cltype17
] == idtype18
;
9451 if (unlikely(!var16
)) {
9452 PRINT_ERROR("Runtime error: %s", "Assert failed");
9453 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5044);
9456 var_tkwnullablenode5
= var_nodearraylist9
;
9457 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
9458 cltype20
= type_nullable_parser_nodes__TKwnullable
.color
;
9459 idtype21
= type_nullable_parser_nodes__TKwnullable
.id
;
9460 if(var_tkwnullablenode5
== NULL
) {
9463 if(cltype20
>= var_tkwnullablenode5
->type
->table_size
) {
9466 var19
= var_tkwnullablenode5
->type
->type_table
[cltype20
] == idtype21
;
9469 if (unlikely(!var19
)) {
9470 PRINT_ERROR("Runtime error: %s", "Assert failed");
9471 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5046);
9474 var22
= NEW_parser_nodes__AAsNotNullableExternCall(&type_parser_nodes__AAsNotNullableExternCall
);
9476 parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(var22
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var22:AAsNotNullableExternCall>*/
9478 var_pexterncallnode1
= var22
;
9479 var_node_list
= var_pexterncallnode1
;
9480 var23
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction139> */
9482 var24
= parser_work__Parser__go_to(var_p
, var23
);
9485 parser_work__Parser__push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9489 /* method parser#ReduceAction139#action for (self: Object, Parser) */
9490 void VIRTUAL_parser__ReduceAction139__action(val
* self
, val
* p0
) {
9491 parser__ReduceAction139__action(self
, p0
); /* Direct call parser#ReduceAction139#action on <self:Object(ReduceAction139)>*/
9494 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
9495 void parser__ReduceAction140__action(val
* self
, val
* p0
) {
9496 val
* var_p
/* var p: Parser */;
9497 val
* var
/* : null */;
9498 val
* var_node_list
/* var node_list: nullable Object */;
9499 val
* var1
/* : nullable Object */;
9500 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9501 val
* var2
/* : nullable Object */;
9502 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9503 val
* var3
/* : nullable Object */;
9504 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9505 val
* var4
/* : nullable Object */;
9506 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9507 val
* var5
/* : nullable Object */;
9508 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9509 val
* var6
/* : nullable Object */;
9510 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9511 val
* var7
/* : nullable Object */;
9512 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9513 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
9514 short int var8
/* : Bool */;
9517 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
9518 short int var9
/* : Bool */;
9521 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
9522 short int var12
/* : Bool */;
9525 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
9526 short int var15
/* : Bool */;
9529 val
* var18
/* : AAsNotNullableExternCall */;
9530 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
9531 long var19
/* : Int */;
9532 long var20
/* : Int */;
9535 var_node_list
= var
;
9537 var1
= parser_work__Parser__pop(var_p
);
9539 var_nodearraylist7
= var1
;
9541 var2
= parser_work__Parser__pop(var_p
);
9543 var_nodearraylist6
= var2
;
9545 var3
= parser_work__Parser__pop(var_p
);
9547 var_nodearraylist5
= var3
;
9549 var4
= parser_work__Parser__pop(var_p
);
9551 var_nodearraylist4
= var4
;
9553 var5
= parser_work__Parser__pop(var_p
);
9555 var_nodearraylist3
= var5
;
9557 var6
= parser_work__Parser__pop(var_p
);
9559 var_nodearraylist2
= var6
;
9561 var7
= parser_work__Parser__pop(var_p
);
9563 var_nodearraylist1
= var7
;
9564 var_ptypenode2
= var_nodearraylist1
;
9565 /* <var_ptypenode2:nullable Object> isa nullable AType */
9566 cltype
= type_nullable_parser_nodes__AType
.color
;
9567 idtype
= type_nullable_parser_nodes__AType
.id
;
9568 if(var_ptypenode2
== NULL
) {
9571 if(cltype
>= var_ptypenode2
->type
->table_size
) {
9574 var8
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
9577 if (unlikely(!var8
)) {
9578 PRINT_ERROR("Runtime error: %s", "Assert failed");
9579 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5070);
9582 var_tkwasnode3
= var_nodearraylist3
;
9583 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
9584 cltype10
= type_nullable_parser_nodes__TKwas
.color
;
9585 idtype11
= type_nullable_parser_nodes__TKwas
.id
;
9586 if(var_tkwasnode3
== NULL
) {
9589 if(cltype10
>= var_tkwasnode3
->type
->table_size
) {
9592 var9
= var_tkwasnode3
->type
->type_table
[cltype10
] == idtype11
;
9595 if (unlikely(!var9
)) {
9596 PRINT_ERROR("Runtime error: %s", "Assert failed");
9597 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5072);
9600 var_tkwnotnode4
= var_nodearraylist5
;
9601 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
9602 cltype13
= type_nullable_parser_nodes__TKwnot
.color
;
9603 idtype14
= type_nullable_parser_nodes__TKwnot
.id
;
9604 if(var_tkwnotnode4
== NULL
) {
9607 if(cltype13
>= var_tkwnotnode4
->type
->table_size
) {
9610 var12
= var_tkwnotnode4
->type
->type_table
[cltype13
] == idtype14
;
9613 if (unlikely(!var12
)) {
9614 PRINT_ERROR("Runtime error: %s", "Assert failed");
9615 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5074);
9618 var_tkwnullablenode5
= var_nodearraylist7
;
9619 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
9620 cltype16
= type_nullable_parser_nodes__TKwnullable
.color
;
9621 idtype17
= type_nullable_parser_nodes__TKwnullable
.id
;
9622 if(var_tkwnullablenode5
== NULL
) {
9625 if(cltype16
>= var_tkwnullablenode5
->type
->table_size
) {
9628 var15
= var_tkwnullablenode5
->type
->type_table
[cltype16
] == idtype17
;
9631 if (unlikely(!var15
)) {
9632 PRINT_ERROR("Runtime error: %s", "Assert failed");
9633 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5076);
9636 var18
= NEW_parser_nodes__AAsNotNullableExternCall(&type_parser_nodes__AAsNotNullableExternCall
);
9638 parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(var18
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var18:AAsNotNullableExternCall>*/
9640 var_pexterncallnode1
= var18
;
9641 var_node_list
= var_pexterncallnode1
;
9642 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction140> */
9644 var20
= parser_work__Parser__go_to(var_p
, var19
);
9647 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9651 /* method parser#ReduceAction140#action for (self: Object, Parser) */
9652 void VIRTUAL_parser__ReduceAction140__action(val
* self
, val
* p0
) {
9653 parser__ReduceAction140__action(self
, p0
); /* Direct call parser#ReduceAction140#action on <self:Object(ReduceAction140)>*/
9656 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
9657 void parser__ReduceAction142__action(val
* self
, val
* p0
) {
9658 val
* var_p
/* var p: Parser */;
9659 val
* var
/* : null */;
9660 val
* var_node_list
/* var node_list: nullable Object */;
9661 val
* var1
/* : nullable Object */;
9662 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9663 val
* var_tstringnode1
/* var tstringnode1: nullable Object */;
9664 long var2
/* : Int */;
9665 long var3
/* : Int */;
9668 var_node_list
= var
;
9670 var1
= parser_work__Parser__pop(var_p
);
9672 var_nodearraylist1
= var1
;
9673 var_tstringnode1
= var_nodearraylist1
;
9674 var_node_list
= var_tstringnode1
;
9675 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction142> */
9677 var3
= parser_work__Parser__go_to(var_p
, var2
);
9680 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9684 /* method parser#ReduceAction142#action for (self: Object, Parser) */
9685 void VIRTUAL_parser__ReduceAction142__action(val
* self
, val
* p0
) {
9686 parser__ReduceAction142__action(self
, p0
); /* Direct call parser#ReduceAction142#action on <self:Object(ReduceAction142)>*/
9689 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
9690 void parser__ReduceAction143__action(val
* self
, val
* p0
) {
9691 val
* var_p
/* var p: Parser */;
9692 val
* var
/* : null */;
9693 val
* var_node_list
/* var node_list: nullable Object */;
9694 val
* var1
/* : nullable Object */;
9695 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9696 val
* var2
/* : nullable Object */;
9697 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9698 val
* var3
/* : nullable Object */;
9699 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9700 val
* var4
/* : nullable Object */;
9701 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9702 val
* var_tkwinnode2
/* var tkwinnode2: nullable Object */;
9703 short int var5
/* : Bool */;
9706 val
* var_tstringnode3
/* var tstringnode3: nullable Object */;
9707 short int var6
/* : Bool */;
9710 val
* var9
/* : AInLanguage */;
9711 val
* var_pinlanguagenode1
/* var pinlanguagenode1: nullable AInLanguage */;
9712 long var10
/* : Int */;
9713 long var11
/* : Int */;
9716 var_node_list
= var
;
9718 var1
= parser_work__Parser__pop(var_p
);
9720 var_nodearraylist4
= var1
;
9722 var2
= parser_work__Parser__pop(var_p
);
9724 var_nodearraylist3
= var2
;
9726 var3
= parser_work__Parser__pop(var_p
);
9728 var_nodearraylist2
= var3
;
9730 var4
= parser_work__Parser__pop(var_p
);
9732 var_nodearraylist1
= var4
;
9733 var_tkwinnode2
= var_nodearraylist1
;
9734 /* <var_tkwinnode2:nullable Object> isa nullable TKwin */
9735 cltype
= type_nullable_parser_nodes__TKwin
.color
;
9736 idtype
= type_nullable_parser_nodes__TKwin
.id
;
9737 if(var_tkwinnode2
== NULL
) {
9740 if(cltype
>= var_tkwinnode2
->type
->table_size
) {
9743 var5
= var_tkwinnode2
->type
->type_table
[cltype
] == idtype
;
9746 if (unlikely(!var5
)) {
9747 PRINT_ERROR("Runtime error: %s", "Assert failed");
9748 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5108);
9751 var_tstringnode3
= var_nodearraylist3
;
9752 /* <var_tstringnode3:nullable Object> isa nullable TString */
9753 cltype7
= type_nullable_parser_nodes__TString
.color
;
9754 idtype8
= type_nullable_parser_nodes__TString
.id
;
9755 if(var_tstringnode3
== NULL
) {
9758 if(cltype7
>= var_tstringnode3
->type
->table_size
) {
9761 var6
= var_tstringnode3
->type
->type_table
[cltype7
] == idtype8
;
9764 if (unlikely(!var6
)) {
9765 PRINT_ERROR("Runtime error: %s", "Assert failed");
9766 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5110);
9769 var9
= NEW_parser_nodes__AInLanguage(&type_parser_nodes__AInLanguage
);
9771 parser_prod__AInLanguage__init_ainlanguage(var9
, var_tkwinnode2
, var_tstringnode3
); /* Direct call parser_prod#AInLanguage#init_ainlanguage on <var9:AInLanguage>*/
9773 var_pinlanguagenode1
= var9
;
9774 var_node_list
= var_pinlanguagenode1
;
9775 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction143> */
9777 var11
= parser_work__Parser__go_to(var_p
, var10
);
9780 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9784 /* method parser#ReduceAction143#action for (self: Object, Parser) */
9785 void VIRTUAL_parser__ReduceAction143__action(val
* self
, val
* p0
) {
9786 parser__ReduceAction143__action(self
, p0
); /* Direct call parser#ReduceAction143#action on <self:Object(ReduceAction143)>*/
9789 /* method parser#ReduceAction144#action for (self: ReduceAction144, Parser) */
9790 void parser__ReduceAction144__action(val
* self
, val
* p0
) {
9791 val
* var_p
/* var p: Parser */;
9792 val
* var
/* : null */;
9793 val
* var_node_list
/* var node_list: nullable Object */;
9794 val
* var1
/* : nullable Object */;
9795 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9796 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
9797 short int var2
/* : Bool */;
9800 val
* var3
/* : AExternCodeBlock */;
9801 val
* var4
/* : null */;
9802 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
9803 long var5
/* : Int */;
9804 long var6
/* : Int */;
9807 var_node_list
= var
;
9809 var1
= parser_work__Parser__pop(var_p
);
9811 var_nodearraylist1
= var1
;
9812 var_texterncodesegmentnode3
= var_nodearraylist1
;
9813 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
9814 cltype
= type_nullable_parser_nodes__TExternCodeSegment
.color
;
9815 idtype
= type_nullable_parser_nodes__TExternCodeSegment
.id
;
9816 if(var_texterncodesegmentnode3
== NULL
) {
9819 if(cltype
>= var_texterncodesegmentnode3
->type
->table_size
) {
9822 var2
= var_texterncodesegmentnode3
->type
->type_table
[cltype
] == idtype
;
9825 if (unlikely(!var2
)) {
9826 PRINT_ERROR("Runtime error: %s", "Assert failed");
9827 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5126);
9830 var3
= NEW_parser_nodes__AExternCodeBlock(&type_parser_nodes__AExternCodeBlock
);
9833 parser_prod__AExternCodeBlock__init_aexterncodeblock(var3
, var4
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var3:AExternCodeBlock>*/
9835 var_pexterncodeblocknode1
= var3
;
9836 var_node_list
= var_pexterncodeblocknode1
;
9837 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction144> */
9839 var6
= parser_work__Parser__go_to(var_p
, var5
);
9842 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9846 /* method parser#ReduceAction144#action for (self: Object, Parser) */
9847 void VIRTUAL_parser__ReduceAction144__action(val
* self
, val
* p0
) {
9848 parser__ReduceAction144__action(self
, p0
); /* Direct call parser#ReduceAction144#action on <self:Object(ReduceAction144)>*/
9851 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
9852 void parser__ReduceAction145__action(val
* self
, val
* p0
) {
9853 val
* var_p
/* var p: Parser */;
9854 val
* var
/* : null */;
9855 val
* var_node_list
/* var node_list: nullable Object */;
9856 val
* var1
/* : nullable Object */;
9857 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9858 val
* var2
/* : nullable Object */;
9859 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9860 val
* var_pinlanguagenode2
/* var pinlanguagenode2: nullable Object */;
9861 short int var3
/* : Bool */;
9864 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
9865 short int var4
/* : Bool */;
9868 val
* var7
/* : AExternCodeBlock */;
9869 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
9870 long var8
/* : Int */;
9871 long var9
/* : Int */;
9874 var_node_list
= var
;
9876 var1
= parser_work__Parser__pop(var_p
);
9878 var_nodearraylist2
= var1
;
9880 var2
= parser_work__Parser__pop(var_p
);
9882 var_nodearraylist1
= var2
;
9883 var_pinlanguagenode2
= var_nodearraylist1
;
9884 /* <var_pinlanguagenode2:nullable Object> isa nullable AInLanguage */
9885 cltype
= type_nullable_parser_nodes__AInLanguage
.color
;
9886 idtype
= type_nullable_parser_nodes__AInLanguage
.id
;
9887 if(var_pinlanguagenode2
== NULL
) {
9890 if(cltype
>= var_pinlanguagenode2
->type
->table_size
) {
9893 var3
= var_pinlanguagenode2
->type
->type_table
[cltype
] == idtype
;
9896 if (unlikely(!var3
)) {
9897 PRINT_ERROR("Runtime error: %s", "Assert failed");
9898 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5143);
9901 var_texterncodesegmentnode3
= var_nodearraylist2
;
9902 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
9903 cltype5
= type_nullable_parser_nodes__TExternCodeSegment
.color
;
9904 idtype6
= type_nullable_parser_nodes__TExternCodeSegment
.id
;
9905 if(var_texterncodesegmentnode3
== NULL
) {
9908 if(cltype5
>= var_texterncodesegmentnode3
->type
->table_size
) {
9911 var4
= var_texterncodesegmentnode3
->type
->type_table
[cltype5
] == idtype6
;
9914 if (unlikely(!var4
)) {
9915 PRINT_ERROR("Runtime error: %s", "Assert failed");
9916 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5145);
9919 var7
= NEW_parser_nodes__AExternCodeBlock(&type_parser_nodes__AExternCodeBlock
);
9921 parser_prod__AExternCodeBlock__init_aexterncodeblock(var7
, var_pinlanguagenode2
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var7:AExternCodeBlock>*/
9923 var_pexterncodeblocknode1
= var7
;
9924 var_node_list
= var_pexterncodeblocknode1
;
9925 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction145> */
9927 var9
= parser_work__Parser__go_to(var_p
, var8
);
9930 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9934 /* method parser#ReduceAction145#action for (self: Object, Parser) */
9935 void VIRTUAL_parser__ReduceAction145__action(val
* self
, val
* p0
) {
9936 parser__ReduceAction145__action(self
, p0
); /* Direct call parser#ReduceAction145#action on <self:Object(ReduceAction145)>*/
9939 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
9940 void parser__ReduceAction146__action(val
* self
, val
* p0
) {
9941 val
* var_p
/* var p: Parser */;
9942 val
* var
/* : null */;
9943 val
* var_node_list
/* var node_list: nullable Object */;
9944 val
* var1
/* : nullable Object */;
9945 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9946 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
9947 long var2
/* : Int */;
9948 long var3
/* : Int */;
9951 var_node_list
= var
;
9953 var1
= parser_work__Parser__pop(var_p
);
9955 var_nodearraylist1
= var1
;
9956 var_pexterncodeblocknode1
= var_nodearraylist1
;
9957 var_node_list
= var_pexterncodeblocknode1
;
9958 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction146> */
9960 var3
= parser_work__Parser__go_to(var_p
, var2
);
9963 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9967 /* method parser#ReduceAction146#action for (self: Object, Parser) */
9968 void VIRTUAL_parser__ReduceAction146__action(val
* self
, val
* p0
) {
9969 parser__ReduceAction146__action(self
, p0
); /* Direct call parser#ReduceAction146#action on <self:Object(ReduceAction146)>*/