1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction11#action for (self: ReduceAction11, Parser) */
3 void parser__ReduceAction11__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
15 val
* var5
/* : Array[Object] */;
16 val
* var_listnode4
/* var listnode4: Array[Object] */;
17 val
* var6
/* : Array[Object] */;
18 val
* var_listnode5
/* var listnode5: Array[Object] */;
19 val
* var7
/* : Array[Object] */;
20 val
* var_listnode8
/* var listnode8: Array[Object] */;
21 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
22 short int var8
/* : Bool */;
25 val
* var_listnode3
/* var listnode3: nullable Object */;
26 short int var9
/* : Bool */;
29 val
* var12
/* : Array[Object] */;
30 val
* var_listnode6
/* var listnode6: nullable Object */;
31 short int var13
/* : Bool */;
34 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
35 short int var16
/* : Bool */;
38 val
* var19
/* : Array[Object] */;
39 val
* var20
/* : null */;
40 short int var21
/* : Bool */;
41 short int var22
/* : Bool */;
42 val
* var_other
/* var other: nullable Object */;
43 short int var24
/* : Bool */;
44 short int var25
/* : Bool */;
45 short int var26
/* : Bool */;
46 val
* var27
/* : AModule */;
47 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
48 long var28
/* : Int */;
49 long var29
/* : Int */;
54 var1
= parser_work__Parser__pop(var_p
);
56 var_nodearraylist4
= var1
;
58 var2
= parser_work__Parser__pop(var_p
);
60 var_nodearraylist3
= var2
;
62 var3
= parser_work__Parser__pop(var_p
);
64 var_nodearraylist2
= var3
;
66 var4
= parser_work__Parser__pop(var_p
);
68 var_nodearraylist1
= var4
;
69 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
71 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
74 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
76 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
79 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
81 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
84 var_pmoduledeclnode2
= var_nodearraylist1
;
85 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
86 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
87 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
88 if(var_pmoduledeclnode2
== NULL
) {
91 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
94 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
97 if (unlikely(!var8
)) {
98 PRINT_ERROR("Runtime error: %s", "Assert failed");
99 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1365);
102 var_listnode3
= var_nodearraylist2
;
103 /* <var_listnode3:nullable Object> isa Array[Object] */
104 cltype10
= type_array__Arraykernel__Object
.color
;
105 idtype11
= type_array__Arraykernel__Object
.id
;
106 if(var_listnode3
== NULL
) {
109 if(cltype10
>= var_listnode3
->type
->table_size
) {
112 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
115 if (unlikely(!var9
)) {
116 PRINT_ERROR("Runtime error: %s", "Assert failed");
117 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1367);
121 var12
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
123 var_listnode4
= var12
;
124 var_listnode6
= var_nodearraylist3
;
125 /* <var_listnode6:nullable Object> isa Array[Object] */
126 cltype14
= type_array__Arraykernel__Object
.color
;
127 idtype15
= type_array__Arraykernel__Object
.id
;
128 if(var_listnode6
== NULL
) {
131 if(cltype14
>= var_listnode6
->type
->table_size
) {
134 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
137 if (unlikely(!var13
)) {
138 PRINT_ERROR("Runtime error: %s", "Assert failed");
139 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1370);
142 var_pclassdefnode7
= var_nodearraylist4
;
143 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
144 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
145 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
146 if(var_pclassdefnode7
== NULL
) {
149 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
152 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
155 if (unlikely(!var16
)) {
156 PRINT_ERROR("Runtime error: %s", "Assert failed");
157 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1372);
161 var19
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode6
);
163 var_listnode8
= var19
;
165 if (var_pclassdefnode7
== NULL
) {
166 var21
= 0; /* is null */
168 var21
= 1; /* arg is null and recv is not */
171 { /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
174 var25
= ((short int (*)(val
*, val
*))(var_pclassdefnode7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pclassdefnode7
, var_other
) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
186 array__Array__add(var_listnode8
, var_pclassdefnode7
); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
190 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
192 parser_prod__AModule__init_amodule(var27
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode8
); /* Direct call parser_prod#AModule#init_amodule on <var27:AModule>*/
194 var_pmodulenode1
= var27
;
195 var_node_list
= var_pmodulenode1
;
196 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction11> */
198 var29
= parser_work__Parser__go_to(var_p
, var28
);
201 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
205 /* method parser#ReduceAction11#action for (self: Object, Parser) */
206 void VIRTUAL_parser__ReduceAction11__action(val
* self
, val
* p0
) {
207 parser__ReduceAction11__action(self
, p0
); /* Direct call parser#ReduceAction11#action on <self:Object(ReduceAction11)>*/
210 /* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */
211 void parser__ReduceAction12__action(val
* self
, val
* p0
) {
212 val
* var_p
/* var p: Parser */;
213 val
* var
/* : null */;
214 val
* var_node_list
/* var node_list: nullable Object */;
215 val
* var1
/* : nullable Object */;
216 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
217 val
* var2
/* : nullable Object */;
218 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
219 val
* var3
/* : nullable Object */;
220 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
221 val
* var4
/* : Array[Object] */;
222 val
* var_listnode3
/* var listnode3: Array[Object] */;
223 val
* var5
/* : Array[Object] */;
224 val
* var_listnode5
/* var listnode5: Array[Object] */;
225 val
* var6
/* : Array[Object] */;
226 val
* var_listnode8
/* var listnode8: Array[Object] */;
227 val
* var_listnode4
/* var listnode4: nullable Object */;
228 short int var7
/* : Bool */;
231 val
* var8
/* : Array[Object] */;
232 val
* var_listnode6
/* var listnode6: nullable Object */;
233 short int var9
/* : Bool */;
236 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
237 short int var12
/* : Bool */;
240 val
* var15
/* : Array[Object] */;
241 val
* var16
/* : null */;
242 short int var17
/* : Bool */;
243 short int var18
/* : Bool */;
244 val
* var_other
/* var other: nullable Object */;
245 short int var20
/* : Bool */;
246 short int var21
/* : Bool */;
247 short int var22
/* : Bool */;
248 val
* var23
/* : AModule */;
249 val
* var24
/* : null */;
250 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
251 long var25
/* : Int */;
252 long var26
/* : Int */;
257 var1
= parser_work__Parser__pop(var_p
);
259 var_nodearraylist3
= var1
;
261 var2
= parser_work__Parser__pop(var_p
);
263 var_nodearraylist2
= var2
;
265 var3
= parser_work__Parser__pop(var_p
);
267 var_nodearraylist1
= var3
;
268 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
270 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
272 var_listnode3
= var4
;
273 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
275 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
277 var_listnode5
= var5
;
278 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
280 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
282 var_listnode8
= var6
;
283 var_listnode4
= var_nodearraylist1
;
284 /* <var_listnode4:nullable Object> isa Array[Object] */
285 cltype
= type_array__Arraykernel__Object
.color
;
286 idtype
= type_array__Arraykernel__Object
.id
;
287 if(var_listnode4
== NULL
) {
290 if(cltype
>= var_listnode4
->type
->table_size
) {
293 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
296 if (unlikely(!var7
)) {
297 PRINT_ERROR("Runtime error: %s", "Assert failed");
298 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1399);
302 var8
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
304 var_listnode5
= var8
;
305 var_listnode6
= var_nodearraylist2
;
306 /* <var_listnode6:nullable Object> isa Array[Object] */
307 cltype10
= type_array__Arraykernel__Object
.color
;
308 idtype11
= type_array__Arraykernel__Object
.id
;
309 if(var_listnode6
== NULL
) {
312 if(cltype10
>= var_listnode6
->type
->table_size
) {
315 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
318 if (unlikely(!var9
)) {
319 PRINT_ERROR("Runtime error: %s", "Assert failed");
320 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1402);
323 var_pclassdefnode7
= var_nodearraylist3
;
324 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
325 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
326 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
327 if(var_pclassdefnode7
== NULL
) {
330 if(cltype13
>= var_pclassdefnode7
->type
->table_size
) {
333 var12
= var_pclassdefnode7
->type
->type_table
[cltype13
] == idtype14
;
336 if (unlikely(!var12
)) {
337 PRINT_ERROR("Runtime error: %s", "Assert failed");
338 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1404);
342 var15
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode6
);
344 var_listnode8
= var15
;
346 if (var_pclassdefnode7
== NULL
) {
347 var17
= 0; /* is null */
349 var17
= 1; /* arg is null and recv is not */
352 { /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
355 var21
= ((short int (*)(val
*, val
*))(var_pclassdefnode7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pclassdefnode7
, var_other
) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
367 array__Array__add(var_listnode8
, var_pclassdefnode7
); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
371 var23
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
374 parser_prod__AModule__init_amodule(var23
, var24
, var_listnode3
, var_listnode5
, var_listnode8
); /* Direct call parser_prod#AModule#init_amodule on <var23:AModule>*/
376 var_pmodulenode1
= var23
;
377 var_node_list
= var_pmodulenode1
;
378 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction12> */
380 var26
= parser_work__Parser__go_to(var_p
, var25
);
383 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
387 /* method parser#ReduceAction12#action for (self: Object, Parser) */
388 void VIRTUAL_parser__ReduceAction12__action(val
* self
, val
* p0
) {
389 parser__ReduceAction12__action(self
, p0
); /* Direct call parser#ReduceAction12#action on <self:Object(ReduceAction12)>*/
392 /* method parser#ReduceAction13#action for (self: ReduceAction13, Parser) */
393 void parser__ReduceAction13__action(val
* self
, val
* p0
) {
394 val
* var_p
/* var p: Parser */;
395 val
* var
/* : null */;
396 val
* var_node_list
/* var node_list: nullable Object */;
397 val
* var1
/* : nullable Object */;
398 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
399 val
* var2
/* : nullable Object */;
400 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
401 val
* var3
/* : nullable Object */;
402 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
403 val
* var4
/* : nullable Object */;
404 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
405 val
* var5
/* : Array[Object] */;
406 val
* var_listnode3
/* var listnode3: Array[Object] */;
407 val
* var6
/* : Array[Object] */;
408 val
* var_listnode5
/* var listnode5: Array[Object] */;
409 val
* var7
/* : Array[Object] */;
410 val
* var_listnode8
/* var listnode8: Array[Object] */;
411 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
412 short int var8
/* : Bool */;
415 val
* var_listnode4
/* var listnode4: nullable Object */;
416 short int var9
/* : Bool */;
419 val
* var12
/* : Array[Object] */;
420 val
* var_listnode6
/* var listnode6: nullable Object */;
421 short int var13
/* : Bool */;
424 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
425 short int var16
/* : Bool */;
428 val
* var19
/* : Array[Object] */;
429 val
* var20
/* : null */;
430 short int var21
/* : Bool */;
431 short int var22
/* : Bool */;
432 val
* var_other
/* var other: nullable Object */;
433 short int var24
/* : Bool */;
434 short int var25
/* : Bool */;
435 short int var26
/* : Bool */;
436 val
* var27
/* : AModule */;
437 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
438 long var28
/* : Int */;
439 long var29
/* : Int */;
444 var1
= parser_work__Parser__pop(var_p
);
446 var_nodearraylist4
= var1
;
448 var2
= parser_work__Parser__pop(var_p
);
450 var_nodearraylist3
= var2
;
452 var3
= parser_work__Parser__pop(var_p
);
454 var_nodearraylist2
= var3
;
456 var4
= parser_work__Parser__pop(var_p
);
458 var_nodearraylist1
= var4
;
459 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
461 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
463 var_listnode3
= var5
;
464 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
466 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
468 var_listnode5
= var6
;
469 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
471 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
473 var_listnode8
= var7
;
474 var_pmoduledeclnode2
= var_nodearraylist1
;
475 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
476 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
477 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
478 if(var_pmoduledeclnode2
== NULL
) {
481 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
484 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
487 if (unlikely(!var8
)) {
488 PRINT_ERROR("Runtime error: %s", "Assert failed");
489 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1432);
492 var_listnode4
= var_nodearraylist2
;
493 /* <var_listnode4:nullable Object> isa Array[Object] */
494 cltype10
= type_array__Arraykernel__Object
.color
;
495 idtype11
= type_array__Arraykernel__Object
.id
;
496 if(var_listnode4
== NULL
) {
499 if(cltype10
>= var_listnode4
->type
->table_size
) {
502 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
505 if (unlikely(!var9
)) {
506 PRINT_ERROR("Runtime error: %s", "Assert failed");
507 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1434);
511 var12
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
513 var_listnode5
= var12
;
514 var_listnode6
= var_nodearraylist3
;
515 /* <var_listnode6:nullable Object> isa Array[Object] */
516 cltype14
= type_array__Arraykernel__Object
.color
;
517 idtype15
= type_array__Arraykernel__Object
.id
;
518 if(var_listnode6
== NULL
) {
521 if(cltype14
>= var_listnode6
->type
->table_size
) {
524 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
527 if (unlikely(!var13
)) {
528 PRINT_ERROR("Runtime error: %s", "Assert failed");
529 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1437);
532 var_pclassdefnode7
= var_nodearraylist4
;
533 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
534 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
535 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
536 if(var_pclassdefnode7
== NULL
) {
539 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
542 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
545 if (unlikely(!var16
)) {
546 PRINT_ERROR("Runtime error: %s", "Assert failed");
547 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1439);
551 var19
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode6
);
553 var_listnode8
= var19
;
555 if (var_pclassdefnode7
== NULL
) {
556 var21
= 0; /* is null */
558 var21
= 1; /* arg is null and recv is not */
561 { /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
564 var25
= ((short int (*)(val
*, val
*))(var_pclassdefnode7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pclassdefnode7
, var_other
) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
576 array__Array__add(var_listnode8
, var_pclassdefnode7
); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
580 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
582 parser_prod__AModule__init_amodule(var27
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode8
); /* Direct call parser_prod#AModule#init_amodule on <var27:AModule>*/
584 var_pmodulenode1
= var27
;
585 var_node_list
= var_pmodulenode1
;
586 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction13> */
588 var29
= parser_work__Parser__go_to(var_p
, var28
);
591 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
595 /* method parser#ReduceAction13#action for (self: Object, Parser) */
596 void VIRTUAL_parser__ReduceAction13__action(val
* self
, val
* p0
) {
597 parser__ReduceAction13__action(self
, p0
); /* Direct call parser#ReduceAction13#action on <self:Object(ReduceAction13)>*/
600 /* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */
601 void parser__ReduceAction14__action(val
* self
, val
* p0
) {
602 val
* var_p
/* var p: Parser */;
603 val
* var
/* : null */;
604 val
* var_node_list
/* var node_list: nullable Object */;
605 val
* var1
/* : nullable Object */;
606 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
607 val
* var2
/* : nullable Object */;
608 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
609 val
* var3
/* : nullable Object */;
610 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
611 val
* var4
/* : nullable Object */;
612 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
613 val
* var5
/* : Array[Object] */;
614 val
* var_listnode4
/* var listnode4: Array[Object] */;
615 val
* var6
/* : Array[Object] */;
616 val
* var_listnode6
/* var listnode6: Array[Object] */;
617 val
* var7
/* : Array[Object] */;
618 val
* var_listnode9
/* var listnode9: Array[Object] */;
619 val
* var_listnode3
/* var listnode3: nullable Object */;
620 short int var8
/* : Bool */;
623 val
* var9
/* : Array[Object] */;
624 val
* var_listnode5
/* var listnode5: nullable Object */;
625 short int var10
/* : Bool */;
628 val
* var13
/* : Array[Object] */;
629 val
* var_listnode7
/* var listnode7: nullable Object */;
630 short int var14
/* : Bool */;
633 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
634 short int var17
/* : Bool */;
637 val
* var20
/* : Array[Object] */;
638 val
* var21
/* : null */;
639 short int var22
/* : Bool */;
640 short int var23
/* : Bool */;
641 val
* var_other
/* var other: nullable Object */;
642 short int var25
/* : Bool */;
643 short int var26
/* : Bool */;
644 short int var27
/* : Bool */;
645 val
* var28
/* : AModule */;
646 val
* var29
/* : null */;
647 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
648 long var30
/* : Int */;
649 long var31
/* : Int */;
654 var1
= parser_work__Parser__pop(var_p
);
656 var_nodearraylist4
= var1
;
658 var2
= parser_work__Parser__pop(var_p
);
660 var_nodearraylist3
= var2
;
662 var3
= parser_work__Parser__pop(var_p
);
664 var_nodearraylist2
= var3
;
666 var4
= parser_work__Parser__pop(var_p
);
668 var_nodearraylist1
= var4
;
669 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
671 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
673 var_listnode4
= var5
;
674 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
676 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
678 var_listnode6
= var6
;
679 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
681 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
683 var_listnode9
= var7
;
684 var_listnode3
= var_nodearraylist1
;
685 /* <var_listnode3:nullable Object> isa Array[Object] */
686 cltype
= type_array__Arraykernel__Object
.color
;
687 idtype
= type_array__Arraykernel__Object
.id
;
688 if(var_listnode3
== NULL
) {
691 if(cltype
>= var_listnode3
->type
->table_size
) {
694 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
697 if (unlikely(!var8
)) {
698 PRINT_ERROR("Runtime error: %s", "Assert failed");
699 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1467);
703 var9
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
705 var_listnode4
= var9
;
706 var_listnode5
= var_nodearraylist2
;
707 /* <var_listnode5:nullable Object> isa Array[Object] */
708 cltype11
= type_array__Arraykernel__Object
.color
;
709 idtype12
= type_array__Arraykernel__Object
.id
;
710 if(var_listnode5
== NULL
) {
713 if(cltype11
>= var_listnode5
->type
->table_size
) {
716 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
719 if (unlikely(!var10
)) {
720 PRINT_ERROR("Runtime error: %s", "Assert failed");
721 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1470);
725 var13
= parser_work__ReduceAction__concat(self
, var_listnode6
, var_listnode5
);
727 var_listnode6
= var13
;
728 var_listnode7
= var_nodearraylist3
;
729 /* <var_listnode7:nullable Object> isa Array[Object] */
730 cltype15
= type_array__Arraykernel__Object
.color
;
731 idtype16
= type_array__Arraykernel__Object
.id
;
732 if(var_listnode7
== NULL
) {
735 if(cltype15
>= var_listnode7
->type
->table_size
) {
738 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
741 if (unlikely(!var14
)) {
742 PRINT_ERROR("Runtime error: %s", "Assert failed");
743 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1473);
746 var_pclassdefnode8
= var_nodearraylist4
;
747 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
748 cltype18
= type_nullable_parser_nodes__AClassdef
.color
;
749 idtype19
= type_nullable_parser_nodes__AClassdef
.id
;
750 if(var_pclassdefnode8
== NULL
) {
753 if(cltype18
>= var_pclassdefnode8
->type
->table_size
) {
756 var17
= var_pclassdefnode8
->type
->type_table
[cltype18
] == idtype19
;
759 if (unlikely(!var17
)) {
760 PRINT_ERROR("Runtime error: %s", "Assert failed");
761 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1475);
765 var20
= parser_work__ReduceAction__concat(self
, var_listnode9
, var_listnode7
);
767 var_listnode9
= var20
;
769 if (var_pclassdefnode8
== NULL
) {
770 var22
= 0; /* is null */
772 var22
= 1; /* arg is null and recv is not */
775 { /* Inline kernel#Object#!= (var_pclassdefnode8,var21) on <var_pclassdefnode8:nullable Object(nullable AClassdef)> */
778 var26
= ((short int (*)(val
*, val
*))(var_pclassdefnode8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pclassdefnode8
, var_other
) /* == on <var_pclassdefnode8:nullable AClassdef(AClassdef)>*/;
790 array__Array__add(var_listnode9
, var_pclassdefnode8
); /* Direct call array#Array#add on <var_listnode9:Array[Object]>*/
794 var28
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
797 parser_prod__AModule__init_amodule(var28
, var29
, var_listnode4
, var_listnode6
, var_listnode9
); /* Direct call parser_prod#AModule#init_amodule on <var28:AModule>*/
799 var_pmodulenode1
= var28
;
800 var_node_list
= var_pmodulenode1
;
801 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction14> */
803 var31
= parser_work__Parser__go_to(var_p
, var30
);
806 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
810 /* method parser#ReduceAction14#action for (self: Object, Parser) */
811 void VIRTUAL_parser__ReduceAction14__action(val
* self
, val
* p0
) {
812 parser__ReduceAction14__action(self
, p0
); /* Direct call parser#ReduceAction14#action on <self:Object(ReduceAction14)>*/
815 /* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */
816 void parser__ReduceAction15__action(val
* self
, val
* p0
) {
817 val
* var_p
/* var p: Parser */;
818 val
* var
/* : null */;
819 val
* var_node_list
/* var node_list: nullable Object */;
820 val
* var1
/* : nullable Object */;
821 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
822 val
* var2
/* : nullable Object */;
823 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
824 val
* var3
/* : nullable Object */;
825 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
826 val
* var4
/* : nullable Object */;
827 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
828 val
* var5
/* : nullable Object */;
829 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
830 val
* var6
/* : Array[Object] */;
831 val
* var_listnode4
/* var listnode4: Array[Object] */;
832 val
* var7
/* : Array[Object] */;
833 val
* var_listnode6
/* var listnode6: Array[Object] */;
834 val
* var8
/* : Array[Object] */;
835 val
* var_listnode9
/* var listnode9: Array[Object] */;
836 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
837 short int var9
/* : Bool */;
840 val
* var_listnode3
/* var listnode3: nullable Object */;
841 short int var10
/* : Bool */;
844 val
* var13
/* : Array[Object] */;
845 val
* var_listnode5
/* var listnode5: nullable Object */;
846 short int var14
/* : Bool */;
849 val
* var17
/* : Array[Object] */;
850 val
* var_listnode7
/* var listnode7: nullable Object */;
851 short int var18
/* : Bool */;
854 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
855 short int var21
/* : Bool */;
858 val
* var24
/* : Array[Object] */;
859 val
* var25
/* : null */;
860 short int var26
/* : Bool */;
861 short int var27
/* : Bool */;
862 val
* var_other
/* var other: nullable Object */;
863 short int var29
/* : Bool */;
864 short int var30
/* : Bool */;
865 short int var31
/* : Bool */;
866 val
* var32
/* : AModule */;
867 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
868 long var33
/* : Int */;
869 long var34
/* : Int */;
874 var1
= parser_work__Parser__pop(var_p
);
876 var_nodearraylist5
= var1
;
878 var2
= parser_work__Parser__pop(var_p
);
880 var_nodearraylist4
= var2
;
882 var3
= parser_work__Parser__pop(var_p
);
884 var_nodearraylist3
= var3
;
886 var4
= parser_work__Parser__pop(var_p
);
888 var_nodearraylist2
= var4
;
890 var5
= parser_work__Parser__pop(var_p
);
892 var_nodearraylist1
= var5
;
893 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
895 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
897 var_listnode4
= var6
;
898 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
900 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
902 var_listnode6
= var7
;
903 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
905 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[Object]>*/;
907 var_listnode9
= var8
;
908 var_pmoduledeclnode2
= var_nodearraylist1
;
909 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
910 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
911 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
912 if(var_pmoduledeclnode2
== NULL
) {
915 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
918 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
921 if (unlikely(!var9
)) {
922 PRINT_ERROR("Runtime error: %s", "Assert failed");
923 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1504);
926 var_listnode3
= var_nodearraylist2
;
927 /* <var_listnode3:nullable Object> isa Array[Object] */
928 cltype11
= type_array__Arraykernel__Object
.color
;
929 idtype12
= type_array__Arraykernel__Object
.id
;
930 if(var_listnode3
== NULL
) {
933 if(cltype11
>= var_listnode3
->type
->table_size
) {
936 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
939 if (unlikely(!var10
)) {
940 PRINT_ERROR("Runtime error: %s", "Assert failed");
941 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1506);
945 var13
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
947 var_listnode4
= var13
;
948 var_listnode5
= var_nodearraylist3
;
949 /* <var_listnode5:nullable Object> isa Array[Object] */
950 cltype15
= type_array__Arraykernel__Object
.color
;
951 idtype16
= type_array__Arraykernel__Object
.id
;
952 if(var_listnode5
== NULL
) {
955 if(cltype15
>= var_listnode5
->type
->table_size
) {
958 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
961 if (unlikely(!var14
)) {
962 PRINT_ERROR("Runtime error: %s", "Assert failed");
963 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1509);
967 var17
= parser_work__ReduceAction__concat(self
, var_listnode6
, var_listnode5
);
969 var_listnode6
= var17
;
970 var_listnode7
= var_nodearraylist4
;
971 /* <var_listnode7:nullable Object> isa Array[Object] */
972 cltype19
= type_array__Arraykernel__Object
.color
;
973 idtype20
= type_array__Arraykernel__Object
.id
;
974 if(var_listnode7
== NULL
) {
977 if(cltype19
>= var_listnode7
->type
->table_size
) {
980 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
983 if (unlikely(!var18
)) {
984 PRINT_ERROR("Runtime error: %s", "Assert failed");
985 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1512);
988 var_pclassdefnode8
= var_nodearraylist5
;
989 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
990 cltype22
= type_nullable_parser_nodes__AClassdef
.color
;
991 idtype23
= type_nullable_parser_nodes__AClassdef
.id
;
992 if(var_pclassdefnode8
== NULL
) {
995 if(cltype22
>= var_pclassdefnode8
->type
->table_size
) {
998 var21
= var_pclassdefnode8
->type
->type_table
[cltype22
] == idtype23
;
1001 if (unlikely(!var21
)) {
1002 PRINT_ERROR("Runtime error: %s", "Assert failed");
1003 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1514);
1007 var24
= parser_work__ReduceAction__concat(self
, var_listnode9
, var_listnode7
);
1009 var_listnode9
= var24
;
1011 if (var_pclassdefnode8
== NULL
) {
1012 var26
= 0; /* is null */
1014 var26
= 1; /* arg is null and recv is not */
1017 { /* Inline kernel#Object#!= (var_pclassdefnode8,var25) on <var_pclassdefnode8:nullable Object(nullable AClassdef)> */
1020 var30
= ((short int (*)(val
*, val
*))(var_pclassdefnode8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pclassdefnode8
, var_other
) /* == on <var_pclassdefnode8:nullable AClassdef(AClassdef)>*/;
1026 RET_LABEL28
:(void)0;
1032 array__Array__add(var_listnode9
, var_pclassdefnode8
); /* Direct call array#Array#add on <var_listnode9:Array[Object]>*/
1036 var32
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1038 parser_prod__AModule__init_amodule(var32
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode9
); /* Direct call parser_prod#AModule#init_amodule on <var32:AModule>*/
1040 var_pmodulenode1
= var32
;
1041 var_node_list
= var_pmodulenode1
;
1042 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction15> */
1044 var34
= parser_work__Parser__go_to(var_p
, var33
);
1047 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1051 /* method parser#ReduceAction15#action for (self: Object, Parser) */
1052 void VIRTUAL_parser__ReduceAction15__action(val
* self
, val
* p0
) {
1053 parser__ReduceAction15__action(self
, p0
); /* Direct call parser#ReduceAction15#action on <self:Object(ReduceAction15)>*/
1056 /* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */
1057 void parser__ReduceAction16__action(val
* self
, val
* p0
) {
1058 val
* var_p
/* var p: Parser */;
1059 val
* var
/* : null */;
1060 val
* var_node_list
/* var node_list: nullable Object */;
1061 val
* var1
/* : nullable Object */;
1062 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1063 val
* var2
/* : nullable Object */;
1064 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1065 val
* var3
/* : nullable Object */;
1066 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1067 val
* var4
/* : nullable Object */;
1068 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1069 val
* var5
/* : nullable Object */;
1070 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1071 val
* var6
/* : nullable Object */;
1072 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1073 val
* var7
/* : nullable Object */;
1074 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1075 val
* var8
/* : nullable Object */;
1076 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1077 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1078 short int var9
/* : Bool */;
1081 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1082 short int var10
/* : Bool */;
1085 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1086 short int var13
/* : Bool */;
1089 val
* var_tkwmodulenode5
/* var tkwmodulenode5: nullable Object */;
1090 short int var16
/* : Bool */;
1093 val
* var_pmodulenamenode6
/* var pmodulenamenode6: nullable Object */;
1094 short int var19
/* : Bool */;
1097 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
1098 short int var22
/* : Bool */;
1101 val
* var25
/* : AModuledecl */;
1102 val
* var_pmoduledeclnode1
/* var pmoduledeclnode1: nullable AModuledecl */;
1103 long var26
/* : Int */;
1104 long var27
/* : Int */;
1107 var_node_list
= var
;
1109 var1
= parser_work__Parser__pop(var_p
);
1111 var_nodearraylist8
= var1
;
1113 var2
= parser_work__Parser__pop(var_p
);
1115 var_nodearraylist7
= var2
;
1117 var3
= parser_work__Parser__pop(var_p
);
1119 var_nodearraylist6
= var3
;
1121 var4
= parser_work__Parser__pop(var_p
);
1123 var_nodearraylist5
= var4
;
1125 var5
= parser_work__Parser__pop(var_p
);
1127 var_nodearraylist4
= var5
;
1129 var6
= parser_work__Parser__pop(var_p
);
1131 var_nodearraylist3
= var6
;
1133 var7
= parser_work__Parser__pop(var_p
);
1135 var_nodearraylist2
= var7
;
1137 var8
= parser_work__Parser__pop(var_p
);
1139 var_nodearraylist1
= var8
;
1140 var_pdocnode2
= var_nodearraylist1
;
1141 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1142 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1143 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1144 if(var_pdocnode2
== NULL
) {
1147 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1150 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1153 if (unlikely(!var9
)) {
1154 PRINT_ERROR("Runtime error: %s", "Assert failed");
1155 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1543);
1158 var_tkwredefnode3
= var_nodearraylist2
;
1159 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1160 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
1161 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
1162 if(var_tkwredefnode3
== NULL
) {
1165 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
1168 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
1171 if (unlikely(!var10
)) {
1172 PRINT_ERROR("Runtime error: %s", "Assert failed");
1173 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1545);
1176 var_pvisibilitynode4
= var_nodearraylist3
;
1177 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1178 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
1179 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
1180 if(var_pvisibilitynode4
== NULL
) {
1183 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
1186 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
1189 if (unlikely(!var13
)) {
1190 PRINT_ERROR("Runtime error: %s", "Assert failed");
1191 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1547);
1194 var_tkwmodulenode5
= var_nodearraylist4
;
1195 /* <var_tkwmodulenode5:nullable Object> isa nullable TKwmodule */
1196 cltype17
= type_nullable_parser_nodes__TKwmodule
.color
;
1197 idtype18
= type_nullable_parser_nodes__TKwmodule
.id
;
1198 if(var_tkwmodulenode5
== NULL
) {
1201 if(cltype17
>= var_tkwmodulenode5
->type
->table_size
) {
1204 var16
= var_tkwmodulenode5
->type
->type_table
[cltype17
] == idtype18
;
1207 if (unlikely(!var16
)) {
1208 PRINT_ERROR("Runtime error: %s", "Assert failed");
1209 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1549);
1212 var_pmodulenamenode6
= var_nodearraylist6
;
1213 /* <var_pmodulenamenode6:nullable Object> isa nullable AModuleName */
1214 cltype20
= type_nullable_parser_nodes__AModuleName
.color
;
1215 idtype21
= type_nullable_parser_nodes__AModuleName
.id
;
1216 if(var_pmodulenamenode6
== NULL
) {
1219 if(cltype20
>= var_pmodulenamenode6
->type
->table_size
) {
1222 var19
= var_pmodulenamenode6
->type
->type_table
[cltype20
] == idtype21
;
1225 if (unlikely(!var19
)) {
1226 PRINT_ERROR("Runtime error: %s", "Assert failed");
1227 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1551);
1230 var_pannotationsnode7
= var_nodearraylist7
;
1231 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
1232 cltype23
= type_nullable_parser_nodes__AAnnotations
.color
;
1233 idtype24
= type_nullable_parser_nodes__AAnnotations
.id
;
1234 if(var_pannotationsnode7
== NULL
) {
1237 if(cltype23
>= var_pannotationsnode7
->type
->table_size
) {
1240 var22
= var_pannotationsnode7
->type
->type_table
[cltype23
] == idtype24
;
1243 if (unlikely(!var22
)) {
1244 PRINT_ERROR("Runtime error: %s", "Assert failed");
1245 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1553);
1248 var25
= NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl
);
1250 parser_prod__AModuledecl__init_amoduledecl(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmodulenode5
, var_pmodulenamenode6
, var_pannotationsnode7
); /* Direct call parser_prod#AModuledecl#init_amoduledecl on <var25:AModuledecl>*/
1252 var_pmoduledeclnode1
= var25
;
1253 var_node_list
= var_pmoduledeclnode1
;
1254 var26
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction16> */
1256 var27
= parser_work__Parser__go_to(var_p
, var26
);
1259 parser_work__Parser__push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1263 /* method parser#ReduceAction16#action for (self: Object, Parser) */
1264 void VIRTUAL_parser__ReduceAction16__action(val
* self
, val
* p0
) {
1265 parser__ReduceAction16__action(self
, p0
); /* Direct call parser#ReduceAction16#action on <self:Object(ReduceAction16)>*/
1268 /* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */
1269 void parser__ReduceAction17__action(val
* self
, val
* p0
) {
1270 val
* var_p
/* var p: Parser */;
1271 val
* var
/* : null */;
1272 val
* var_node_list
/* var node_list: nullable Object */;
1273 val
* var1
/* : nullable Object */;
1274 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1275 val
* var2
/* : nullable Object */;
1276 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1277 val
* var3
/* : nullable Object */;
1278 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1279 val
* var4
/* : nullable Object */;
1280 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1281 val
* var5
/* : nullable Object */;
1282 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1283 val
* var6
/* : nullable Object */;
1284 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1285 val
* var7
/* : nullable Object */;
1286 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1287 val
* var8
/* : nullable Object */;
1288 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1289 val
* var_pvisibilitynode2
/* var pvisibilitynode2: nullable Object */;
1290 short int var9
/* : Bool */;
1293 val
* var_tkwimportnode3
/* var tkwimportnode3: nullable Object */;
1294 short int var10
/* : Bool */;
1297 val
* var_pmodulenamenode4
/* var pmodulenamenode4: nullable Object */;
1298 short int var13
/* : Bool */;
1301 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
1302 short int var16
/* : Bool */;
1305 val
* var19
/* : AStdImport */;
1306 val
* var_pimportnode1
/* var pimportnode1: nullable AStdImport */;
1307 long var20
/* : Int */;
1308 long var21
/* : Int */;
1311 var_node_list
= var
;
1313 var1
= parser_work__Parser__pop(var_p
);
1315 var_nodearraylist8
= var1
;
1317 var2
= parser_work__Parser__pop(var_p
);
1319 var_nodearraylist7
= var2
;
1321 var3
= parser_work__Parser__pop(var_p
);
1323 var_nodearraylist6
= var3
;
1325 var4
= parser_work__Parser__pop(var_p
);
1327 var_nodearraylist5
= var4
;
1329 var5
= parser_work__Parser__pop(var_p
);
1331 var_nodearraylist4
= var5
;
1333 var6
= parser_work__Parser__pop(var_p
);
1335 var_nodearraylist3
= var6
;
1337 var7
= parser_work__Parser__pop(var_p
);
1339 var_nodearraylist2
= var7
;
1341 var8
= parser_work__Parser__pop(var_p
);
1343 var_nodearraylist1
= var8
;
1344 var_pvisibilitynode2
= var_nodearraylist3
;
1345 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
1346 cltype
= type_nullable_parser_nodes__AVisibility
.color
;
1347 idtype
= type_nullable_parser_nodes__AVisibility
.id
;
1348 if(var_pvisibilitynode2
== NULL
) {
1351 if(cltype
>= var_pvisibilitynode2
->type
->table_size
) {
1354 var9
= var_pvisibilitynode2
->type
->type_table
[cltype
] == idtype
;
1357 if (unlikely(!var9
)) {
1358 PRINT_ERROR("Runtime error: %s", "Assert failed");
1359 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1580);
1362 var_tkwimportnode3
= var_nodearraylist4
;
1363 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
1364 cltype11
= type_nullable_parser_nodes__TKwimport
.color
;
1365 idtype12
= type_nullable_parser_nodes__TKwimport
.id
;
1366 if(var_tkwimportnode3
== NULL
) {
1369 if(cltype11
>= var_tkwimportnode3
->type
->table_size
) {
1372 var10
= var_tkwimportnode3
->type
->type_table
[cltype11
] == idtype12
;
1375 if (unlikely(!var10
)) {
1376 PRINT_ERROR("Runtime error: %s", "Assert failed");
1377 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1582);
1380 var_pmodulenamenode4
= var_nodearraylist6
;
1381 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
1382 cltype14
= type_nullable_parser_nodes__AModuleName
.color
;
1383 idtype15
= type_nullable_parser_nodes__AModuleName
.id
;
1384 if(var_pmodulenamenode4
== NULL
) {
1387 if(cltype14
>= var_pmodulenamenode4
->type
->table_size
) {
1390 var13
= var_pmodulenamenode4
->type
->type_table
[cltype14
] == idtype15
;
1393 if (unlikely(!var13
)) {
1394 PRINT_ERROR("Runtime error: %s", "Assert failed");
1395 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1584);
1398 var_pannotationsnode5
= var_nodearraylist7
;
1399 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
1400 cltype17
= type_nullable_parser_nodes__AAnnotations
.color
;
1401 idtype18
= type_nullable_parser_nodes__AAnnotations
.id
;
1402 if(var_pannotationsnode5
== NULL
) {
1405 if(cltype17
>= var_pannotationsnode5
->type
->table_size
) {
1408 var16
= var_pannotationsnode5
->type
->type_table
[cltype17
] == idtype18
;
1411 if (unlikely(!var16
)) {
1412 PRINT_ERROR("Runtime error: %s", "Assert failed");
1413 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1586);
1416 var19
= NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport
);
1418 parser_prod__AStdImport__init_astdimport(var19
, var_pvisibilitynode2
, var_tkwimportnode3
, var_pmodulenamenode4
, var_pannotationsnode5
); /* Direct call parser_prod#AStdImport#init_astdimport on <var19:AStdImport>*/
1420 var_pimportnode1
= var19
;
1421 var_node_list
= var_pimportnode1
;
1422 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction17> */
1424 var21
= parser_work__Parser__go_to(var_p
, var20
);
1427 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1431 /* method parser#ReduceAction17#action for (self: Object, Parser) */
1432 void VIRTUAL_parser__ReduceAction17__action(val
* self
, val
* p0
) {
1433 parser__ReduceAction17__action(self
, p0
); /* Direct call parser#ReduceAction17#action on <self:Object(ReduceAction17)>*/
1436 /* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */
1437 void parser__ReduceAction18__action(val
* self
, val
* p0
) {
1438 val
* var_p
/* var p: Parser */;
1439 val
* var
/* : null */;
1440 val
* var_node_list
/* var node_list: nullable Object */;
1441 val
* var1
/* : nullable Object */;
1442 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1443 val
* var2
/* : nullable Object */;
1444 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1445 val
* var3
/* : nullable Object */;
1446 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1447 val
* var4
/* : nullable Object */;
1448 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1449 val
* var5
/* : nullable Object */;
1450 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1451 val
* var6
/* : nullable Object */;
1452 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1453 val
* var7
/* : nullable Object */;
1454 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1455 val
* var_pvisibilitynode2
/* var pvisibilitynode2: nullable Object */;
1456 short int var8
/* : Bool */;
1459 val
* var_tkwimportnode3
/* var tkwimportnode3: nullable Object */;
1460 short int var9
/* : Bool */;
1463 val
* var_tkwendnode4
/* var tkwendnode4: nullable Object */;
1464 short int var12
/* : Bool */;
1467 val
* var15
/* : ANoImport */;
1468 val
* var_pimportnode1
/* var pimportnode1: nullable ANoImport */;
1469 long var16
/* : Int */;
1470 long var17
/* : Int */;
1473 var_node_list
= var
;
1475 var1
= parser_work__Parser__pop(var_p
);
1477 var_nodearraylist7
= var1
;
1479 var2
= parser_work__Parser__pop(var_p
);
1481 var_nodearraylist6
= var2
;
1483 var3
= parser_work__Parser__pop(var_p
);
1485 var_nodearraylist5
= var3
;
1487 var4
= parser_work__Parser__pop(var_p
);
1489 var_nodearraylist4
= var4
;
1491 var5
= parser_work__Parser__pop(var_p
);
1493 var_nodearraylist3
= var5
;
1495 var6
= parser_work__Parser__pop(var_p
);
1497 var_nodearraylist2
= var6
;
1499 var7
= parser_work__Parser__pop(var_p
);
1501 var_nodearraylist1
= var7
;
1502 var_pvisibilitynode2
= var_nodearraylist3
;
1503 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
1504 cltype
= type_nullable_parser_nodes__AVisibility
.color
;
1505 idtype
= type_nullable_parser_nodes__AVisibility
.id
;
1506 if(var_pvisibilitynode2
== NULL
) {
1509 if(cltype
>= var_pvisibilitynode2
->type
->table_size
) {
1512 var8
= var_pvisibilitynode2
->type
->type_table
[cltype
] == idtype
;
1515 if (unlikely(!var8
)) {
1516 PRINT_ERROR("Runtime error: %s", "Assert failed");
1517 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1610);
1520 var_tkwimportnode3
= var_nodearraylist4
;
1521 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
1522 cltype10
= type_nullable_parser_nodes__TKwimport
.color
;
1523 idtype11
= type_nullable_parser_nodes__TKwimport
.id
;
1524 if(var_tkwimportnode3
== NULL
) {
1527 if(cltype10
>= var_tkwimportnode3
->type
->table_size
) {
1530 var9
= var_tkwimportnode3
->type
->type_table
[cltype10
] == idtype11
;
1533 if (unlikely(!var9
)) {
1534 PRINT_ERROR("Runtime error: %s", "Assert failed");
1535 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1612);
1538 var_tkwendnode4
= var_nodearraylist6
;
1539 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
1540 cltype13
= type_nullable_parser_nodes__TKwend
.color
;
1541 idtype14
= type_nullable_parser_nodes__TKwend
.id
;
1542 if(var_tkwendnode4
== NULL
) {
1545 if(cltype13
>= var_tkwendnode4
->type
->table_size
) {
1548 var12
= var_tkwendnode4
->type
->type_table
[cltype13
] == idtype14
;
1551 if (unlikely(!var12
)) {
1552 PRINT_ERROR("Runtime error: %s", "Assert failed");
1553 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1614);
1556 var15
= NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport
);
1558 parser_prod__ANoImport__init_anoimport(var15
, var_pvisibilitynode2
, var_tkwimportnode3
, var_tkwendnode4
); /* Direct call parser_prod#ANoImport#init_anoimport on <var15:ANoImport>*/
1560 var_pimportnode1
= var15
;
1561 var_node_list
= var_pimportnode1
;
1562 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction18> */
1564 var17
= parser_work__Parser__go_to(var_p
, var16
);
1567 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1571 /* method parser#ReduceAction18#action for (self: Object, Parser) */
1572 void VIRTUAL_parser__ReduceAction18__action(val
* self
, val
* p0
) {
1573 parser__ReduceAction18__action(self
, p0
); /* Direct call parser#ReduceAction18#action on <self:Object(ReduceAction18)>*/
1576 /* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */
1577 void parser__ReduceAction19__action(val
* self
, val
* p0
) {
1578 val
* var_p
/* var p: Parser */;
1579 val
* var
/* : null */;
1580 val
* var_node_list
/* var node_list: nullable Object */;
1581 val
* var1
/* : nullable Object */;
1582 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1583 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
1584 long var2
/* : Int */;
1585 long var3
/* : Int */;
1588 var_node_list
= var
;
1590 var1
= parser_work__Parser__pop(var_p
);
1592 var_nodearraylist1
= var1
;
1593 var_pclassdefnode1
= var_nodearraylist1
;
1594 var_node_list
= var_pclassdefnode1
;
1595 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction19> */
1597 var3
= parser_work__Parser__go_to(var_p
, var2
);
1600 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1604 /* method parser#ReduceAction19#action for (self: Object, Parser) */
1605 void VIRTUAL_parser__ReduceAction19__action(val
* self
, val
* p0
) {
1606 parser__ReduceAction19__action(self
, p0
); /* Direct call parser#ReduceAction19#action on <self:Object(ReduceAction19)>*/
1609 /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */
1610 void parser__ReduceAction20__action(val
* self
, val
* p0
) {
1611 val
* var_p
/* var p: Parser */;
1612 val
* var
/* : null */;
1613 val
* var_node_list
/* var node_list: nullable Object */;
1614 val
* var1
/* : nullable Object */;
1615 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1616 val
* var2
/* : Array[Object] */;
1617 val
* var_listnode3
/* var listnode3: Array[Object] */;
1618 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
1619 short int var3
/* : Bool */;
1622 val
* var4
/* : null */;
1623 short int var5
/* : Bool */;
1624 short int var6
/* : Bool */;
1625 val
* var_other
/* var other: nullable Object */;
1626 short int var8
/* : Bool */;
1627 short int var9
/* : Bool */;
1628 short int var10
/* : Bool */;
1629 val
* var11
/* : ATopClassdef */;
1630 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable ATopClassdef */;
1631 long var12
/* : Int */;
1632 long var13
/* : Int */;
1635 var_node_list
= var
;
1637 var1
= parser_work__Parser__pop(var_p
);
1639 var_nodearraylist1
= var1
;
1640 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1642 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1644 var_listnode3
= var2
;
1645 var_ppropdefnode2
= var_nodearraylist1
;
1646 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
1647 cltype
= type_nullable_parser_nodes__APropdef
.color
;
1648 idtype
= type_nullable_parser_nodes__APropdef
.id
;
1649 if(var_ppropdefnode2
== NULL
) {
1652 if(cltype
>= var_ppropdefnode2
->type
->table_size
) {
1655 var3
= var_ppropdefnode2
->type
->type_table
[cltype
] == idtype
;
1658 if (unlikely(!var3
)) {
1659 PRINT_ERROR("Runtime error: %s", "Assert failed");
1660 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1643);
1664 if (var_ppropdefnode2
== NULL
) {
1665 var5
= 0; /* is null */
1667 var5
= 1; /* arg is null and recv is not */
1670 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
1673 var9
= ((short int (*)(val
*, val
*))(var_ppropdefnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ppropdefnode2
, var_other
) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
1685 array__Array__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1689 var11
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
1691 parser_prod__ATopClassdef__init_atopclassdef(var11
, var_listnode3
); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on <var11:ATopClassdef>*/
1693 var_pclassdefnode1
= var11
;
1694 var_node_list
= var_pclassdefnode1
;
1695 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction20> */
1697 var13
= parser_work__Parser__go_to(var_p
, var12
);
1700 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1704 /* method parser#ReduceAction20#action for (self: Object, Parser) */
1705 void VIRTUAL_parser__ReduceAction20__action(val
* self
, val
* p0
) {
1706 parser__ReduceAction20__action(self
, p0
); /* Direct call parser#ReduceAction20#action on <self:Object(ReduceAction20)>*/
1709 /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */
1710 void parser__ReduceAction21__action(val
* self
, val
* p0
) {
1711 val
* var_p
/* var p: Parser */;
1712 val
* var
/* : null */;
1713 val
* var_node_list
/* var node_list: nullable Object */;
1714 val
* var1
/* : nullable Object */;
1715 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1716 val
* var2
/* : Array[Object] */;
1717 val
* var_listnode3
/* var listnode3: Array[Object] */;
1718 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
1719 short int var3
/* : Bool */;
1722 val
* var4
/* : null */;
1723 short int var5
/* : Bool */;
1724 short int var6
/* : Bool */;
1725 val
* var_other
/* var other: nullable Object */;
1726 short int var8
/* : Bool */;
1727 short int var9
/* : Bool */;
1728 short int var10
/* : Bool */;
1729 val
* var11
/* : AMainClassdef */;
1730 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AMainClassdef */;
1731 long var12
/* : Int */;
1732 long var13
/* : Int */;
1735 var_node_list
= var
;
1737 var1
= parser_work__Parser__pop(var_p
);
1739 var_nodearraylist1
= var1
;
1740 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1742 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1744 var_listnode3
= var2
;
1745 var_ppropdefnode2
= var_nodearraylist1
;
1746 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
1747 cltype
= type_nullable_parser_nodes__APropdef
.color
;
1748 idtype
= type_nullable_parser_nodes__APropdef
.id
;
1749 if(var_ppropdefnode2
== NULL
) {
1752 if(cltype
>= var_ppropdefnode2
->type
->table_size
) {
1755 var3
= var_ppropdefnode2
->type
->type_table
[cltype
] == idtype
;
1758 if (unlikely(!var3
)) {
1759 PRINT_ERROR("Runtime error: %s", "Assert failed");
1760 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1662);
1764 if (var_ppropdefnode2
== NULL
) {
1765 var5
= 0; /* is null */
1767 var5
= 1; /* arg is null and recv is not */
1770 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
1773 var9
= ((short int (*)(val
*, val
*))(var_ppropdefnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ppropdefnode2
, var_other
) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
1785 array__Array__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1789 var11
= NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef
);
1791 parser_prod__AMainClassdef__init_amainclassdef(var11
, var_listnode3
); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on <var11:AMainClassdef>*/
1793 var_pclassdefnode1
= var11
;
1794 var_node_list
= var_pclassdefnode1
;
1795 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction21> */
1797 var13
= parser_work__Parser__go_to(var_p
, var12
);
1800 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1804 /* method parser#ReduceAction21#action for (self: Object, Parser) */
1805 void VIRTUAL_parser__ReduceAction21__action(val
* self
, val
* p0
) {
1806 parser__ReduceAction21__action(self
, p0
); /* Direct call parser#ReduceAction21#action on <self:Object(ReduceAction21)>*/
1809 /* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */
1810 void parser__ReduceAction22__action(val
* self
, val
* p0
) {
1811 val
* var_p
/* var p: Parser */;
1812 val
* var
/* : null */;
1813 val
* var_node_list
/* var node_list: nullable Object */;
1814 val
* var1
/* : null */;
1815 long var2
/* : Int */;
1816 long var3
/* : Int */;
1819 var_node_list
= var
;
1821 var_node_list
= var1
;
1822 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction22> */
1824 var3
= parser_work__Parser__go_to(var_p
, var2
);
1827 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1831 /* method parser#ReduceAction22#action for (self: Object, Parser) */
1832 void VIRTUAL_parser__ReduceAction22__action(val
* self
, val
* p0
) {
1833 parser__ReduceAction22__action(self
, p0
); /* Direct call parser#ReduceAction22#action on <self:Object(ReduceAction22)>*/
1836 /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */
1837 void parser__ReduceAction23__action(val
* self
, val
* p0
) {
1838 val
* var_p
/* var p: Parser */;
1839 val
* var
/* : null */;
1840 val
* var_node_list
/* var node_list: nullable Object */;
1841 val
* var1
/* : nullable Object */;
1842 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1843 val
* var2
/* : null */;
1844 long var3
/* : Int */;
1845 long var4
/* : Int */;
1848 var_node_list
= var
;
1850 var1
= parser_work__Parser__pop(var_p
);
1852 var_nodearraylist1
= var1
;
1854 var_node_list
= var2
;
1855 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction23> */
1857 var4
= parser_work__Parser__go_to(var_p
, var3
);
1860 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1864 /* method parser#ReduceAction23#action for (self: Object, Parser) */
1865 void VIRTUAL_parser__ReduceAction23__action(val
* self
, val
* p0
) {
1866 parser__ReduceAction23__action(self
, p0
); /* Direct call parser#ReduceAction23#action on <self:Object(ReduceAction23)>*/
1869 /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */
1870 void parser__ReduceAction24__action(val
* self
, val
* p0
) {
1871 val
* var_p
/* var p: Parser */;
1872 val
* var
/* : null */;
1873 val
* var_node_list
/* var node_list: nullable Object */;
1874 val
* var1
/* : nullable Object */;
1875 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1876 val
* var2
/* : nullable Object */;
1877 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1878 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1879 short int var3
/* : Bool */;
1882 val
* var4
/* : AMainMethPropdef */;
1883 val
* var5
/* : null */;
1884 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMainMethPropdef */;
1885 long var6
/* : Int */;
1886 long var7
/* : Int */;
1889 var_node_list
= var
;
1891 var1
= parser_work__Parser__pop(var_p
);
1893 var_nodearraylist2
= var1
;
1895 var2
= parser_work__Parser__pop(var_p
);
1897 var_nodearraylist1
= var2
;
1898 var_pexprnode3
= var_nodearraylist2
;
1899 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1900 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1901 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1902 if(var_pexprnode3
== NULL
) {
1905 if(cltype
>= var_pexprnode3
->type
->table_size
) {
1908 var3
= var_pexprnode3
->type
->type_table
[cltype
] == idtype
;
1911 if (unlikely(!var3
)) {
1912 PRINT_ERROR("Runtime error: %s", "Assert failed");
1913 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1700);
1916 var4
= NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef
);
1919 parser_prod__AMainMethPropdef__init_amainmethpropdef(var4
, var5
, var_pexprnode3
); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on <var4:AMainMethPropdef>*/
1921 var_ppropdefnode1
= var4
;
1922 var_node_list
= var_ppropdefnode1
;
1923 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction24> */
1925 var7
= parser_work__Parser__go_to(var_p
, var6
);
1928 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1932 /* method parser#ReduceAction24#action for (self: Object, Parser) */
1933 void VIRTUAL_parser__ReduceAction24__action(val
* self
, val
* p0
) {
1934 parser__ReduceAction24__action(self
, p0
); /* Direct call parser#ReduceAction24#action on <self:Object(ReduceAction24)>*/
1937 /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */
1938 void parser__ReduceAction26__action(val
* self
, val
* p0
) {
1939 val
* var_p
/* var p: Parser */;
1940 val
* var
/* : null */;
1941 val
* var_node_list
/* var node_list: nullable Object */;
1942 val
* var1
/* : nullable Object */;
1943 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1944 val
* var2
/* : nullable Object */;
1945 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1946 val
* var3
/* : nullable Object */;
1947 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1948 val
* var4
/* : nullable Object */;
1949 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1950 val
* var5
/* : nullable Object */;
1951 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1952 val
* var6
/* : nullable Object */;
1953 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1954 val
* var7
/* : nullable Object */;
1955 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1956 val
* var8
/* : nullable Object */;
1957 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1958 val
* var9
/* : nullable Object */;
1959 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1960 val
* var10
/* : Array[Object] */;
1961 val
* var_listnode8
/* var listnode8: Array[Object] */;
1962 val
* var11
/* : Array[Object] */;
1963 val
* var_listnode11
/* var listnode11: Array[Object] */;
1964 val
* var12
/* : Array[Object] */;
1965 val
* var_listnode12
/* var listnode12: Array[Object] */;
1966 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1967 short int var13
/* : Bool */;
1970 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1971 short int var14
/* : Bool */;
1974 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1975 short int var17
/* : Bool */;
1978 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
1979 short int var20
/* : Bool */;
1982 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
1983 short int var23
/* : Bool */;
1986 val
* var_listnode7
/* var listnode7: nullable Object */;
1987 short int var26
/* : Bool */;
1990 val
* var29
/* : Array[Object] */;
1991 val
* var_tkwendnode13
/* var tkwendnode13: nullable Object */;
1992 short int var30
/* : Bool */;
1995 val
* var33
/* : AStdClassdef */;
1996 val
* var34
/* : null */;
1997 val
* var35
/* : null */;
1998 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
1999 long var36
/* : Int */;
2000 long var37
/* : Int */;
2003 var_node_list
= var
;
2005 var1
= parser_work__Parser__pop(var_p
);
2007 var_nodearraylist9
= var1
;
2009 var2
= parser_work__Parser__pop(var_p
);
2011 var_nodearraylist8
= var2
;
2013 var3
= parser_work__Parser__pop(var_p
);
2015 var_nodearraylist7
= var3
;
2017 var4
= parser_work__Parser__pop(var_p
);
2019 var_nodearraylist6
= var4
;
2021 var5
= parser_work__Parser__pop(var_p
);
2023 var_nodearraylist5
= var5
;
2025 var6
= parser_work__Parser__pop(var_p
);
2027 var_nodearraylist4
= var6
;
2029 var7
= parser_work__Parser__pop(var_p
);
2031 var_nodearraylist3
= var7
;
2033 var8
= parser_work__Parser__pop(var_p
);
2035 var_nodearraylist2
= var8
;
2037 var9
= parser_work__Parser__pop(var_p
);
2039 var_nodearraylist1
= var9
;
2040 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
2042 ((void (*)(val
*))(var10
->class->vft
[COLOR_kernel__Object__init
]))(var10
) /* init on <var10:Array[Object]>*/;
2044 var_listnode8
= var10
;
2045 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
2047 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
2049 var_listnode11
= var11
;
2050 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2052 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2054 var_listnode12
= var12
;
2055 var_pdocnode2
= var_nodearraylist1
;
2056 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2057 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2058 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2059 if(var_pdocnode2
== NULL
) {
2062 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2065 var13
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2068 if (unlikely(!var13
)) {
2069 PRINT_ERROR("Runtime error: %s", "Assert failed");
2070 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1727);
2073 var_tkwredefnode3
= var_nodearraylist2
;
2074 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2075 cltype15
= type_nullable_parser_nodes__TKwredef
.color
;
2076 idtype16
= type_nullable_parser_nodes__TKwredef
.id
;
2077 if(var_tkwredefnode3
== NULL
) {
2080 if(cltype15
>= var_tkwredefnode3
->type
->table_size
) {
2083 var14
= var_tkwredefnode3
->type
->type_table
[cltype15
] == idtype16
;
2086 if (unlikely(!var14
)) {
2087 PRINT_ERROR("Runtime error: %s", "Assert failed");
2088 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1729);
2091 var_pvisibilitynode4
= var_nodearraylist3
;
2092 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2093 cltype18
= type_nullable_parser_nodes__AVisibility
.color
;
2094 idtype19
= type_nullable_parser_nodes__AVisibility
.id
;
2095 if(var_pvisibilitynode4
== NULL
) {
2098 if(cltype18
>= var_pvisibilitynode4
->type
->table_size
) {
2101 var17
= var_pvisibilitynode4
->type
->type_table
[cltype18
] == idtype19
;
2104 if (unlikely(!var17
)) {
2105 PRINT_ERROR("Runtime error: %s", "Assert failed");
2106 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1731);
2109 var_pclasskindnode5
= var_nodearraylist4
;
2110 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2111 cltype21
= type_nullable_parser_nodes__AClasskind
.color
;
2112 idtype22
= type_nullable_parser_nodes__AClasskind
.id
;
2113 if(var_pclasskindnode5
== NULL
) {
2116 if(cltype21
>= var_pclasskindnode5
->type
->table_size
) {
2119 var20
= var_pclasskindnode5
->type
->type_table
[cltype21
] == idtype22
;
2122 if (unlikely(!var20
)) {
2123 PRINT_ERROR("Runtime error: %s", "Assert failed");
2124 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1733);
2127 var_tclassidnode6
= var_nodearraylist6
;
2128 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2129 cltype24
= type_nullable_parser_nodes__TClassid
.color
;
2130 idtype25
= type_nullable_parser_nodes__TClassid
.id
;
2131 if(var_tclassidnode6
== NULL
) {
2134 if(cltype24
>= var_tclassidnode6
->type
->table_size
) {
2137 var23
= var_tclassidnode6
->type
->type_table
[cltype24
] == idtype25
;
2140 if (unlikely(!var23
)) {
2141 PRINT_ERROR("Runtime error: %s", "Assert failed");
2142 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1735);
2145 var_listnode7
= var_nodearraylist7
;
2146 /* <var_listnode7:nullable Object> isa Array[Object] */
2147 cltype27
= type_array__Arraykernel__Object
.color
;
2148 idtype28
= type_array__Arraykernel__Object
.id
;
2149 if(var_listnode7
== NULL
) {
2152 if(cltype27
>= var_listnode7
->type
->table_size
) {
2155 var26
= var_listnode7
->type
->type_table
[cltype27
] == idtype28
;
2158 if (unlikely(!var26
)) {
2159 PRINT_ERROR("Runtime error: %s", "Assert failed");
2160 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1737);
2164 var29
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2166 var_listnode8
= var29
;
2167 var_tkwendnode13
= var_nodearraylist9
;
2168 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2169 cltype31
= type_nullable_parser_nodes__TKwend
.color
;
2170 idtype32
= type_nullable_parser_nodes__TKwend
.id
;
2171 if(var_tkwendnode13
== NULL
) {
2174 if(cltype31
>= var_tkwendnode13
->type
->table_size
) {
2177 var30
= var_tkwendnode13
->type
->type_table
[cltype31
] == idtype32
;
2180 if (unlikely(!var30
)) {
2181 PRINT_ERROR("Runtime error: %s", "Assert failed");
2182 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1740);
2185 var33
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2189 parser_prod__AStdClassdef__init_astdclassdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var34
, var35
, var_listnode11
, var_listnode12
, var_tkwendnode13
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var33:AStdClassdef>*/
2191 var_pclassdefnode1
= var33
;
2192 var_node_list
= var_pclassdefnode1
;
2193 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction26> */
2195 var37
= parser_work__Parser__go_to(var_p
, var36
);
2198 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2202 /* method parser#ReduceAction26#action for (self: Object, Parser) */
2203 void VIRTUAL_parser__ReduceAction26__action(val
* self
, val
* p0
) {
2204 parser__ReduceAction26__action(self
, p0
); /* Direct call parser#ReduceAction26#action on <self:Object(ReduceAction26)>*/
2207 /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */
2208 void parser__ReduceAction27__action(val
* self
, val
* p0
) {
2209 val
* var_p
/* var p: Parser */;
2210 val
* var
/* : null */;
2211 val
* var_node_list
/* var node_list: nullable Object */;
2212 val
* var1
/* : nullable Object */;
2213 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2214 val
* var2
/* : nullable Object */;
2215 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2216 val
* var3
/* : nullable Object */;
2217 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2218 val
* var4
/* : nullable Object */;
2219 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2220 val
* var5
/* : nullable Object */;
2221 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2222 val
* var6
/* : nullable Object */;
2223 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2224 val
* var7
/* : nullable Object */;
2225 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2226 val
* var8
/* : nullable Object */;
2227 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2228 val
* var9
/* : nullable Object */;
2229 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2230 val
* var10
/* : nullable Object */;
2231 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2232 val
* var11
/* : Array[Object] */;
2233 val
* var_listnode8
/* var listnode8: Array[Object] */;
2234 val
* var12
/* : Array[Object] */;
2235 val
* var_listnode16
/* var listnode16: Array[Object] */;
2236 val
* var13
/* : Array[Object] */;
2237 val
* var_listnode17
/* var listnode17: Array[Object] */;
2238 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2239 short int var14
/* : Bool */;
2242 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2243 short int var15
/* : Bool */;
2246 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2247 short int var18
/* : Bool */;
2250 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2251 short int var21
/* : Bool */;
2254 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2255 short int var24
/* : Bool */;
2258 val
* var_listnode7
/* var listnode7: nullable Object */;
2259 short int var27
/* : Bool */;
2262 val
* var30
/* : Array[Object] */;
2263 val
* var31
/* : Array[Object] */;
2264 val
* var_listnode13
/* var listnode13: Array[Object] */;
2265 val
* var_listnode12
/* var listnode12: nullable Object */;
2266 short int var32
/* : Bool */;
2269 val
* var35
/* : Array[Object] */;
2270 val
* var36
/* : AAnnotations */;
2271 val
* var37
/* : null */;
2272 val
* var38
/* : null */;
2273 val
* var39
/* : null */;
2274 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
2275 val
* var_tkwendnode18
/* var tkwendnode18: nullable Object */;
2276 short int var40
/* : Bool */;
2279 val
* var43
/* : AStdClassdef */;
2280 val
* var44
/* : null */;
2281 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2282 long var45
/* : Int */;
2283 long var46
/* : Int */;
2286 var_node_list
= var
;
2288 var1
= parser_work__Parser__pop(var_p
);
2290 var_nodearraylist10
= var1
;
2292 var2
= parser_work__Parser__pop(var_p
);
2294 var_nodearraylist9
= var2
;
2296 var3
= parser_work__Parser__pop(var_p
);
2298 var_nodearraylist8
= var3
;
2300 var4
= parser_work__Parser__pop(var_p
);
2302 var_nodearraylist7
= var4
;
2304 var5
= parser_work__Parser__pop(var_p
);
2306 var_nodearraylist6
= var5
;
2308 var6
= parser_work__Parser__pop(var_p
);
2310 var_nodearraylist5
= var6
;
2312 var7
= parser_work__Parser__pop(var_p
);
2314 var_nodearraylist4
= var7
;
2316 var8
= parser_work__Parser__pop(var_p
);
2318 var_nodearraylist3
= var8
;
2320 var9
= parser_work__Parser__pop(var_p
);
2322 var_nodearraylist2
= var9
;
2324 var10
= parser_work__Parser__pop(var_p
);
2326 var_nodearraylist1
= var10
;
2327 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
2329 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
2331 var_listnode8
= var11
;
2332 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2334 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2336 var_listnode16
= var12
;
2337 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2339 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
2341 var_listnode17
= var13
;
2342 var_pdocnode2
= var_nodearraylist1
;
2343 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2344 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2345 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2346 if(var_pdocnode2
== NULL
) {
2349 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2352 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2355 if (unlikely(!var14
)) {
2356 PRINT_ERROR("Runtime error: %s", "Assert failed");
2357 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1777);
2360 var_tkwredefnode3
= var_nodearraylist2
;
2361 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2362 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
2363 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
2364 if(var_tkwredefnode3
== NULL
) {
2367 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
2370 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
2373 if (unlikely(!var15
)) {
2374 PRINT_ERROR("Runtime error: %s", "Assert failed");
2375 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1779);
2378 var_pvisibilitynode4
= var_nodearraylist3
;
2379 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2380 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
2381 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
2382 if(var_pvisibilitynode4
== NULL
) {
2385 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
2388 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
2391 if (unlikely(!var18
)) {
2392 PRINT_ERROR("Runtime error: %s", "Assert failed");
2393 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1781);
2396 var_pclasskindnode5
= var_nodearraylist4
;
2397 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2398 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
2399 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
2400 if(var_pclasskindnode5
== NULL
) {
2403 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
2406 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
2409 if (unlikely(!var21
)) {
2410 PRINT_ERROR("Runtime error: %s", "Assert failed");
2411 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1783);
2414 var_tclassidnode6
= var_nodearraylist6
;
2415 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2416 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
2417 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
2418 if(var_tclassidnode6
== NULL
) {
2421 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
2424 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
2427 if (unlikely(!var24
)) {
2428 PRINT_ERROR("Runtime error: %s", "Assert failed");
2429 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1785);
2432 var_listnode7
= var_nodearraylist7
;
2433 /* <var_listnode7:nullable Object> isa Array[Object] */
2434 cltype28
= type_array__Arraykernel__Object
.color
;
2435 idtype29
= type_array__Arraykernel__Object
.id
;
2436 if(var_listnode7
== NULL
) {
2439 if(cltype28
>= var_listnode7
->type
->table_size
) {
2442 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
2445 if (unlikely(!var27
)) {
2446 PRINT_ERROR("Runtime error: %s", "Assert failed");
2447 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1787);
2451 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2453 var_listnode8
= var30
;
2454 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
2456 ((void (*)(val
*))(var31
->class->vft
[COLOR_kernel__Object__init
]))(var31
) /* init on <var31:Array[Object]>*/;
2458 var_listnode13
= var31
;
2459 var_listnode12
= var_nodearraylist8
;
2460 /* <var_listnode12:nullable Object> isa Array[Object] */
2461 cltype33
= type_array__Arraykernel__Object
.color
;
2462 idtype34
= type_array__Arraykernel__Object
.id
;
2463 if(var_listnode12
== NULL
) {
2466 if(cltype33
>= var_listnode12
->type
->table_size
) {
2469 var32
= var_listnode12
->type
->type_table
[cltype33
] == idtype34
;
2472 if (unlikely(!var32
)) {
2473 PRINT_ERROR("Runtime error: %s", "Assert failed");
2474 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1791);
2478 var35
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
2480 var_listnode13
= var35
;
2481 var36
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
2486 parser_prod__AAnnotations__init_aannotations(var36
, var37
, var38
, var_listnode13
, var39
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var36:AAnnotations>*/
2488 var_pannotationsnode9
= var36
;
2489 var_tkwendnode18
= var_nodearraylist10
;
2490 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2491 cltype41
= type_nullable_parser_nodes__TKwend
.color
;
2492 idtype42
= type_nullable_parser_nodes__TKwend
.id
;
2493 if(var_tkwendnode18
== NULL
) {
2496 if(cltype41
>= var_tkwendnode18
->type
->table_size
) {
2499 var40
= var_tkwendnode18
->type
->type_table
[cltype41
] == idtype42
;
2502 if (unlikely(!var40
)) {
2503 PRINT_ERROR("Runtime error: %s", "Assert failed");
2504 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1800);
2507 var43
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2510 parser_prod__AStdClassdef__init_astdclassdef(var43
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var44
, var_listnode16
, var_listnode17
, var_tkwendnode18
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var43:AStdClassdef>*/
2512 var_pclassdefnode1
= var43
;
2513 var_node_list
= var_pclassdefnode1
;
2514 var45
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction27> */
2516 var46
= parser_work__Parser__go_to(var_p
, var45
);
2519 parser_work__Parser__push(var_p
, var46
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2523 /* method parser#ReduceAction27#action for (self: Object, Parser) */
2524 void VIRTUAL_parser__ReduceAction27__action(val
* self
, val
* p0
) {
2525 parser__ReduceAction27__action(self
, p0
); /* Direct call parser#ReduceAction27#action on <self:Object(ReduceAction27)>*/
2528 /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */
2529 void parser__ReduceAction28__action(val
* self
, val
* p0
) {
2530 val
* var_p
/* var p: Parser */;
2531 val
* var
/* : null */;
2532 val
* var_node_list
/* var node_list: nullable Object */;
2533 val
* var1
/* : nullable Object */;
2534 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2535 val
* var2
/* : nullable Object */;
2536 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2537 val
* var3
/* : nullable Object */;
2538 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2539 val
* var4
/* : nullable Object */;
2540 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2541 val
* var5
/* : nullable Object */;
2542 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2543 val
* var6
/* : nullable Object */;
2544 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2545 val
* var7
/* : nullable Object */;
2546 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2547 val
* var8
/* : nullable Object */;
2548 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2549 val
* var9
/* : nullable Object */;
2550 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2551 val
* var10
/* : nullable Object */;
2552 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2553 val
* var11
/* : Array[Object] */;
2554 val
* var_listnode8
/* var listnode8: Array[Object] */;
2555 val
* var12
/* : Array[Object] */;
2556 val
* var_listnode11
/* var listnode11: Array[Object] */;
2557 val
* var13
/* : Array[Object] */;
2558 val
* var_listnode12
/* var listnode12: Array[Object] */;
2559 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2560 short int var14
/* : Bool */;
2563 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2564 short int var15
/* : Bool */;
2567 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2568 short int var18
/* : Bool */;
2571 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2572 short int var21
/* : Bool */;
2575 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2576 short int var24
/* : Bool */;
2579 val
* var_listnode7
/* var listnode7: nullable Object */;
2580 short int var27
/* : Bool */;
2583 val
* var30
/* : Array[Object] */;
2584 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
2585 short int var31
/* : Bool */;
2588 val
* var_tkwendnode13
/* var tkwendnode13: nullable Object */;
2589 short int var34
/* : Bool */;
2592 val
* var37
/* : AStdClassdef */;
2593 val
* var38
/* : null */;
2594 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2595 long var39
/* : Int */;
2596 long var40
/* : Int */;
2599 var_node_list
= var
;
2601 var1
= parser_work__Parser__pop(var_p
);
2603 var_nodearraylist10
= var1
;
2605 var2
= parser_work__Parser__pop(var_p
);
2607 var_nodearraylist9
= var2
;
2609 var3
= parser_work__Parser__pop(var_p
);
2611 var_nodearraylist8
= var3
;
2613 var4
= parser_work__Parser__pop(var_p
);
2615 var_nodearraylist7
= var4
;
2617 var5
= parser_work__Parser__pop(var_p
);
2619 var_nodearraylist6
= var5
;
2621 var6
= parser_work__Parser__pop(var_p
);
2623 var_nodearraylist5
= var6
;
2625 var7
= parser_work__Parser__pop(var_p
);
2627 var_nodearraylist4
= var7
;
2629 var8
= parser_work__Parser__pop(var_p
);
2631 var_nodearraylist3
= var8
;
2633 var9
= parser_work__Parser__pop(var_p
);
2635 var_nodearraylist2
= var9
;
2637 var10
= parser_work__Parser__pop(var_p
);
2639 var_nodearraylist1
= var10
;
2640 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
2642 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
2644 var_listnode8
= var11
;
2645 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2647 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2649 var_listnode11
= var12
;
2650 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2652 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
2654 var_listnode12
= var13
;
2655 var_pdocnode2
= var_nodearraylist1
;
2656 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2657 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2658 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2659 if(var_pdocnode2
== NULL
) {
2662 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2665 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2668 if (unlikely(!var14
)) {
2669 PRINT_ERROR("Runtime error: %s", "Assert failed");
2670 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1837);
2673 var_tkwredefnode3
= var_nodearraylist2
;
2674 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2675 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
2676 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
2677 if(var_tkwredefnode3
== NULL
) {
2680 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
2683 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
2686 if (unlikely(!var15
)) {
2687 PRINT_ERROR("Runtime error: %s", "Assert failed");
2688 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1839);
2691 var_pvisibilitynode4
= var_nodearraylist3
;
2692 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2693 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
2694 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
2695 if(var_pvisibilitynode4
== NULL
) {
2698 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
2701 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
2704 if (unlikely(!var18
)) {
2705 PRINT_ERROR("Runtime error: %s", "Assert failed");
2706 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1841);
2709 var_pclasskindnode5
= var_nodearraylist4
;
2710 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2711 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
2712 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
2713 if(var_pclasskindnode5
== NULL
) {
2716 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
2719 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
2722 if (unlikely(!var21
)) {
2723 PRINT_ERROR("Runtime error: %s", "Assert failed");
2724 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1843);
2727 var_tclassidnode6
= var_nodearraylist6
;
2728 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2729 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
2730 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
2731 if(var_tclassidnode6
== NULL
) {
2734 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
2737 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
2740 if (unlikely(!var24
)) {
2741 PRINT_ERROR("Runtime error: %s", "Assert failed");
2742 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1845);
2745 var_listnode7
= var_nodearraylist7
;
2746 /* <var_listnode7:nullable Object> isa Array[Object] */
2747 cltype28
= type_array__Arraykernel__Object
.color
;
2748 idtype29
= type_array__Arraykernel__Object
.id
;
2749 if(var_listnode7
== NULL
) {
2752 if(cltype28
>= var_listnode7
->type
->table_size
) {
2755 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
2758 if (unlikely(!var27
)) {
2759 PRINT_ERROR("Runtime error: %s", "Assert failed");
2760 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1847);
2764 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2766 var_listnode8
= var30
;
2767 var_pexterncodeblocknode10
= var_nodearraylist8
;
2768 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2769 cltype32
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
2770 idtype33
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
2771 if(var_pexterncodeblocknode10
== NULL
) {
2774 if(cltype32
>= var_pexterncodeblocknode10
->type
->table_size
) {
2777 var31
= var_pexterncodeblocknode10
->type
->type_table
[cltype32
] == idtype33
;
2780 if (unlikely(!var31
)) {
2781 PRINT_ERROR("Runtime error: %s", "Assert failed");
2782 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1850);
2785 var_tkwendnode13
= var_nodearraylist10
;
2786 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2787 cltype35
= type_nullable_parser_nodes__TKwend
.color
;
2788 idtype36
= type_nullable_parser_nodes__TKwend
.id
;
2789 if(var_tkwendnode13
== NULL
) {
2792 if(cltype35
>= var_tkwendnode13
->type
->table_size
) {
2795 var34
= var_tkwendnode13
->type
->type_table
[cltype35
] == idtype36
;
2798 if (unlikely(!var34
)) {
2799 PRINT_ERROR("Runtime error: %s", "Assert failed");
2800 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1852);
2803 var37
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2806 parser_prod__AStdClassdef__init_astdclassdef(var37
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var38
, var_pexterncodeblocknode10
, var_listnode11
, var_listnode12
, var_tkwendnode13
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var37:AStdClassdef>*/
2808 var_pclassdefnode1
= var37
;
2809 var_node_list
= var_pclassdefnode1
;
2810 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction28> */
2812 var40
= parser_work__Parser__go_to(var_p
, var39
);
2815 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2819 /* method parser#ReduceAction28#action for (self: Object, Parser) */
2820 void VIRTUAL_parser__ReduceAction28__action(val
* self
, val
* p0
) {
2821 parser__ReduceAction28__action(self
, p0
); /* Direct call parser#ReduceAction28#action on <self:Object(ReduceAction28)>*/
2824 /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */
2825 void parser__ReduceAction29__action(val
* self
, val
* p0
) {
2826 val
* var_p
/* var p: Parser */;
2827 val
* var
/* : null */;
2828 val
* var_node_list
/* var node_list: nullable Object */;
2829 val
* var1
/* : nullable Object */;
2830 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2831 val
* var2
/* : nullable Object */;
2832 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2833 val
* var3
/* : nullable Object */;
2834 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2835 val
* var4
/* : nullable Object */;
2836 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2837 val
* var5
/* : nullable Object */;
2838 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2839 val
* var6
/* : nullable Object */;
2840 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2841 val
* var7
/* : nullable Object */;
2842 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2843 val
* var8
/* : nullable Object */;
2844 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2845 val
* var9
/* : nullable Object */;
2846 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2847 val
* var10
/* : nullable Object */;
2848 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2849 val
* var11
/* : nullable Object */;
2850 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2851 val
* var12
/* : Array[Object] */;
2852 val
* var_listnode8
/* var listnode8: Array[Object] */;
2853 val
* var13
/* : Array[Object] */;
2854 val
* var_listnode16
/* var listnode16: Array[Object] */;
2855 val
* var14
/* : Array[Object] */;
2856 val
* var_listnode17
/* var listnode17: Array[Object] */;
2857 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2858 short int var15
/* : Bool */;
2861 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2862 short int var16
/* : Bool */;
2865 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2866 short int var19
/* : Bool */;
2869 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2870 short int var22
/* : Bool */;
2873 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2874 short int var25
/* : Bool */;
2877 val
* var_listnode7
/* var listnode7: nullable Object */;
2878 short int var28
/* : Bool */;
2881 val
* var31
/* : Array[Object] */;
2882 val
* var32
/* : Array[Object] */;
2883 val
* var_listnode13
/* var listnode13: Array[Object] */;
2884 val
* var_listnode12
/* var listnode12: nullable Object */;
2885 short int var33
/* : Bool */;
2888 val
* var36
/* : Array[Object] */;
2889 val
* var37
/* : AAnnotations */;
2890 val
* var38
/* : null */;
2891 val
* var39
/* : null */;
2892 val
* var40
/* : null */;
2893 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
2894 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
2895 short int var41
/* : Bool */;
2898 val
* var_tkwendnode18
/* var tkwendnode18: nullable Object */;
2899 short int var44
/* : Bool */;
2902 val
* var47
/* : AStdClassdef */;
2903 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2904 long var48
/* : Int */;
2905 long var49
/* : Int */;
2908 var_node_list
= var
;
2910 var1
= parser_work__Parser__pop(var_p
);
2912 var_nodearraylist11
= var1
;
2914 var2
= parser_work__Parser__pop(var_p
);
2916 var_nodearraylist10
= var2
;
2918 var3
= parser_work__Parser__pop(var_p
);
2920 var_nodearraylist9
= var3
;
2922 var4
= parser_work__Parser__pop(var_p
);
2924 var_nodearraylist8
= var4
;
2926 var5
= parser_work__Parser__pop(var_p
);
2928 var_nodearraylist7
= var5
;
2930 var6
= parser_work__Parser__pop(var_p
);
2932 var_nodearraylist6
= var6
;
2934 var7
= parser_work__Parser__pop(var_p
);
2936 var_nodearraylist5
= var7
;
2938 var8
= parser_work__Parser__pop(var_p
);
2940 var_nodearraylist4
= var8
;
2942 var9
= parser_work__Parser__pop(var_p
);
2944 var_nodearraylist3
= var9
;
2946 var10
= parser_work__Parser__pop(var_p
);
2948 var_nodearraylist2
= var10
;
2950 var11
= parser_work__Parser__pop(var_p
);
2952 var_nodearraylist1
= var11
;
2953 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2955 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2957 var_listnode8
= var12
;
2958 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2960 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
2962 var_listnode16
= var13
;
2963 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2965 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
2967 var_listnode17
= var14
;
2968 var_pdocnode2
= var_nodearraylist1
;
2969 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2970 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2971 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2972 if(var_pdocnode2
== NULL
) {
2975 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2978 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2981 if (unlikely(!var15
)) {
2982 PRINT_ERROR("Runtime error: %s", "Assert failed");
2983 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1890);
2986 var_tkwredefnode3
= var_nodearraylist2
;
2987 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2988 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
2989 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
2990 if(var_tkwredefnode3
== NULL
) {
2993 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
2996 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
2999 if (unlikely(!var16
)) {
3000 PRINT_ERROR("Runtime error: %s", "Assert failed");
3001 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1892);
3004 var_pvisibilitynode4
= var_nodearraylist3
;
3005 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3006 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
3007 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
3008 if(var_pvisibilitynode4
== NULL
) {
3011 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
3014 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
3017 if (unlikely(!var19
)) {
3018 PRINT_ERROR("Runtime error: %s", "Assert failed");
3019 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1894);
3022 var_pclasskindnode5
= var_nodearraylist4
;
3023 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3024 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
3025 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
3026 if(var_pclasskindnode5
== NULL
) {
3029 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
3032 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
3035 if (unlikely(!var22
)) {
3036 PRINT_ERROR("Runtime error: %s", "Assert failed");
3037 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1896);
3040 var_tclassidnode6
= var_nodearraylist6
;
3041 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3042 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
3043 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
3044 if(var_tclassidnode6
== NULL
) {
3047 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
3050 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
3053 if (unlikely(!var25
)) {
3054 PRINT_ERROR("Runtime error: %s", "Assert failed");
3055 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1898);
3058 var_listnode7
= var_nodearraylist7
;
3059 /* <var_listnode7:nullable Object> isa Array[Object] */
3060 cltype29
= type_array__Arraykernel__Object
.color
;
3061 idtype30
= type_array__Arraykernel__Object
.id
;
3062 if(var_listnode7
== NULL
) {
3065 if(cltype29
>= var_listnode7
->type
->table_size
) {
3068 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
3071 if (unlikely(!var28
)) {
3072 PRINT_ERROR("Runtime error: %s", "Assert failed");
3073 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1900);
3077 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
3079 var_listnode8
= var31
;
3080 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
3082 ((void (*)(val
*))(var32
->class->vft
[COLOR_kernel__Object__init
]))(var32
) /* init on <var32:Array[Object]>*/;
3084 var_listnode13
= var32
;
3085 var_listnode12
= var_nodearraylist8
;
3086 /* <var_listnode12:nullable Object> isa Array[Object] */
3087 cltype34
= type_array__Arraykernel__Object
.color
;
3088 idtype35
= type_array__Arraykernel__Object
.id
;
3089 if(var_listnode12
== NULL
) {
3092 if(cltype34
>= var_listnode12
->type
->table_size
) {
3095 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
3098 if (unlikely(!var33
)) {
3099 PRINT_ERROR("Runtime error: %s", "Assert failed");
3100 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1904);
3104 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
3106 var_listnode13
= var36
;
3107 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3112 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
3114 var_pannotationsnode9
= var37
;
3115 var_pexterncodeblocknode15
= var_nodearraylist9
;
3116 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3117 cltype42
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
3118 idtype43
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
3119 if(var_pexterncodeblocknode15
== NULL
) {
3122 if(cltype42
>= var_pexterncodeblocknode15
->type
->table_size
) {
3125 var41
= var_pexterncodeblocknode15
->type
->type_table
[cltype42
] == idtype43
;
3128 if (unlikely(!var41
)) {
3129 PRINT_ERROR("Runtime error: %s", "Assert failed");
3130 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1913);
3133 var_tkwendnode18
= var_nodearraylist11
;
3134 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3135 cltype45
= type_nullable_parser_nodes__TKwend
.color
;
3136 idtype46
= type_nullable_parser_nodes__TKwend
.id
;
3137 if(var_tkwendnode18
== NULL
) {
3140 if(cltype45
>= var_tkwendnode18
->type
->table_size
) {
3143 var44
= var_tkwendnode18
->type
->type_table
[cltype45
] == idtype46
;
3146 if (unlikely(!var44
)) {
3147 PRINT_ERROR("Runtime error: %s", "Assert failed");
3148 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1915);
3151 var47
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3153 parser_prod__AStdClassdef__init_astdclassdef(var47
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var_pexterncodeblocknode15
, var_listnode16
, var_listnode17
, var_tkwendnode18
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var47:AStdClassdef>*/
3155 var_pclassdefnode1
= var47
;
3156 var_node_list
= var_pclassdefnode1
;
3157 var48
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction29> */
3159 var49
= parser_work__Parser__go_to(var_p
, var48
);
3162 parser_work__Parser__push(var_p
, var49
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3166 /* method parser#ReduceAction29#action for (self: Object, Parser) */
3167 void VIRTUAL_parser__ReduceAction29__action(val
* self
, val
* p0
) {
3168 parser__ReduceAction29__action(self
, p0
); /* Direct call parser#ReduceAction29#action on <self:Object(ReduceAction29)>*/
3171 /* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */
3172 void parser__ReduceAction30__action(val
* self
, val
* p0
) {
3173 val
* var_p
/* var p: Parser */;
3174 val
* var
/* : null */;
3175 val
* var_node_list
/* var node_list: nullable Object */;
3176 val
* var1
/* : nullable Object */;
3177 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3178 val
* var2
/* : nullable Object */;
3179 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3180 val
* var3
/* : nullable Object */;
3181 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3182 val
* var4
/* : nullable Object */;
3183 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3184 val
* var5
/* : nullable Object */;
3185 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3186 val
* var6
/* : nullable Object */;
3187 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3188 val
* var7
/* : nullable Object */;
3189 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3190 val
* var8
/* : nullable Object */;
3191 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3192 val
* var9
/* : nullable Object */;
3193 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3194 val
* var10
/* : nullable Object */;
3195 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3196 val
* var11
/* : Array[Object] */;
3197 val
* var_listnode8
/* var listnode8: Array[Object] */;
3198 val
* var12
/* : Array[Object] */;
3199 val
* var_listnode12
/* var listnode12: Array[Object] */;
3200 val
* var13
/* : Array[Object] */;
3201 val
* var_listnode13
/* var listnode13: Array[Object] */;
3202 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3203 short int var14
/* : Bool */;
3206 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3207 short int var15
/* : Bool */;
3210 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3211 short int var18
/* : Bool */;
3214 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3215 short int var21
/* : Bool */;
3218 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3219 short int var24
/* : Bool */;
3222 val
* var_listnode7
/* var listnode7: nullable Object */;
3223 short int var27
/* : Bool */;
3226 val
* var30
/* : Array[Object] */;
3227 val
* var_listnode11
/* var listnode11: nullable Object */;
3228 short int var31
/* : Bool */;
3231 val
* var34
/* : Array[Object] */;
3232 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
3233 short int var35
/* : Bool */;
3236 val
* var38
/* : AStdClassdef */;
3237 val
* var39
/* : null */;
3238 val
* var40
/* : null */;
3239 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3240 long var41
/* : Int */;
3241 long var42
/* : Int */;
3244 var_node_list
= var
;
3246 var1
= parser_work__Parser__pop(var_p
);
3248 var_nodearraylist10
= var1
;
3250 var2
= parser_work__Parser__pop(var_p
);
3252 var_nodearraylist9
= var2
;
3254 var3
= parser_work__Parser__pop(var_p
);
3256 var_nodearraylist8
= var3
;
3258 var4
= parser_work__Parser__pop(var_p
);
3260 var_nodearraylist7
= var4
;
3262 var5
= parser_work__Parser__pop(var_p
);
3264 var_nodearraylist6
= var5
;
3266 var6
= parser_work__Parser__pop(var_p
);
3268 var_nodearraylist5
= var6
;
3270 var7
= parser_work__Parser__pop(var_p
);
3272 var_nodearraylist4
= var7
;
3274 var8
= parser_work__Parser__pop(var_p
);
3276 var_nodearraylist3
= var8
;
3278 var9
= parser_work__Parser__pop(var_p
);
3280 var_nodearraylist2
= var9
;
3282 var10
= parser_work__Parser__pop(var_p
);
3284 var_nodearraylist1
= var10
;
3285 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
3287 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
3289 var_listnode8
= var11
;
3290 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3292 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3294 var_listnode12
= var12
;
3295 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3297 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
3299 var_listnode13
= var13
;
3300 var_pdocnode2
= var_nodearraylist1
;
3301 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3302 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3303 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3304 if(var_pdocnode2
== NULL
) {
3307 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3310 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3313 if (unlikely(!var14
)) {
3314 PRINT_ERROR("Runtime error: %s", "Assert failed");
3315 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1952);
3318 var_tkwredefnode3
= var_nodearraylist2
;
3319 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3320 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
3321 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
3322 if(var_tkwredefnode3
== NULL
) {
3325 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
3328 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
3331 if (unlikely(!var15
)) {
3332 PRINT_ERROR("Runtime error: %s", "Assert failed");
3333 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1954);
3336 var_pvisibilitynode4
= var_nodearraylist3
;
3337 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3338 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
3339 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
3340 if(var_pvisibilitynode4
== NULL
) {
3343 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
3346 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
3349 if (unlikely(!var18
)) {
3350 PRINT_ERROR("Runtime error: %s", "Assert failed");
3351 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1956);
3354 var_pclasskindnode5
= var_nodearraylist4
;
3355 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3356 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
3357 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
3358 if(var_pclasskindnode5
== NULL
) {
3361 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
3364 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
3367 if (unlikely(!var21
)) {
3368 PRINT_ERROR("Runtime error: %s", "Assert failed");
3369 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1958);
3372 var_tclassidnode6
= var_nodearraylist6
;
3373 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3374 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
3375 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
3376 if(var_tclassidnode6
== NULL
) {
3379 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
3382 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
3385 if (unlikely(!var24
)) {
3386 PRINT_ERROR("Runtime error: %s", "Assert failed");
3387 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1960);
3390 var_listnode7
= var_nodearraylist7
;
3391 /* <var_listnode7:nullable Object> isa Array[Object] */
3392 cltype28
= type_array__Arraykernel__Object
.color
;
3393 idtype29
= type_array__Arraykernel__Object
.id
;
3394 if(var_listnode7
== NULL
) {
3397 if(cltype28
>= var_listnode7
->type
->table_size
) {
3400 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
3403 if (unlikely(!var27
)) {
3404 PRINT_ERROR("Runtime error: %s", "Assert failed");
3405 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1962);
3409 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
3411 var_listnode8
= var30
;
3412 var_listnode11
= var_nodearraylist8
;
3413 /* <var_listnode11:nullable Object> isa Array[Object] */
3414 cltype32
= type_array__Arraykernel__Object
.color
;
3415 idtype33
= type_array__Arraykernel__Object
.id
;
3416 if(var_listnode11
== NULL
) {
3419 if(cltype32
>= var_listnode11
->type
->table_size
) {
3422 var31
= var_listnode11
->type
->type_table
[cltype32
] == idtype33
;
3425 if (unlikely(!var31
)) {
3426 PRINT_ERROR("Runtime error: %s", "Assert failed");
3427 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1965);
3431 var34
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
3433 var_listnode12
= var34
;
3434 var_tkwendnode14
= var_nodearraylist10
;
3435 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3436 cltype36
= type_nullable_parser_nodes__TKwend
.color
;
3437 idtype37
= type_nullable_parser_nodes__TKwend
.id
;
3438 if(var_tkwendnode14
== NULL
) {
3441 if(cltype36
>= var_tkwendnode14
->type
->table_size
) {
3444 var35
= var_tkwendnode14
->type
->type_table
[cltype36
] == idtype37
;
3447 if (unlikely(!var35
)) {
3448 PRINT_ERROR("Runtime error: %s", "Assert failed");
3449 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1968);
3452 var38
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3456 parser_prod__AStdClassdef__init_astdclassdef(var38
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var39
, var40
, var_listnode12
, var_listnode13
, var_tkwendnode14
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var38:AStdClassdef>*/
3458 var_pclassdefnode1
= var38
;
3459 var_node_list
= var_pclassdefnode1
;
3460 var41
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction30> */
3462 var42
= parser_work__Parser__go_to(var_p
, var41
);
3465 parser_work__Parser__push(var_p
, var42
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3469 /* method parser#ReduceAction30#action for (self: Object, Parser) */
3470 void VIRTUAL_parser__ReduceAction30__action(val
* self
, val
* p0
) {
3471 parser__ReduceAction30__action(self
, p0
); /* Direct call parser#ReduceAction30#action on <self:Object(ReduceAction30)>*/
3474 /* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */
3475 void parser__ReduceAction31__action(val
* self
, val
* p0
) {
3476 val
* var_p
/* var p: Parser */;
3477 val
* var
/* : null */;
3478 val
* var_node_list
/* var node_list: nullable Object */;
3479 val
* var1
/* : nullable Object */;
3480 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
3481 val
* var2
/* : nullable Object */;
3482 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3483 val
* var3
/* : nullable Object */;
3484 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3485 val
* var4
/* : nullable Object */;
3486 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3487 val
* var5
/* : nullable Object */;
3488 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3489 val
* var6
/* : nullable Object */;
3490 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3491 val
* var7
/* : nullable Object */;
3492 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3493 val
* var8
/* : nullable Object */;
3494 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3495 val
* var9
/* : nullable Object */;
3496 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3497 val
* var10
/* : nullable Object */;
3498 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3499 val
* var11
/* : nullable Object */;
3500 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3501 val
* var12
/* : Array[Object] */;
3502 val
* var_listnode8
/* var listnode8: Array[Object] */;
3503 val
* var13
/* : Array[Object] */;
3504 val
* var_listnode17
/* var listnode17: Array[Object] */;
3505 val
* var14
/* : Array[Object] */;
3506 val
* var_listnode18
/* var listnode18: Array[Object] */;
3507 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3508 short int var15
/* : Bool */;
3511 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3512 short int var16
/* : Bool */;
3515 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3516 short int var19
/* : Bool */;
3519 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3520 short int var22
/* : Bool */;
3523 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3524 short int var25
/* : Bool */;
3527 val
* var_listnode7
/* var listnode7: nullable Object */;
3528 short int var28
/* : Bool */;
3531 val
* var31
/* : Array[Object] */;
3532 val
* var32
/* : Array[Object] */;
3533 val
* var_listnode13
/* var listnode13: Array[Object] */;
3534 val
* var_listnode12
/* var listnode12: nullable Object */;
3535 short int var33
/* : Bool */;
3538 val
* var36
/* : Array[Object] */;
3539 val
* var37
/* : AAnnotations */;
3540 val
* var38
/* : null */;
3541 val
* var39
/* : null */;
3542 val
* var40
/* : null */;
3543 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
3544 val
* var_listnode16
/* var listnode16: nullable Object */;
3545 short int var41
/* : Bool */;
3548 val
* var44
/* : Array[Object] */;
3549 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
3550 short int var45
/* : Bool */;
3553 val
* var48
/* : AStdClassdef */;
3554 val
* var49
/* : null */;
3555 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3556 long var50
/* : Int */;
3557 long var51
/* : Int */;
3560 var_node_list
= var
;
3562 var1
= parser_work__Parser__pop(var_p
);
3564 var_nodearraylist11
= var1
;
3566 var2
= parser_work__Parser__pop(var_p
);
3568 var_nodearraylist10
= var2
;
3570 var3
= parser_work__Parser__pop(var_p
);
3572 var_nodearraylist9
= var3
;
3574 var4
= parser_work__Parser__pop(var_p
);
3576 var_nodearraylist8
= var4
;
3578 var5
= parser_work__Parser__pop(var_p
);
3580 var_nodearraylist7
= var5
;
3582 var6
= parser_work__Parser__pop(var_p
);
3584 var_nodearraylist6
= var6
;
3586 var7
= parser_work__Parser__pop(var_p
);
3588 var_nodearraylist5
= var7
;
3590 var8
= parser_work__Parser__pop(var_p
);
3592 var_nodearraylist4
= var8
;
3594 var9
= parser_work__Parser__pop(var_p
);
3596 var_nodearraylist3
= var9
;
3598 var10
= parser_work__Parser__pop(var_p
);
3600 var_nodearraylist2
= var10
;
3602 var11
= parser_work__Parser__pop(var_p
);
3604 var_nodearraylist1
= var11
;
3605 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3607 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3609 var_listnode8
= var12
;
3610 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3612 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
3614 var_listnode17
= var13
;
3615 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3617 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
3619 var_listnode18
= var14
;
3620 var_pdocnode2
= var_nodearraylist1
;
3621 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3622 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3623 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3624 if(var_pdocnode2
== NULL
) {
3627 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3630 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3633 if (unlikely(!var15
)) {
3634 PRINT_ERROR("Runtime error: %s", "Assert failed");
3635 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2006);
3638 var_tkwredefnode3
= var_nodearraylist2
;
3639 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3640 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
3641 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
3642 if(var_tkwredefnode3
== NULL
) {
3645 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
3648 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
3651 if (unlikely(!var16
)) {
3652 PRINT_ERROR("Runtime error: %s", "Assert failed");
3653 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2008);
3656 var_pvisibilitynode4
= var_nodearraylist3
;
3657 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3658 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
3659 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
3660 if(var_pvisibilitynode4
== NULL
) {
3663 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
3666 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
3669 if (unlikely(!var19
)) {
3670 PRINT_ERROR("Runtime error: %s", "Assert failed");
3671 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2010);
3674 var_pclasskindnode5
= var_nodearraylist4
;
3675 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3676 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
3677 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
3678 if(var_pclasskindnode5
== NULL
) {
3681 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
3684 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
3687 if (unlikely(!var22
)) {
3688 PRINT_ERROR("Runtime error: %s", "Assert failed");
3689 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2012);
3692 var_tclassidnode6
= var_nodearraylist6
;
3693 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3694 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
3695 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
3696 if(var_tclassidnode6
== NULL
) {
3699 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
3702 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
3705 if (unlikely(!var25
)) {
3706 PRINT_ERROR("Runtime error: %s", "Assert failed");
3707 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2014);
3710 var_listnode7
= var_nodearraylist7
;
3711 /* <var_listnode7:nullable Object> isa Array[Object] */
3712 cltype29
= type_array__Arraykernel__Object
.color
;
3713 idtype30
= type_array__Arraykernel__Object
.id
;
3714 if(var_listnode7
== NULL
) {
3717 if(cltype29
>= var_listnode7
->type
->table_size
) {
3720 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
3723 if (unlikely(!var28
)) {
3724 PRINT_ERROR("Runtime error: %s", "Assert failed");
3725 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2016);
3729 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
3731 var_listnode8
= var31
;
3732 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
3734 ((void (*)(val
*))(var32
->class->vft
[COLOR_kernel__Object__init
]))(var32
) /* init on <var32:Array[Object]>*/;
3736 var_listnode13
= var32
;
3737 var_listnode12
= var_nodearraylist8
;
3738 /* <var_listnode12:nullable Object> isa Array[Object] */
3739 cltype34
= type_array__Arraykernel__Object
.color
;
3740 idtype35
= type_array__Arraykernel__Object
.id
;
3741 if(var_listnode12
== NULL
) {
3744 if(cltype34
>= var_listnode12
->type
->table_size
) {
3747 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
3750 if (unlikely(!var33
)) {
3751 PRINT_ERROR("Runtime error: %s", "Assert failed");
3752 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2020);
3756 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
3758 var_listnode13
= var36
;
3759 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3764 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
3766 var_pannotationsnode9
= var37
;
3767 var_listnode16
= var_nodearraylist9
;
3768 /* <var_listnode16:nullable Object> isa Array[Object] */
3769 cltype42
= type_array__Arraykernel__Object
.color
;
3770 idtype43
= type_array__Arraykernel__Object
.id
;
3771 if(var_listnode16
== NULL
) {
3774 if(cltype42
>= var_listnode16
->type
->table_size
) {
3777 var41
= var_listnode16
->type
->type_table
[cltype42
] == idtype43
;
3780 if (unlikely(!var41
)) {
3781 PRINT_ERROR("Runtime error: %s", "Assert failed");
3782 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2029);
3786 var44
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
3788 var_listnode17
= var44
;
3789 var_tkwendnode19
= var_nodearraylist11
;
3790 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3791 cltype46
= type_nullable_parser_nodes__TKwend
.color
;
3792 idtype47
= type_nullable_parser_nodes__TKwend
.id
;
3793 if(var_tkwendnode19
== NULL
) {
3796 if(cltype46
>= var_tkwendnode19
->type
->table_size
) {
3799 var45
= var_tkwendnode19
->type
->type_table
[cltype46
] == idtype47
;
3802 if (unlikely(!var45
)) {
3803 PRINT_ERROR("Runtime error: %s", "Assert failed");
3804 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2032);
3807 var48
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3810 parser_prod__AStdClassdef__init_astdclassdef(var48
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var49
, var_listnode17
, var_listnode18
, var_tkwendnode19
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var48:AStdClassdef>*/
3812 var_pclassdefnode1
= var48
;
3813 var_node_list
= var_pclassdefnode1
;
3814 var50
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction31> */
3816 var51
= parser_work__Parser__go_to(var_p
, var50
);
3819 parser_work__Parser__push(var_p
, var51
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3823 /* method parser#ReduceAction31#action for (self: Object, Parser) */
3824 void VIRTUAL_parser__ReduceAction31__action(val
* self
, val
* p0
) {
3825 parser__ReduceAction31__action(self
, p0
); /* Direct call parser#ReduceAction31#action on <self:Object(ReduceAction31)>*/
3828 /* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */
3829 void parser__ReduceAction32__action(val
* self
, val
* p0
) {
3830 val
* var_p
/* var p: Parser */;
3831 val
* var
/* : null */;
3832 val
* var_node_list
/* var node_list: nullable Object */;
3833 val
* var1
/* : nullable Object */;
3834 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
3835 val
* var2
/* : nullable Object */;
3836 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3837 val
* var3
/* : nullable Object */;
3838 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3839 val
* var4
/* : nullable Object */;
3840 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3841 val
* var5
/* : nullable Object */;
3842 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3843 val
* var6
/* : nullable Object */;
3844 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3845 val
* var7
/* : nullable Object */;
3846 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3847 val
* var8
/* : nullable Object */;
3848 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3849 val
* var9
/* : nullable Object */;
3850 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3851 val
* var10
/* : nullable Object */;
3852 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3853 val
* var11
/* : nullable Object */;
3854 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3855 val
* var12
/* : Array[Object] */;
3856 val
* var_listnode8
/* var listnode8: Array[Object] */;
3857 val
* var13
/* : Array[Object] */;
3858 val
* var_listnode12
/* var listnode12: Array[Object] */;
3859 val
* var14
/* : Array[Object] */;
3860 val
* var_listnode13
/* var listnode13: Array[Object] */;
3861 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3862 short int var15
/* : Bool */;
3865 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3866 short int var16
/* : Bool */;
3869 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3870 short int var19
/* : Bool */;
3873 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3874 short int var22
/* : Bool */;
3877 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3878 short int var25
/* : Bool */;
3881 val
* var_listnode7
/* var listnode7: nullable Object */;
3882 short int var28
/* : Bool */;
3885 val
* var31
/* : Array[Object] */;
3886 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
3887 short int var32
/* : Bool */;
3890 val
* var_listnode11
/* var listnode11: nullable Object */;
3891 short int var35
/* : Bool */;
3894 val
* var38
/* : Array[Object] */;
3895 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
3896 short int var39
/* : Bool */;
3899 val
* var42
/* : AStdClassdef */;
3900 val
* var43
/* : null */;
3901 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3902 long var44
/* : Int */;
3903 long var45
/* : Int */;
3906 var_node_list
= var
;
3908 var1
= parser_work__Parser__pop(var_p
);
3910 var_nodearraylist11
= var1
;
3912 var2
= parser_work__Parser__pop(var_p
);
3914 var_nodearraylist10
= var2
;
3916 var3
= parser_work__Parser__pop(var_p
);
3918 var_nodearraylist9
= var3
;
3920 var4
= parser_work__Parser__pop(var_p
);
3922 var_nodearraylist8
= var4
;
3924 var5
= parser_work__Parser__pop(var_p
);
3926 var_nodearraylist7
= var5
;
3928 var6
= parser_work__Parser__pop(var_p
);
3930 var_nodearraylist6
= var6
;
3932 var7
= parser_work__Parser__pop(var_p
);
3934 var_nodearraylist5
= var7
;
3936 var8
= parser_work__Parser__pop(var_p
);
3938 var_nodearraylist4
= var8
;
3940 var9
= parser_work__Parser__pop(var_p
);
3942 var_nodearraylist3
= var9
;
3944 var10
= parser_work__Parser__pop(var_p
);
3946 var_nodearraylist2
= var10
;
3948 var11
= parser_work__Parser__pop(var_p
);
3950 var_nodearraylist1
= var11
;
3951 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3953 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3955 var_listnode8
= var12
;
3956 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3958 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
3960 var_listnode12
= var13
;
3961 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3963 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
3965 var_listnode13
= var14
;
3966 var_pdocnode2
= var_nodearraylist1
;
3967 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3968 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3969 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3970 if(var_pdocnode2
== NULL
) {
3973 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3976 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3979 if (unlikely(!var15
)) {
3980 PRINT_ERROR("Runtime error: %s", "Assert failed");
3981 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2070);
3984 var_tkwredefnode3
= var_nodearraylist2
;
3985 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3986 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
3987 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
3988 if(var_tkwredefnode3
== NULL
) {
3991 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
3994 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
3997 if (unlikely(!var16
)) {
3998 PRINT_ERROR("Runtime error: %s", "Assert failed");
3999 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2072);
4002 var_pvisibilitynode4
= var_nodearraylist3
;
4003 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4004 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
4005 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
4006 if(var_pvisibilitynode4
== NULL
) {
4009 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
4012 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
4015 if (unlikely(!var19
)) {
4016 PRINT_ERROR("Runtime error: %s", "Assert failed");
4017 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2074);
4020 var_pclasskindnode5
= var_nodearraylist4
;
4021 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4022 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
4023 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
4024 if(var_pclasskindnode5
== NULL
) {
4027 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
4030 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
4033 if (unlikely(!var22
)) {
4034 PRINT_ERROR("Runtime error: %s", "Assert failed");
4035 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2076);
4038 var_tclassidnode6
= var_nodearraylist6
;
4039 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4040 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
4041 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
4042 if(var_tclassidnode6
== NULL
) {
4045 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
4048 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
4051 if (unlikely(!var25
)) {
4052 PRINT_ERROR("Runtime error: %s", "Assert failed");
4053 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2078);
4056 var_listnode7
= var_nodearraylist7
;
4057 /* <var_listnode7:nullable Object> isa Array[Object] */
4058 cltype29
= type_array__Arraykernel__Object
.color
;
4059 idtype30
= type_array__Arraykernel__Object
.id
;
4060 if(var_listnode7
== NULL
) {
4063 if(cltype29
>= var_listnode7
->type
->table_size
) {
4066 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
4069 if (unlikely(!var28
)) {
4070 PRINT_ERROR("Runtime error: %s", "Assert failed");
4071 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2080);
4075 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4077 var_listnode8
= var31
;
4078 var_pexterncodeblocknode10
= var_nodearraylist8
;
4079 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4080 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4081 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4082 if(var_pexterncodeblocknode10
== NULL
) {
4085 if(cltype33
>= var_pexterncodeblocknode10
->type
->table_size
) {
4088 var32
= var_pexterncodeblocknode10
->type
->type_table
[cltype33
] == idtype34
;
4091 if (unlikely(!var32
)) {
4092 PRINT_ERROR("Runtime error: %s", "Assert failed");
4093 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2083);
4096 var_listnode11
= var_nodearraylist9
;
4097 /* <var_listnode11:nullable Object> isa Array[Object] */
4098 cltype36
= type_array__Arraykernel__Object
.color
;
4099 idtype37
= type_array__Arraykernel__Object
.id
;
4100 if(var_listnode11
== NULL
) {
4103 if(cltype36
>= var_listnode11
->type
->table_size
) {
4106 var35
= var_listnode11
->type
->type_table
[cltype36
] == idtype37
;
4109 if (unlikely(!var35
)) {
4110 PRINT_ERROR("Runtime error: %s", "Assert failed");
4111 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2085);
4115 var38
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
4117 var_listnode12
= var38
;
4118 var_tkwendnode14
= var_nodearraylist11
;
4119 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4120 cltype40
= type_nullable_parser_nodes__TKwend
.color
;
4121 idtype41
= type_nullable_parser_nodes__TKwend
.id
;
4122 if(var_tkwendnode14
== NULL
) {
4125 if(cltype40
>= var_tkwendnode14
->type
->table_size
) {
4128 var39
= var_tkwendnode14
->type
->type_table
[cltype40
] == idtype41
;
4131 if (unlikely(!var39
)) {
4132 PRINT_ERROR("Runtime error: %s", "Assert failed");
4133 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2088);
4136 var42
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4139 parser_prod__AStdClassdef__init_astdclassdef(var42
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var43
, var_pexterncodeblocknode10
, var_listnode12
, var_listnode13
, var_tkwendnode14
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var42:AStdClassdef>*/
4141 var_pclassdefnode1
= var42
;
4142 var_node_list
= var_pclassdefnode1
;
4143 var44
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction32> */
4145 var45
= parser_work__Parser__go_to(var_p
, var44
);
4148 parser_work__Parser__push(var_p
, var45
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4152 /* method parser#ReduceAction32#action for (self: Object, Parser) */
4153 void VIRTUAL_parser__ReduceAction32__action(val
* self
, val
* p0
) {
4154 parser__ReduceAction32__action(self
, p0
); /* Direct call parser#ReduceAction32#action on <self:Object(ReduceAction32)>*/
4157 /* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */
4158 void parser__ReduceAction33__action(val
* self
, val
* p0
) {
4159 val
* var_p
/* var p: Parser */;
4160 val
* var
/* : null */;
4161 val
* var_node_list
/* var node_list: nullable Object */;
4162 val
* var1
/* : nullable Object */;
4163 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
4164 val
* var2
/* : nullable Object */;
4165 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4166 val
* var3
/* : nullable Object */;
4167 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4168 val
* var4
/* : nullable Object */;
4169 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4170 val
* var5
/* : nullable Object */;
4171 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4172 val
* var6
/* : nullable Object */;
4173 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4174 val
* var7
/* : nullable Object */;
4175 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4176 val
* var8
/* : nullable Object */;
4177 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4178 val
* var9
/* : nullable Object */;
4179 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4180 val
* var10
/* : nullable Object */;
4181 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4182 val
* var11
/* : nullable Object */;
4183 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4184 val
* var12
/* : nullable Object */;
4185 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4186 val
* var13
/* : Array[Object] */;
4187 val
* var_listnode8
/* var listnode8: Array[Object] */;
4188 val
* var14
/* : Array[Object] */;
4189 val
* var_listnode17
/* var listnode17: Array[Object] */;
4190 val
* var15
/* : Array[Object] */;
4191 val
* var_listnode18
/* var listnode18: Array[Object] */;
4192 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4193 short int var16
/* : Bool */;
4196 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4197 short int var17
/* : Bool */;
4200 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4201 short int var20
/* : Bool */;
4204 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4205 short int var23
/* : Bool */;
4208 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4209 short int var26
/* : Bool */;
4212 val
* var_listnode7
/* var listnode7: nullable Object */;
4213 short int var29
/* : Bool */;
4216 val
* var32
/* : Array[Object] */;
4217 val
* var33
/* : Array[Object] */;
4218 val
* var_listnode13
/* var listnode13: Array[Object] */;
4219 val
* var_listnode12
/* var listnode12: nullable Object */;
4220 short int var34
/* : Bool */;
4223 val
* var37
/* : Array[Object] */;
4224 val
* var38
/* : AAnnotations */;
4225 val
* var39
/* : null */;
4226 val
* var40
/* : null */;
4227 val
* var41
/* : null */;
4228 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
4229 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
4230 short int var42
/* : Bool */;
4233 val
* var_listnode16
/* var listnode16: nullable Object */;
4234 short int var45
/* : Bool */;
4237 val
* var48
/* : Array[Object] */;
4238 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
4239 short int var49
/* : Bool */;
4242 val
* var52
/* : AStdClassdef */;
4243 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4244 long var53
/* : Int */;
4245 long var54
/* : Int */;
4248 var_node_list
= var
;
4250 var1
= parser_work__Parser__pop(var_p
);
4252 var_nodearraylist12
= var1
;
4254 var2
= parser_work__Parser__pop(var_p
);
4256 var_nodearraylist11
= var2
;
4258 var3
= parser_work__Parser__pop(var_p
);
4260 var_nodearraylist10
= var3
;
4262 var4
= parser_work__Parser__pop(var_p
);
4264 var_nodearraylist9
= var4
;
4266 var5
= parser_work__Parser__pop(var_p
);
4268 var_nodearraylist8
= var5
;
4270 var6
= parser_work__Parser__pop(var_p
);
4272 var_nodearraylist7
= var6
;
4274 var7
= parser_work__Parser__pop(var_p
);
4276 var_nodearraylist6
= var7
;
4278 var8
= parser_work__Parser__pop(var_p
);
4280 var_nodearraylist5
= var8
;
4282 var9
= parser_work__Parser__pop(var_p
);
4284 var_nodearraylist4
= var9
;
4286 var10
= parser_work__Parser__pop(var_p
);
4288 var_nodearraylist3
= var10
;
4290 var11
= parser_work__Parser__pop(var_p
);
4292 var_nodearraylist2
= var11
;
4294 var12
= parser_work__Parser__pop(var_p
);
4296 var_nodearraylist1
= var12
;
4297 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4299 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
4301 var_listnode8
= var13
;
4302 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
4304 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
4306 var_listnode17
= var14
;
4307 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
4309 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
4311 var_listnode18
= var15
;
4312 var_pdocnode2
= var_nodearraylist1
;
4313 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4314 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4315 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4316 if(var_pdocnode2
== NULL
) {
4319 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4322 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4325 if (unlikely(!var16
)) {
4326 PRINT_ERROR("Runtime error: %s", "Assert failed");
4327 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2127);
4330 var_tkwredefnode3
= var_nodearraylist2
;
4331 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4332 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
4333 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
4334 if(var_tkwredefnode3
== NULL
) {
4337 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
4340 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
4343 if (unlikely(!var17
)) {
4344 PRINT_ERROR("Runtime error: %s", "Assert failed");
4345 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2129);
4348 var_pvisibilitynode4
= var_nodearraylist3
;
4349 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4350 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
4351 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
4352 if(var_pvisibilitynode4
== NULL
) {
4355 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
4358 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
4361 if (unlikely(!var20
)) {
4362 PRINT_ERROR("Runtime error: %s", "Assert failed");
4363 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2131);
4366 var_pclasskindnode5
= var_nodearraylist4
;
4367 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4368 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
4369 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
4370 if(var_pclasskindnode5
== NULL
) {
4373 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
4376 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
4379 if (unlikely(!var23
)) {
4380 PRINT_ERROR("Runtime error: %s", "Assert failed");
4381 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2133);
4384 var_tclassidnode6
= var_nodearraylist6
;
4385 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4386 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
4387 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
4388 if(var_tclassidnode6
== NULL
) {
4391 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
4394 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
4397 if (unlikely(!var26
)) {
4398 PRINT_ERROR("Runtime error: %s", "Assert failed");
4399 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2135);
4402 var_listnode7
= var_nodearraylist7
;
4403 /* <var_listnode7:nullable Object> isa Array[Object] */
4404 cltype30
= type_array__Arraykernel__Object
.color
;
4405 idtype31
= type_array__Arraykernel__Object
.id
;
4406 if(var_listnode7
== NULL
) {
4409 if(cltype30
>= var_listnode7
->type
->table_size
) {
4412 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
4415 if (unlikely(!var29
)) {
4416 PRINT_ERROR("Runtime error: %s", "Assert failed");
4417 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2137);
4421 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4423 var_listnode8
= var32
;
4424 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
4426 ((void (*)(val
*))(var33
->class->vft
[COLOR_kernel__Object__init
]))(var33
) /* init on <var33:Array[Object]>*/;
4428 var_listnode13
= var33
;
4429 var_listnode12
= var_nodearraylist8
;
4430 /* <var_listnode12:nullable Object> isa Array[Object] */
4431 cltype35
= type_array__Arraykernel__Object
.color
;
4432 idtype36
= type_array__Arraykernel__Object
.id
;
4433 if(var_listnode12
== NULL
) {
4436 if(cltype35
>= var_listnode12
->type
->table_size
) {
4439 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
4442 if (unlikely(!var34
)) {
4443 PRINT_ERROR("Runtime error: %s", "Assert failed");
4444 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2141);
4448 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
4450 var_listnode13
= var37
;
4451 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
4456 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
4458 var_pannotationsnode9
= var38
;
4459 var_pexterncodeblocknode15
= var_nodearraylist9
;
4460 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4461 cltype43
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4462 idtype44
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4463 if(var_pexterncodeblocknode15
== NULL
) {
4466 if(cltype43
>= var_pexterncodeblocknode15
->type
->table_size
) {
4469 var42
= var_pexterncodeblocknode15
->type
->type_table
[cltype43
] == idtype44
;
4472 if (unlikely(!var42
)) {
4473 PRINT_ERROR("Runtime error: %s", "Assert failed");
4474 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2150);
4477 var_listnode16
= var_nodearraylist10
;
4478 /* <var_listnode16:nullable Object> isa Array[Object] */
4479 cltype46
= type_array__Arraykernel__Object
.color
;
4480 idtype47
= type_array__Arraykernel__Object
.id
;
4481 if(var_listnode16
== NULL
) {
4484 if(cltype46
>= var_listnode16
->type
->table_size
) {
4487 var45
= var_listnode16
->type
->type_table
[cltype46
] == idtype47
;
4490 if (unlikely(!var45
)) {
4491 PRINT_ERROR("Runtime error: %s", "Assert failed");
4492 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2152);
4496 var48
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
4498 var_listnode17
= var48
;
4499 var_tkwendnode19
= var_nodearraylist12
;
4500 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4501 cltype50
= type_nullable_parser_nodes__TKwend
.color
;
4502 idtype51
= type_nullable_parser_nodes__TKwend
.id
;
4503 if(var_tkwendnode19
== NULL
) {
4506 if(cltype50
>= var_tkwendnode19
->type
->table_size
) {
4509 var49
= var_tkwendnode19
->type
->type_table
[cltype50
] == idtype51
;
4512 if (unlikely(!var49
)) {
4513 PRINT_ERROR("Runtime error: %s", "Assert failed");
4514 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2155);
4517 var52
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4519 parser_prod__AStdClassdef__init_astdclassdef(var52
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var_pexterncodeblocknode15
, var_listnode17
, var_listnode18
, var_tkwendnode19
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var52:AStdClassdef>*/
4521 var_pclassdefnode1
= var52
;
4522 var_node_list
= var_pclassdefnode1
;
4523 var53
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction33> */
4525 var54
= parser_work__Parser__go_to(var_p
, var53
);
4528 parser_work__Parser__push(var_p
, var54
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4532 /* method parser#ReduceAction33#action for (self: Object, Parser) */
4533 void VIRTUAL_parser__ReduceAction33__action(val
* self
, val
* p0
) {
4534 parser__ReduceAction33__action(self
, p0
); /* Direct call parser#ReduceAction33#action on <self:Object(ReduceAction33)>*/
4537 /* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */
4538 void parser__ReduceAction34__action(val
* self
, val
* p0
) {
4539 val
* var_p
/* var p: Parser */;
4540 val
* var
/* : null */;
4541 val
* var_node_list
/* var node_list: nullable Object */;
4542 val
* var1
/* : nullable Object */;
4543 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4544 val
* var2
/* : nullable Object */;
4545 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4546 val
* var3
/* : nullable Object */;
4547 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4548 val
* var4
/* : nullable Object */;
4549 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4550 val
* var5
/* : nullable Object */;
4551 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4552 val
* var6
/* : nullable Object */;
4553 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4554 val
* var7
/* : nullable Object */;
4555 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4556 val
* var8
/* : nullable Object */;
4557 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4558 val
* var9
/* : nullable Object */;
4559 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4560 val
* var10
/* : nullable Object */;
4561 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4562 val
* var11
/* : Array[Object] */;
4563 val
* var_listnode8
/* var listnode8: Array[Object] */;
4564 val
* var12
/* : Array[Object] */;
4565 val
* var_listnode11
/* var listnode11: Array[Object] */;
4566 val
* var13
/* : Array[Object] */;
4567 val
* var_listnode13
/* var listnode13: Array[Object] */;
4568 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4569 short int var14
/* : Bool */;
4572 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4573 short int var15
/* : Bool */;
4576 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4577 short int var18
/* : Bool */;
4580 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4581 short int var21
/* : Bool */;
4584 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4585 short int var24
/* : Bool */;
4588 val
* var_listnode7
/* var listnode7: nullable Object */;
4589 short int var27
/* : Bool */;
4592 val
* var30
/* : Array[Object] */;
4593 val
* var_listnode12
/* var listnode12: nullable Object */;
4594 short int var31
/* : Bool */;
4597 val
* var34
/* : Array[Object] */;
4598 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
4599 short int var35
/* : Bool */;
4602 val
* var38
/* : AStdClassdef */;
4603 val
* var39
/* : null */;
4604 val
* var40
/* : null */;
4605 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4606 long var41
/* : Int */;
4607 long var42
/* : Int */;
4610 var_node_list
= var
;
4612 var1
= parser_work__Parser__pop(var_p
);
4614 var_nodearraylist10
= var1
;
4616 var2
= parser_work__Parser__pop(var_p
);
4618 var_nodearraylist9
= var2
;
4620 var3
= parser_work__Parser__pop(var_p
);
4622 var_nodearraylist8
= var3
;
4624 var4
= parser_work__Parser__pop(var_p
);
4626 var_nodearraylist7
= var4
;
4628 var5
= parser_work__Parser__pop(var_p
);
4630 var_nodearraylist6
= var5
;
4632 var6
= parser_work__Parser__pop(var_p
);
4634 var_nodearraylist5
= var6
;
4636 var7
= parser_work__Parser__pop(var_p
);
4638 var_nodearraylist4
= var7
;
4640 var8
= parser_work__Parser__pop(var_p
);
4642 var_nodearraylist3
= var8
;
4644 var9
= parser_work__Parser__pop(var_p
);
4646 var_nodearraylist2
= var9
;
4648 var10
= parser_work__Parser__pop(var_p
);
4650 var_nodearraylist1
= var10
;
4651 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
4653 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
4655 var_listnode8
= var11
;
4656 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
4658 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
4660 var_listnode11
= var12
;
4661 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4663 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
4665 var_listnode13
= var13
;
4666 var_pdocnode2
= var_nodearraylist1
;
4667 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4668 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4669 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4670 if(var_pdocnode2
== NULL
) {
4673 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4676 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4679 if (unlikely(!var14
)) {
4680 PRINT_ERROR("Runtime error: %s", "Assert failed");
4681 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2192);
4684 var_tkwredefnode3
= var_nodearraylist2
;
4685 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4686 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
4687 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
4688 if(var_tkwredefnode3
== NULL
) {
4691 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
4694 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
4697 if (unlikely(!var15
)) {
4698 PRINT_ERROR("Runtime error: %s", "Assert failed");
4699 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2194);
4702 var_pvisibilitynode4
= var_nodearraylist3
;
4703 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4704 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
4705 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
4706 if(var_pvisibilitynode4
== NULL
) {
4709 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
4712 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
4715 if (unlikely(!var18
)) {
4716 PRINT_ERROR("Runtime error: %s", "Assert failed");
4717 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2196);
4720 var_pclasskindnode5
= var_nodearraylist4
;
4721 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4722 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
4723 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
4724 if(var_pclasskindnode5
== NULL
) {
4727 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
4730 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
4733 if (unlikely(!var21
)) {
4734 PRINT_ERROR("Runtime error: %s", "Assert failed");
4735 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2198);
4738 var_tclassidnode6
= var_nodearraylist6
;
4739 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4740 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
4741 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
4742 if(var_tclassidnode6
== NULL
) {
4745 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
4748 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
4751 if (unlikely(!var24
)) {
4752 PRINT_ERROR("Runtime error: %s", "Assert failed");
4753 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2200);
4756 var_listnode7
= var_nodearraylist7
;
4757 /* <var_listnode7:nullable Object> isa Array[Object] */
4758 cltype28
= type_array__Arraykernel__Object
.color
;
4759 idtype29
= type_array__Arraykernel__Object
.id
;
4760 if(var_listnode7
== NULL
) {
4763 if(cltype28
>= var_listnode7
->type
->table_size
) {
4766 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
4769 if (unlikely(!var27
)) {
4770 PRINT_ERROR("Runtime error: %s", "Assert failed");
4771 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2202);
4775 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4777 var_listnode8
= var30
;
4778 var_listnode12
= var_nodearraylist8
;
4779 /* <var_listnode12:nullable Object> isa Array[Object] */
4780 cltype32
= type_array__Arraykernel__Object
.color
;
4781 idtype33
= type_array__Arraykernel__Object
.id
;
4782 if(var_listnode12
== NULL
) {
4785 if(cltype32
>= var_listnode12
->type
->table_size
) {
4788 var31
= var_listnode12
->type
->type_table
[cltype32
] == idtype33
;
4791 if (unlikely(!var31
)) {
4792 PRINT_ERROR("Runtime error: %s", "Assert failed");
4793 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2205);
4797 var34
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
4799 var_listnode13
= var34
;
4800 var_tkwendnode14
= var_nodearraylist10
;
4801 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4802 cltype36
= type_nullable_parser_nodes__TKwend
.color
;
4803 idtype37
= type_nullable_parser_nodes__TKwend
.id
;
4804 if(var_tkwendnode14
== NULL
) {
4807 if(cltype36
>= var_tkwendnode14
->type
->table_size
) {
4810 var35
= var_tkwendnode14
->type
->type_table
[cltype36
] == idtype37
;
4813 if (unlikely(!var35
)) {
4814 PRINT_ERROR("Runtime error: %s", "Assert failed");
4815 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2208);
4818 var38
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4822 parser_prod__AStdClassdef__init_astdclassdef(var38
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var39
, var40
, var_listnode11
, var_listnode13
, var_tkwendnode14
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var38:AStdClassdef>*/
4824 var_pclassdefnode1
= var38
;
4825 var_node_list
= var_pclassdefnode1
;
4826 var41
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction34> */
4828 var42
= parser_work__Parser__go_to(var_p
, var41
);
4831 parser_work__Parser__push(var_p
, var42
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4835 /* method parser#ReduceAction34#action for (self: Object, Parser) */
4836 void VIRTUAL_parser__ReduceAction34__action(val
* self
, val
* p0
) {
4837 parser__ReduceAction34__action(self
, p0
); /* Direct call parser#ReduceAction34#action on <self:Object(ReduceAction34)>*/
4840 /* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */
4841 void parser__ReduceAction35__action(val
* self
, val
* p0
) {
4842 val
* var_p
/* var p: Parser */;
4843 val
* var
/* : null */;
4844 val
* var_node_list
/* var node_list: nullable Object */;
4845 val
* var1
/* : nullable Object */;
4846 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4847 val
* var2
/* : nullable Object */;
4848 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4849 val
* var3
/* : nullable Object */;
4850 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4851 val
* var4
/* : nullable Object */;
4852 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4853 val
* var5
/* : nullable Object */;
4854 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4855 val
* var6
/* : nullable Object */;
4856 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4857 val
* var7
/* : nullable Object */;
4858 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4859 val
* var8
/* : nullable Object */;
4860 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4861 val
* var9
/* : nullable Object */;
4862 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4863 val
* var10
/* : nullable Object */;
4864 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4865 val
* var11
/* : nullable Object */;
4866 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4867 val
* var12
/* : Array[Object] */;
4868 val
* var_listnode8
/* var listnode8: Array[Object] */;
4869 val
* var13
/* : Array[Object] */;
4870 val
* var_listnode16
/* var listnode16: Array[Object] */;
4871 val
* var14
/* : Array[Object] */;
4872 val
* var_listnode18
/* var listnode18: Array[Object] */;
4873 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4874 short int var15
/* : Bool */;
4877 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4878 short int var16
/* : Bool */;
4881 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4882 short int var19
/* : Bool */;
4885 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4886 short int var22
/* : Bool */;
4889 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4890 short int var25
/* : Bool */;
4893 val
* var_listnode7
/* var listnode7: nullable Object */;
4894 short int var28
/* : Bool */;
4897 val
* var31
/* : Array[Object] */;
4898 val
* var32
/* : Array[Object] */;
4899 val
* var_listnode13
/* var listnode13: Array[Object] */;
4900 val
* var_listnode12
/* var listnode12: nullable Object */;
4901 short int var33
/* : Bool */;
4904 val
* var36
/* : Array[Object] */;
4905 val
* var37
/* : AAnnotations */;
4906 val
* var38
/* : null */;
4907 val
* var39
/* : null */;
4908 val
* var40
/* : null */;
4909 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
4910 val
* var_listnode17
/* var listnode17: nullable Object */;
4911 short int var41
/* : Bool */;
4914 val
* var44
/* : Array[Object] */;
4915 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
4916 short int var45
/* : Bool */;
4919 val
* var48
/* : AStdClassdef */;
4920 val
* var49
/* : null */;
4921 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4922 long var50
/* : Int */;
4923 long var51
/* : Int */;
4926 var_node_list
= var
;
4928 var1
= parser_work__Parser__pop(var_p
);
4930 var_nodearraylist11
= var1
;
4932 var2
= parser_work__Parser__pop(var_p
);
4934 var_nodearraylist10
= var2
;
4936 var3
= parser_work__Parser__pop(var_p
);
4938 var_nodearraylist9
= var3
;
4940 var4
= parser_work__Parser__pop(var_p
);
4942 var_nodearraylist8
= var4
;
4944 var5
= parser_work__Parser__pop(var_p
);
4946 var_nodearraylist7
= var5
;
4948 var6
= parser_work__Parser__pop(var_p
);
4950 var_nodearraylist6
= var6
;
4952 var7
= parser_work__Parser__pop(var_p
);
4954 var_nodearraylist5
= var7
;
4956 var8
= parser_work__Parser__pop(var_p
);
4958 var_nodearraylist4
= var8
;
4960 var9
= parser_work__Parser__pop(var_p
);
4962 var_nodearraylist3
= var9
;
4964 var10
= parser_work__Parser__pop(var_p
);
4966 var_nodearraylist2
= var10
;
4968 var11
= parser_work__Parser__pop(var_p
);
4970 var_nodearraylist1
= var11
;
4971 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
4973 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
4975 var_listnode8
= var12
;
4976 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4978 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
4980 var_listnode16
= var13
;
4981 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
4983 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
4985 var_listnode18
= var14
;
4986 var_pdocnode2
= var_nodearraylist1
;
4987 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4988 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4989 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4990 if(var_pdocnode2
== NULL
) {
4993 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4996 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4999 if (unlikely(!var15
)) {
5000 PRINT_ERROR("Runtime error: %s", "Assert failed");
5001 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2246);
5004 var_tkwredefnode3
= var_nodearraylist2
;
5005 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5006 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
5007 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
5008 if(var_tkwredefnode3
== NULL
) {
5011 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
5014 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
5017 if (unlikely(!var16
)) {
5018 PRINT_ERROR("Runtime error: %s", "Assert failed");
5019 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2248);
5022 var_pvisibilitynode4
= var_nodearraylist3
;
5023 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5024 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
5025 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
5026 if(var_pvisibilitynode4
== NULL
) {
5029 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
5032 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
5035 if (unlikely(!var19
)) {
5036 PRINT_ERROR("Runtime error: %s", "Assert failed");
5037 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2250);
5040 var_pclasskindnode5
= var_nodearraylist4
;
5041 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5042 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
5043 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
5044 if(var_pclasskindnode5
== NULL
) {
5047 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
5050 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
5053 if (unlikely(!var22
)) {
5054 PRINT_ERROR("Runtime error: %s", "Assert failed");
5055 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2252);
5058 var_tclassidnode6
= var_nodearraylist6
;
5059 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5060 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
5061 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
5062 if(var_tclassidnode6
== NULL
) {
5065 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
5068 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
5071 if (unlikely(!var25
)) {
5072 PRINT_ERROR("Runtime error: %s", "Assert failed");
5073 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2254);
5076 var_listnode7
= var_nodearraylist7
;
5077 /* <var_listnode7:nullable Object> isa Array[Object] */
5078 cltype29
= type_array__Arraykernel__Object
.color
;
5079 idtype30
= type_array__Arraykernel__Object
.id
;
5080 if(var_listnode7
== NULL
) {
5083 if(cltype29
>= var_listnode7
->type
->table_size
) {
5086 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
5089 if (unlikely(!var28
)) {
5090 PRINT_ERROR("Runtime error: %s", "Assert failed");
5091 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2256);
5095 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5097 var_listnode8
= var31
;
5098 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
5100 ((void (*)(val
*))(var32
->class->vft
[COLOR_kernel__Object__init
]))(var32
) /* init on <var32:Array[Object]>*/;
5102 var_listnode13
= var32
;
5103 var_listnode12
= var_nodearraylist8
;
5104 /* <var_listnode12:nullable Object> isa Array[Object] */
5105 cltype34
= type_array__Arraykernel__Object
.color
;
5106 idtype35
= type_array__Arraykernel__Object
.id
;
5107 if(var_listnode12
== NULL
) {
5110 if(cltype34
>= var_listnode12
->type
->table_size
) {
5113 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
5116 if (unlikely(!var33
)) {
5117 PRINT_ERROR("Runtime error: %s", "Assert failed");
5118 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2260);
5122 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
5124 var_listnode13
= var36
;
5125 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5130 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
5132 var_pannotationsnode9
= var37
;
5133 var_listnode17
= var_nodearraylist9
;
5134 /* <var_listnode17:nullable Object> isa Array[Object] */
5135 cltype42
= type_array__Arraykernel__Object
.color
;
5136 idtype43
= type_array__Arraykernel__Object
.id
;
5137 if(var_listnode17
== NULL
) {
5140 if(cltype42
>= var_listnode17
->type
->table_size
) {
5143 var41
= var_listnode17
->type
->type_table
[cltype42
] == idtype43
;
5146 if (unlikely(!var41
)) {
5147 PRINT_ERROR("Runtime error: %s", "Assert failed");
5148 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2269);
5152 var44
= parser_work__ReduceAction__concat(self
, var_listnode18
, var_listnode17
);
5154 var_listnode18
= var44
;
5155 var_tkwendnode19
= var_nodearraylist11
;
5156 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5157 cltype46
= type_nullable_parser_nodes__TKwend
.color
;
5158 idtype47
= type_nullable_parser_nodes__TKwend
.id
;
5159 if(var_tkwendnode19
== NULL
) {
5162 if(cltype46
>= var_tkwendnode19
->type
->table_size
) {
5165 var45
= var_tkwendnode19
->type
->type_table
[cltype46
] == idtype47
;
5168 if (unlikely(!var45
)) {
5169 PRINT_ERROR("Runtime error: %s", "Assert failed");
5170 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2272);
5173 var48
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5176 parser_prod__AStdClassdef__init_astdclassdef(var48
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var49
, var_listnode16
, var_listnode18
, var_tkwendnode19
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var48:AStdClassdef>*/
5178 var_pclassdefnode1
= var48
;
5179 var_node_list
= var_pclassdefnode1
;
5180 var50
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction35> */
5182 var51
= parser_work__Parser__go_to(var_p
, var50
);
5185 parser_work__Parser__push(var_p
, var51
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5189 /* method parser#ReduceAction35#action for (self: Object, Parser) */
5190 void VIRTUAL_parser__ReduceAction35__action(val
* self
, val
* p0
) {
5191 parser__ReduceAction35__action(self
, p0
); /* Direct call parser#ReduceAction35#action on <self:Object(ReduceAction35)>*/
5194 /* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */
5195 void parser__ReduceAction36__action(val
* self
, val
* p0
) {
5196 val
* var_p
/* var p: Parser */;
5197 val
* var
/* : null */;
5198 val
* var_node_list
/* var node_list: nullable Object */;
5199 val
* var1
/* : nullable Object */;
5200 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
5201 val
* var2
/* : nullable Object */;
5202 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
5203 val
* var3
/* : nullable Object */;
5204 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5205 val
* var4
/* : nullable Object */;
5206 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5207 val
* var5
/* : nullable Object */;
5208 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5209 val
* var6
/* : nullable Object */;
5210 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5211 val
* var7
/* : nullable Object */;
5212 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5213 val
* var8
/* : nullable Object */;
5214 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5215 val
* var9
/* : nullable Object */;
5216 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5217 val
* var10
/* : nullable Object */;
5218 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5219 val
* var11
/* : nullable Object */;
5220 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5221 val
* var12
/* : Array[Object] */;
5222 val
* var_listnode8
/* var listnode8: Array[Object] */;
5223 val
* var13
/* : Array[Object] */;
5224 val
* var_listnode11
/* var listnode11: Array[Object] */;
5225 val
* var14
/* : Array[Object] */;
5226 val
* var_listnode13
/* var listnode13: Array[Object] */;
5227 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5228 short int var15
/* : Bool */;
5231 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5232 short int var16
/* : Bool */;
5235 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5236 short int var19
/* : Bool */;
5239 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
5240 short int var22
/* : Bool */;
5243 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
5244 short int var25
/* : Bool */;
5247 val
* var_listnode7
/* var listnode7: nullable Object */;
5248 short int var28
/* : Bool */;
5251 val
* var31
/* : Array[Object] */;
5252 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
5253 short int var32
/* : Bool */;
5256 val
* var_listnode12
/* var listnode12: nullable Object */;
5257 short int var35
/* : Bool */;
5260 val
* var38
/* : Array[Object] */;
5261 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
5262 short int var39
/* : Bool */;
5265 val
* var42
/* : AStdClassdef */;
5266 val
* var43
/* : null */;
5267 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
5268 long var44
/* : Int */;
5269 long var45
/* : Int */;
5272 var_node_list
= var
;
5274 var1
= parser_work__Parser__pop(var_p
);
5276 var_nodearraylist11
= var1
;
5278 var2
= parser_work__Parser__pop(var_p
);
5280 var_nodearraylist10
= var2
;
5282 var3
= parser_work__Parser__pop(var_p
);
5284 var_nodearraylist9
= var3
;
5286 var4
= parser_work__Parser__pop(var_p
);
5288 var_nodearraylist8
= var4
;
5290 var5
= parser_work__Parser__pop(var_p
);
5292 var_nodearraylist7
= var5
;
5294 var6
= parser_work__Parser__pop(var_p
);
5296 var_nodearraylist6
= var6
;
5298 var7
= parser_work__Parser__pop(var_p
);
5300 var_nodearraylist5
= var7
;
5302 var8
= parser_work__Parser__pop(var_p
);
5304 var_nodearraylist4
= var8
;
5306 var9
= parser_work__Parser__pop(var_p
);
5308 var_nodearraylist3
= var9
;
5310 var10
= parser_work__Parser__pop(var_p
);
5312 var_nodearraylist2
= var10
;
5314 var11
= parser_work__Parser__pop(var_p
);
5316 var_nodearraylist1
= var11
;
5317 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
5319 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
5321 var_listnode8
= var12
;
5322 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
5324 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
5326 var_listnode11
= var13
;
5327 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
5329 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
5331 var_listnode13
= var14
;
5332 var_pdocnode2
= var_nodearraylist1
;
5333 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5334 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5335 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5336 if(var_pdocnode2
== NULL
) {
5339 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5342 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5345 if (unlikely(!var15
)) {
5346 PRINT_ERROR("Runtime error: %s", "Assert failed");
5347 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2310);
5350 var_tkwredefnode3
= var_nodearraylist2
;
5351 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5352 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
5353 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
5354 if(var_tkwredefnode3
== NULL
) {
5357 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
5360 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
5363 if (unlikely(!var16
)) {
5364 PRINT_ERROR("Runtime error: %s", "Assert failed");
5365 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2312);
5368 var_pvisibilitynode4
= var_nodearraylist3
;
5369 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5370 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
5371 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
5372 if(var_pvisibilitynode4
== NULL
) {
5375 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
5378 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
5381 if (unlikely(!var19
)) {
5382 PRINT_ERROR("Runtime error: %s", "Assert failed");
5383 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2314);
5386 var_pclasskindnode5
= var_nodearraylist4
;
5387 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5388 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
5389 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
5390 if(var_pclasskindnode5
== NULL
) {
5393 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
5396 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
5399 if (unlikely(!var22
)) {
5400 PRINT_ERROR("Runtime error: %s", "Assert failed");
5401 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2316);
5404 var_tclassidnode6
= var_nodearraylist6
;
5405 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5406 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
5407 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
5408 if(var_tclassidnode6
== NULL
) {
5411 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
5414 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
5417 if (unlikely(!var25
)) {
5418 PRINT_ERROR("Runtime error: %s", "Assert failed");
5419 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2318);
5422 var_listnode7
= var_nodearraylist7
;
5423 /* <var_listnode7:nullable Object> isa Array[Object] */
5424 cltype29
= type_array__Arraykernel__Object
.color
;
5425 idtype30
= type_array__Arraykernel__Object
.id
;
5426 if(var_listnode7
== NULL
) {
5429 if(cltype29
>= var_listnode7
->type
->table_size
) {
5432 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
5435 if (unlikely(!var28
)) {
5436 PRINT_ERROR("Runtime error: %s", "Assert failed");
5437 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2320);
5441 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5443 var_listnode8
= var31
;
5444 var_pexterncodeblocknode10
= var_nodearraylist8
;
5445 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5446 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5447 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5448 if(var_pexterncodeblocknode10
== NULL
) {
5451 if(cltype33
>= var_pexterncodeblocknode10
->type
->table_size
) {
5454 var32
= var_pexterncodeblocknode10
->type
->type_table
[cltype33
] == idtype34
;
5457 if (unlikely(!var32
)) {
5458 PRINT_ERROR("Runtime error: %s", "Assert failed");
5459 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2323);
5462 var_listnode12
= var_nodearraylist9
;
5463 /* <var_listnode12:nullable Object> isa Array[Object] */
5464 cltype36
= type_array__Arraykernel__Object
.color
;
5465 idtype37
= type_array__Arraykernel__Object
.id
;
5466 if(var_listnode12
== NULL
) {
5469 if(cltype36
>= var_listnode12
->type
->table_size
) {
5472 var35
= var_listnode12
->type
->type_table
[cltype36
] == idtype37
;
5475 if (unlikely(!var35
)) {
5476 PRINT_ERROR("Runtime error: %s", "Assert failed");
5477 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2325);
5481 var38
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
5483 var_listnode13
= var38
;
5484 var_tkwendnode14
= var_nodearraylist11
;
5485 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5486 cltype40
= type_nullable_parser_nodes__TKwend
.color
;
5487 idtype41
= type_nullable_parser_nodes__TKwend
.id
;
5488 if(var_tkwendnode14
== NULL
) {
5491 if(cltype40
>= var_tkwendnode14
->type
->table_size
) {
5494 var39
= var_tkwendnode14
->type
->type_table
[cltype40
] == idtype41
;
5497 if (unlikely(!var39
)) {
5498 PRINT_ERROR("Runtime error: %s", "Assert failed");
5499 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2328);
5502 var42
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5505 parser_prod__AStdClassdef__init_astdclassdef(var42
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var43
, var_pexterncodeblocknode10
, var_listnode11
, var_listnode13
, var_tkwendnode14
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var42:AStdClassdef>*/
5507 var_pclassdefnode1
= var42
;
5508 var_node_list
= var_pclassdefnode1
;
5509 var44
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction36> */
5511 var45
= parser_work__Parser__go_to(var_p
, var44
);
5514 parser_work__Parser__push(var_p
, var45
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5518 /* method parser#ReduceAction36#action for (self: Object, Parser) */
5519 void VIRTUAL_parser__ReduceAction36__action(val
* self
, val
* p0
) {
5520 parser__ReduceAction36__action(self
, p0
); /* Direct call parser#ReduceAction36#action on <self:Object(ReduceAction36)>*/
5523 /* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */
5524 void parser__ReduceAction37__action(val
* self
, val
* p0
) {
5525 val
* var_p
/* var p: Parser */;
5526 val
* var
/* : null */;
5527 val
* var_node_list
/* var node_list: nullable Object */;
5528 val
* var1
/* : nullable Object */;
5529 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
5530 val
* var2
/* : nullable Object */;
5531 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
5532 val
* var3
/* : nullable Object */;
5533 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
5534 val
* var4
/* : nullable Object */;
5535 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5536 val
* var5
/* : nullable Object */;
5537 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5538 val
* var6
/* : nullable Object */;
5539 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5540 val
* var7
/* : nullable Object */;
5541 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5542 val
* var8
/* : nullable Object */;
5543 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5544 val
* var9
/* : nullable Object */;
5545 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5546 val
* var10
/* : nullable Object */;
5547 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5548 val
* var11
/* : nullable Object */;
5549 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5550 val
* var12
/* : nullable Object */;
5551 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5552 val
* var13
/* : Array[Object] */;
5553 val
* var_listnode8
/* var listnode8: Array[Object] */;
5554 val
* var14
/* : Array[Object] */;
5555 val
* var_listnode16
/* var listnode16: Array[Object] */;
5556 val
* var15
/* : Array[Object] */;
5557 val
* var_listnode18
/* var listnode18: Array[Object] */;
5558 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5559 short int var16
/* : Bool */;
5562 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5563 short int var17
/* : Bool */;
5566 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5567 short int var20
/* : Bool */;
5570 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
5571 short int var23
/* : Bool */;
5574 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
5575 short int var26
/* : Bool */;
5578 val
* var_listnode7
/* var listnode7: nullable Object */;
5579 short int var29
/* : Bool */;
5582 val
* var32
/* : Array[Object] */;
5583 val
* var33
/* : Array[Object] */;
5584 val
* var_listnode13
/* var listnode13: Array[Object] */;
5585 val
* var_listnode12
/* var listnode12: nullable Object */;
5586 short int var34
/* : Bool */;
5589 val
* var37
/* : Array[Object] */;
5590 val
* var38
/* : AAnnotations */;
5591 val
* var39
/* : null */;
5592 val
* var40
/* : null */;
5593 val
* var41
/* : null */;
5594 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
5595 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
5596 short int var42
/* : Bool */;
5599 val
* var_listnode17
/* var listnode17: nullable Object */;
5600 short int var45
/* : Bool */;
5603 val
* var48
/* : Array[Object] */;
5604 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
5605 short int var49
/* : Bool */;
5608 val
* var52
/* : AStdClassdef */;
5609 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
5610 long var53
/* : Int */;
5611 long var54
/* : Int */;
5614 var_node_list
= var
;
5616 var1
= parser_work__Parser__pop(var_p
);
5618 var_nodearraylist12
= var1
;
5620 var2
= parser_work__Parser__pop(var_p
);
5622 var_nodearraylist11
= var2
;
5624 var3
= parser_work__Parser__pop(var_p
);
5626 var_nodearraylist10
= var3
;
5628 var4
= parser_work__Parser__pop(var_p
);
5630 var_nodearraylist9
= var4
;
5632 var5
= parser_work__Parser__pop(var_p
);
5634 var_nodearraylist8
= var5
;
5636 var6
= parser_work__Parser__pop(var_p
);
5638 var_nodearraylist7
= var6
;
5640 var7
= parser_work__Parser__pop(var_p
);
5642 var_nodearraylist6
= var7
;
5644 var8
= parser_work__Parser__pop(var_p
);
5646 var_nodearraylist5
= var8
;
5648 var9
= parser_work__Parser__pop(var_p
);
5650 var_nodearraylist4
= var9
;
5652 var10
= parser_work__Parser__pop(var_p
);
5654 var_nodearraylist3
= var10
;
5656 var11
= parser_work__Parser__pop(var_p
);
5658 var_nodearraylist2
= var11
;
5660 var12
= parser_work__Parser__pop(var_p
);
5662 var_nodearraylist1
= var12
;
5663 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
5665 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
5667 var_listnode8
= var13
;
5668 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
5670 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
5672 var_listnode16
= var14
;
5673 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
5675 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
5677 var_listnode18
= var15
;
5678 var_pdocnode2
= var_nodearraylist1
;
5679 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5680 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5681 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5682 if(var_pdocnode2
== NULL
) {
5685 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5688 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5691 if (unlikely(!var16
)) {
5692 PRINT_ERROR("Runtime error: %s", "Assert failed");
5693 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2367);
5696 var_tkwredefnode3
= var_nodearraylist2
;
5697 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5698 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
5699 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
5700 if(var_tkwredefnode3
== NULL
) {
5703 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
5706 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
5709 if (unlikely(!var17
)) {
5710 PRINT_ERROR("Runtime error: %s", "Assert failed");
5711 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2369);
5714 var_pvisibilitynode4
= var_nodearraylist3
;
5715 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5716 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
5717 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
5718 if(var_pvisibilitynode4
== NULL
) {
5721 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
5724 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
5727 if (unlikely(!var20
)) {
5728 PRINT_ERROR("Runtime error: %s", "Assert failed");
5729 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2371);
5732 var_pclasskindnode5
= var_nodearraylist4
;
5733 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5734 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
5735 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
5736 if(var_pclasskindnode5
== NULL
) {
5739 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
5742 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
5745 if (unlikely(!var23
)) {
5746 PRINT_ERROR("Runtime error: %s", "Assert failed");
5747 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2373);
5750 var_tclassidnode6
= var_nodearraylist6
;
5751 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5752 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
5753 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
5754 if(var_tclassidnode6
== NULL
) {
5757 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
5760 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
5763 if (unlikely(!var26
)) {
5764 PRINT_ERROR("Runtime error: %s", "Assert failed");
5765 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2375);
5768 var_listnode7
= var_nodearraylist7
;
5769 /* <var_listnode7:nullable Object> isa Array[Object] */
5770 cltype30
= type_array__Arraykernel__Object
.color
;
5771 idtype31
= type_array__Arraykernel__Object
.id
;
5772 if(var_listnode7
== NULL
) {
5775 if(cltype30
>= var_listnode7
->type
->table_size
) {
5778 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
5781 if (unlikely(!var29
)) {
5782 PRINT_ERROR("Runtime error: %s", "Assert failed");
5783 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2377);
5787 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5789 var_listnode8
= var32
;
5790 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
5792 ((void (*)(val
*))(var33
->class->vft
[COLOR_kernel__Object__init
]))(var33
) /* init on <var33:Array[Object]>*/;
5794 var_listnode13
= var33
;
5795 var_listnode12
= var_nodearraylist8
;
5796 /* <var_listnode12:nullable Object> isa Array[Object] */
5797 cltype35
= type_array__Arraykernel__Object
.color
;
5798 idtype36
= type_array__Arraykernel__Object
.id
;
5799 if(var_listnode12
== NULL
) {
5802 if(cltype35
>= var_listnode12
->type
->table_size
) {
5805 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
5808 if (unlikely(!var34
)) {
5809 PRINT_ERROR("Runtime error: %s", "Assert failed");
5810 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2381);
5814 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
5816 var_listnode13
= var37
;
5817 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5822 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
5824 var_pannotationsnode9
= var38
;
5825 var_pexterncodeblocknode15
= var_nodearraylist9
;
5826 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5827 cltype43
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5828 idtype44
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5829 if(var_pexterncodeblocknode15
== NULL
) {
5832 if(cltype43
>= var_pexterncodeblocknode15
->type
->table_size
) {
5835 var42
= var_pexterncodeblocknode15
->type
->type_table
[cltype43
] == idtype44
;
5838 if (unlikely(!var42
)) {
5839 PRINT_ERROR("Runtime error: %s", "Assert failed");
5840 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2390);
5843 var_listnode17
= var_nodearraylist10
;
5844 /* <var_listnode17:nullable Object> isa Array[Object] */
5845 cltype46
= type_array__Arraykernel__Object
.color
;
5846 idtype47
= type_array__Arraykernel__Object
.id
;
5847 if(var_listnode17
== NULL
) {
5850 if(cltype46
>= var_listnode17
->type
->table_size
) {
5853 var45
= var_listnode17
->type
->type_table
[cltype46
] == idtype47
;
5856 if (unlikely(!var45
)) {
5857 PRINT_ERROR("Runtime error: %s", "Assert failed");
5858 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2392);
5862 var48
= parser_work__ReduceAction__concat(self
, var_listnode18
, var_listnode17
);
5864 var_listnode18
= var48
;
5865 var_tkwendnode19
= var_nodearraylist12
;
5866 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5867 cltype50
= type_nullable_parser_nodes__TKwend
.color
;
5868 idtype51
= type_nullable_parser_nodes__TKwend
.id
;
5869 if(var_tkwendnode19
== NULL
) {
5872 if(cltype50
>= var_tkwendnode19
->type
->table_size
) {
5875 var49
= var_tkwendnode19
->type
->type_table
[cltype50
] == idtype51
;
5878 if (unlikely(!var49
)) {
5879 PRINT_ERROR("Runtime error: %s", "Assert failed");
5880 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2395);
5883 var52
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5885 parser_prod__AStdClassdef__init_astdclassdef(var52
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var_pexterncodeblocknode15
, var_listnode16
, var_listnode18
, var_tkwendnode19
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var52:AStdClassdef>*/
5887 var_pclassdefnode1
= var52
;
5888 var_node_list
= var_pclassdefnode1
;
5889 var53
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction37> */
5891 var54
= parser_work__Parser__go_to(var_p
, var53
);
5894 parser_work__Parser__push(var_p
, var54
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5898 /* method parser#ReduceAction37#action for (self: Object, Parser) */
5899 void VIRTUAL_parser__ReduceAction37__action(val
* self
, val
* p0
) {
5900 parser__ReduceAction37__action(self
, p0
); /* Direct call parser#ReduceAction37#action on <self:Object(ReduceAction37)>*/
5903 /* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */
5904 void parser__ReduceAction38__action(val
* self
, val
* p0
) {
5905 val
* var_p
/* var p: Parser */;
5906 val
* var
/* : null */;
5907 val
* var_node_list
/* var node_list: nullable Object */;
5908 val
* var1
/* : nullable Object */;
5909 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
5910 val
* var2
/* : nullable Object */;
5911 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
5912 val
* var3
/* : nullable Object */;
5913 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5914 val
* var4
/* : nullable Object */;
5915 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5916 val
* var5
/* : nullable Object */;
5917 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5918 val
* var6
/* : nullable Object */;
5919 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5920 val
* var7
/* : nullable Object */;
5921 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5922 val
* var8
/* : nullable Object */;
5923 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5924 val
* var9
/* : nullable Object */;
5925 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5926 val
* var10
/* : nullable Object */;
5927 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5928 val
* var11
/* : nullable Object */;
5929 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5930 val
* var12
/* : Array[Object] */;
5931 val
* var_listnode8
/* var listnode8: Array[Object] */;
5932 val
* var13
/* : Array[Object] */;
5933 val
* var_listnode12
/* var listnode12: Array[Object] */;
5934 val
* var14
/* : Array[Object] */;
5935 val
* var_listnode14
/* var listnode14: Array[Object] */;
5936 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5937 short int var15
/* : Bool */;
5940 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5941 short int var16
/* : Bool */;
5944 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5945 short int var19
/* : Bool */;
5948 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
5949 short int var22
/* : Bool */;
5952 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
5953 short int var25
/* : Bool */;
5956 val
* var_listnode7
/* var listnode7: nullable Object */;
5957 short int var28
/* : Bool */;
5960 val
* var31
/* : Array[Object] */;
5961 val
* var_listnode11
/* var listnode11: nullable Object */;
5962 short int var32
/* : Bool */;
5965 val
* var35
/* : Array[Object] */;
5966 val
* var_listnode13
/* var listnode13: nullable Object */;
5967 short int var36
/* : Bool */;
5970 val
* var39
/* : Array[Object] */;
5971 val
* var_tkwendnode15
/* var tkwendnode15: nullable Object */;
5972 short int var40
/* : Bool */;
5975 val
* var43
/* : AStdClassdef */;
5976 val
* var44
/* : null */;
5977 val
* var45
/* : null */;
5978 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
5979 long var46
/* : Int */;
5980 long var47
/* : Int */;
5983 var_node_list
= var
;
5985 var1
= parser_work__Parser__pop(var_p
);
5987 var_nodearraylist11
= var1
;
5989 var2
= parser_work__Parser__pop(var_p
);
5991 var_nodearraylist10
= var2
;
5993 var3
= parser_work__Parser__pop(var_p
);
5995 var_nodearraylist9
= var3
;
5997 var4
= parser_work__Parser__pop(var_p
);
5999 var_nodearraylist8
= var4
;
6001 var5
= parser_work__Parser__pop(var_p
);
6003 var_nodearraylist7
= var5
;
6005 var6
= parser_work__Parser__pop(var_p
);
6007 var_nodearraylist6
= var6
;
6009 var7
= parser_work__Parser__pop(var_p
);
6011 var_nodearraylist5
= var7
;
6013 var8
= parser_work__Parser__pop(var_p
);
6015 var_nodearraylist4
= var8
;
6017 var9
= parser_work__Parser__pop(var_p
);
6019 var_nodearraylist3
= var9
;
6021 var10
= parser_work__Parser__pop(var_p
);
6023 var_nodearraylist2
= var10
;
6025 var11
= parser_work__Parser__pop(var_p
);
6027 var_nodearraylist1
= var11
;
6028 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
6030 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
6032 var_listnode8
= var12
;
6033 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
6035 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
6037 var_listnode12
= var13
;
6038 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
6040 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
6042 var_listnode14
= var14
;
6043 var_pdocnode2
= var_nodearraylist1
;
6044 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6045 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6046 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6047 if(var_pdocnode2
== NULL
) {
6050 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6053 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6056 if (unlikely(!var15
)) {
6057 PRINT_ERROR("Runtime error: %s", "Assert failed");
6058 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2433);
6061 var_tkwredefnode3
= var_nodearraylist2
;
6062 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6063 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
6064 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
6065 if(var_tkwredefnode3
== NULL
) {
6068 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
6071 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
6074 if (unlikely(!var16
)) {
6075 PRINT_ERROR("Runtime error: %s", "Assert failed");
6076 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2435);
6079 var_pvisibilitynode4
= var_nodearraylist3
;
6080 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6081 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
6082 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
6083 if(var_pvisibilitynode4
== NULL
) {
6086 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
6089 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
6092 if (unlikely(!var19
)) {
6093 PRINT_ERROR("Runtime error: %s", "Assert failed");
6094 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2437);
6097 var_pclasskindnode5
= var_nodearraylist4
;
6098 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6099 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
6100 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
6101 if(var_pclasskindnode5
== NULL
) {
6104 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
6107 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
6110 if (unlikely(!var22
)) {
6111 PRINT_ERROR("Runtime error: %s", "Assert failed");
6112 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2439);
6115 var_tclassidnode6
= var_nodearraylist6
;
6116 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6117 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
6118 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
6119 if(var_tclassidnode6
== NULL
) {
6122 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
6125 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
6128 if (unlikely(!var25
)) {
6129 PRINT_ERROR("Runtime error: %s", "Assert failed");
6130 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2441);
6133 var_listnode7
= var_nodearraylist7
;
6134 /* <var_listnode7:nullable Object> isa Array[Object] */
6135 cltype29
= type_array__Arraykernel__Object
.color
;
6136 idtype30
= type_array__Arraykernel__Object
.id
;
6137 if(var_listnode7
== NULL
) {
6140 if(cltype29
>= var_listnode7
->type
->table_size
) {
6143 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
6146 if (unlikely(!var28
)) {
6147 PRINT_ERROR("Runtime error: %s", "Assert failed");
6148 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2443);
6152 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
6154 var_listnode8
= var31
;
6155 var_listnode11
= var_nodearraylist8
;
6156 /* <var_listnode11:nullable Object> isa Array[Object] */
6157 cltype33
= type_array__Arraykernel__Object
.color
;
6158 idtype34
= type_array__Arraykernel__Object
.id
;
6159 if(var_listnode11
== NULL
) {
6162 if(cltype33
>= var_listnode11
->type
->table_size
) {
6165 var32
= var_listnode11
->type
->type_table
[cltype33
] == idtype34
;
6168 if (unlikely(!var32
)) {
6169 PRINT_ERROR("Runtime error: %s", "Assert failed");
6170 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2446);
6174 var35
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
6176 var_listnode12
= var35
;
6177 var_listnode13
= var_nodearraylist9
;
6178 /* <var_listnode13:nullable Object> isa Array[Object] */
6179 cltype37
= type_array__Arraykernel__Object
.color
;
6180 idtype38
= type_array__Arraykernel__Object
.id
;
6181 if(var_listnode13
== NULL
) {
6184 if(cltype37
>= var_listnode13
->type
->table_size
) {
6187 var36
= var_listnode13
->type
->type_table
[cltype37
] == idtype38
;
6190 if (unlikely(!var36
)) {
6191 PRINT_ERROR("Runtime error: %s", "Assert failed");
6192 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2449);
6196 var39
= parser_work__ReduceAction__concat(self
, var_listnode14
, var_listnode13
);
6198 var_listnode14
= var39
;
6199 var_tkwendnode15
= var_nodearraylist11
;
6200 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
6201 cltype41
= type_nullable_parser_nodes__TKwend
.color
;
6202 idtype42
= type_nullable_parser_nodes__TKwend
.id
;
6203 if(var_tkwendnode15
== NULL
) {
6206 if(cltype41
>= var_tkwendnode15
->type
->table_size
) {
6209 var40
= var_tkwendnode15
->type
->type_table
[cltype41
] == idtype42
;
6212 if (unlikely(!var40
)) {
6213 PRINT_ERROR("Runtime error: %s", "Assert failed");
6214 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2452);
6217 var43
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
6221 parser_prod__AStdClassdef__init_astdclassdef(var43
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var44
, var45
, var_listnode12
, var_listnode14
, var_tkwendnode15
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var43:AStdClassdef>*/
6223 var_pclassdefnode1
= var43
;
6224 var_node_list
= var_pclassdefnode1
;
6225 var46
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction38> */
6227 var47
= parser_work__Parser__go_to(var_p
, var46
);
6230 parser_work__Parser__push(var_p
, var47
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6234 /* method parser#ReduceAction38#action for (self: Object, Parser) */
6235 void VIRTUAL_parser__ReduceAction38__action(val
* self
, val
* p0
) {
6236 parser__ReduceAction38__action(self
, p0
); /* Direct call parser#ReduceAction38#action on <self:Object(ReduceAction38)>*/
6239 /* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */
6240 void parser__ReduceAction39__action(val
* self
, val
* p0
) {
6241 val
* var_p
/* var p: Parser */;
6242 val
* var
/* : null */;
6243 val
* var_node_list
/* var node_list: nullable Object */;
6244 val
* var1
/* : nullable Object */;
6245 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
6246 val
* var2
/* : nullable Object */;
6247 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
6248 val
* var3
/* : nullable Object */;
6249 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
6250 val
* var4
/* : nullable Object */;
6251 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6252 val
* var5
/* : nullable Object */;
6253 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6254 val
* var6
/* : nullable Object */;
6255 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6256 val
* var7
/* : nullable Object */;
6257 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6258 val
* var8
/* : nullable Object */;
6259 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6260 val
* var9
/* : nullable Object */;
6261 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6262 val
* var10
/* : nullable Object */;
6263 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6264 val
* var11
/* : nullable Object */;
6265 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6266 val
* var12
/* : nullable Object */;
6267 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6268 val
* var13
/* : Array[Object] */;
6269 val
* var_listnode8
/* var listnode8: Array[Object] */;
6270 val
* var14
/* : Array[Object] */;
6271 val
* var_listnode17
/* var listnode17: Array[Object] */;
6272 val
* var15
/* : Array[Object] */;
6273 val
* var_listnode19
/* var listnode19: Array[Object] */;
6274 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
6275 short int var16
/* : Bool */;
6278 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6279 short int var17
/* : Bool */;
6282 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6283 short int var20
/* : Bool */;
6286 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
6287 short int var23
/* : Bool */;
6290 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
6291 short int var26
/* : Bool */;
6294 val
* var_listnode7
/* var listnode7: nullable Object */;
6295 short int var29
/* : Bool */;
6298 val
* var32
/* : Array[Object] */;
6299 val
* var33
/* : Array[Object] */;
6300 val
* var_listnode13
/* var listnode13: Array[Object] */;
6301 val
* var_listnode12
/* var listnode12: nullable Object */;
6302 short int var34
/* : Bool */;
6305 val
* var37
/* : Array[Object] */;
6306 val
* var38
/* : AAnnotations */;
6307 val
* var39
/* : null */;
6308 val
* var40
/* : null */;
6309 val
* var41
/* : null */;
6310 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
6311 val
* var_listnode16
/* var listnode16: nullable Object */;
6312 short int var42
/* : Bool */;
6315 val
* var45
/* : Array[Object] */;
6316 val
* var_listnode18
/* var listnode18: nullable Object */;
6317 short int var46
/* : Bool */;
6320 val
* var49
/* : Array[Object] */;
6321 val
* var_tkwendnode20
/* var tkwendnode20: nullable Object */;
6322 short int var50
/* : Bool */;
6325 val
* var53
/* : AStdClassdef */;
6326 val
* var54
/* : null */;
6327 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
6328 long var55
/* : Int */;
6329 long var56
/* : Int */;
6332 var_node_list
= var
;
6334 var1
= parser_work__Parser__pop(var_p
);
6336 var_nodearraylist12
= var1
;
6338 var2
= parser_work__Parser__pop(var_p
);
6340 var_nodearraylist11
= var2
;
6342 var3
= parser_work__Parser__pop(var_p
);
6344 var_nodearraylist10
= var3
;
6346 var4
= parser_work__Parser__pop(var_p
);
6348 var_nodearraylist9
= var4
;
6350 var5
= parser_work__Parser__pop(var_p
);
6352 var_nodearraylist8
= var5
;
6354 var6
= parser_work__Parser__pop(var_p
);
6356 var_nodearraylist7
= var6
;
6358 var7
= parser_work__Parser__pop(var_p
);
6360 var_nodearraylist6
= var7
;
6362 var8
= parser_work__Parser__pop(var_p
);
6364 var_nodearraylist5
= var8
;
6366 var9
= parser_work__Parser__pop(var_p
);
6368 var_nodearraylist4
= var9
;
6370 var10
= parser_work__Parser__pop(var_p
);
6372 var_nodearraylist3
= var10
;
6374 var11
= parser_work__Parser__pop(var_p
);
6376 var_nodearraylist2
= var11
;
6378 var12
= parser_work__Parser__pop(var_p
);
6380 var_nodearraylist1
= var12
;
6381 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
6383 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
6385 var_listnode8
= var13
;
6386 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
6388 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
6390 var_listnode17
= var14
;
6391 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
6393 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
6395 var_listnode19
= var15
;
6396 var_pdocnode2
= var_nodearraylist1
;
6397 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6398 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6399 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6400 if(var_pdocnode2
== NULL
) {
6403 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6406 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6409 if (unlikely(!var16
)) {
6410 PRINT_ERROR("Runtime error: %s", "Assert failed");
6411 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2491);
6414 var_tkwredefnode3
= var_nodearraylist2
;
6415 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6416 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
6417 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
6418 if(var_tkwredefnode3
== NULL
) {
6421 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
6424 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
6427 if (unlikely(!var17
)) {
6428 PRINT_ERROR("Runtime error: %s", "Assert failed");
6429 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2493);
6432 var_pvisibilitynode4
= var_nodearraylist3
;
6433 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6434 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
6435 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
6436 if(var_pvisibilitynode4
== NULL
) {
6439 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
6442 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
6445 if (unlikely(!var20
)) {
6446 PRINT_ERROR("Runtime error: %s", "Assert failed");
6447 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2495);
6450 var_pclasskindnode5
= var_nodearraylist4
;
6451 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6452 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
6453 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
6454 if(var_pclasskindnode5
== NULL
) {
6457 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
6460 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
6463 if (unlikely(!var23
)) {
6464 PRINT_ERROR("Runtime error: %s", "Assert failed");
6465 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2497);
6468 var_tclassidnode6
= var_nodearraylist6
;
6469 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6470 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
6471 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
6472 if(var_tclassidnode6
== NULL
) {
6475 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
6478 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
6481 if (unlikely(!var26
)) {
6482 PRINT_ERROR("Runtime error: %s", "Assert failed");
6483 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2499);
6486 var_listnode7
= var_nodearraylist7
;
6487 /* <var_listnode7:nullable Object> isa Array[Object] */
6488 cltype30
= type_array__Arraykernel__Object
.color
;
6489 idtype31
= type_array__Arraykernel__Object
.id
;
6490 if(var_listnode7
== NULL
) {
6493 if(cltype30
>= var_listnode7
->type
->table_size
) {
6496 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
6499 if (unlikely(!var29
)) {
6500 PRINT_ERROR("Runtime error: %s", "Assert failed");
6501 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2501);
6505 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
6507 var_listnode8
= var32
;
6508 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
6510 ((void (*)(val
*))(var33
->class->vft
[COLOR_kernel__Object__init
]))(var33
) /* init on <var33:Array[Object]>*/;
6512 var_listnode13
= var33
;
6513 var_listnode12
= var_nodearraylist8
;
6514 /* <var_listnode12:nullable Object> isa Array[Object] */
6515 cltype35
= type_array__Arraykernel__Object
.color
;
6516 idtype36
= type_array__Arraykernel__Object
.id
;
6517 if(var_listnode12
== NULL
) {
6520 if(cltype35
>= var_listnode12
->type
->table_size
) {
6523 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
6526 if (unlikely(!var34
)) {
6527 PRINT_ERROR("Runtime error: %s", "Assert failed");
6528 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2505);
6532 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
6534 var_listnode13
= var37
;
6535 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
6540 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
6542 var_pannotationsnode9
= var38
;
6543 var_listnode16
= var_nodearraylist9
;
6544 /* <var_listnode16:nullable Object> isa Array[Object] */
6545 cltype43
= type_array__Arraykernel__Object
.color
;
6546 idtype44
= type_array__Arraykernel__Object
.id
;
6547 if(var_listnode16
== NULL
) {
6550 if(cltype43
>= var_listnode16
->type
->table_size
) {
6553 var42
= var_listnode16
->type
->type_table
[cltype43
] == idtype44
;
6556 if (unlikely(!var42
)) {
6557 PRINT_ERROR("Runtime error: %s", "Assert failed");
6558 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2514);
6562 var45
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
6564 var_listnode17
= var45
;
6565 var_listnode18
= var_nodearraylist10
;
6566 /* <var_listnode18:nullable Object> isa Array[Object] */
6567 cltype47
= type_array__Arraykernel__Object
.color
;
6568 idtype48
= type_array__Arraykernel__Object
.id
;
6569 if(var_listnode18
== NULL
) {
6572 if(cltype47
>= var_listnode18
->type
->table_size
) {
6575 var46
= var_listnode18
->type
->type_table
[cltype47
] == idtype48
;
6578 if (unlikely(!var46
)) {
6579 PRINT_ERROR("Runtime error: %s", "Assert failed");
6580 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2517);
6584 var49
= parser_work__ReduceAction__concat(self
, var_listnode19
, var_listnode18
);
6586 var_listnode19
= var49
;
6587 var_tkwendnode20
= var_nodearraylist12
;
6588 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
6589 cltype51
= type_nullable_parser_nodes__TKwend
.color
;
6590 idtype52
= type_nullable_parser_nodes__TKwend
.id
;
6591 if(var_tkwendnode20
== NULL
) {
6594 if(cltype51
>= var_tkwendnode20
->type
->table_size
) {
6597 var50
= var_tkwendnode20
->type
->type_table
[cltype51
] == idtype52
;
6600 if (unlikely(!var50
)) {
6601 PRINT_ERROR("Runtime error: %s", "Assert failed");
6602 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2520);
6605 var53
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
6608 parser_prod__AStdClassdef__init_astdclassdef(var53
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var54
, var_listnode17
, var_listnode19
, var_tkwendnode20
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var53:AStdClassdef>*/
6610 var_pclassdefnode1
= var53
;
6611 var_node_list
= var_pclassdefnode1
;
6612 var55
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction39> */
6614 var56
= parser_work__Parser__go_to(var_p
, var55
);
6617 parser_work__Parser__push(var_p
, var56
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6621 /* method parser#ReduceAction39#action for (self: Object, Parser) */
6622 void VIRTUAL_parser__ReduceAction39__action(val
* self
, val
* p0
) {
6623 parser__ReduceAction39__action(self
, p0
); /* Direct call parser#ReduceAction39#action on <self:Object(ReduceAction39)>*/
6626 /* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */
6627 void parser__ReduceAction40__action(val
* self
, val
* p0
) {
6628 val
* var_p
/* var p: Parser */;
6629 val
* var
/* : null */;
6630 val
* var_node_list
/* var node_list: nullable Object */;
6631 val
* var1
/* : nullable Object */;
6632 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
6633 val
* var2
/* : nullable Object */;
6634 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
6635 val
* var3
/* : nullable Object */;
6636 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
6637 val
* var4
/* : nullable Object */;
6638 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6639 val
* var5
/* : nullable Object */;
6640 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6641 val
* var6
/* : nullable Object */;
6642 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6643 val
* var7
/* : nullable Object */;
6644 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6645 val
* var8
/* : nullable Object */;
6646 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6647 val
* var9
/* : nullable Object */;
6648 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6649 val
* var10
/* : nullable Object */;
6650 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6651 val
* var11
/* : nullable Object */;
6652 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6653 val
* var12
/* : nullable Object */;
6654 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6655 val
* var13
/* : Array[Object] */;
6656 val
* var_listnode8
/* var listnode8: Array[Object] */;
6657 val
* var14
/* : Array[Object] */;
6658 val
* var_listnode12
/* var listnode12: Array[Object] */;
6659 val
* var15
/* : Array[Object] */;
6660 val
* var_listnode14
/* var listnode14: Array[Object] */;
6661 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
6662 short int var16
/* : Bool */;
6665 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
6666 short int var17
/* : Bool */;
6669 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
6670 short int var20
/* : Bool */;
6673 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
6674 short int var23
/* : Bool */;
6677 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
6678 short int var26
/* : Bool */;
6681 val
* var_listnode7
/* var listnode7: nullable Object */;
6682 short int var29
/* : Bool */;
6685 val
* var32
/* : Array[Object] */;
6686 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
6687 short int var33
/* : Bool */;
6690 val
* var_listnode11
/* var listnode11: nullable Object */;
6691 short int var36
/* : Bool */;
6694 val
* var39
/* : Array[Object] */;
6695 val
* var_listnode13
/* var listnode13: nullable Object */;
6696 short int var40
/* : Bool */;
6699 val
* var43
/* : Array[Object] */;
6700 val
* var_tkwendnode15
/* var tkwendnode15: nullable Object */;
6701 short int var44
/* : Bool */;
6704 val
* var47
/* : AStdClassdef */;
6705 val
* var48
/* : null */;
6706 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
6707 long var49
/* : Int */;
6708 long var50
/* : Int */;
6711 var_node_list
= var
;
6713 var1
= parser_work__Parser__pop(var_p
);
6715 var_nodearraylist12
= var1
;
6717 var2
= parser_work__Parser__pop(var_p
);
6719 var_nodearraylist11
= var2
;
6721 var3
= parser_work__Parser__pop(var_p
);
6723 var_nodearraylist10
= var3
;
6725 var4
= parser_work__Parser__pop(var_p
);
6727 var_nodearraylist9
= var4
;
6729 var5
= parser_work__Parser__pop(var_p
);
6731 var_nodearraylist8
= var5
;
6733 var6
= parser_work__Parser__pop(var_p
);
6735 var_nodearraylist7
= var6
;
6737 var7
= parser_work__Parser__pop(var_p
);
6739 var_nodearraylist6
= var7
;
6741 var8
= parser_work__Parser__pop(var_p
);
6743 var_nodearraylist5
= var8
;
6745 var9
= parser_work__Parser__pop(var_p
);
6747 var_nodearraylist4
= var9
;
6749 var10
= parser_work__Parser__pop(var_p
);
6751 var_nodearraylist3
= var10
;
6753 var11
= parser_work__Parser__pop(var_p
);
6755 var_nodearraylist2
= var11
;
6757 var12
= parser_work__Parser__pop(var_p
);
6759 var_nodearraylist1
= var12
;
6760 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
6762 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
6764 var_listnode8
= var13
;
6765 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
6767 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
6769 var_listnode12
= var14
;
6770 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
6772 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
6774 var_listnode14
= var15
;
6775 var_pdocnode2
= var_nodearraylist1
;
6776 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6777 cltype
= type_nullable_parser_nodes__ADoc
.color
;
6778 idtype
= type_nullable_parser_nodes__ADoc
.id
;
6779 if(var_pdocnode2
== NULL
) {
6782 if(cltype
>= var_pdocnode2
->type
->table_size
) {
6785 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
6788 if (unlikely(!var16
)) {
6789 PRINT_ERROR("Runtime error: %s", "Assert failed");
6790 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2559);
6793 var_tkwredefnode3
= var_nodearraylist2
;
6794 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6795 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
6796 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
6797 if(var_tkwredefnode3
== NULL
) {
6800 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
6803 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
6806 if (unlikely(!var17
)) {
6807 PRINT_ERROR("Runtime error: %s", "Assert failed");
6808 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2561);
6811 var_pvisibilitynode4
= var_nodearraylist3
;
6812 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6813 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
6814 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
6815 if(var_pvisibilitynode4
== NULL
) {
6818 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
6821 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
6824 if (unlikely(!var20
)) {
6825 PRINT_ERROR("Runtime error: %s", "Assert failed");
6826 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2563);
6829 var_pclasskindnode5
= var_nodearraylist4
;
6830 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6831 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
6832 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
6833 if(var_pclasskindnode5
== NULL
) {
6836 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
6839 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
6842 if (unlikely(!var23
)) {
6843 PRINT_ERROR("Runtime error: %s", "Assert failed");
6844 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2565);
6847 var_tclassidnode6
= var_nodearraylist6
;
6848 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6849 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
6850 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
6851 if(var_tclassidnode6
== NULL
) {
6854 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
6857 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
6860 if (unlikely(!var26
)) {
6861 PRINT_ERROR("Runtime error: %s", "Assert failed");
6862 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2567);
6865 var_listnode7
= var_nodearraylist7
;
6866 /* <var_listnode7:nullable Object> isa Array[Object] */
6867 cltype30
= type_array__Arraykernel__Object
.color
;
6868 idtype31
= type_array__Arraykernel__Object
.id
;
6869 if(var_listnode7
== NULL
) {
6872 if(cltype30
>= var_listnode7
->type
->table_size
) {
6875 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
6878 if (unlikely(!var29
)) {
6879 PRINT_ERROR("Runtime error: %s", "Assert failed");
6880 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2569);
6884 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
6886 var_listnode8
= var32
;
6887 var_pexterncodeblocknode10
= var_nodearraylist8
;
6888 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6889 cltype34
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
6890 idtype35
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
6891 if(var_pexterncodeblocknode10
== NULL
) {
6894 if(cltype34
>= var_pexterncodeblocknode10
->type
->table_size
) {
6897 var33
= var_pexterncodeblocknode10
->type
->type_table
[cltype34
] == idtype35
;
6900 if (unlikely(!var33
)) {
6901 PRINT_ERROR("Runtime error: %s", "Assert failed");
6902 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2572);
6905 var_listnode11
= var_nodearraylist9
;
6906 /* <var_listnode11:nullable Object> isa Array[Object] */
6907 cltype37
= type_array__Arraykernel__Object
.color
;
6908 idtype38
= type_array__Arraykernel__Object
.id
;
6909 if(var_listnode11
== NULL
) {
6912 if(cltype37
>= var_listnode11
->type
->table_size
) {
6915 var36
= var_listnode11
->type
->type_table
[cltype37
] == idtype38
;
6918 if (unlikely(!var36
)) {
6919 PRINT_ERROR("Runtime error: %s", "Assert failed");
6920 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2574);
6924 var39
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
6926 var_listnode12
= var39
;
6927 var_listnode13
= var_nodearraylist10
;
6928 /* <var_listnode13:nullable Object> isa Array[Object] */
6929 cltype41
= type_array__Arraykernel__Object
.color
;
6930 idtype42
= type_array__Arraykernel__Object
.id
;
6931 if(var_listnode13
== NULL
) {
6934 if(cltype41
>= var_listnode13
->type
->table_size
) {
6937 var40
= var_listnode13
->type
->type_table
[cltype41
] == idtype42
;
6940 if (unlikely(!var40
)) {
6941 PRINT_ERROR("Runtime error: %s", "Assert failed");
6942 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2577);
6946 var43
= parser_work__ReduceAction__concat(self
, var_listnode14
, var_listnode13
);
6948 var_listnode14
= var43
;
6949 var_tkwendnode15
= var_nodearraylist12
;
6950 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
6951 cltype45
= type_nullable_parser_nodes__TKwend
.color
;
6952 idtype46
= type_nullable_parser_nodes__TKwend
.id
;
6953 if(var_tkwendnode15
== NULL
) {
6956 if(cltype45
>= var_tkwendnode15
->type
->table_size
) {
6959 var44
= var_tkwendnode15
->type
->type_table
[cltype45
] == idtype46
;
6962 if (unlikely(!var44
)) {
6963 PRINT_ERROR("Runtime error: %s", "Assert failed");
6964 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2580);
6967 var47
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
6970 parser_prod__AStdClassdef__init_astdclassdef(var47
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var48
, var_pexterncodeblocknode10
, var_listnode12
, var_listnode14
, var_tkwendnode15
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var47:AStdClassdef>*/
6972 var_pclassdefnode1
= var47
;
6973 var_node_list
= var_pclassdefnode1
;
6974 var49
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction40> */
6976 var50
= parser_work__Parser__go_to(var_p
, var49
);
6979 parser_work__Parser__push(var_p
, var50
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6983 /* method parser#ReduceAction40#action for (self: Object, Parser) */
6984 void VIRTUAL_parser__ReduceAction40__action(val
* self
, val
* p0
) {
6985 parser__ReduceAction40__action(self
, p0
); /* Direct call parser#ReduceAction40#action on <self:Object(ReduceAction40)>*/
6988 /* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */
6989 void parser__ReduceAction41__action(val
* self
, val
* p0
) {
6990 val
* var_p
/* var p: Parser */;
6991 val
* var
/* : null */;
6992 val
* var_node_list
/* var node_list: nullable Object */;
6993 val
* var1
/* : nullable Object */;
6994 val
* var_nodearraylist13
/* var nodearraylist13: nullable Object */;
6995 val
* var2
/* : nullable Object */;
6996 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
6997 val
* var3
/* : nullable Object */;
6998 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
6999 val
* var4
/* : nullable Object */;
7000 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7001 val
* var5
/* : nullable Object */;
7002 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7003 val
* var6
/* : nullable Object */;
7004 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7005 val
* var7
/* : nullable Object */;
7006 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7007 val
* var8
/* : nullable Object */;
7008 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7009 val
* var9
/* : nullable Object */;
7010 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7011 val
* var10
/* : nullable Object */;
7012 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7013 val
* var11
/* : nullable Object */;
7014 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7015 val
* var12
/* : nullable Object */;
7016 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7017 val
* var13
/* : nullable Object */;
7018 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7019 val
* var14
/* : Array[Object] */;
7020 val
* var_listnode8
/* var listnode8: Array[Object] */;
7021 val
* var15
/* : Array[Object] */;
7022 val
* var_listnode17
/* var listnode17: Array[Object] */;
7023 val
* var16
/* : Array[Object] */;
7024 val
* var_listnode19
/* var listnode19: Array[Object] */;
7025 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7026 short int var17
/* : Bool */;
7029 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7030 short int var18
/* : Bool */;
7033 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7034 short int var21
/* : Bool */;
7037 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
7038 short int var24
/* : Bool */;
7041 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
7042 short int var27
/* : Bool */;
7045 val
* var_listnode7
/* var listnode7: nullable Object */;
7046 short int var30
/* : Bool */;
7049 val
* var33
/* : Array[Object] */;
7050 val
* var34
/* : Array[Object] */;
7051 val
* var_listnode13
/* var listnode13: Array[Object] */;
7052 val
* var_listnode12
/* var listnode12: nullable Object */;
7053 short int var35
/* : Bool */;
7056 val
* var38
/* : Array[Object] */;
7057 val
* var39
/* : AAnnotations */;
7058 val
* var40
/* : null */;
7059 val
* var41
/* : null */;
7060 val
* var42
/* : null */;
7061 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
7062 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
7063 short int var43
/* : Bool */;
7066 val
* var_listnode16
/* var listnode16: nullable Object */;
7067 short int var46
/* : Bool */;
7070 val
* var49
/* : Array[Object] */;
7071 val
* var_listnode18
/* var listnode18: nullable Object */;
7072 short int var50
/* : Bool */;
7075 val
* var53
/* : Array[Object] */;
7076 val
* var_tkwendnode20
/* var tkwendnode20: nullable Object */;
7077 short int var54
/* : Bool */;
7080 val
* var57
/* : AStdClassdef */;
7081 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
7082 long var58
/* : Int */;
7083 long var59
/* : Int */;
7086 var_node_list
= var
;
7088 var1
= parser_work__Parser__pop(var_p
);
7090 var_nodearraylist13
= var1
;
7092 var2
= parser_work__Parser__pop(var_p
);
7094 var_nodearraylist12
= var2
;
7096 var3
= parser_work__Parser__pop(var_p
);
7098 var_nodearraylist11
= var3
;
7100 var4
= parser_work__Parser__pop(var_p
);
7102 var_nodearraylist10
= var4
;
7104 var5
= parser_work__Parser__pop(var_p
);
7106 var_nodearraylist9
= var5
;
7108 var6
= parser_work__Parser__pop(var_p
);
7110 var_nodearraylist8
= var6
;
7112 var7
= parser_work__Parser__pop(var_p
);
7114 var_nodearraylist7
= var7
;
7116 var8
= parser_work__Parser__pop(var_p
);
7118 var_nodearraylist6
= var8
;
7120 var9
= parser_work__Parser__pop(var_p
);
7122 var_nodearraylist5
= var9
;
7124 var10
= parser_work__Parser__pop(var_p
);
7126 var_nodearraylist4
= var10
;
7128 var11
= parser_work__Parser__pop(var_p
);
7130 var_nodearraylist3
= var11
;
7132 var12
= parser_work__Parser__pop(var_p
);
7134 var_nodearraylist2
= var12
;
7136 var13
= parser_work__Parser__pop(var_p
);
7138 var_nodearraylist1
= var13
;
7139 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
7141 ((void (*)(val
*))(var14
->class->vft
[COLOR_kernel__Object__init
]))(var14
) /* init on <var14:Array[Object]>*/;
7143 var_listnode8
= var14
;
7144 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
7146 ((void (*)(val
*))(var15
->class->vft
[COLOR_kernel__Object__init
]))(var15
) /* init on <var15:Array[Object]>*/;
7148 var_listnode17
= var15
;
7149 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7151 ((void (*)(val
*))(var16
->class->vft
[COLOR_kernel__Object__init
]))(var16
) /* init on <var16:Array[Object]>*/;
7153 var_listnode19
= var16
;
7154 var_pdocnode2
= var_nodearraylist1
;
7155 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7156 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7157 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7158 if(var_pdocnode2
== NULL
) {
7161 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7164 var17
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7167 if (unlikely(!var17
)) {
7168 PRINT_ERROR("Runtime error: %s", "Assert failed");
7169 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2620);
7172 var_tkwredefnode3
= var_nodearraylist2
;
7173 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7174 cltype19
= type_nullable_parser_nodes__TKwredef
.color
;
7175 idtype20
= type_nullable_parser_nodes__TKwredef
.id
;
7176 if(var_tkwredefnode3
== NULL
) {
7179 if(cltype19
>= var_tkwredefnode3
->type
->table_size
) {
7182 var18
= var_tkwredefnode3
->type
->type_table
[cltype19
] == idtype20
;
7185 if (unlikely(!var18
)) {
7186 PRINT_ERROR("Runtime error: %s", "Assert failed");
7187 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2622);
7190 var_pvisibilitynode4
= var_nodearraylist3
;
7191 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7192 cltype22
= type_nullable_parser_nodes__AVisibility
.color
;
7193 idtype23
= type_nullable_parser_nodes__AVisibility
.id
;
7194 if(var_pvisibilitynode4
== NULL
) {
7197 if(cltype22
>= var_pvisibilitynode4
->type
->table_size
) {
7200 var21
= var_pvisibilitynode4
->type
->type_table
[cltype22
] == idtype23
;
7203 if (unlikely(!var21
)) {
7204 PRINT_ERROR("Runtime error: %s", "Assert failed");
7205 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2624);
7208 var_pclasskindnode5
= var_nodearraylist4
;
7209 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7210 cltype25
= type_nullable_parser_nodes__AClasskind
.color
;
7211 idtype26
= type_nullable_parser_nodes__AClasskind
.id
;
7212 if(var_pclasskindnode5
== NULL
) {
7215 if(cltype25
>= var_pclasskindnode5
->type
->table_size
) {
7218 var24
= var_pclasskindnode5
->type
->type_table
[cltype25
] == idtype26
;
7221 if (unlikely(!var24
)) {
7222 PRINT_ERROR("Runtime error: %s", "Assert failed");
7223 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2626);
7226 var_tclassidnode6
= var_nodearraylist6
;
7227 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7228 cltype28
= type_nullable_parser_nodes__TClassid
.color
;
7229 idtype29
= type_nullable_parser_nodes__TClassid
.id
;
7230 if(var_tclassidnode6
== NULL
) {
7233 if(cltype28
>= var_tclassidnode6
->type
->table_size
) {
7236 var27
= var_tclassidnode6
->type
->type_table
[cltype28
] == idtype29
;
7239 if (unlikely(!var27
)) {
7240 PRINT_ERROR("Runtime error: %s", "Assert failed");
7241 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2628);
7244 var_listnode7
= var_nodearraylist7
;
7245 /* <var_listnode7:nullable Object> isa Array[Object] */
7246 cltype31
= type_array__Arraykernel__Object
.color
;
7247 idtype32
= type_array__Arraykernel__Object
.id
;
7248 if(var_listnode7
== NULL
) {
7251 if(cltype31
>= var_listnode7
->type
->table_size
) {
7254 var30
= var_listnode7
->type
->type_table
[cltype31
] == idtype32
;
7257 if (unlikely(!var30
)) {
7258 PRINT_ERROR("Runtime error: %s", "Assert failed");
7259 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2630);
7263 var33
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
7265 var_listnode8
= var33
;
7266 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
7268 ((void (*)(val
*))(var34
->class->vft
[COLOR_kernel__Object__init
]))(var34
) /* init on <var34:Array[Object]>*/;
7270 var_listnode13
= var34
;
7271 var_listnode12
= var_nodearraylist8
;
7272 /* <var_listnode12:nullable Object> isa Array[Object] */
7273 cltype36
= type_array__Arraykernel__Object
.color
;
7274 idtype37
= type_array__Arraykernel__Object
.id
;
7275 if(var_listnode12
== NULL
) {
7278 if(cltype36
>= var_listnode12
->type
->table_size
) {
7281 var35
= var_listnode12
->type
->type_table
[cltype36
] == idtype37
;
7284 if (unlikely(!var35
)) {
7285 PRINT_ERROR("Runtime error: %s", "Assert failed");
7286 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2634);
7290 var38
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
7292 var_listnode13
= var38
;
7293 var39
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
7298 parser_prod__AAnnotations__init_aannotations(var39
, var40
, var41
, var_listnode13
, var42
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var39:AAnnotations>*/
7300 var_pannotationsnode9
= var39
;
7301 var_pexterncodeblocknode15
= var_nodearraylist9
;
7302 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
7303 cltype44
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
7304 idtype45
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
7305 if(var_pexterncodeblocknode15
== NULL
) {
7308 if(cltype44
>= var_pexterncodeblocknode15
->type
->table_size
) {
7311 var43
= var_pexterncodeblocknode15
->type
->type_table
[cltype44
] == idtype45
;
7314 if (unlikely(!var43
)) {
7315 PRINT_ERROR("Runtime error: %s", "Assert failed");
7316 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2643);
7319 var_listnode16
= var_nodearraylist10
;
7320 /* <var_listnode16:nullable Object> isa Array[Object] */
7321 cltype47
= type_array__Arraykernel__Object
.color
;
7322 idtype48
= type_array__Arraykernel__Object
.id
;
7323 if(var_listnode16
== NULL
) {
7326 if(cltype47
>= var_listnode16
->type
->table_size
) {
7329 var46
= var_listnode16
->type
->type_table
[cltype47
] == idtype48
;
7332 if (unlikely(!var46
)) {
7333 PRINT_ERROR("Runtime error: %s", "Assert failed");
7334 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2645);
7338 var49
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
7340 var_listnode17
= var49
;
7341 var_listnode18
= var_nodearraylist11
;
7342 /* <var_listnode18:nullable Object> isa Array[Object] */
7343 cltype51
= type_array__Arraykernel__Object
.color
;
7344 idtype52
= type_array__Arraykernel__Object
.id
;
7345 if(var_listnode18
== NULL
) {
7348 if(cltype51
>= var_listnode18
->type
->table_size
) {
7351 var50
= var_listnode18
->type
->type_table
[cltype51
] == idtype52
;
7354 if (unlikely(!var50
)) {
7355 PRINT_ERROR("Runtime error: %s", "Assert failed");
7356 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2648);
7360 var53
= parser_work__ReduceAction__concat(self
, var_listnode19
, var_listnode18
);
7362 var_listnode19
= var53
;
7363 var_tkwendnode20
= var_nodearraylist13
;
7364 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
7365 cltype55
= type_nullable_parser_nodes__TKwend
.color
;
7366 idtype56
= type_nullable_parser_nodes__TKwend
.id
;
7367 if(var_tkwendnode20
== NULL
) {
7370 if(cltype55
>= var_tkwendnode20
->type
->table_size
) {
7373 var54
= var_tkwendnode20
->type
->type_table
[cltype55
] == idtype56
;
7376 if (unlikely(!var54
)) {
7377 PRINT_ERROR("Runtime error: %s", "Assert failed");
7378 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2651);
7381 var57
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
7383 parser_prod__AStdClassdef__init_astdclassdef(var57
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_pclasskindnode5
, var_tclassidnode6
, var_listnode8
, var_pannotationsnode9
, var_pexterncodeblocknode15
, var_listnode17
, var_listnode19
, var_tkwendnode20
); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var57:AStdClassdef>*/
7385 var_pclassdefnode1
= var57
;
7386 var_node_list
= var_pclassdefnode1
;
7387 var58
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction41> */
7389 var59
= parser_work__Parser__go_to(var_p
, var58
);
7392 parser_work__Parser__push(var_p
, var59
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7396 /* method parser#ReduceAction41#action for (self: Object, Parser) */
7397 void VIRTUAL_parser__ReduceAction41__action(val
* self
, val
* p0
) {
7398 parser__ReduceAction41__action(self
, p0
); /* Direct call parser#ReduceAction41#action on <self:Object(ReduceAction41)>*/
7401 /* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */
7402 void parser__ReduceAction43__action(val
* self
, val
* p0
) {
7403 val
* var_p
/* var p: Parser */;
7404 val
* var
/* : null */;
7405 val
* var_node_list
/* var node_list: nullable Object */;
7406 val
* var1
/* : nullable Object */;
7407 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7408 val
* var_tkwredefnode1
/* var tkwredefnode1: nullable Object */;
7409 long var2
/* : Int */;
7410 long var3
/* : Int */;
7413 var_node_list
= var
;
7415 var1
= parser_work__Parser__pop(var_p
);
7417 var_nodearraylist1
= var1
;
7418 var_tkwredefnode1
= var_nodearraylist1
;
7419 var_node_list
= var_tkwredefnode1
;
7420 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction43> */
7422 var3
= parser_work__Parser__go_to(var_p
, var2
);
7425 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7429 /* method parser#ReduceAction43#action for (self: Object, Parser) */
7430 void VIRTUAL_parser__ReduceAction43__action(val
* self
, val
* p0
) {
7431 parser__ReduceAction43__action(self
, p0
); /* Direct call parser#ReduceAction43#action on <self:Object(ReduceAction43)>*/
7434 /* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */
7435 void parser__ReduceAction44__action(val
* self
, val
* p0
) {
7436 val
* var_p
/* var p: Parser */;
7437 val
* var
/* : null */;
7438 val
* var_node_list
/* var node_list: nullable Object */;
7439 val
* var1
/* : nullable Object */;
7440 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7441 val
* var_tkwclassnode2
/* var tkwclassnode2: nullable Object */;
7442 short int var2
/* : Bool */;
7445 val
* var3
/* : AConcreteClasskind */;
7446 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AConcreteClasskind */;
7447 long var4
/* : Int */;
7448 long var5
/* : Int */;
7451 var_node_list
= var
;
7453 var1
= parser_work__Parser__pop(var_p
);
7455 var_nodearraylist1
= var1
;
7456 var_tkwclassnode2
= var_nodearraylist1
;
7457 /* <var_tkwclassnode2:nullable Object> isa nullable TKwclass */
7458 cltype
= type_nullable_parser_nodes__TKwclass
.color
;
7459 idtype
= type_nullable_parser_nodes__TKwclass
.id
;
7460 if(var_tkwclassnode2
== NULL
) {
7463 if(cltype
>= var_tkwclassnode2
->type
->table_size
) {
7466 var2
= var_tkwclassnode2
->type
->type_table
[cltype
] == idtype
;
7469 if (unlikely(!var2
)) {
7470 PRINT_ERROR("Runtime error: %s", "Assert failed");
7471 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2687);
7474 var3
= NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind
);
7476 parser_prod__AConcreteClasskind__init_aconcreteclasskind(var3
, var_tkwclassnode2
); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on <var3:AConcreteClasskind>*/
7478 var_pclasskindnode1
= var3
;
7479 var_node_list
= var_pclasskindnode1
;
7480 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction44> */
7482 var5
= parser_work__Parser__go_to(var_p
, var4
);
7485 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7489 /* method parser#ReduceAction44#action for (self: Object, Parser) */
7490 void VIRTUAL_parser__ReduceAction44__action(val
* self
, val
* p0
) {
7491 parser__ReduceAction44__action(self
, p0
); /* Direct call parser#ReduceAction44#action on <self:Object(ReduceAction44)>*/
7494 /* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */
7495 void parser__ReduceAction45__action(val
* self
, val
* p0
) {
7496 val
* var_p
/* var p: Parser */;
7497 val
* var
/* : null */;
7498 val
* var_node_list
/* var node_list: nullable Object */;
7499 val
* var1
/* : nullable Object */;
7500 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7501 val
* var2
/* : nullable Object */;
7502 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7503 val
* var_tkwabstractnode2
/* var tkwabstractnode2: nullable Object */;
7504 short int var3
/* : Bool */;
7507 val
* var_tkwclassnode3
/* var tkwclassnode3: nullable Object */;
7508 short int var4
/* : Bool */;
7511 val
* var7
/* : AAbstractClasskind */;
7512 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AAbstractClasskind */;
7513 long var8
/* : Int */;
7514 long var9
/* : Int */;
7517 var_node_list
= var
;
7519 var1
= parser_work__Parser__pop(var_p
);
7521 var_nodearraylist2
= var1
;
7523 var2
= parser_work__Parser__pop(var_p
);
7525 var_nodearraylist1
= var2
;
7526 var_tkwabstractnode2
= var_nodearraylist1
;
7527 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
7528 cltype
= type_nullable_parser_nodes__TKwabstract
.color
;
7529 idtype
= type_nullable_parser_nodes__TKwabstract
.id
;
7530 if(var_tkwabstractnode2
== NULL
) {
7533 if(cltype
>= var_tkwabstractnode2
->type
->table_size
) {
7536 var3
= var_tkwabstractnode2
->type
->type_table
[cltype
] == idtype
;
7539 if (unlikely(!var3
)) {
7540 PRINT_ERROR("Runtime error: %s", "Assert failed");
7541 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2703);
7544 var_tkwclassnode3
= var_nodearraylist2
;
7545 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
7546 cltype5
= type_nullable_parser_nodes__TKwclass
.color
;
7547 idtype6
= type_nullable_parser_nodes__TKwclass
.id
;
7548 if(var_tkwclassnode3
== NULL
) {
7551 if(cltype5
>= var_tkwclassnode3
->type
->table_size
) {
7554 var4
= var_tkwclassnode3
->type
->type_table
[cltype5
] == idtype6
;
7557 if (unlikely(!var4
)) {
7558 PRINT_ERROR("Runtime error: %s", "Assert failed");
7559 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2705);
7562 var7
= NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind
);
7564 parser_prod__AAbstractClasskind__init_aabstractclasskind(var7
, var_tkwabstractnode2
, var_tkwclassnode3
); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on <var7:AAbstractClasskind>*/
7566 var_pclasskindnode1
= var7
;
7567 var_node_list
= var_pclasskindnode1
;
7568 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction45> */
7570 var9
= parser_work__Parser__go_to(var_p
, var8
);
7573 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7577 /* method parser#ReduceAction45#action for (self: Object, Parser) */
7578 void VIRTUAL_parser__ReduceAction45__action(val
* self
, val
* p0
) {
7579 parser__ReduceAction45__action(self
, p0
); /* Direct call parser#ReduceAction45#action on <self:Object(ReduceAction45)>*/
7582 /* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */
7583 void parser__ReduceAction46__action(val
* self
, val
* p0
) {
7584 val
* var_p
/* var p: Parser */;
7585 val
* var
/* : null */;
7586 val
* var_node_list
/* var node_list: nullable Object */;
7587 val
* var1
/* : nullable Object */;
7588 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7589 val
* var_tkwinterfacenode2
/* var tkwinterfacenode2: nullable Object */;
7590 short int var2
/* : Bool */;
7593 val
* var3
/* : AInterfaceClasskind */;
7594 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AInterfaceClasskind */;
7595 long var4
/* : Int */;
7596 long var5
/* : Int */;
7599 var_node_list
= var
;
7601 var1
= parser_work__Parser__pop(var_p
);
7603 var_nodearraylist1
= var1
;
7604 var_tkwinterfacenode2
= var_nodearraylist1
;
7605 /* <var_tkwinterfacenode2:nullable Object> isa nullable TKwinterface */
7606 cltype
= type_nullable_parser_nodes__TKwinterface
.color
;
7607 idtype
= type_nullable_parser_nodes__TKwinterface
.id
;
7608 if(var_tkwinterfacenode2
== NULL
) {
7611 if(cltype
>= var_tkwinterfacenode2
->type
->table_size
) {
7614 var2
= var_tkwinterfacenode2
->type
->type_table
[cltype
] == idtype
;
7617 if (unlikely(!var2
)) {
7618 PRINT_ERROR("Runtime error: %s", "Assert failed");
7619 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2721);
7622 var3
= NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind
);
7624 parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(var3
, var_tkwinterfacenode2
); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on <var3:AInterfaceClasskind>*/
7626 var_pclasskindnode1
= var3
;
7627 var_node_list
= var_pclasskindnode1
;
7628 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction46> */
7630 var5
= parser_work__Parser__go_to(var_p
, var4
);
7633 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7637 /* method parser#ReduceAction46#action for (self: Object, Parser) */
7638 void VIRTUAL_parser__ReduceAction46__action(val
* self
, val
* p0
) {
7639 parser__ReduceAction46__action(self
, p0
); /* Direct call parser#ReduceAction46#action on <self:Object(ReduceAction46)>*/
7642 /* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */
7643 void parser__ReduceAction47__action(val
* self
, val
* p0
) {
7644 val
* var_p
/* var p: Parser */;
7645 val
* var
/* : null */;
7646 val
* var_node_list
/* var node_list: nullable Object */;
7647 val
* var1
/* : nullable Object */;
7648 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7649 val
* var_tkwenumnode2
/* var tkwenumnode2: nullable Object */;
7650 short int var2
/* : Bool */;
7653 val
* var3
/* : AEnumClasskind */;
7654 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AEnumClasskind */;
7655 long var4
/* : Int */;
7656 long var5
/* : Int */;
7659 var_node_list
= var
;
7661 var1
= parser_work__Parser__pop(var_p
);
7663 var_nodearraylist1
= var1
;
7664 var_tkwenumnode2
= var_nodearraylist1
;
7665 /* <var_tkwenumnode2:nullable Object> isa nullable TKwenum */
7666 cltype
= type_nullable_parser_nodes__TKwenum
.color
;
7667 idtype
= type_nullable_parser_nodes__TKwenum
.id
;
7668 if(var_tkwenumnode2
== NULL
) {
7671 if(cltype
>= var_tkwenumnode2
->type
->table_size
) {
7674 var2
= var_tkwenumnode2
->type
->type_table
[cltype
] == idtype
;
7677 if (unlikely(!var2
)) {
7678 PRINT_ERROR("Runtime error: %s", "Assert failed");
7679 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2736);
7682 var3
= NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind
);
7684 parser_prod__AEnumClasskind__init_aenumclasskind(var3
, var_tkwenumnode2
); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on <var3:AEnumClasskind>*/
7686 var_pclasskindnode1
= var3
;
7687 var_node_list
= var_pclasskindnode1
;
7688 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction47> */
7690 var5
= parser_work__Parser__go_to(var_p
, var4
);
7693 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7697 /* method parser#ReduceAction47#action for (self: Object, Parser) */
7698 void VIRTUAL_parser__ReduceAction47__action(val
* self
, val
* p0
) {
7699 parser__ReduceAction47__action(self
, p0
); /* Direct call parser#ReduceAction47#action on <self:Object(ReduceAction47)>*/
7702 /* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */
7703 void parser__ReduceAction48__action(val
* self
, val
* p0
) {
7704 val
* var_p
/* var p: Parser */;
7705 val
* var
/* : null */;
7706 val
* var_node_list
/* var node_list: nullable Object */;
7707 val
* var1
/* : nullable Object */;
7708 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7709 val
* var2
/* : nullable Object */;
7710 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7711 val
* var_tkwexternnode2
/* var tkwexternnode2: nullable Object */;
7712 short int var3
/* : Bool */;
7715 val
* var_tkwclassnode3
/* var tkwclassnode3: nullable Object */;
7716 short int var4
/* : Bool */;
7719 val
* var7
/* : AExternClasskind */;
7720 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AExternClasskind */;
7721 long var8
/* : Int */;
7722 long var9
/* : Int */;
7725 var_node_list
= var
;
7727 var1
= parser_work__Parser__pop(var_p
);
7729 var_nodearraylist2
= var1
;
7731 var2
= parser_work__Parser__pop(var_p
);
7733 var_nodearraylist1
= var2
;
7734 var_tkwexternnode2
= var_nodearraylist1
;
7735 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
7736 cltype
= type_nullable_parser_nodes__TKwextern
.color
;
7737 idtype
= type_nullable_parser_nodes__TKwextern
.id
;
7738 if(var_tkwexternnode2
== NULL
) {
7741 if(cltype
>= var_tkwexternnode2
->type
->table_size
) {
7744 var3
= var_tkwexternnode2
->type
->type_table
[cltype
] == idtype
;
7747 if (unlikely(!var3
)) {
7748 PRINT_ERROR("Runtime error: %s", "Assert failed");
7749 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2752);
7752 var_tkwclassnode3
= var_nodearraylist2
;
7753 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
7754 cltype5
= type_nullable_parser_nodes__TKwclass
.color
;
7755 idtype6
= type_nullable_parser_nodes__TKwclass
.id
;
7756 if(var_tkwclassnode3
== NULL
) {
7759 if(cltype5
>= var_tkwclassnode3
->type
->table_size
) {
7762 var4
= var_tkwclassnode3
->type
->type_table
[cltype5
] == idtype6
;
7765 if (unlikely(!var4
)) {
7766 PRINT_ERROR("Runtime error: %s", "Assert failed");
7767 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2754);
7770 var7
= NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind
);
7772 parser_prod__AExternClasskind__init_aexternclasskind(var7
, var_tkwexternnode2
, var_tkwclassnode3
); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on <var7:AExternClasskind>*/
7774 var_pclasskindnode1
= var7
;
7775 var_node_list
= var_pclasskindnode1
;
7776 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction48> */
7778 var9
= parser_work__Parser__go_to(var_p
, var8
);
7781 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7785 /* method parser#ReduceAction48#action for (self: Object, Parser) */
7786 void VIRTUAL_parser__ReduceAction48__action(val
* self
, val
* p0
) {
7787 parser__ReduceAction48__action(self
, p0
); /* Direct call parser#ReduceAction48#action on <self:Object(ReduceAction48)>*/
7790 /* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */
7791 void parser__ReduceAction49__action(val
* self
, val
* p0
) {
7792 val
* var_p
/* var p: Parser */;
7793 val
* var
/* : null */;
7794 val
* var_node_list
/* var node_list: nullable Object */;
7795 val
* var1
/* : nullable Object */;
7796 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7797 val
* var2
/* : nullable Object */;
7798 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7799 val
* var3
/* : nullable Object */;
7800 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7801 val
* var4
/* : nullable Object */;
7802 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7803 val
* var5
/* : nullable Object */;
7804 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7805 val
* var6
/* : Array[Object] */;
7806 val
* var_listnode2
/* var listnode2: Array[Object] */;
7807 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
7808 val
* var7
/* : null */;
7809 short int var8
/* : Bool */;
7810 short int var9
/* : Bool */;
7811 long var10
/* : Int */;
7812 long var11
/* : Int */;
7815 var_node_list
= var
;
7817 var1
= parser_work__Parser__pop(var_p
);
7819 var_nodearraylist5
= var1
;
7821 var2
= parser_work__Parser__pop(var_p
);
7823 var_nodearraylist4
= var2
;
7825 var3
= parser_work__Parser__pop(var_p
);
7827 var_nodearraylist3
= var3
;
7829 var4
= parser_work__Parser__pop(var_p
);
7831 var_nodearraylist2
= var4
;
7833 var5
= parser_work__Parser__pop(var_p
);
7835 var_nodearraylist1
= var5
;
7836 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7838 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7840 var_listnode2
= var6
;
7841 var_pformaldefnode1
= var_nodearraylist3
;
7843 if (var_pformaldefnode1
== NULL
) {
7844 var8
= 0; /* is null */
7846 var8
= 1; /* arg is null and recv is not */
7849 var9
= ((short int (*)(val
*, val
*))(var_pformaldefnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pformaldefnode1
, var7
) /* != on <var_pformaldefnode1:nullable Object>*/;
7854 array__Array__add(var_listnode2
, var_pformaldefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7858 var_node_list
= var_listnode2
;
7859 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction49> */
7861 var11
= parser_work__Parser__go_to(var_p
, var10
);
7864 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7868 /* method parser#ReduceAction49#action for (self: Object, Parser) */
7869 void VIRTUAL_parser__ReduceAction49__action(val
* self
, val
* p0
) {
7870 parser__ReduceAction49__action(self
, p0
); /* Direct call parser#ReduceAction49#action on <self:Object(ReduceAction49)>*/
7873 /* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */
7874 void parser__ReduceAction50__action(val
* self
, val
* p0
) {
7875 val
* var_p
/* var p: Parser */;
7876 val
* var
/* : null */;
7877 val
* var_node_list
/* var node_list: nullable Object */;
7878 val
* var1
/* : nullable Object */;
7879 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7880 val
* var2
/* : nullable Object */;
7881 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7882 val
* var3
/* : nullable Object */;
7883 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7884 val
* var4
/* : nullable Object */;
7885 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7886 val
* var5
/* : nullable Object */;
7887 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7888 val
* var6
/* : nullable Object */;
7889 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7890 val
* var7
/* : Array[Object] */;
7891 val
* var_listnode3
/* var listnode3: Array[Object] */;
7892 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
7893 val
* var_listnode2
/* var listnode2: nullable Object */;
7894 short int var8
/* : Bool */;
7897 val
* var9
/* : null */;
7898 short int var10
/* : Bool */;
7899 short int var11
/* : Bool */;
7900 val
* var12
/* : Array[Object] */;
7901 long var13
/* : Int */;
7902 long var14
/* : Int */;
7905 var_node_list
= var
;
7907 var1
= parser_work__Parser__pop(var_p
);
7909 var_nodearraylist6
= var1
;
7911 var2
= parser_work__Parser__pop(var_p
);
7913 var_nodearraylist5
= var2
;
7915 var3
= parser_work__Parser__pop(var_p
);
7917 var_nodearraylist4
= var3
;
7919 var4
= parser_work__Parser__pop(var_p
);
7921 var_nodearraylist3
= var4
;
7923 var5
= parser_work__Parser__pop(var_p
);
7925 var_nodearraylist2
= var5
;
7927 var6
= parser_work__Parser__pop(var_p
);
7929 var_nodearraylist1
= var6
;
7930 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7932 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7934 var_listnode3
= var7
;
7935 var_pformaldefnode1
= var_nodearraylist3
;
7936 var_listnode2
= var_nodearraylist4
;
7937 /* <var_listnode2:nullable Object> isa Array[Object] */
7938 cltype
= type_array__Arraykernel__Object
.color
;
7939 idtype
= type_array__Arraykernel__Object
.id
;
7940 if(var_listnode2
== NULL
) {
7943 if(cltype
>= var_listnode2
->type
->table_size
) {
7946 var8
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
7949 if (unlikely(!var8
)) {
7950 PRINT_ERROR("Runtime error: %s", "Assert failed");
7951 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2796);
7955 if (var_pformaldefnode1
== NULL
) {
7956 var10
= 0; /* is null */
7958 var10
= 1; /* arg is null and recv is not */
7961 var11
= ((short int (*)(val
*, val
*))(var_pformaldefnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pformaldefnode1
, var9
) /* != on <var_pformaldefnode1:nullable Object>*/;
7966 array__Array__add(var_listnode3
, var_pformaldefnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7971 var12
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
7973 var_listnode3
= var12
;
7974 var_node_list
= var_listnode3
;
7975 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction50> */
7977 var14
= parser_work__Parser__go_to(var_p
, var13
);
7980 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7984 /* method parser#ReduceAction50#action for (self: Object, Parser) */
7985 void VIRTUAL_parser__ReduceAction50__action(val
* self
, val
* p0
) {
7986 parser__ReduceAction50__action(self
, p0
); /* Direct call parser#ReduceAction50#action on <self:Object(ReduceAction50)>*/
7989 /* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */
7990 void parser__ReduceAction51__action(val
* self
, val
* p0
) {
7991 val
* var_p
/* var p: Parser */;
7992 val
* var
/* : null */;
7993 val
* var_node_list
/* var node_list: nullable Object */;
7994 val
* var1
/* : Array[Object] */;
7995 val
* var_listnode1
/* var listnode1: Array[Object] */;
7996 long var2
/* : Int */;
7997 long var3
/* : Int */;
8000 var_node_list
= var
;
8001 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
8003 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:Array[Object]>*/;
8005 var_listnode1
= var1
;
8006 var_node_list
= var_listnode1
;
8007 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction51> */
8009 var3
= parser_work__Parser__go_to(var_p
, var2
);
8012 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8016 /* method parser#ReduceAction51#action for (self: Object, Parser) */
8017 void VIRTUAL_parser__ReduceAction51__action(val
* self
, val
* p0
) {
8018 parser__ReduceAction51__action(self
, p0
); /* Direct call parser#ReduceAction51#action on <self:Object(ReduceAction51)>*/
8021 /* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */
8022 void parser__ReduceAction52__action(val
* self
, val
* p0
) {
8023 val
* var_p
/* var p: Parser */;
8024 val
* var
/* : null */;
8025 val
* var_node_list
/* var node_list: nullable Object */;
8026 val
* var1
/* : nullable Object */;
8027 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8028 val
* var2
/* : nullable Object */;
8029 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8030 val
* var3
/* : nullable Object */;
8031 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8032 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
8033 long var4
/* : Int */;
8034 long var5
/* : Int */;
8037 var_node_list
= var
;
8039 var1
= parser_work__Parser__pop(var_p
);
8041 var_nodearraylist3
= var1
;
8043 var2
= parser_work__Parser__pop(var_p
);
8045 var_nodearraylist2
= var2
;
8047 var3
= parser_work__Parser__pop(var_p
);
8049 var_nodearraylist1
= var3
;
8050 var_pformaldefnode1
= var_nodearraylist3
;
8051 var_node_list
= var_pformaldefnode1
;
8052 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction52> */
8054 var5
= parser_work__Parser__go_to(var_p
, var4
);
8057 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8061 /* method parser#ReduceAction52#action for (self: Object, Parser) */
8062 void VIRTUAL_parser__ReduceAction52__action(val
* self
, val
* p0
) {
8063 parser__ReduceAction52__action(self
, p0
); /* Direct call parser#ReduceAction52#action on <self:Object(ReduceAction52)>*/
8066 /* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */
8067 void parser__ReduceAction53__action(val
* self
, val
* p0
) {
8068 val
* var_p
/* var p: Parser */;
8069 val
* var
/* : null */;
8070 val
* var_node_list
/* var node_list: nullable Object */;
8071 val
* var1
/* : nullable Object */;
8072 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8073 val
* var2
/* : nullable Object */;
8074 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8075 val
* var_tclassidnode2
/* var tclassidnode2: nullable Object */;
8076 short int var3
/* : Bool */;
8079 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8080 short int var4
/* : Bool */;
8083 val
* var7
/* : AFormaldef */;
8084 val
* var8
/* : null */;
8085 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable AFormaldef */;
8086 long var9
/* : Int */;
8087 long var10
/* : Int */;
8090 var_node_list
= var
;
8092 var1
= parser_work__Parser__pop(var_p
);
8094 var_nodearraylist2
= var1
;
8096 var2
= parser_work__Parser__pop(var_p
);
8098 var_nodearraylist1
= var2
;
8099 var_tclassidnode2
= var_nodearraylist1
;
8100 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
8101 cltype
= type_nullable_parser_nodes__TClassid
.color
;
8102 idtype
= type_nullable_parser_nodes__TClassid
.id
;
8103 if(var_tclassidnode2
== NULL
) {
8106 if(cltype
>= var_tclassidnode2
->type
->table_size
) {
8109 var3
= var_tclassidnode2
->type
->type_table
[cltype
] == idtype
;
8112 if (unlikely(!var3
)) {
8113 PRINT_ERROR("Runtime error: %s", "Assert failed");
8114 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2836);
8117 var_ptypenode3
= var_nodearraylist2
;
8118 /* <var_ptypenode3:nullable Object> isa nullable AType */
8119 cltype5
= type_nullable_parser_nodes__AType
.color
;
8120 idtype6
= type_nullable_parser_nodes__AType
.id
;
8121 if(var_ptypenode3
== NULL
) {
8124 if(cltype5
>= var_ptypenode3
->type
->table_size
) {
8127 var4
= var_ptypenode3
->type
->type_table
[cltype5
] == idtype6
;
8130 if (unlikely(!var4
)) {
8131 PRINT_ERROR("Runtime error: %s", "Assert failed");
8132 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2838);
8135 var7
= NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef
);
8138 parser_prod__AFormaldef__init_aformaldef(var7
, var_tclassidnode2
, var_ptypenode3
, var8
); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var7:AFormaldef>*/
8140 var_pformaldefnode1
= var7
;
8141 var_node_list
= var_pformaldefnode1
;
8142 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction53> */
8144 var10
= parser_work__Parser__go_to(var_p
, var9
);
8147 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8151 /* method parser#ReduceAction53#action for (self: Object, Parser) */
8152 void VIRTUAL_parser__ReduceAction53__action(val
* self
, val
* p0
) {
8153 parser__ReduceAction53__action(self
, p0
); /* Direct call parser#ReduceAction53#action on <self:Object(ReduceAction53)>*/
8156 /* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */
8157 void parser__ReduceAction54__action(val
* self
, val
* p0
) {
8158 val
* var_p
/* var p: Parser */;
8159 val
* var
/* : null */;
8160 val
* var_node_list
/* var node_list: nullable Object */;
8161 val
* var1
/* : nullable Object */;
8162 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8163 val
* var2
/* : nullable Object */;
8164 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8165 val
* var3
/* : nullable Object */;
8166 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8167 val
* var_tclassidnode2
/* var tclassidnode2: nullable Object */;
8168 short int var4
/* : Bool */;
8171 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8172 short int var5
/* : Bool */;
8175 val
* var_pannotationsnode4
/* var pannotationsnode4: nullable Object */;
8176 short int var8
/* : Bool */;
8179 val
* var11
/* : AFormaldef */;
8180 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable AFormaldef */;
8181 long var12
/* : Int */;
8182 long var13
/* : Int */;
8185 var_node_list
= var
;
8187 var1
= parser_work__Parser__pop(var_p
);
8189 var_nodearraylist3
= var1
;
8191 var2
= parser_work__Parser__pop(var_p
);
8193 var_nodearraylist2
= var2
;
8195 var3
= parser_work__Parser__pop(var_p
);
8197 var_nodearraylist1
= var3
;
8198 var_tclassidnode2
= var_nodearraylist1
;
8199 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
8200 cltype
= type_nullable_parser_nodes__TClassid
.color
;
8201 idtype
= type_nullable_parser_nodes__TClassid
.id
;
8202 if(var_tclassidnode2
== NULL
) {
8205 if(cltype
>= var_tclassidnode2
->type
->table_size
) {
8208 var4
= var_tclassidnode2
->type
->type_table
[cltype
] == idtype
;
8211 if (unlikely(!var4
)) {
8212 PRINT_ERROR("Runtime error: %s", "Assert failed");
8213 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2857);
8216 var_ptypenode3
= var_nodearraylist3
;
8217 /* <var_ptypenode3:nullable Object> isa nullable AType */
8218 cltype6
= type_nullable_parser_nodes__AType
.color
;
8219 idtype7
= type_nullable_parser_nodes__AType
.id
;
8220 if(var_ptypenode3
== NULL
) {
8223 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
8226 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
8229 if (unlikely(!var5
)) {
8230 PRINT_ERROR("Runtime error: %s", "Assert failed");
8231 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2859);
8234 var_pannotationsnode4
= var_nodearraylist2
;
8235 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
8236 cltype9
= type_nullable_parser_nodes__AAnnotations
.color
;
8237 idtype10
= type_nullable_parser_nodes__AAnnotations
.id
;
8238 if(var_pannotationsnode4
== NULL
) {
8241 if(cltype9
>= var_pannotationsnode4
->type
->table_size
) {
8244 var8
= var_pannotationsnode4
->type
->type_table
[cltype9
] == idtype10
;
8247 if (unlikely(!var8
)) {
8248 PRINT_ERROR("Runtime error: %s", "Assert failed");
8249 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2861);
8252 var11
= NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef
);
8254 parser_prod__AFormaldef__init_aformaldef(var11
, var_tclassidnode2
, var_ptypenode3
, var_pannotationsnode4
); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var11:AFormaldef>*/
8256 var_pformaldefnode1
= var11
;
8257 var_node_list
= var_pformaldefnode1
;
8258 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction54> */
8260 var13
= parser_work__Parser__go_to(var_p
, var12
);
8263 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8267 /* method parser#ReduceAction54#action for (self: Object, Parser) */
8268 void VIRTUAL_parser__ReduceAction54__action(val
* self
, val
* p0
) {
8269 parser__ReduceAction54__action(self
, p0
); /* Direct call parser#ReduceAction54#action on <self:Object(ReduceAction54)>*/
8272 /* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */
8273 void parser__ReduceAction55__action(val
* self
, val
* p0
) {
8274 val
* var_p
/* var p: Parser */;
8275 val
* var
/* : null */;
8276 val
* var_node_list
/* var node_list: nullable Object */;
8277 val
* var1
/* : nullable Object */;
8278 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8279 val
* var2
/* : nullable Object */;
8280 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8281 val
* var3
/* : nullable Object */;
8282 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8283 val
* var4
/* : nullable Object */;
8284 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8285 val
* var5
/* : nullable Object */;
8286 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8287 val
* var_tkwsupernode2
/* var tkwsupernode2: nullable Object */;
8288 short int var6
/* : Bool */;
8291 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
8292 short int var7
/* : Bool */;
8295 val
* var_pannotationsnode4
/* var pannotationsnode4: nullable Object */;
8296 short int var10
/* : Bool */;
8299 val
* var13
/* : ASuperclass */;
8300 val
* var_psuperclassnode1
/* var psuperclassnode1: nullable ASuperclass */;
8301 long var14
/* : Int */;
8302 long var15
/* : Int */;
8305 var_node_list
= var
;
8307 var1
= parser_work__Parser__pop(var_p
);
8309 var_nodearraylist5
= var1
;
8311 var2
= parser_work__Parser__pop(var_p
);
8313 var_nodearraylist4
= var2
;
8315 var3
= parser_work__Parser__pop(var_p
);
8317 var_nodearraylist3
= var3
;
8319 var4
= parser_work__Parser__pop(var_p
);
8321 var_nodearraylist2
= var4
;
8323 var5
= parser_work__Parser__pop(var_p
);
8325 var_nodearraylist1
= var5
;
8326 var_tkwsupernode2
= var_nodearraylist2
;
8327 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
8328 cltype
= type_nullable_parser_nodes__TKwsuper
.color
;
8329 idtype
= type_nullable_parser_nodes__TKwsuper
.id
;
8330 if(var_tkwsupernode2
== NULL
) {
8333 if(cltype
>= var_tkwsupernode2
->type
->table_size
) {
8336 var6
= var_tkwsupernode2
->type
->type_table
[cltype
] == idtype
;
8339 if (unlikely(!var6
)) {
8340 PRINT_ERROR("Runtime error: %s", "Assert failed");
8341 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2882);
8344 var_ptypenode3
= var_nodearraylist4
;
8345 /* <var_ptypenode3:nullable Object> isa nullable AType */
8346 cltype8
= type_nullable_parser_nodes__AType
.color
;
8347 idtype9
= type_nullable_parser_nodes__AType
.id
;
8348 if(var_ptypenode3
== NULL
) {
8351 if(cltype8
>= var_ptypenode3
->type
->table_size
) {
8354 var7
= var_ptypenode3
->type
->type_table
[cltype8
] == idtype9
;
8357 if (unlikely(!var7
)) {
8358 PRINT_ERROR("Runtime error: %s", "Assert failed");
8359 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2884);
8362 var_pannotationsnode4
= var_nodearraylist5
;
8363 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
8364 cltype11
= type_nullable_parser_nodes__AAnnotations
.color
;
8365 idtype12
= type_nullable_parser_nodes__AAnnotations
.id
;
8366 if(var_pannotationsnode4
== NULL
) {
8369 if(cltype11
>= var_pannotationsnode4
->type
->table_size
) {
8372 var10
= var_pannotationsnode4
->type
->type_table
[cltype11
] == idtype12
;
8375 if (unlikely(!var10
)) {
8376 PRINT_ERROR("Runtime error: %s", "Assert failed");
8377 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2886);
8380 var13
= NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass
);
8382 parser_prod__ASuperclass__init_asuperclass(var13
, var_tkwsupernode2
, var_ptypenode3
, var_pannotationsnode4
); /* Direct call parser_prod#ASuperclass#init_asuperclass on <var13:ASuperclass>*/
8384 var_psuperclassnode1
= var13
;
8385 var_node_list
= var_psuperclassnode1
;
8386 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction55> */
8388 var15
= parser_work__Parser__go_to(var_p
, var14
);
8391 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8395 /* method parser#ReduceAction55#action for (self: Object, Parser) */
8396 void VIRTUAL_parser__ReduceAction55__action(val
* self
, val
* p0
) {
8397 parser__ReduceAction55__action(self
, p0
); /* Direct call parser#ReduceAction55#action on <self:Object(ReduceAction55)>*/
8400 /* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */
8401 void parser__ReduceAction56__action(val
* self
, val
* p0
) {
8402 val
* var_p
/* var p: Parser */;
8403 val
* var
/* : null */;
8404 val
* var_node_list
/* var node_list: nullable Object */;
8405 val
* var1
/* : nullable Object */;
8406 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8407 val
* var2
/* : nullable Object */;
8408 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8409 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable Object */;
8410 long var3
/* : Int */;
8411 long var4
/* : Int */;
8414 var_node_list
= var
;
8416 var1
= parser_work__Parser__pop(var_p
);
8418 var_nodearraylist2
= var1
;
8420 var2
= parser_work__Parser__pop(var_p
);
8422 var_nodearraylist1
= var2
;
8423 var_ppropdefnode1
= var_nodearraylist1
;
8424 var_node_list
= var_ppropdefnode1
;
8425 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction56> */
8427 var4
= parser_work__Parser__go_to(var_p
, var3
);
8430 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8434 /* method parser#ReduceAction56#action for (self: Object, Parser) */
8435 void VIRTUAL_parser__ReduceAction56__action(val
* self
, val
* p0
) {
8436 parser__ReduceAction56__action(self
, p0
); /* Direct call parser#ReduceAction56#action on <self:Object(ReduceAction56)>*/
8439 /* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */
8440 void parser__ReduceAction57__action(val
* self
, val
* p0
) {
8441 val
* var_p
/* var p: Parser */;
8442 val
* var
/* : null */;
8443 val
* var_node_list
/* var node_list: nullable Object */;
8444 val
* var1
/* : nullable Object */;
8445 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8446 val
* var2
/* : nullable Object */;
8447 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8448 val
* var3
/* : nullable Object */;
8449 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8450 val
* var4
/* : nullable Object */;
8451 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8452 val
* var5
/* : nullable Object */;
8453 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8454 val
* var6
/* : nullable Object */;
8455 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8456 val
* var7
/* : nullable Object */;
8457 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8458 val
* var8
/* : nullable Object */;
8459 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8460 val
* var9
/* : nullable Object */;
8461 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8462 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8463 short int var10
/* : Bool */;
8466 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8467 short int var11
/* : Bool */;
8470 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8471 short int var14
/* : Bool */;
8474 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
8475 short int var17
/* : Bool */;
8478 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
8479 short int var20
/* : Bool */;
8482 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
8483 short int var23
/* : Bool */;
8486 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
8487 short int var26
/* : Bool */;
8490 val
* var29
/* : AMethPropdef */;
8491 val
* var30
/* : null */;
8492 val
* var31
/* : null */;
8493 val
* var32
/* : null */;
8494 val
* var33
/* : null */;
8495 val
* var34
/* : null */;
8496 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
8497 long var35
/* : Int */;
8498 long var36
/* : Int */;
8501 var_node_list
= var
;
8503 var1
= parser_work__Parser__pop(var_p
);
8505 var_nodearraylist9
= var1
;
8507 var2
= parser_work__Parser__pop(var_p
);
8509 var_nodearraylist8
= var2
;
8511 var3
= parser_work__Parser__pop(var_p
);
8513 var_nodearraylist7
= var3
;
8515 var4
= parser_work__Parser__pop(var_p
);
8517 var_nodearraylist6
= var4
;
8519 var5
= parser_work__Parser__pop(var_p
);
8521 var_nodearraylist5
= var5
;
8523 var6
= parser_work__Parser__pop(var_p
);
8525 var_nodearraylist4
= var6
;
8527 var7
= parser_work__Parser__pop(var_p
);
8529 var_nodearraylist3
= var7
;
8531 var8
= parser_work__Parser__pop(var_p
);
8533 var_nodearraylist2
= var8
;
8535 var9
= parser_work__Parser__pop(var_p
);
8537 var_nodearraylist1
= var9
;
8538 var_pdocnode2
= var_nodearraylist1
;
8539 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8540 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8541 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8542 if(var_pdocnode2
== NULL
) {
8545 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8548 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8551 if (unlikely(!var10
)) {
8552 PRINT_ERROR("Runtime error: %s", "Assert failed");
8553 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2923);
8556 var_tkwredefnode3
= var_nodearraylist2
;
8557 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8558 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
8559 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
8560 if(var_tkwredefnode3
== NULL
) {
8563 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
8566 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
8569 if (unlikely(!var11
)) {
8570 PRINT_ERROR("Runtime error: %s", "Assert failed");
8571 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2925);
8574 var_pvisibilitynode4
= var_nodearraylist3
;
8575 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8576 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
8577 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
8578 if(var_pvisibilitynode4
== NULL
) {
8581 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
8584 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
8587 if (unlikely(!var14
)) {
8588 PRINT_ERROR("Runtime error: %s", "Assert failed");
8589 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2927);
8592 var_tkwmethnode5
= var_nodearraylist4
;
8593 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8594 cltype18
= type_nullable_parser_nodes__TKwmeth
.color
;
8595 idtype19
= type_nullable_parser_nodes__TKwmeth
.id
;
8596 if(var_tkwmethnode5
== NULL
) {
8599 if(cltype18
>= var_tkwmethnode5
->type
->table_size
) {
8602 var17
= var_tkwmethnode5
->type
->type_table
[cltype18
] == idtype19
;
8605 if (unlikely(!var17
)) {
8606 PRINT_ERROR("Runtime error: %s", "Assert failed");
8607 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2929);
8610 var_pmethidnode8
= var_nodearraylist5
;
8611 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
8612 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
8613 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
8614 if(var_pmethidnode8
== NULL
) {
8617 if(cltype21
>= var_pmethidnode8
->type
->table_size
) {
8620 var20
= var_pmethidnode8
->type
->type_table
[cltype21
] == idtype22
;
8623 if (unlikely(!var20
)) {
8624 PRINT_ERROR("Runtime error: %s", "Assert failed");
8625 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2931);
8628 var_psignaturenode9
= var_nodearraylist6
;
8629 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
8630 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
8631 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
8632 if(var_psignaturenode9
== NULL
) {
8635 if(cltype24
>= var_psignaturenode9
->type
->table_size
) {
8638 var23
= var_psignaturenode9
->type
->type_table
[cltype24
] == idtype25
;
8641 if (unlikely(!var23
)) {
8642 PRINT_ERROR("Runtime error: %s", "Assert failed");
8643 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2933);
8646 var_pexprnode13
= var_nodearraylist8
;
8647 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
8648 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
8649 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
8650 if(var_pexprnode13
== NULL
) {
8653 if(cltype27
>= var_pexprnode13
->type
->table_size
) {
8656 var26
= var_pexprnode13
->type
->type_table
[cltype27
] == idtype28
;
8659 if (unlikely(!var26
)) {
8660 PRINT_ERROR("Runtime error: %s", "Assert failed");
8661 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2935);
8664 var29
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
8671 parser_prod__AMethPropdef__init_amethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var30
, var31
, var_pmethidnode8
, var_psignaturenode9
, var32
, var33
, var34
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var29:AMethPropdef>*/
8673 var_ppropdefnode1
= var29
;
8674 var_node_list
= var_ppropdefnode1
;
8675 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction57> */
8677 var36
= parser_work__Parser__go_to(var_p
, var35
);
8680 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8684 /* method parser#ReduceAction57#action for (self: Object, Parser) */
8685 void VIRTUAL_parser__ReduceAction57__action(val
* self
, val
* p0
) {
8686 parser__ReduceAction57__action(self
, p0
); /* Direct call parser#ReduceAction57#action on <self:Object(ReduceAction57)>*/
8689 /* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */
8690 void parser__ReduceAction58__action(val
* self
, val
* p0
) {
8691 val
* var_p
/* var p: Parser */;
8692 val
* var
/* : null */;
8693 val
* var_node_list
/* var node_list: nullable Object */;
8694 val
* var1
/* : nullable Object */;
8695 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8696 val
* var2
/* : nullable Object */;
8697 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8698 val
* var3
/* : nullable Object */;
8699 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8700 val
* var4
/* : nullable Object */;
8701 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8702 val
* var5
/* : nullable Object */;
8703 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8704 val
* var6
/* : nullable Object */;
8705 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8706 val
* var7
/* : nullable Object */;
8707 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8708 val
* var8
/* : nullable Object */;
8709 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8710 val
* var9
/* : nullable Object */;
8711 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8712 val
* var10
/* : nullable Object */;
8713 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8714 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8715 short int var11
/* : Bool */;
8718 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8719 short int var12
/* : Bool */;
8722 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8723 short int var15
/* : Bool */;
8726 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
8727 short int var18
/* : Bool */;
8730 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
8731 short int var21
/* : Bool */;
8734 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
8735 short int var24
/* : Bool */;
8738 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
8739 short int var27
/* : Bool */;
8742 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
8743 short int var30
/* : Bool */;
8746 val
* var33
/* : AMethPropdef */;
8747 val
* var34
/* : null */;
8748 val
* var35
/* : null */;
8749 val
* var36
/* : null */;
8750 val
* var37
/* : null */;
8751 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
8752 long var38
/* : Int */;
8753 long var39
/* : Int */;
8756 var_node_list
= var
;
8758 var1
= parser_work__Parser__pop(var_p
);
8760 var_nodearraylist10
= var1
;
8762 var2
= parser_work__Parser__pop(var_p
);
8764 var_nodearraylist9
= var2
;
8766 var3
= parser_work__Parser__pop(var_p
);
8768 var_nodearraylist8
= var3
;
8770 var4
= parser_work__Parser__pop(var_p
);
8772 var_nodearraylist7
= var4
;
8774 var5
= parser_work__Parser__pop(var_p
);
8776 var_nodearraylist6
= var5
;
8778 var6
= parser_work__Parser__pop(var_p
);
8780 var_nodearraylist5
= var6
;
8782 var7
= parser_work__Parser__pop(var_p
);
8784 var_nodearraylist4
= var7
;
8786 var8
= parser_work__Parser__pop(var_p
);
8788 var_nodearraylist3
= var8
;
8790 var9
= parser_work__Parser__pop(var_p
);
8792 var_nodearraylist2
= var9
;
8794 var10
= parser_work__Parser__pop(var_p
);
8796 var_nodearraylist1
= var10
;
8797 var_pdocnode2
= var_nodearraylist1
;
8798 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8799 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8800 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8801 if(var_pdocnode2
== NULL
) {
8804 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8807 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8810 if (unlikely(!var11
)) {
8811 PRINT_ERROR("Runtime error: %s", "Assert failed");
8812 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2970);
8815 var_tkwredefnode3
= var_nodearraylist2
;
8816 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8817 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
8818 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
8819 if(var_tkwredefnode3
== NULL
) {
8822 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
8825 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
8828 if (unlikely(!var12
)) {
8829 PRINT_ERROR("Runtime error: %s", "Assert failed");
8830 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2972);
8833 var_pvisibilitynode4
= var_nodearraylist3
;
8834 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8835 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
8836 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
8837 if(var_pvisibilitynode4
== NULL
) {
8840 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
8843 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
8846 if (unlikely(!var15
)) {
8847 PRINT_ERROR("Runtime error: %s", "Assert failed");
8848 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2974);
8851 var_tkwmethnode5
= var_nodearraylist4
;
8852 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8853 cltype19
= type_nullable_parser_nodes__TKwmeth
.color
;
8854 idtype20
= type_nullable_parser_nodes__TKwmeth
.id
;
8855 if(var_tkwmethnode5
== NULL
) {
8858 if(cltype19
>= var_tkwmethnode5
->type
->table_size
) {
8861 var18
= var_tkwmethnode5
->type
->type_table
[cltype19
] == idtype20
;
8864 if (unlikely(!var18
)) {
8865 PRINT_ERROR("Runtime error: %s", "Assert failed");
8866 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2976);
8869 var_pmethidnode8
= var_nodearraylist5
;
8870 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
8871 cltype22
= type_nullable_parser_nodes__AMethid
.color
;
8872 idtype23
= type_nullable_parser_nodes__AMethid
.id
;
8873 if(var_pmethidnode8
== NULL
) {
8876 if(cltype22
>= var_pmethidnode8
->type
->table_size
) {
8879 var21
= var_pmethidnode8
->type
->type_table
[cltype22
] == idtype23
;
8882 if (unlikely(!var21
)) {
8883 PRINT_ERROR("Runtime error: %s", "Assert failed");
8884 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2978);
8887 var_psignaturenode9
= var_nodearraylist6
;
8888 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
8889 cltype25
= type_nullable_parser_nodes__ASignature
.color
;
8890 idtype26
= type_nullable_parser_nodes__ASignature
.id
;
8891 if(var_psignaturenode9
== NULL
) {
8894 if(cltype25
>= var_psignaturenode9
->type
->table_size
) {
8897 var24
= var_psignaturenode9
->type
->type_table
[cltype25
] == idtype26
;
8900 if (unlikely(!var24
)) {
8901 PRINT_ERROR("Runtime error: %s", "Assert failed");
8902 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2980);
8905 var_pannotationsnode10
= var_nodearraylist7
;
8906 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
8907 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
8908 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
8909 if(var_pannotationsnode10
== NULL
) {
8912 if(cltype28
>= var_pannotationsnode10
->type
->table_size
) {
8915 var27
= var_pannotationsnode10
->type
->type_table
[cltype28
] == idtype29
;
8918 if (unlikely(!var27
)) {
8919 PRINT_ERROR("Runtime error: %s", "Assert failed");
8920 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2982);
8923 var_pexprnode13
= var_nodearraylist9
;
8924 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
8925 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
8926 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
8927 if(var_pexprnode13
== NULL
) {
8930 if(cltype31
>= var_pexprnode13
->type
->table_size
) {
8933 var30
= var_pexprnode13
->type
->type_table
[cltype31
] == idtype32
;
8936 if (unlikely(!var30
)) {
8937 PRINT_ERROR("Runtime error: %s", "Assert failed");
8938 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2984);
8941 var33
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
8947 parser_prod__AMethPropdef__init_amethpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var34
, var35
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var36
, var37
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var33:AMethPropdef>*/
8949 var_ppropdefnode1
= var33
;
8950 var_node_list
= var_ppropdefnode1
;
8951 var38
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction58> */
8953 var39
= parser_work__Parser__go_to(var_p
, var38
);
8956 parser_work__Parser__push(var_p
, var39
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8960 /* method parser#ReduceAction58#action for (self: Object, Parser) */
8961 void VIRTUAL_parser__ReduceAction58__action(val
* self
, val
* p0
) {
8962 parser__ReduceAction58__action(self
, p0
); /* Direct call parser#ReduceAction58#action on <self:Object(ReduceAction58)>*/
8965 /* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */
8966 void parser__ReduceAction59__action(val
* self
, val
* p0
) {
8967 val
* var_p
/* var p: Parser */;
8968 val
* var
/* : null */;
8969 val
* var_node_list
/* var node_list: nullable Object */;
8970 val
* var1
/* : nullable Object */;
8971 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8972 val
* var2
/* : nullable Object */;
8973 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8974 val
* var3
/* : nullable Object */;
8975 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8976 val
* var4
/* : nullable Object */;
8977 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8978 val
* var5
/* : nullable Object */;
8979 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8980 val
* var6
/* : nullable Object */;
8981 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8982 val
* var7
/* : nullable Object */;
8983 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8984 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8985 short int var8
/* : Bool */;
8988 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8989 short int var9
/* : Bool */;
8992 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8993 short int var12
/* : Bool */;
8996 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
8997 short int var15
/* : Bool */;
9000 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
9001 short int var18
/* : Bool */;
9004 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
9005 short int var21
/* : Bool */;
9008 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
9009 short int var24
/* : Bool */;
9012 val
* var27
/* : AMethPropdef */;
9013 val
* var28
/* : null */;
9014 val
* var29
/* : null */;
9015 val
* var30
/* : null */;
9016 val
* var31
/* : null */;
9017 val
* var32
/* : null */;
9018 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
9019 long var33
/* : Int */;
9020 long var34
/* : Int */;
9023 var_node_list
= var
;
9025 var1
= parser_work__Parser__pop(var_p
);
9027 var_nodearraylist7
= var1
;
9029 var2
= parser_work__Parser__pop(var_p
);
9031 var_nodearraylist6
= var2
;
9033 var3
= parser_work__Parser__pop(var_p
);
9035 var_nodearraylist5
= var3
;
9037 var4
= parser_work__Parser__pop(var_p
);
9039 var_nodearraylist4
= var4
;
9041 var5
= parser_work__Parser__pop(var_p
);
9043 var_nodearraylist3
= var5
;
9045 var6
= parser_work__Parser__pop(var_p
);
9047 var_nodearraylist2
= var6
;
9049 var7
= parser_work__Parser__pop(var_p
);
9051 var_nodearraylist1
= var7
;
9052 var_pdocnode2
= var_nodearraylist1
;
9053 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9054 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9055 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9056 if(var_pdocnode2
== NULL
) {
9059 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9062 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9065 if (unlikely(!var8
)) {
9066 PRINT_ERROR("Runtime error: %s", "Assert failed");
9067 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3016);
9070 var_tkwredefnode3
= var_nodearraylist2
;
9071 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9072 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
9073 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
9074 if(var_tkwredefnode3
== NULL
) {
9077 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
9080 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
9083 if (unlikely(!var9
)) {
9084 PRINT_ERROR("Runtime error: %s", "Assert failed");
9085 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3018);
9088 var_pvisibilitynode4
= var_nodearraylist3
;
9089 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9090 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
9091 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
9092 if(var_pvisibilitynode4
== NULL
) {
9095 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
9098 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
9101 if (unlikely(!var12
)) {
9102 PRINT_ERROR("Runtime error: %s", "Assert failed");
9103 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3020);
9106 var_tkwmethnode5
= var_nodearraylist4
;
9107 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9108 cltype16
= type_nullable_parser_nodes__TKwmeth
.color
;
9109 idtype17
= type_nullable_parser_nodes__TKwmeth
.id
;
9110 if(var_tkwmethnode5
== NULL
) {
9113 if(cltype16
>= var_tkwmethnode5
->type
->table_size
) {
9116 var15
= var_tkwmethnode5
->type
->type_table
[cltype16
] == idtype17
;
9119 if (unlikely(!var15
)) {
9120 PRINT_ERROR("Runtime error: %s", "Assert failed");
9121 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3022);
9124 var_pmethidnode8
= var_nodearraylist5
;
9125 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
9126 cltype19
= type_nullable_parser_nodes__AMethid
.color
;
9127 idtype20
= type_nullable_parser_nodes__AMethid
.id
;
9128 if(var_pmethidnode8
== NULL
) {
9131 if(cltype19
>= var_pmethidnode8
->type
->table_size
) {
9134 var18
= var_pmethidnode8
->type
->type_table
[cltype19
] == idtype20
;
9137 if (unlikely(!var18
)) {
9138 PRINT_ERROR("Runtime error: %s", "Assert failed");
9139 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3024);
9142 var_psignaturenode9
= var_nodearraylist6
;
9143 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
9144 cltype22
= type_nullable_parser_nodes__ASignature
.color
;
9145 idtype23
= type_nullable_parser_nodes__ASignature
.id
;
9146 if(var_psignaturenode9
== NULL
) {
9149 if(cltype22
>= var_psignaturenode9
->type
->table_size
) {
9152 var21
= var_psignaturenode9
->type
->type_table
[cltype22
] == idtype23
;
9155 if (unlikely(!var21
)) {
9156 PRINT_ERROR("Runtime error: %s", "Assert failed");
9157 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3026);
9160 var_pannotationsnode10
= var_nodearraylist7
;
9161 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
9162 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
9163 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
9164 if(var_pannotationsnode10
== NULL
) {
9167 if(cltype25
>= var_pannotationsnode10
->type
->table_size
) {
9170 var24
= var_pannotationsnode10
->type
->type_table
[cltype25
] == idtype26
;
9173 if (unlikely(!var24
)) {
9174 PRINT_ERROR("Runtime error: %s", "Assert failed");
9175 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3028);
9178 var27
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
9185 parser_prod__AMethPropdef__init_amethpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var28
, var29
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var30
, var31
, var32
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var27:AMethPropdef>*/
9187 var_ppropdefnode1
= var27
;
9188 var_node_list
= var_ppropdefnode1
;
9189 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction59> */
9191 var34
= parser_work__Parser__go_to(var_p
, var33
);
9194 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9198 /* method parser#ReduceAction59#action for (self: Object, Parser) */
9199 void VIRTUAL_parser__ReduceAction59__action(val
* self
, val
* p0
) {
9200 parser__ReduceAction59__action(self
, p0
); /* Direct call parser#ReduceAction59#action on <self:Object(ReduceAction59)>*/
9203 /* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */
9204 void parser__ReduceAction60__action(val
* self
, val
* p0
) {
9205 val
* var_p
/* var p: Parser */;
9206 val
* var
/* : null */;
9207 val
* var_node_list
/* var node_list: nullable Object */;
9208 val
* var1
/* : nullable Object */;
9209 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9210 val
* var2
/* : nullable Object */;
9211 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9212 val
* var3
/* : nullable Object */;
9213 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9214 val
* var4
/* : nullable Object */;
9215 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9216 val
* var5
/* : nullable Object */;
9217 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9218 val
* var6
/* : nullable Object */;
9219 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9220 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9221 short int var7
/* : Bool */;
9224 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
9225 short int var8
/* : Bool */;
9228 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
9229 short int var11
/* : Bool */;
9232 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
9233 short int var14
/* : Bool */;
9236 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
9237 short int var17
/* : Bool */;
9240 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
9241 short int var20
/* : Bool */;
9244 val
* var23
/* : AMethPropdef */;
9245 val
* var24
/* : null */;
9246 val
* var25
/* : null */;
9247 val
* var26
/* : null */;
9248 val
* var27
/* : null */;
9249 val
* var28
/* : null */;
9250 val
* var29
/* : null */;
9251 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
9252 long var30
/* : Int */;
9253 long var31
/* : Int */;
9256 var_node_list
= var
;
9258 var1
= parser_work__Parser__pop(var_p
);
9260 var_nodearraylist6
= var1
;
9262 var2
= parser_work__Parser__pop(var_p
);
9264 var_nodearraylist5
= var2
;
9266 var3
= parser_work__Parser__pop(var_p
);
9268 var_nodearraylist4
= var3
;
9270 var4
= parser_work__Parser__pop(var_p
);
9272 var_nodearraylist3
= var4
;
9274 var5
= parser_work__Parser__pop(var_p
);
9276 var_nodearraylist2
= var5
;
9278 var6
= parser_work__Parser__pop(var_p
);
9280 var_nodearraylist1
= var6
;
9281 var_pdocnode2
= var_nodearraylist1
;
9282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9283 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9284 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9285 if(var_pdocnode2
== NULL
) {
9288 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9291 var7
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9294 if (unlikely(!var7
)) {
9295 PRINT_ERROR("Runtime error: %s", "Assert failed");
9296 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3059);
9299 var_tkwredefnode3
= var_nodearraylist2
;
9300 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9301 cltype9
= type_nullable_parser_nodes__TKwredef
.color
;
9302 idtype10
= type_nullable_parser_nodes__TKwredef
.id
;
9303 if(var_tkwredefnode3
== NULL
) {
9306 if(cltype9
>= var_tkwredefnode3
->type
->table_size
) {
9309 var8
= var_tkwredefnode3
->type
->type_table
[cltype9
] == idtype10
;
9312 if (unlikely(!var8
)) {
9313 PRINT_ERROR("Runtime error: %s", "Assert failed");
9314 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3061);
9317 var_pvisibilitynode4
= var_nodearraylist3
;
9318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9319 cltype12
= type_nullable_parser_nodes__AVisibility
.color
;
9320 idtype13
= type_nullable_parser_nodes__AVisibility
.id
;
9321 if(var_pvisibilitynode4
== NULL
) {
9324 if(cltype12
>= var_pvisibilitynode4
->type
->table_size
) {
9327 var11
= var_pvisibilitynode4
->type
->type_table
[cltype12
] == idtype13
;
9330 if (unlikely(!var11
)) {
9331 PRINT_ERROR("Runtime error: %s", "Assert failed");
9332 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3063);
9335 var_tkwnewnode7
= var_nodearraylist4
;
9336 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
9337 cltype15
= type_nullable_parser_nodes__TKwnew
.color
;
9338 idtype16
= type_nullable_parser_nodes__TKwnew
.id
;
9339 if(var_tkwnewnode7
== NULL
) {
9342 if(cltype15
>= var_tkwnewnode7
->type
->table_size
) {
9345 var14
= var_tkwnewnode7
->type
->type_table
[cltype15
] == idtype16
;
9348 if (unlikely(!var14
)) {
9349 PRINT_ERROR("Runtime error: %s", "Assert failed");
9350 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3065);
9353 var_psignaturenode9
= var_nodearraylist5
;
9354 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
9355 cltype18
= type_nullable_parser_nodes__ASignature
.color
;
9356 idtype19
= type_nullable_parser_nodes__ASignature
.id
;
9357 if(var_psignaturenode9
== NULL
) {
9360 if(cltype18
>= var_psignaturenode9
->type
->table_size
) {
9363 var17
= var_psignaturenode9
->type
->type_table
[cltype18
] == idtype19
;
9366 if (unlikely(!var17
)) {
9367 PRINT_ERROR("Runtime error: %s", "Assert failed");
9368 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3067);
9371 var_pannotationsnode10
= var_nodearraylist6
;
9372 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
9373 cltype21
= type_nullable_parser_nodes__AAnnotations
.color
;
9374 idtype22
= type_nullable_parser_nodes__AAnnotations
.id
;
9375 if(var_pannotationsnode10
== NULL
) {
9378 if(cltype21
>= var_pannotationsnode10
->type
->table_size
) {
9381 var20
= var_pannotationsnode10
->type
->type_table
[cltype21
] == idtype22
;
9384 if (unlikely(!var20
)) {
9385 PRINT_ERROR("Runtime error: %s", "Assert failed");
9386 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3069);
9389 var23
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
9397 parser_prod__AMethPropdef__init_amethpropdef(var23
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var24
, var25
, var_tkwnewnode7
, var26
, var_psignaturenode9
, var_pannotationsnode10
, var27
, var28
, var29
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var23:AMethPropdef>*/
9399 var_ppropdefnode1
= var23
;
9400 var_node_list
= var_ppropdefnode1
;
9401 var30
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction60> */
9403 var31
= parser_work__Parser__go_to(var_p
, var30
);
9406 parser_work__Parser__push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9410 /* method parser#ReduceAction60#action for (self: Object, Parser) */
9411 void VIRTUAL_parser__ReduceAction60__action(val
* self
, val
* p0
) {
9412 parser__ReduceAction60__action(self
, p0
); /* Direct call parser#ReduceAction60#action on <self:Object(ReduceAction60)>*/
9415 /* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */
9416 void parser__ReduceAction61__action(val
* self
, val
* p0
) {
9417 val
* var_p
/* var p: Parser */;
9418 val
* var
/* : null */;
9419 val
* var_node_list
/* var node_list: nullable Object */;
9420 val
* var1
/* : nullable Object */;
9421 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9422 val
* var2
/* : nullable Object */;
9423 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9424 val
* var3
/* : nullable Object */;
9425 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9426 val
* var4
/* : nullable Object */;
9427 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9428 val
* var5
/* : nullable Object */;
9429 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9430 val
* var6
/* : nullable Object */;
9431 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9432 val
* var7
/* : nullable Object */;
9433 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9434 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9435 short int var8
/* : Bool */;
9438 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
9439 short int var9
/* : Bool */;
9442 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
9443 short int var12
/* : Bool */;
9446 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
9447 short int var15
/* : Bool */;
9450 val
* var_pmethidnode8
/* var pmethidnode8: nullable Object */;
9451 short int var18
/* : Bool */;
9454 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
9455 short int var21
/* : Bool */;
9458 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
9459 short int var24
/* : Bool */;
9462 val
* var27
/* : AMethPropdef */;
9463 val
* var28
/* : null */;
9464 val
* var29
/* : null */;
9465 val
* var30
/* : null */;
9466 val
* var31
/* : null */;
9467 val
* var32
/* : null */;
9468 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
9469 long var33
/* : Int */;
9470 long var34
/* : Int */;
9473 var_node_list
= var
;
9475 var1
= parser_work__Parser__pop(var_p
);
9477 var_nodearraylist7
= var1
;
9479 var2
= parser_work__Parser__pop(var_p
);
9481 var_nodearraylist6
= var2
;
9483 var3
= parser_work__Parser__pop(var_p
);
9485 var_nodearraylist5
= var3
;
9487 var4
= parser_work__Parser__pop(var_p
);
9489 var_nodearraylist4
= var4
;
9491 var5
= parser_work__Parser__pop(var_p
);
9493 var_nodearraylist3
= var5
;
9495 var6
= parser_work__Parser__pop(var_p
);
9497 var_nodearraylist2
= var6
;
9499 var7
= parser_work__Parser__pop(var_p
);
9501 var_nodearraylist1
= var7
;
9502 var_pdocnode2
= var_nodearraylist1
;
9503 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9504 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9505 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9506 if(var_pdocnode2
== NULL
) {
9509 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9512 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9515 if (unlikely(!var8
)) {
9516 PRINT_ERROR("Runtime error: %s", "Assert failed");
9517 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3101);
9520 var_tkwredefnode3
= var_nodearraylist2
;
9521 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9522 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
9523 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
9524 if(var_tkwredefnode3
== NULL
) {
9527 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
9530 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
9533 if (unlikely(!var9
)) {
9534 PRINT_ERROR("Runtime error: %s", "Assert failed");
9535 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3103);
9538 var_pvisibilitynode4
= var_nodearraylist3
;
9539 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9540 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
9541 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
9542 if(var_pvisibilitynode4
== NULL
) {
9545 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
9548 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
9551 if (unlikely(!var12
)) {
9552 PRINT_ERROR("Runtime error: %s", "Assert failed");
9553 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3105);
9556 var_tkwnewnode7
= var_nodearraylist4
;
9557 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
9558 cltype16
= type_nullable_parser_nodes__TKwnew
.color
;
9559 idtype17
= type_nullable_parser_nodes__TKwnew
.id
;
9560 if(var_tkwnewnode7
== NULL
) {
9563 if(cltype16
>= var_tkwnewnode7
->type
->table_size
) {
9566 var15
= var_tkwnewnode7
->type
->type_table
[cltype16
] == idtype17
;
9569 if (unlikely(!var15
)) {
9570 PRINT_ERROR("Runtime error: %s", "Assert failed");
9571 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3107);
9574 var_pmethidnode8
= var_nodearraylist5
;
9575 /* <var_pmethidnode8:nullable Object> isa nullable AMethid */
9576 cltype19
= type_nullable_parser_nodes__AMethid
.color
;
9577 idtype20
= type_nullable_parser_nodes__AMethid
.id
;
9578 if(var_pmethidnode8
== NULL
) {
9581 if(cltype19
>= var_pmethidnode8
->type
->table_size
) {
9584 var18
= var_pmethidnode8
->type
->type_table
[cltype19
] == idtype20
;
9587 if (unlikely(!var18
)) {
9588 PRINT_ERROR("Runtime error: %s", "Assert failed");
9589 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3109);
9592 var_psignaturenode9
= var_nodearraylist6
;
9593 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
9594 cltype22
= type_nullable_parser_nodes__ASignature
.color
;
9595 idtype23
= type_nullable_parser_nodes__ASignature
.id
;
9596 if(var_psignaturenode9
== NULL
) {
9599 if(cltype22
>= var_psignaturenode9
->type
->table_size
) {
9602 var21
= var_psignaturenode9
->type
->type_table
[cltype22
] == idtype23
;
9605 if (unlikely(!var21
)) {
9606 PRINT_ERROR("Runtime error: %s", "Assert failed");
9607 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3111);
9610 var_pannotationsnode10
= var_nodearraylist7
;
9611 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
9612 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
9613 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
9614 if(var_pannotationsnode10
== NULL
) {
9617 if(cltype25
>= var_pannotationsnode10
->type
->table_size
) {
9620 var24
= var_pannotationsnode10
->type
->type_table
[cltype25
] == idtype26
;
9623 if (unlikely(!var24
)) {
9624 PRINT_ERROR("Runtime error: %s", "Assert failed");
9625 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3113);
9628 var27
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
9635 parser_prod__AMethPropdef__init_amethpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var28
, var29
, var_tkwnewnode7
, var_pmethidnode8
, var_psignaturenode9
, var_pannotationsnode10
, var30
, var31
, var32
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var27:AMethPropdef>*/
9637 var_ppropdefnode1
= var27
;
9638 var_node_list
= var_ppropdefnode1
;
9639 var33
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction61> */
9641 var34
= parser_work__Parser__go_to(var_p
, var33
);
9644 parser_work__Parser__push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9648 /* method parser#ReduceAction61#action for (self: Object, Parser) */
9649 void VIRTUAL_parser__ReduceAction61__action(val
* self
, val
* p0
) {
9650 parser__ReduceAction61__action(self
, p0
); /* Direct call parser#ReduceAction61#action on <self:Object(ReduceAction61)>*/
9653 /* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */
9654 void parser__ReduceAction62__action(val
* self
, val
* p0
) {
9655 val
* var_p
/* var p: Parser */;
9656 val
* var
/* : null */;
9657 val
* var_node_list
/* var node_list: nullable Object */;
9658 val
* var1
/* : nullable Object */;
9659 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9660 val
* var2
/* : nullable Object */;
9661 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9662 val
* var3
/* : nullable Object */;
9663 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9664 val
* var4
/* : nullable Object */;
9665 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9666 val
* var5
/* : nullable Object */;
9667 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9668 val
* var6
/* : nullable Object */;
9669 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9670 val
* var7
/* : nullable Object */;
9671 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9672 val
* var8
/* : nullable Object */;
9673 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9674 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9675 short int var9
/* : Bool */;
9678 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
9679 short int var10
/* : Bool */;
9682 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
9683 short int var13
/* : Bool */;
9686 val
* var_tkwnewnode7
/* var tkwnewnode7: nullable Object */;
9687 short int var16
/* : Bool */;
9690 val
* var_psignaturenode9
/* var psignaturenode9: nullable Object */;
9691 short int var19
/* : Bool */;
9694 val
* var_pexprnode13
/* var pexprnode13: nullable Object */;
9695 short int var22
/* : Bool */;
9698 val
* var25
/* : AMethPropdef */;
9699 val
* var26
/* : null */;
9700 val
* var27
/* : null */;
9701 val
* var28
/* : null */;
9702 val
* var29
/* : null */;
9703 val
* var30
/* : null */;
9704 val
* var31
/* : null */;
9705 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMethPropdef */;
9706 long var32
/* : Int */;
9707 long var33
/* : Int */;
9710 var_node_list
= var
;
9712 var1
= parser_work__Parser__pop(var_p
);
9714 var_nodearraylist8
= var1
;
9716 var2
= parser_work__Parser__pop(var_p
);
9718 var_nodearraylist7
= var2
;
9720 var3
= parser_work__Parser__pop(var_p
);
9722 var_nodearraylist6
= var3
;
9724 var4
= parser_work__Parser__pop(var_p
);
9726 var_nodearraylist5
= var4
;
9728 var5
= parser_work__Parser__pop(var_p
);
9730 var_nodearraylist4
= var5
;
9732 var6
= parser_work__Parser__pop(var_p
);
9734 var_nodearraylist3
= var6
;
9736 var7
= parser_work__Parser__pop(var_p
);
9738 var_nodearraylist2
= var7
;
9740 var8
= parser_work__Parser__pop(var_p
);
9742 var_nodearraylist1
= var8
;
9743 var_pdocnode2
= var_nodearraylist1
;
9744 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9745 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9746 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9747 if(var_pdocnode2
== NULL
) {
9750 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9753 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9756 if (unlikely(!var9
)) {
9757 PRINT_ERROR("Runtime error: %s", "Assert failed");
9758 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3146);
9761 var_tkwredefnode3
= var_nodearraylist2
;
9762 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9763 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
9764 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
9765 if(var_tkwredefnode3
== NULL
) {
9768 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
9771 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
9774 if (unlikely(!var10
)) {
9775 PRINT_ERROR("Runtime error: %s", "Assert failed");
9776 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3148);
9779 var_pvisibilitynode4
= var_nodearraylist3
;
9780 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9781 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
9782 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
9783 if(var_pvisibilitynode4
== NULL
) {
9786 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
9789 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
9792 if (unlikely(!var13
)) {
9793 PRINT_ERROR("Runtime error: %s", "Assert failed");
9794 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3150);
9797 var_tkwnewnode7
= var_nodearraylist4
;
9798 /* <var_tkwnewnode7:nullable Object> isa nullable TKwnew */
9799 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
9800 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
9801 if(var_tkwnewnode7
== NULL
) {
9804 if(cltype17
>= var_tkwnewnode7
->type
->table_size
) {
9807 var16
= var_tkwnewnode7
->type
->type_table
[cltype17
] == idtype18
;
9810 if (unlikely(!var16
)) {
9811 PRINT_ERROR("Runtime error: %s", "Assert failed");
9812 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3152);
9815 var_psignaturenode9
= var_nodearraylist5
;
9816 /* <var_psignaturenode9:nullable Object> isa nullable ASignature */
9817 cltype20
= type_nullable_parser_nodes__ASignature
.color
;
9818 idtype21
= type_nullable_parser_nodes__ASignature
.id
;
9819 if(var_psignaturenode9
== NULL
) {
9822 if(cltype20
>= var_psignaturenode9
->type
->table_size
) {
9825 var19
= var_psignaturenode9
->type
->type_table
[cltype20
] == idtype21
;
9828 if (unlikely(!var19
)) {
9829 PRINT_ERROR("Runtime error: %s", "Assert failed");
9830 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3154);
9833 var_pexprnode13
= var_nodearraylist7
;
9834 /* <var_pexprnode13:nullable Object> isa nullable AExpr */
9835 cltype23
= type_nullable_parser_nodes__AExpr
.color
;
9836 idtype24
= type_nullable_parser_nodes__AExpr
.id
;
9837 if(var_pexprnode13
== NULL
) {
9840 if(cltype23
>= var_pexprnode13
->type
->table_size
) {
9843 var22
= var_pexprnode13
->type
->type_table
[cltype23
] == idtype24
;
9846 if (unlikely(!var22
)) {
9847 PRINT_ERROR("Runtime error: %s", "Assert failed");
9848 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3156);
9851 var25
= NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef
);
9859 parser_prod__AMethPropdef__init_amethpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var26
, var27
, var_tkwnewnode7
, var28
, var_psignaturenode9
, var29
, var30
, var31
, var_pexprnode13
); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on <var25:AMethPropdef>*/
9861 var_ppropdefnode1
= var25
;
9862 var_node_list
= var_ppropdefnode1
;
9863 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction62> */
9865 var33
= parser_work__Parser__go_to(var_p
, var32
);
9868 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9872 /* method parser#ReduceAction62#action for (self: Object, Parser) */
9873 void VIRTUAL_parser__ReduceAction62__action(val
* self
, val
* p0
) {
9874 parser__ReduceAction62__action(self
, p0
); /* Direct call parser#ReduceAction62#action on <self:Object(ReduceAction62)>*/