1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */
3 void parser__ReduceAction18__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
19 val
* var7
/* : nullable Object */;
20 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
21 val
* var_pvisibilitynode2
/* var pvisibilitynode2: nullable Object */;
22 short int var8
/* : Bool */;
25 val
* var_tkwimportnode3
/* var tkwimportnode3: nullable Object */;
26 short int var9
/* : Bool */;
29 val
* var_tkwendnode4
/* var tkwendnode4: nullable Object */;
30 short int var12
/* : Bool */;
33 val
* var15
/* : ANoImport */;
34 val
* var_pimportnode1
/* var pimportnode1: nullable ANoImport */;
35 long var16
/* : Int */;
36 long var17
/* : Int */;
41 var1
= parser_work__Parser__pop(var_p
);
43 var_nodearraylist7
= var1
;
45 var2
= parser_work__Parser__pop(var_p
);
47 var_nodearraylist6
= var2
;
49 var3
= parser_work__Parser__pop(var_p
);
51 var_nodearraylist5
= var3
;
53 var4
= parser_work__Parser__pop(var_p
);
55 var_nodearraylist4
= var4
;
57 var5
= parser_work__Parser__pop(var_p
);
59 var_nodearraylist3
= var5
;
61 var6
= parser_work__Parser__pop(var_p
);
63 var_nodearraylist2
= var6
;
65 var7
= parser_work__Parser__pop(var_p
);
67 var_nodearraylist1
= var7
;
68 var_pvisibilitynode2
= var_nodearraylist3
;
69 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
70 cltype
= type_nullable_parser_nodes__AVisibility
.color
;
71 idtype
= type_nullable_parser_nodes__AVisibility
.id
;
72 if(var_pvisibilitynode2
== NULL
) {
75 if(cltype
>= var_pvisibilitynode2
->type
->table_size
) {
78 var8
= var_pvisibilitynode2
->type
->type_table
[cltype
] == idtype
;
81 if (unlikely(!var8
)) {
82 PRINT_ERROR("Runtime error: %s", "Assert failed");
83 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1432);
86 var_tkwimportnode3
= var_nodearraylist4
;
87 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
88 cltype10
= type_nullable_parser_nodes__TKwimport
.color
;
89 idtype11
= type_nullable_parser_nodes__TKwimport
.id
;
90 if(var_tkwimportnode3
== NULL
) {
93 if(cltype10
>= var_tkwimportnode3
->type
->table_size
) {
96 var9
= var_tkwimportnode3
->type
->type_table
[cltype10
] == idtype11
;
99 if (unlikely(!var9
)) {
100 PRINT_ERROR("Runtime error: %s", "Assert failed");
101 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1434);
104 var_tkwendnode4
= var_nodearraylist6
;
105 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
106 cltype13
= type_nullable_parser_nodes__TKwend
.color
;
107 idtype14
= type_nullable_parser_nodes__TKwend
.id
;
108 if(var_tkwendnode4
== NULL
) {
111 if(cltype13
>= var_tkwendnode4
->type
->table_size
) {
114 var12
= var_tkwendnode4
->type
->type_table
[cltype13
] == idtype14
;
117 if (unlikely(!var12
)) {
118 PRINT_ERROR("Runtime error: %s", "Assert failed");
119 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1436);
122 var15
= NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport
);
124 parser_prod__ANoImport__init_anoimport(var15
, var_pvisibilitynode2
, var_tkwimportnode3
, var_tkwendnode4
); /* Direct call parser_prod#ANoImport#init_anoimport on <var15:ANoImport>*/
126 var_pimportnode1
= var15
;
127 var_node_list
= var_pimportnode1
;
128 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction18> */
130 var17
= parser_work__Parser__go_to(var_p
, var16
);
133 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
137 /* method parser#ReduceAction18#action for (self: Object, Parser) */
138 void VIRTUAL_parser__ReduceAction18__action(val
* self
, val
* p0
) {
139 parser__ReduceAction18__action(self
, p0
); /* Direct call parser#ReduceAction18#action on <self:Object(ReduceAction18)>*/
142 /* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */
143 void parser__ReduceAction19__action(val
* self
, val
* p0
) {
144 val
* var_p
/* var p: Parser */;
145 val
* var
/* : null */;
146 val
* var_node_list
/* var node_list: nullable Object */;
147 val
* var1
/* : nullable Object */;
148 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
149 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
150 long var2
/* : Int */;
151 long var3
/* : Int */;
156 var1
= parser_work__Parser__pop(var_p
);
158 var_nodearraylist1
= var1
;
159 var_pclassdefnode1
= var_nodearraylist1
;
160 var_node_list
= var_pclassdefnode1
;
161 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction19> */
163 var3
= parser_work__Parser__go_to(var_p
, var2
);
166 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
170 /* method parser#ReduceAction19#action for (self: Object, Parser) */
171 void VIRTUAL_parser__ReduceAction19__action(val
* self
, val
* p0
) {
172 parser__ReduceAction19__action(self
, p0
); /* Direct call parser#ReduceAction19#action on <self:Object(ReduceAction19)>*/
175 /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */
176 void parser__ReduceAction20__action(val
* self
, val
* p0
) {
177 val
* var_p
/* var p: Parser */;
178 val
* var
/* : null */;
179 val
* var_node_list
/* var node_list: nullable Object */;
180 val
* var1
/* : nullable Object */;
181 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
182 val
* var2
/* : Array[Object] */;
183 val
* var_listnode3
/* var listnode3: Array[Object] */;
184 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
185 short int var3
/* : Bool */;
188 val
* var4
/* : null */;
189 short int var5
/* : Bool */;
190 short int var6
/* : Bool */;
191 val
* var_other
/* var other: nullable Object */;
192 short int var8
/* : Bool */;
193 short int var9
/* : Bool */;
194 short int var10
/* : Bool */;
195 val
* var11
/* : ATopClassdef */;
196 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable ATopClassdef */;
197 long var12
/* : Int */;
198 long var13
/* : Int */;
203 var1
= parser_work__Parser__pop(var_p
);
205 var_nodearraylist1
= var1
;
206 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
208 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
210 var_listnode3
= var2
;
211 var_ppropdefnode2
= var_nodearraylist1
;
212 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
213 cltype
= type_nullable_parser_nodes__APropdef
.color
;
214 idtype
= type_nullable_parser_nodes__APropdef
.id
;
215 if(var_ppropdefnode2
== NULL
) {
218 if(cltype
>= var_ppropdefnode2
->type
->table_size
) {
221 var3
= var_ppropdefnode2
->type
->type_table
[cltype
] == idtype
;
224 if (unlikely(!var3
)) {
225 PRINT_ERROR("Runtime error: %s", "Assert failed");
226 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1465);
230 if (var_ppropdefnode2
== NULL
) {
231 var5
= 0; /* is null */
233 var5
= 1; /* arg is null and recv is not */
236 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
239 var9
= ((short int (*)(val
*, val
*))(var_ppropdefnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ppropdefnode2
, var_other
) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
251 array__Array__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
255 var11
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
257 parser_prod__ATopClassdef__init_atopclassdef(var11
, var_listnode3
); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on <var11:ATopClassdef>*/
259 var_pclassdefnode1
= var11
;
260 var_node_list
= var_pclassdefnode1
;
261 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction20> */
263 var13
= parser_work__Parser__go_to(var_p
, var12
);
266 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
270 /* method parser#ReduceAction20#action for (self: Object, Parser) */
271 void VIRTUAL_parser__ReduceAction20__action(val
* self
, val
* p0
) {
272 parser__ReduceAction20__action(self
, p0
); /* Direct call parser#ReduceAction20#action on <self:Object(ReduceAction20)>*/
275 /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */
276 void parser__ReduceAction21__action(val
* self
, val
* p0
) {
277 val
* var_p
/* var p: Parser */;
278 val
* var
/* : null */;
279 val
* var_node_list
/* var node_list: nullable Object */;
280 val
* var1
/* : nullable Object */;
281 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
282 val
* var2
/* : Array[Object] */;
283 val
* var_listnode3
/* var listnode3: Array[Object] */;
284 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
285 short int var3
/* : Bool */;
288 val
* var4
/* : null */;
289 short int var5
/* : Bool */;
290 short int var6
/* : Bool */;
291 val
* var_other
/* var other: nullable Object */;
292 short int var8
/* : Bool */;
293 short int var9
/* : Bool */;
294 short int var10
/* : Bool */;
295 val
* var11
/* : AMainClassdef */;
296 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AMainClassdef */;
297 long var12
/* : Int */;
298 long var13
/* : Int */;
303 var1
= parser_work__Parser__pop(var_p
);
305 var_nodearraylist1
= var1
;
306 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
308 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
310 var_listnode3
= var2
;
311 var_ppropdefnode2
= var_nodearraylist1
;
312 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
313 cltype
= type_nullable_parser_nodes__APropdef
.color
;
314 idtype
= type_nullable_parser_nodes__APropdef
.id
;
315 if(var_ppropdefnode2
== NULL
) {
318 if(cltype
>= var_ppropdefnode2
->type
->table_size
) {
321 var3
= var_ppropdefnode2
->type
->type_table
[cltype
] == idtype
;
324 if (unlikely(!var3
)) {
325 PRINT_ERROR("Runtime error: %s", "Assert failed");
326 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1484);
330 if (var_ppropdefnode2
== NULL
) {
331 var5
= 0; /* is null */
333 var5
= 1; /* arg is null and recv is not */
336 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
339 var9
= ((short int (*)(val
*, val
*))(var_ppropdefnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ppropdefnode2
, var_other
) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
351 array__Array__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
355 var11
= NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef
);
357 parser_prod__AMainClassdef__init_amainclassdef(var11
, var_listnode3
); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on <var11:AMainClassdef>*/
359 var_pclassdefnode1
= var11
;
360 var_node_list
= var_pclassdefnode1
;
361 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction21> */
363 var13
= parser_work__Parser__go_to(var_p
, var12
);
366 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
370 /* method parser#ReduceAction21#action for (self: Object, Parser) */
371 void VIRTUAL_parser__ReduceAction21__action(val
* self
, val
* p0
) {
372 parser__ReduceAction21__action(self
, p0
); /* Direct call parser#ReduceAction21#action on <self:Object(ReduceAction21)>*/
375 /* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */
376 void parser__ReduceAction22__action(val
* self
, val
* p0
) {
377 val
* var_p
/* var p: Parser */;
378 val
* var
/* : null */;
379 val
* var_node_list
/* var node_list: nullable Object */;
380 val
* var1
/* : null */;
381 long var2
/* : Int */;
382 long var3
/* : Int */;
387 var_node_list
= var1
;
388 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction22> */
390 var3
= parser_work__Parser__go_to(var_p
, var2
);
393 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
397 /* method parser#ReduceAction22#action for (self: Object, Parser) */
398 void VIRTUAL_parser__ReduceAction22__action(val
* self
, val
* p0
) {
399 parser__ReduceAction22__action(self
, p0
); /* Direct call parser#ReduceAction22#action on <self:Object(ReduceAction22)>*/
402 /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */
403 void parser__ReduceAction23__action(val
* self
, val
* p0
) {
404 val
* var_p
/* var p: Parser */;
405 val
* var
/* : null */;
406 val
* var_node_list
/* var node_list: nullable Object */;
407 val
* var1
/* : nullable Object */;
408 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
409 val
* var2
/* : null */;
410 long var3
/* : Int */;
411 long var4
/* : Int */;
416 var1
= parser_work__Parser__pop(var_p
);
418 var_nodearraylist1
= var1
;
420 var_node_list
= var2
;
421 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction23> */
423 var4
= parser_work__Parser__go_to(var_p
, var3
);
426 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
430 /* method parser#ReduceAction23#action for (self: Object, Parser) */
431 void VIRTUAL_parser__ReduceAction23__action(val
* self
, val
* p0
) {
432 parser__ReduceAction23__action(self
, p0
); /* Direct call parser#ReduceAction23#action on <self:Object(ReduceAction23)>*/
435 /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */
436 void parser__ReduceAction24__action(val
* self
, val
* p0
) {
437 val
* var_p
/* var p: Parser */;
438 val
* var
/* : null */;
439 val
* var_node_list
/* var node_list: nullable Object */;
440 val
* var1
/* : nullable Object */;
441 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
442 val
* var2
/* : nullable Object */;
443 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
444 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
445 short int var3
/* : Bool */;
448 val
* var4
/* : AMainMethPropdef */;
449 val
* var5
/* : null */;
450 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AMainMethPropdef */;
451 long var6
/* : Int */;
452 long var7
/* : Int */;
457 var1
= parser_work__Parser__pop(var_p
);
459 var_nodearraylist2
= var1
;
461 var2
= parser_work__Parser__pop(var_p
);
463 var_nodearraylist1
= var2
;
464 var_pexprnode3
= var_nodearraylist2
;
465 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
466 cltype
= type_nullable_parser_nodes__AExpr
.color
;
467 idtype
= type_nullable_parser_nodes__AExpr
.id
;
468 if(var_pexprnode3
== NULL
) {
471 if(cltype
>= var_pexprnode3
->type
->table_size
) {
474 var3
= var_pexprnode3
->type
->type_table
[cltype
] == idtype
;
477 if (unlikely(!var3
)) {
478 PRINT_ERROR("Runtime error: %s", "Assert failed");
479 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1522);
482 var4
= NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef
);
485 parser_prod__AMainMethPropdef__init_amainmethpropdef(var4
, var5
, var_pexprnode3
); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on <var4:AMainMethPropdef>*/
487 var_ppropdefnode1
= var4
;
488 var_node_list
= var_ppropdefnode1
;
489 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction24> */
491 var7
= parser_work__Parser__go_to(var_p
, var6
);
494 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
498 /* method parser#ReduceAction24#action for (self: Object, Parser) */
499 void VIRTUAL_parser__ReduceAction24__action(val
* self
, val
* p0
) {
500 parser__ReduceAction24__action(self
, p0
); /* Direct call parser#ReduceAction24#action on <self:Object(ReduceAction24)>*/
503 /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */
504 void parser__ReduceAction26__action(val
* self
, val
* p0
) {
505 val
* var_p
/* var p: Parser */;
506 val
* var
/* : null */;
507 val
* var_node_list
/* var node_list: nullable Object */;
508 val
* var1
/* : nullable Object */;
509 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
510 val
* var2
/* : nullable Object */;
511 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
512 val
* var3
/* : nullable Object */;
513 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
514 val
* var4
/* : nullable Object */;
515 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
516 val
* var5
/* : nullable Object */;
517 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
518 val
* var6
/* : nullable Object */;
519 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
520 val
* var7
/* : nullable Object */;
521 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
522 val
* var8
/* : nullable Object */;
523 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
524 val
* var9
/* : nullable Object */;
525 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
526 val
* var10
/* : Array[Object] */;
527 val
* var_listnode8
/* var listnode8: Array[Object] */;
528 val
* var11
/* : Array[Object] */;
529 val
* var_listnode11
/* var listnode11: Array[Object] */;
530 val
* var12
/* : Array[Object] */;
531 val
* var_listnode12
/* var listnode12: Array[Object] */;
532 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
533 short int var13
/* : Bool */;
536 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
537 short int var14
/* : Bool */;
540 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
541 short int var17
/* : Bool */;
544 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
545 short int var20
/* : Bool */;
548 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
549 short int var23
/* : Bool */;
552 val
* var_listnode7
/* var listnode7: nullable Object */;
553 short int var26
/* : Bool */;
556 val
* var29
/* : Array[Object] */;
557 val
* var_tkwendnode13
/* var tkwendnode13: nullable Object */;
558 short int var30
/* : Bool */;
561 val
* var33
/* : AStdClassdef */;
562 val
* var34
/* : null */;
563 val
* var35
/* : null */;
564 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
565 long var36
/* : Int */;
566 long var37
/* : Int */;
571 var1
= parser_work__Parser__pop(var_p
);
573 var_nodearraylist9
= var1
;
575 var2
= parser_work__Parser__pop(var_p
);
577 var_nodearraylist8
= var2
;
579 var3
= parser_work__Parser__pop(var_p
);
581 var_nodearraylist7
= var3
;
583 var4
= parser_work__Parser__pop(var_p
);
585 var_nodearraylist6
= var4
;
587 var5
= parser_work__Parser__pop(var_p
);
589 var_nodearraylist5
= var5
;
591 var6
= parser_work__Parser__pop(var_p
);
593 var_nodearraylist4
= var6
;
595 var7
= parser_work__Parser__pop(var_p
);
597 var_nodearraylist3
= var7
;
599 var8
= parser_work__Parser__pop(var_p
);
601 var_nodearraylist2
= var8
;
603 var9
= parser_work__Parser__pop(var_p
);
605 var_nodearraylist1
= var9
;
606 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
608 array__Array__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
610 var_listnode8
= var10
;
611 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
613 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
615 var_listnode11
= var11
;
616 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
618 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
620 var_listnode12
= var12
;
621 var_pdocnode2
= var_nodearraylist1
;
622 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
623 cltype
= type_nullable_parser_nodes__ADoc
.color
;
624 idtype
= type_nullable_parser_nodes__ADoc
.id
;
625 if(var_pdocnode2
== NULL
) {
628 if(cltype
>= var_pdocnode2
->type
->table_size
) {
631 var13
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
634 if (unlikely(!var13
)) {
635 PRINT_ERROR("Runtime error: %s", "Assert failed");
636 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1549);
639 var_tkwredefnode3
= var_nodearraylist2
;
640 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
641 cltype15
= type_nullable_parser_nodes__TKwredef
.color
;
642 idtype16
= type_nullable_parser_nodes__TKwredef
.id
;
643 if(var_tkwredefnode3
== NULL
) {
646 if(cltype15
>= var_tkwredefnode3
->type
->table_size
) {
649 var14
= var_tkwredefnode3
->type
->type_table
[cltype15
] == idtype16
;
652 if (unlikely(!var14
)) {
653 PRINT_ERROR("Runtime error: %s", "Assert failed");
654 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1551);
657 var_pvisibilitynode4
= var_nodearraylist3
;
658 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
659 cltype18
= type_nullable_parser_nodes__AVisibility
.color
;
660 idtype19
= type_nullable_parser_nodes__AVisibility
.id
;
661 if(var_pvisibilitynode4
== NULL
) {
664 if(cltype18
>= var_pvisibilitynode4
->type
->table_size
) {
667 var17
= var_pvisibilitynode4
->type
->type_table
[cltype18
] == idtype19
;
670 if (unlikely(!var17
)) {
671 PRINT_ERROR("Runtime error: %s", "Assert failed");
672 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1553);
675 var_pclasskindnode5
= var_nodearraylist4
;
676 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
677 cltype21
= type_nullable_parser_nodes__AClasskind
.color
;
678 idtype22
= type_nullable_parser_nodes__AClasskind
.id
;
679 if(var_pclasskindnode5
== NULL
) {
682 if(cltype21
>= var_pclasskindnode5
->type
->table_size
) {
685 var20
= var_pclasskindnode5
->type
->type_table
[cltype21
] == idtype22
;
688 if (unlikely(!var20
)) {
689 PRINT_ERROR("Runtime error: %s", "Assert failed");
690 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1555);
693 var_tclassidnode6
= var_nodearraylist6
;
694 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
695 cltype24
= type_nullable_parser_nodes__TClassid
.color
;
696 idtype25
= type_nullable_parser_nodes__TClassid
.id
;
697 if(var_tclassidnode6
== NULL
) {
700 if(cltype24
>= var_tclassidnode6
->type
->table_size
) {
703 var23
= var_tclassidnode6
->type
->type_table
[cltype24
] == idtype25
;
706 if (unlikely(!var23
)) {
707 PRINT_ERROR("Runtime error: %s", "Assert failed");
708 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1557);
711 var_listnode7
= var_nodearraylist7
;
712 /* <var_listnode7:nullable Object> isa Array[Object] */
713 cltype27
= type_array__Arraykernel__Object
.color
;
714 idtype28
= type_array__Arraykernel__Object
.id
;
715 if(var_listnode7
== NULL
) {
718 if(cltype27
>= var_listnode7
->type
->table_size
) {
721 var26
= var_listnode7
->type
->type_table
[cltype27
] == idtype28
;
724 if (unlikely(!var26
)) {
725 PRINT_ERROR("Runtime error: %s", "Assert failed");
726 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1559);
730 var29
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
732 var_listnode8
= var29
;
733 var_tkwendnode13
= var_nodearraylist9
;
734 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
735 cltype31
= type_nullable_parser_nodes__TKwend
.color
;
736 idtype32
= type_nullable_parser_nodes__TKwend
.id
;
737 if(var_tkwendnode13
== NULL
) {
740 if(cltype31
>= var_tkwendnode13
->type
->table_size
) {
743 var30
= var_tkwendnode13
->type
->type_table
[cltype31
] == idtype32
;
746 if (unlikely(!var30
)) {
747 PRINT_ERROR("Runtime error: %s", "Assert failed");
748 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1562);
751 var33
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
755 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>*/
757 var_pclassdefnode1
= var33
;
758 var_node_list
= var_pclassdefnode1
;
759 var36
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction26> */
761 var37
= parser_work__Parser__go_to(var_p
, var36
);
764 parser_work__Parser__push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
768 /* method parser#ReduceAction26#action for (self: Object, Parser) */
769 void VIRTUAL_parser__ReduceAction26__action(val
* self
, val
* p0
) {
770 parser__ReduceAction26__action(self
, p0
); /* Direct call parser#ReduceAction26#action on <self:Object(ReduceAction26)>*/
773 /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */
774 void parser__ReduceAction27__action(val
* self
, val
* p0
) {
775 val
* var_p
/* var p: Parser */;
776 val
* var
/* : null */;
777 val
* var_node_list
/* var node_list: nullable Object */;
778 val
* var1
/* : nullable Object */;
779 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
780 val
* var2
/* : nullable Object */;
781 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
782 val
* var3
/* : nullable Object */;
783 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
784 val
* var4
/* : nullable Object */;
785 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
786 val
* var5
/* : nullable Object */;
787 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
788 val
* var6
/* : nullable Object */;
789 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
790 val
* var7
/* : nullable Object */;
791 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
792 val
* var8
/* : nullable Object */;
793 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
794 val
* var9
/* : nullable Object */;
795 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
796 val
* var10
/* : nullable Object */;
797 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
798 val
* var11
/* : Array[Object] */;
799 val
* var_listnode8
/* var listnode8: Array[Object] */;
800 val
* var12
/* : Array[Object] */;
801 val
* var_listnode16
/* var listnode16: Array[Object] */;
802 val
* var13
/* : Array[Object] */;
803 val
* var_listnode17
/* var listnode17: Array[Object] */;
804 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
805 short int var14
/* : Bool */;
808 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
809 short int var15
/* : Bool */;
812 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
813 short int var18
/* : Bool */;
816 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
817 short int var21
/* : Bool */;
820 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
821 short int var24
/* : Bool */;
824 val
* var_listnode7
/* var listnode7: nullable Object */;
825 short int var27
/* : Bool */;
828 val
* var30
/* : Array[Object] */;
829 val
* var31
/* : Array[Object] */;
830 val
* var_listnode13
/* var listnode13: Array[Object] */;
831 val
* var_listnode12
/* var listnode12: nullable Object */;
832 short int var32
/* : Bool */;
835 val
* var35
/* : Array[Object] */;
836 val
* var36
/* : AAnnotations */;
837 val
* var37
/* : null */;
838 val
* var38
/* : null */;
839 val
* var39
/* : null */;
840 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
841 val
* var_tkwendnode18
/* var tkwendnode18: nullable Object */;
842 short int var40
/* : Bool */;
845 val
* var43
/* : AStdClassdef */;
846 val
* var44
/* : null */;
847 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
848 long var45
/* : Int */;
849 long var46
/* : Int */;
854 var1
= parser_work__Parser__pop(var_p
);
856 var_nodearraylist10
= var1
;
858 var2
= parser_work__Parser__pop(var_p
);
860 var_nodearraylist9
= var2
;
862 var3
= parser_work__Parser__pop(var_p
);
864 var_nodearraylist8
= var3
;
866 var4
= parser_work__Parser__pop(var_p
);
868 var_nodearraylist7
= var4
;
870 var5
= parser_work__Parser__pop(var_p
);
872 var_nodearraylist6
= var5
;
874 var6
= parser_work__Parser__pop(var_p
);
876 var_nodearraylist5
= var6
;
878 var7
= parser_work__Parser__pop(var_p
);
880 var_nodearraylist4
= var7
;
882 var8
= parser_work__Parser__pop(var_p
);
884 var_nodearraylist3
= var8
;
886 var9
= parser_work__Parser__pop(var_p
);
888 var_nodearraylist2
= var9
;
890 var10
= parser_work__Parser__pop(var_p
);
892 var_nodearraylist1
= var10
;
893 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
895 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
897 var_listnode8
= var11
;
898 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
900 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
902 var_listnode16
= var12
;
903 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
905 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
907 var_listnode17
= var13
;
908 var_pdocnode2
= var_nodearraylist1
;
909 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
910 cltype
= type_nullable_parser_nodes__ADoc
.color
;
911 idtype
= type_nullable_parser_nodes__ADoc
.id
;
912 if(var_pdocnode2
== NULL
) {
915 if(cltype
>= var_pdocnode2
->type
->table_size
) {
918 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
921 if (unlikely(!var14
)) {
922 PRINT_ERROR("Runtime error: %s", "Assert failed");
923 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1599);
926 var_tkwredefnode3
= var_nodearraylist2
;
927 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
928 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
929 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
930 if(var_tkwredefnode3
== NULL
) {
933 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
936 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
939 if (unlikely(!var15
)) {
940 PRINT_ERROR("Runtime error: %s", "Assert failed");
941 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1601);
944 var_pvisibilitynode4
= var_nodearraylist3
;
945 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
946 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
947 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
948 if(var_pvisibilitynode4
== NULL
) {
951 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
954 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
957 if (unlikely(!var18
)) {
958 PRINT_ERROR("Runtime error: %s", "Assert failed");
959 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1603);
962 var_pclasskindnode5
= var_nodearraylist4
;
963 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
964 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
965 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
966 if(var_pclasskindnode5
== NULL
) {
969 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
972 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
975 if (unlikely(!var21
)) {
976 PRINT_ERROR("Runtime error: %s", "Assert failed");
977 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1605);
980 var_tclassidnode6
= var_nodearraylist6
;
981 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
982 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
983 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
984 if(var_tclassidnode6
== NULL
) {
987 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
990 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
993 if (unlikely(!var24
)) {
994 PRINT_ERROR("Runtime error: %s", "Assert failed");
995 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1607);
998 var_listnode7
= var_nodearraylist7
;
999 /* <var_listnode7:nullable Object> isa Array[Object] */
1000 cltype28
= type_array__Arraykernel__Object
.color
;
1001 idtype29
= type_array__Arraykernel__Object
.id
;
1002 if(var_listnode7
== NULL
) {
1005 if(cltype28
>= var_listnode7
->type
->table_size
) {
1008 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
1011 if (unlikely(!var27
)) {
1012 PRINT_ERROR("Runtime error: %s", "Assert failed");
1013 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1609);
1017 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
1019 var_listnode8
= var30
;
1020 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
1022 array__Array__init(var31
); /* Direct call array#Array#init on <var31:Array[Object]>*/
1024 var_listnode13
= var31
;
1025 var_listnode12
= var_nodearraylist8
;
1026 /* <var_listnode12:nullable Object> isa Array[Object] */
1027 cltype33
= type_array__Arraykernel__Object
.color
;
1028 idtype34
= type_array__Arraykernel__Object
.id
;
1029 if(var_listnode12
== NULL
) {
1032 if(cltype33
>= var_listnode12
->type
->table_size
) {
1035 var32
= var_listnode12
->type
->type_table
[cltype33
] == idtype34
;
1038 if (unlikely(!var32
)) {
1039 PRINT_ERROR("Runtime error: %s", "Assert failed");
1040 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1613);
1044 var35
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
1046 var_listnode13
= var35
;
1047 var36
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
1052 parser_prod__AAnnotations__init_aannotations(var36
, var37
, var38
, var_listnode13
, var39
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var36:AAnnotations>*/
1054 var_pannotationsnode9
= var36
;
1055 var_tkwendnode18
= var_nodearraylist10
;
1056 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1057 cltype41
= type_nullable_parser_nodes__TKwend
.color
;
1058 idtype42
= type_nullable_parser_nodes__TKwend
.id
;
1059 if(var_tkwendnode18
== NULL
) {
1062 if(cltype41
>= var_tkwendnode18
->type
->table_size
) {
1065 var40
= var_tkwendnode18
->type
->type_table
[cltype41
] == idtype42
;
1068 if (unlikely(!var40
)) {
1069 PRINT_ERROR("Runtime error: %s", "Assert failed");
1070 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1622);
1073 var43
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
1076 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>*/
1078 var_pclassdefnode1
= var43
;
1079 var_node_list
= var_pclassdefnode1
;
1080 var45
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction27> */
1082 var46
= parser_work__Parser__go_to(var_p
, var45
);
1085 parser_work__Parser__push(var_p
, var46
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1089 /* method parser#ReduceAction27#action for (self: Object, Parser) */
1090 void VIRTUAL_parser__ReduceAction27__action(val
* self
, val
* p0
) {
1091 parser__ReduceAction27__action(self
, p0
); /* Direct call parser#ReduceAction27#action on <self:Object(ReduceAction27)>*/
1094 /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */
1095 void parser__ReduceAction28__action(val
* self
, val
* p0
) {
1096 val
* var_p
/* var p: Parser */;
1097 val
* var
/* : null */;
1098 val
* var_node_list
/* var node_list: nullable Object */;
1099 val
* var1
/* : nullable Object */;
1100 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1101 val
* var2
/* : nullable Object */;
1102 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1103 val
* var3
/* : nullable Object */;
1104 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1105 val
* var4
/* : nullable Object */;
1106 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1107 val
* var5
/* : nullable Object */;
1108 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1109 val
* var6
/* : nullable Object */;
1110 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1111 val
* var7
/* : nullable Object */;
1112 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1113 val
* var8
/* : nullable Object */;
1114 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1115 val
* var9
/* : nullable Object */;
1116 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1117 val
* var10
/* : nullable Object */;
1118 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1119 val
* var11
/* : Array[Object] */;
1120 val
* var_listnode8
/* var listnode8: Array[Object] */;
1121 val
* var12
/* : Array[Object] */;
1122 val
* var_listnode11
/* var listnode11: Array[Object] */;
1123 val
* var13
/* : Array[Object] */;
1124 val
* var_listnode12
/* var listnode12: Array[Object] */;
1125 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1126 short int var14
/* : Bool */;
1129 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1130 short int var15
/* : Bool */;
1133 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1134 short int var18
/* : Bool */;
1137 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
1138 short int var21
/* : Bool */;
1141 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
1142 short int var24
/* : Bool */;
1145 val
* var_listnode7
/* var listnode7: nullable Object */;
1146 short int var27
/* : Bool */;
1149 val
* var30
/* : Array[Object] */;
1150 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
1151 short int var31
/* : Bool */;
1154 val
* var_tkwendnode13
/* var tkwendnode13: nullable Object */;
1155 short int var34
/* : Bool */;
1158 val
* var37
/* : AStdClassdef */;
1159 val
* var38
/* : null */;
1160 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
1161 long var39
/* : Int */;
1162 long var40
/* : Int */;
1165 var_node_list
= var
;
1167 var1
= parser_work__Parser__pop(var_p
);
1169 var_nodearraylist10
= var1
;
1171 var2
= parser_work__Parser__pop(var_p
);
1173 var_nodearraylist9
= var2
;
1175 var3
= parser_work__Parser__pop(var_p
);
1177 var_nodearraylist8
= var3
;
1179 var4
= parser_work__Parser__pop(var_p
);
1181 var_nodearraylist7
= var4
;
1183 var5
= parser_work__Parser__pop(var_p
);
1185 var_nodearraylist6
= var5
;
1187 var6
= parser_work__Parser__pop(var_p
);
1189 var_nodearraylist5
= var6
;
1191 var7
= parser_work__Parser__pop(var_p
);
1193 var_nodearraylist4
= var7
;
1195 var8
= parser_work__Parser__pop(var_p
);
1197 var_nodearraylist3
= var8
;
1199 var9
= parser_work__Parser__pop(var_p
);
1201 var_nodearraylist2
= var9
;
1203 var10
= parser_work__Parser__pop(var_p
);
1205 var_nodearraylist1
= var10
;
1206 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1208 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
1210 var_listnode8
= var11
;
1211 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
1213 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
1215 var_listnode11
= var12
;
1216 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
1218 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
1220 var_listnode12
= var13
;
1221 var_pdocnode2
= var_nodearraylist1
;
1222 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1223 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1224 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1225 if(var_pdocnode2
== NULL
) {
1228 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1231 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1234 if (unlikely(!var14
)) {
1235 PRINT_ERROR("Runtime error: %s", "Assert failed");
1236 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1659);
1239 var_tkwredefnode3
= var_nodearraylist2
;
1240 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1241 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
1242 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
1243 if(var_tkwredefnode3
== NULL
) {
1246 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
1249 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
1252 if (unlikely(!var15
)) {
1253 PRINT_ERROR("Runtime error: %s", "Assert failed");
1254 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1661);
1257 var_pvisibilitynode4
= var_nodearraylist3
;
1258 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1259 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
1260 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
1261 if(var_pvisibilitynode4
== NULL
) {
1264 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
1267 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
1270 if (unlikely(!var18
)) {
1271 PRINT_ERROR("Runtime error: %s", "Assert failed");
1272 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1663);
1275 var_pclasskindnode5
= var_nodearraylist4
;
1276 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1277 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
1278 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
1279 if(var_pclasskindnode5
== NULL
) {
1282 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
1285 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
1288 if (unlikely(!var21
)) {
1289 PRINT_ERROR("Runtime error: %s", "Assert failed");
1290 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1665);
1293 var_tclassidnode6
= var_nodearraylist6
;
1294 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1295 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
1296 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
1297 if(var_tclassidnode6
== NULL
) {
1300 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
1303 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
1306 if (unlikely(!var24
)) {
1307 PRINT_ERROR("Runtime error: %s", "Assert failed");
1308 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1667);
1311 var_listnode7
= var_nodearraylist7
;
1312 /* <var_listnode7:nullable Object> isa Array[Object] */
1313 cltype28
= type_array__Arraykernel__Object
.color
;
1314 idtype29
= type_array__Arraykernel__Object
.id
;
1315 if(var_listnode7
== NULL
) {
1318 if(cltype28
>= var_listnode7
->type
->table_size
) {
1321 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
1324 if (unlikely(!var27
)) {
1325 PRINT_ERROR("Runtime error: %s", "Assert failed");
1326 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1669);
1330 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
1332 var_listnode8
= var30
;
1333 var_pexterncodeblocknode10
= var_nodearraylist8
;
1334 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1335 cltype32
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
1336 idtype33
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
1337 if(var_pexterncodeblocknode10
== NULL
) {
1340 if(cltype32
>= var_pexterncodeblocknode10
->type
->table_size
) {
1343 var31
= var_pexterncodeblocknode10
->type
->type_table
[cltype32
] == idtype33
;
1346 if (unlikely(!var31
)) {
1347 PRINT_ERROR("Runtime error: %s", "Assert failed");
1348 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1672);
1351 var_tkwendnode13
= var_nodearraylist10
;
1352 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1353 cltype35
= type_nullable_parser_nodes__TKwend
.color
;
1354 idtype36
= type_nullable_parser_nodes__TKwend
.id
;
1355 if(var_tkwendnode13
== NULL
) {
1358 if(cltype35
>= var_tkwendnode13
->type
->table_size
) {
1361 var34
= var_tkwendnode13
->type
->type_table
[cltype35
] == idtype36
;
1364 if (unlikely(!var34
)) {
1365 PRINT_ERROR("Runtime error: %s", "Assert failed");
1366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1674);
1369 var37
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
1372 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>*/
1374 var_pclassdefnode1
= var37
;
1375 var_node_list
= var_pclassdefnode1
;
1376 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction28> */
1378 var40
= parser_work__Parser__go_to(var_p
, var39
);
1381 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1385 /* method parser#ReduceAction28#action for (self: Object, Parser) */
1386 void VIRTUAL_parser__ReduceAction28__action(val
* self
, val
* p0
) {
1387 parser__ReduceAction28__action(self
, p0
); /* Direct call parser#ReduceAction28#action on <self:Object(ReduceAction28)>*/
1390 /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */
1391 void parser__ReduceAction29__action(val
* self
, val
* p0
) {
1392 val
* var_p
/* var p: Parser */;
1393 val
* var
/* : null */;
1394 val
* var_node_list
/* var node_list: nullable Object */;
1395 val
* var1
/* : nullable Object */;
1396 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
1397 val
* var2
/* : nullable Object */;
1398 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1399 val
* var3
/* : nullable Object */;
1400 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1401 val
* var4
/* : nullable Object */;
1402 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1403 val
* var5
/* : nullable Object */;
1404 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1405 val
* var6
/* : nullable Object */;
1406 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1407 val
* var7
/* : nullable Object */;
1408 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1409 val
* var8
/* : nullable Object */;
1410 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1411 val
* var9
/* : nullable Object */;
1412 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1413 val
* var10
/* : nullable Object */;
1414 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1415 val
* var11
/* : nullable Object */;
1416 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1417 val
* var12
/* : Array[Object] */;
1418 val
* var_listnode8
/* var listnode8: Array[Object] */;
1419 val
* var13
/* : Array[Object] */;
1420 val
* var_listnode16
/* var listnode16: Array[Object] */;
1421 val
* var14
/* : Array[Object] */;
1422 val
* var_listnode17
/* var listnode17: Array[Object] */;
1423 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1424 short int var15
/* : Bool */;
1427 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1428 short int var16
/* : Bool */;
1431 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1432 short int var19
/* : Bool */;
1435 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
1436 short int var22
/* : Bool */;
1439 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
1440 short int var25
/* : Bool */;
1443 val
* var_listnode7
/* var listnode7: nullable Object */;
1444 short int var28
/* : Bool */;
1447 val
* var31
/* : Array[Object] */;
1448 val
* var32
/* : Array[Object] */;
1449 val
* var_listnode13
/* var listnode13: Array[Object] */;
1450 val
* var_listnode12
/* var listnode12: nullable Object */;
1451 short int var33
/* : Bool */;
1454 val
* var36
/* : Array[Object] */;
1455 val
* var37
/* : AAnnotations */;
1456 val
* var38
/* : null */;
1457 val
* var39
/* : null */;
1458 val
* var40
/* : null */;
1459 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
1460 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
1461 short int var41
/* : Bool */;
1464 val
* var_tkwendnode18
/* var tkwendnode18: nullable Object */;
1465 short int var44
/* : Bool */;
1468 val
* var47
/* : AStdClassdef */;
1469 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
1470 long var48
/* : Int */;
1471 long var49
/* : Int */;
1474 var_node_list
= var
;
1476 var1
= parser_work__Parser__pop(var_p
);
1478 var_nodearraylist11
= var1
;
1480 var2
= parser_work__Parser__pop(var_p
);
1482 var_nodearraylist10
= var2
;
1484 var3
= parser_work__Parser__pop(var_p
);
1486 var_nodearraylist9
= var3
;
1488 var4
= parser_work__Parser__pop(var_p
);
1490 var_nodearraylist8
= var4
;
1492 var5
= parser_work__Parser__pop(var_p
);
1494 var_nodearraylist7
= var5
;
1496 var6
= parser_work__Parser__pop(var_p
);
1498 var_nodearraylist6
= var6
;
1500 var7
= parser_work__Parser__pop(var_p
);
1502 var_nodearraylist5
= var7
;
1504 var8
= parser_work__Parser__pop(var_p
);
1506 var_nodearraylist4
= var8
;
1508 var9
= parser_work__Parser__pop(var_p
);
1510 var_nodearraylist3
= var9
;
1512 var10
= parser_work__Parser__pop(var_p
);
1514 var_nodearraylist2
= var10
;
1516 var11
= parser_work__Parser__pop(var_p
);
1518 var_nodearraylist1
= var11
;
1519 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
1521 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
1523 var_listnode8
= var12
;
1524 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
1526 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
1528 var_listnode16
= var13
;
1529 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
1531 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
1533 var_listnode17
= var14
;
1534 var_pdocnode2
= var_nodearraylist1
;
1535 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1536 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1537 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1538 if(var_pdocnode2
== NULL
) {
1541 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1544 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1547 if (unlikely(!var15
)) {
1548 PRINT_ERROR("Runtime error: %s", "Assert failed");
1549 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1712);
1552 var_tkwredefnode3
= var_nodearraylist2
;
1553 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1554 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
1555 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
1556 if(var_tkwredefnode3
== NULL
) {
1559 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
1562 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
1565 if (unlikely(!var16
)) {
1566 PRINT_ERROR("Runtime error: %s", "Assert failed");
1567 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1714);
1570 var_pvisibilitynode4
= var_nodearraylist3
;
1571 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1572 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
1573 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
1574 if(var_pvisibilitynode4
== NULL
) {
1577 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
1580 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
1583 if (unlikely(!var19
)) {
1584 PRINT_ERROR("Runtime error: %s", "Assert failed");
1585 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1716);
1588 var_pclasskindnode5
= var_nodearraylist4
;
1589 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1590 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
1591 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
1592 if(var_pclasskindnode5
== NULL
) {
1595 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
1598 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
1601 if (unlikely(!var22
)) {
1602 PRINT_ERROR("Runtime error: %s", "Assert failed");
1603 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1718);
1606 var_tclassidnode6
= var_nodearraylist6
;
1607 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1608 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
1609 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
1610 if(var_tclassidnode6
== NULL
) {
1613 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
1616 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
1619 if (unlikely(!var25
)) {
1620 PRINT_ERROR("Runtime error: %s", "Assert failed");
1621 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1720);
1624 var_listnode7
= var_nodearraylist7
;
1625 /* <var_listnode7:nullable Object> isa Array[Object] */
1626 cltype29
= type_array__Arraykernel__Object
.color
;
1627 idtype30
= type_array__Arraykernel__Object
.id
;
1628 if(var_listnode7
== NULL
) {
1631 if(cltype29
>= var_listnode7
->type
->table_size
) {
1634 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
1637 if (unlikely(!var28
)) {
1638 PRINT_ERROR("Runtime error: %s", "Assert failed");
1639 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1722);
1643 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
1645 var_listnode8
= var31
;
1646 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
1648 array__Array__init(var32
); /* Direct call array#Array#init on <var32:Array[Object]>*/
1650 var_listnode13
= var32
;
1651 var_listnode12
= var_nodearraylist8
;
1652 /* <var_listnode12:nullable Object> isa Array[Object] */
1653 cltype34
= type_array__Arraykernel__Object
.color
;
1654 idtype35
= type_array__Arraykernel__Object
.id
;
1655 if(var_listnode12
== NULL
) {
1658 if(cltype34
>= var_listnode12
->type
->table_size
) {
1661 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
1664 if (unlikely(!var33
)) {
1665 PRINT_ERROR("Runtime error: %s", "Assert failed");
1666 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1726);
1670 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
1672 var_listnode13
= var36
;
1673 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
1678 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
1680 var_pannotationsnode9
= var37
;
1681 var_pexterncodeblocknode15
= var_nodearraylist9
;
1682 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1683 cltype42
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
1684 idtype43
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
1685 if(var_pexterncodeblocknode15
== NULL
) {
1688 if(cltype42
>= var_pexterncodeblocknode15
->type
->table_size
) {
1691 var41
= var_pexterncodeblocknode15
->type
->type_table
[cltype42
] == idtype43
;
1694 if (unlikely(!var41
)) {
1695 PRINT_ERROR("Runtime error: %s", "Assert failed");
1696 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1735);
1699 var_tkwendnode18
= var_nodearraylist11
;
1700 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1701 cltype45
= type_nullable_parser_nodes__TKwend
.color
;
1702 idtype46
= type_nullable_parser_nodes__TKwend
.id
;
1703 if(var_tkwendnode18
== NULL
) {
1706 if(cltype45
>= var_tkwendnode18
->type
->table_size
) {
1709 var44
= var_tkwendnode18
->type
->type_table
[cltype45
] == idtype46
;
1712 if (unlikely(!var44
)) {
1713 PRINT_ERROR("Runtime error: %s", "Assert failed");
1714 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1737);
1717 var47
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
1719 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>*/
1721 var_pclassdefnode1
= var47
;
1722 var_node_list
= var_pclassdefnode1
;
1723 var48
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction29> */
1725 var49
= parser_work__Parser__go_to(var_p
, var48
);
1728 parser_work__Parser__push(var_p
, var49
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1732 /* method parser#ReduceAction29#action for (self: Object, Parser) */
1733 void VIRTUAL_parser__ReduceAction29__action(val
* self
, val
* p0
) {
1734 parser__ReduceAction29__action(self
, p0
); /* Direct call parser#ReduceAction29#action on <self:Object(ReduceAction29)>*/
1737 /* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */
1738 void parser__ReduceAction30__action(val
* self
, val
* p0
) {
1739 val
* var_p
/* var p: Parser */;
1740 val
* var
/* : null */;
1741 val
* var_node_list
/* var node_list: nullable Object */;
1742 val
* var1
/* : nullable Object */;
1743 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1744 val
* var2
/* : nullable Object */;
1745 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1746 val
* var3
/* : nullable Object */;
1747 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1748 val
* var4
/* : nullable Object */;
1749 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1750 val
* var5
/* : nullable Object */;
1751 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1752 val
* var6
/* : nullable Object */;
1753 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1754 val
* var7
/* : nullable Object */;
1755 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1756 val
* var8
/* : nullable Object */;
1757 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1758 val
* var9
/* : nullable Object */;
1759 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1760 val
* var10
/* : nullable Object */;
1761 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1762 val
* var11
/* : Array[Object] */;
1763 val
* var_listnode8
/* var listnode8: Array[Object] */;
1764 val
* var12
/* : Array[Object] */;
1765 val
* var_listnode12
/* var listnode12: Array[Object] */;
1766 val
* var13
/* : Array[Object] */;
1767 val
* var_listnode13
/* var listnode13: Array[Object] */;
1768 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1769 short int var14
/* : Bool */;
1772 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1773 short int var15
/* : Bool */;
1776 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1777 short int var18
/* : Bool */;
1780 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
1781 short int var21
/* : Bool */;
1784 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
1785 short int var24
/* : Bool */;
1788 val
* var_listnode7
/* var listnode7: nullable Object */;
1789 short int var27
/* : Bool */;
1792 val
* var30
/* : Array[Object] */;
1793 val
* var_listnode11
/* var listnode11: nullable Object */;
1794 short int var31
/* : Bool */;
1797 val
* var34
/* : Array[Object] */;
1798 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
1799 short int var35
/* : Bool */;
1802 val
* var38
/* : AStdClassdef */;
1803 val
* var39
/* : null */;
1804 val
* var40
/* : null */;
1805 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
1806 long var41
/* : Int */;
1807 long var42
/* : Int */;
1810 var_node_list
= var
;
1812 var1
= parser_work__Parser__pop(var_p
);
1814 var_nodearraylist10
= var1
;
1816 var2
= parser_work__Parser__pop(var_p
);
1818 var_nodearraylist9
= var2
;
1820 var3
= parser_work__Parser__pop(var_p
);
1822 var_nodearraylist8
= var3
;
1824 var4
= parser_work__Parser__pop(var_p
);
1826 var_nodearraylist7
= var4
;
1828 var5
= parser_work__Parser__pop(var_p
);
1830 var_nodearraylist6
= var5
;
1832 var6
= parser_work__Parser__pop(var_p
);
1834 var_nodearraylist5
= var6
;
1836 var7
= parser_work__Parser__pop(var_p
);
1838 var_nodearraylist4
= var7
;
1840 var8
= parser_work__Parser__pop(var_p
);
1842 var_nodearraylist3
= var8
;
1844 var9
= parser_work__Parser__pop(var_p
);
1846 var_nodearraylist2
= var9
;
1848 var10
= parser_work__Parser__pop(var_p
);
1850 var_nodearraylist1
= var10
;
1851 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1853 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
1855 var_listnode8
= var11
;
1856 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
1858 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
1860 var_listnode12
= var12
;
1861 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
1863 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
1865 var_listnode13
= var13
;
1866 var_pdocnode2
= var_nodearraylist1
;
1867 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1868 cltype
= type_nullable_parser_nodes__ADoc
.color
;
1869 idtype
= type_nullable_parser_nodes__ADoc
.id
;
1870 if(var_pdocnode2
== NULL
) {
1873 if(cltype
>= var_pdocnode2
->type
->table_size
) {
1876 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
1879 if (unlikely(!var14
)) {
1880 PRINT_ERROR("Runtime error: %s", "Assert failed");
1881 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1774);
1884 var_tkwredefnode3
= var_nodearraylist2
;
1885 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1886 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
1887 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
1888 if(var_tkwredefnode3
== NULL
) {
1891 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
1894 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
1897 if (unlikely(!var15
)) {
1898 PRINT_ERROR("Runtime error: %s", "Assert failed");
1899 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1776);
1902 var_pvisibilitynode4
= var_nodearraylist3
;
1903 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1904 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
1905 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
1906 if(var_pvisibilitynode4
== NULL
) {
1909 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
1912 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
1915 if (unlikely(!var18
)) {
1916 PRINT_ERROR("Runtime error: %s", "Assert failed");
1917 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1778);
1920 var_pclasskindnode5
= var_nodearraylist4
;
1921 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1922 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
1923 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
1924 if(var_pclasskindnode5
== NULL
) {
1927 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
1930 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
1933 if (unlikely(!var21
)) {
1934 PRINT_ERROR("Runtime error: %s", "Assert failed");
1935 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1780);
1938 var_tclassidnode6
= var_nodearraylist6
;
1939 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1940 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
1941 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
1942 if(var_tclassidnode6
== NULL
) {
1945 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
1948 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
1951 if (unlikely(!var24
)) {
1952 PRINT_ERROR("Runtime error: %s", "Assert failed");
1953 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1782);
1956 var_listnode7
= var_nodearraylist7
;
1957 /* <var_listnode7:nullable Object> isa Array[Object] */
1958 cltype28
= type_array__Arraykernel__Object
.color
;
1959 idtype29
= type_array__Arraykernel__Object
.id
;
1960 if(var_listnode7
== NULL
) {
1963 if(cltype28
>= var_listnode7
->type
->table_size
) {
1966 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
1969 if (unlikely(!var27
)) {
1970 PRINT_ERROR("Runtime error: %s", "Assert failed");
1971 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1784);
1975 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
1977 var_listnode8
= var30
;
1978 var_listnode11
= var_nodearraylist8
;
1979 /* <var_listnode11:nullable Object> isa Array[Object] */
1980 cltype32
= type_array__Arraykernel__Object
.color
;
1981 idtype33
= type_array__Arraykernel__Object
.id
;
1982 if(var_listnode11
== NULL
) {
1985 if(cltype32
>= var_listnode11
->type
->table_size
) {
1988 var31
= var_listnode11
->type
->type_table
[cltype32
] == idtype33
;
1991 if (unlikely(!var31
)) {
1992 PRINT_ERROR("Runtime error: %s", "Assert failed");
1993 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1787);
1997 var34
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
1999 var_listnode12
= var34
;
2000 var_tkwendnode14
= var_nodearraylist10
;
2001 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
2002 cltype36
= type_nullable_parser_nodes__TKwend
.color
;
2003 idtype37
= type_nullable_parser_nodes__TKwend
.id
;
2004 if(var_tkwendnode14
== NULL
) {
2007 if(cltype36
>= var_tkwendnode14
->type
->table_size
) {
2010 var35
= var_tkwendnode14
->type
->type_table
[cltype36
] == idtype37
;
2013 if (unlikely(!var35
)) {
2014 PRINT_ERROR("Runtime error: %s", "Assert failed");
2015 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1790);
2018 var38
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2022 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>*/
2024 var_pclassdefnode1
= var38
;
2025 var_node_list
= var_pclassdefnode1
;
2026 var41
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction30> */
2028 var42
= parser_work__Parser__go_to(var_p
, var41
);
2031 parser_work__Parser__push(var_p
, var42
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2035 /* method parser#ReduceAction30#action for (self: Object, Parser) */
2036 void VIRTUAL_parser__ReduceAction30__action(val
* self
, val
* p0
) {
2037 parser__ReduceAction30__action(self
, p0
); /* Direct call parser#ReduceAction30#action on <self:Object(ReduceAction30)>*/
2040 /* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */
2041 void parser__ReduceAction31__action(val
* self
, val
* p0
) {
2042 val
* var_p
/* var p: Parser */;
2043 val
* var
/* : null */;
2044 val
* var_node_list
/* var node_list: nullable Object */;
2045 val
* var1
/* : nullable Object */;
2046 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2047 val
* var2
/* : nullable Object */;
2048 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2049 val
* var3
/* : nullable Object */;
2050 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2051 val
* var4
/* : nullable Object */;
2052 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2053 val
* var5
/* : nullable Object */;
2054 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2055 val
* var6
/* : nullable Object */;
2056 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2057 val
* var7
/* : nullable Object */;
2058 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2059 val
* var8
/* : nullable Object */;
2060 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2061 val
* var9
/* : nullable Object */;
2062 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2063 val
* var10
/* : nullable Object */;
2064 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2065 val
* var11
/* : nullable Object */;
2066 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2067 val
* var12
/* : Array[Object] */;
2068 val
* var_listnode8
/* var listnode8: Array[Object] */;
2069 val
* var13
/* : Array[Object] */;
2070 val
* var_listnode17
/* var listnode17: Array[Object] */;
2071 val
* var14
/* : Array[Object] */;
2072 val
* var_listnode18
/* var listnode18: Array[Object] */;
2073 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2074 short int var15
/* : Bool */;
2077 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2078 short int var16
/* : Bool */;
2081 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2082 short int var19
/* : Bool */;
2085 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2086 short int var22
/* : Bool */;
2089 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2090 short int var25
/* : Bool */;
2093 val
* var_listnode7
/* var listnode7: nullable Object */;
2094 short int var28
/* : Bool */;
2097 val
* var31
/* : Array[Object] */;
2098 val
* var32
/* : Array[Object] */;
2099 val
* var_listnode13
/* var listnode13: Array[Object] */;
2100 val
* var_listnode12
/* var listnode12: nullable Object */;
2101 short int var33
/* : Bool */;
2104 val
* var36
/* : Array[Object] */;
2105 val
* var37
/* : AAnnotations */;
2106 val
* var38
/* : null */;
2107 val
* var39
/* : null */;
2108 val
* var40
/* : null */;
2109 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
2110 val
* var_listnode16
/* var listnode16: nullable Object */;
2111 short int var41
/* : Bool */;
2114 val
* var44
/* : Array[Object] */;
2115 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
2116 short int var45
/* : Bool */;
2119 val
* var48
/* : AStdClassdef */;
2120 val
* var49
/* : null */;
2121 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2122 long var50
/* : Int */;
2123 long var51
/* : Int */;
2126 var_node_list
= var
;
2128 var1
= parser_work__Parser__pop(var_p
);
2130 var_nodearraylist11
= var1
;
2132 var2
= parser_work__Parser__pop(var_p
);
2134 var_nodearraylist10
= var2
;
2136 var3
= parser_work__Parser__pop(var_p
);
2138 var_nodearraylist9
= var3
;
2140 var4
= parser_work__Parser__pop(var_p
);
2142 var_nodearraylist8
= var4
;
2144 var5
= parser_work__Parser__pop(var_p
);
2146 var_nodearraylist7
= var5
;
2148 var6
= parser_work__Parser__pop(var_p
);
2150 var_nodearraylist6
= var6
;
2152 var7
= parser_work__Parser__pop(var_p
);
2154 var_nodearraylist5
= var7
;
2156 var8
= parser_work__Parser__pop(var_p
);
2158 var_nodearraylist4
= var8
;
2160 var9
= parser_work__Parser__pop(var_p
);
2162 var_nodearraylist3
= var9
;
2164 var10
= parser_work__Parser__pop(var_p
);
2166 var_nodearraylist2
= var10
;
2168 var11
= parser_work__Parser__pop(var_p
);
2170 var_nodearraylist1
= var11
;
2171 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2173 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
2175 var_listnode8
= var12
;
2176 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2178 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
2180 var_listnode17
= var13
;
2181 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2183 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
2185 var_listnode18
= var14
;
2186 var_pdocnode2
= var_nodearraylist1
;
2187 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2188 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2189 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2190 if(var_pdocnode2
== NULL
) {
2193 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2196 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2199 if (unlikely(!var15
)) {
2200 PRINT_ERROR("Runtime error: %s", "Assert failed");
2201 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1828);
2204 var_tkwredefnode3
= var_nodearraylist2
;
2205 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2206 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
2207 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
2208 if(var_tkwredefnode3
== NULL
) {
2211 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
2214 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
2217 if (unlikely(!var16
)) {
2218 PRINT_ERROR("Runtime error: %s", "Assert failed");
2219 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1830);
2222 var_pvisibilitynode4
= var_nodearraylist3
;
2223 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2224 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
2225 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
2226 if(var_pvisibilitynode4
== NULL
) {
2229 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
2232 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
2235 if (unlikely(!var19
)) {
2236 PRINT_ERROR("Runtime error: %s", "Assert failed");
2237 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1832);
2240 var_pclasskindnode5
= var_nodearraylist4
;
2241 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2242 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
2243 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
2244 if(var_pclasskindnode5
== NULL
) {
2247 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
2250 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
2253 if (unlikely(!var22
)) {
2254 PRINT_ERROR("Runtime error: %s", "Assert failed");
2255 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1834);
2258 var_tclassidnode6
= var_nodearraylist6
;
2259 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2260 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
2261 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
2262 if(var_tclassidnode6
== NULL
) {
2265 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
2268 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
2271 if (unlikely(!var25
)) {
2272 PRINT_ERROR("Runtime error: %s", "Assert failed");
2273 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1836);
2276 var_listnode7
= var_nodearraylist7
;
2277 /* <var_listnode7:nullable Object> isa Array[Object] */
2278 cltype29
= type_array__Arraykernel__Object
.color
;
2279 idtype30
= type_array__Arraykernel__Object
.id
;
2280 if(var_listnode7
== NULL
) {
2283 if(cltype29
>= var_listnode7
->type
->table_size
) {
2286 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
2289 if (unlikely(!var28
)) {
2290 PRINT_ERROR("Runtime error: %s", "Assert failed");
2291 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1838);
2295 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2297 var_listnode8
= var31
;
2298 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
2300 array__Array__init(var32
); /* Direct call array#Array#init on <var32:Array[Object]>*/
2302 var_listnode13
= var32
;
2303 var_listnode12
= var_nodearraylist8
;
2304 /* <var_listnode12:nullable Object> isa Array[Object] */
2305 cltype34
= type_array__Arraykernel__Object
.color
;
2306 idtype35
= type_array__Arraykernel__Object
.id
;
2307 if(var_listnode12
== NULL
) {
2310 if(cltype34
>= var_listnode12
->type
->table_size
) {
2313 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
2316 if (unlikely(!var33
)) {
2317 PRINT_ERROR("Runtime error: %s", "Assert failed");
2318 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1842);
2322 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
2324 var_listnode13
= var36
;
2325 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
2330 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
2332 var_pannotationsnode9
= var37
;
2333 var_listnode16
= var_nodearraylist9
;
2334 /* <var_listnode16:nullable Object> isa Array[Object] */
2335 cltype42
= type_array__Arraykernel__Object
.color
;
2336 idtype43
= type_array__Arraykernel__Object
.id
;
2337 if(var_listnode16
== NULL
) {
2340 if(cltype42
>= var_listnode16
->type
->table_size
) {
2343 var41
= var_listnode16
->type
->type_table
[cltype42
] == idtype43
;
2346 if (unlikely(!var41
)) {
2347 PRINT_ERROR("Runtime error: %s", "Assert failed");
2348 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1851);
2352 var44
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
2354 var_listnode17
= var44
;
2355 var_tkwendnode19
= var_nodearraylist11
;
2356 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2357 cltype46
= type_nullable_parser_nodes__TKwend
.color
;
2358 idtype47
= type_nullable_parser_nodes__TKwend
.id
;
2359 if(var_tkwendnode19
== NULL
) {
2362 if(cltype46
>= var_tkwendnode19
->type
->table_size
) {
2365 var45
= var_tkwendnode19
->type
->type_table
[cltype46
] == idtype47
;
2368 if (unlikely(!var45
)) {
2369 PRINT_ERROR("Runtime error: %s", "Assert failed");
2370 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1854);
2373 var48
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2376 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>*/
2378 var_pclassdefnode1
= var48
;
2379 var_node_list
= var_pclassdefnode1
;
2380 var50
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction31> */
2382 var51
= parser_work__Parser__go_to(var_p
, var50
);
2385 parser_work__Parser__push(var_p
, var51
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2389 /* method parser#ReduceAction31#action for (self: Object, Parser) */
2390 void VIRTUAL_parser__ReduceAction31__action(val
* self
, val
* p0
) {
2391 parser__ReduceAction31__action(self
, p0
); /* Direct call parser#ReduceAction31#action on <self:Object(ReduceAction31)>*/
2394 /* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */
2395 void parser__ReduceAction32__action(val
* self
, val
* p0
) {
2396 val
* var_p
/* var p: Parser */;
2397 val
* var
/* : null */;
2398 val
* var_node_list
/* var node_list: nullable Object */;
2399 val
* var1
/* : nullable Object */;
2400 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2401 val
* var2
/* : nullable Object */;
2402 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2403 val
* var3
/* : nullable Object */;
2404 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2405 val
* var4
/* : nullable Object */;
2406 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2407 val
* var5
/* : nullable Object */;
2408 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2409 val
* var6
/* : nullable Object */;
2410 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2411 val
* var7
/* : nullable Object */;
2412 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2413 val
* var8
/* : nullable Object */;
2414 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2415 val
* var9
/* : nullable Object */;
2416 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2417 val
* var10
/* : nullable Object */;
2418 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2419 val
* var11
/* : nullable Object */;
2420 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2421 val
* var12
/* : Array[Object] */;
2422 val
* var_listnode8
/* var listnode8: Array[Object] */;
2423 val
* var13
/* : Array[Object] */;
2424 val
* var_listnode12
/* var listnode12: Array[Object] */;
2425 val
* var14
/* : Array[Object] */;
2426 val
* var_listnode13
/* var listnode13: Array[Object] */;
2427 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2428 short int var15
/* : Bool */;
2431 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2432 short int var16
/* : Bool */;
2435 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2436 short int var19
/* : Bool */;
2439 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2440 short int var22
/* : Bool */;
2443 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2444 short int var25
/* : Bool */;
2447 val
* var_listnode7
/* var listnode7: nullable Object */;
2448 short int var28
/* : Bool */;
2451 val
* var31
/* : Array[Object] */;
2452 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
2453 short int var32
/* : Bool */;
2456 val
* var_listnode11
/* var listnode11: nullable Object */;
2457 short int var35
/* : Bool */;
2460 val
* var38
/* : Array[Object] */;
2461 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
2462 short int var39
/* : Bool */;
2465 val
* var42
/* : AStdClassdef */;
2466 val
* var43
/* : null */;
2467 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2468 long var44
/* : Int */;
2469 long var45
/* : Int */;
2472 var_node_list
= var
;
2474 var1
= parser_work__Parser__pop(var_p
);
2476 var_nodearraylist11
= var1
;
2478 var2
= parser_work__Parser__pop(var_p
);
2480 var_nodearraylist10
= var2
;
2482 var3
= parser_work__Parser__pop(var_p
);
2484 var_nodearraylist9
= var3
;
2486 var4
= parser_work__Parser__pop(var_p
);
2488 var_nodearraylist8
= var4
;
2490 var5
= parser_work__Parser__pop(var_p
);
2492 var_nodearraylist7
= var5
;
2494 var6
= parser_work__Parser__pop(var_p
);
2496 var_nodearraylist6
= var6
;
2498 var7
= parser_work__Parser__pop(var_p
);
2500 var_nodearraylist5
= var7
;
2502 var8
= parser_work__Parser__pop(var_p
);
2504 var_nodearraylist4
= var8
;
2506 var9
= parser_work__Parser__pop(var_p
);
2508 var_nodearraylist3
= var9
;
2510 var10
= parser_work__Parser__pop(var_p
);
2512 var_nodearraylist2
= var10
;
2514 var11
= parser_work__Parser__pop(var_p
);
2516 var_nodearraylist1
= var11
;
2517 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2519 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
2521 var_listnode8
= var12
;
2522 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2524 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
2526 var_listnode12
= var13
;
2527 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2529 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
2531 var_listnode13
= var14
;
2532 var_pdocnode2
= var_nodearraylist1
;
2533 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2534 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2535 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2536 if(var_pdocnode2
== NULL
) {
2539 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2542 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2545 if (unlikely(!var15
)) {
2546 PRINT_ERROR("Runtime error: %s", "Assert failed");
2547 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1892);
2550 var_tkwredefnode3
= var_nodearraylist2
;
2551 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2552 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
2553 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
2554 if(var_tkwredefnode3
== NULL
) {
2557 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
2560 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
2563 if (unlikely(!var16
)) {
2564 PRINT_ERROR("Runtime error: %s", "Assert failed");
2565 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1894);
2568 var_pvisibilitynode4
= var_nodearraylist3
;
2569 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2570 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
2571 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
2572 if(var_pvisibilitynode4
== NULL
) {
2575 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
2578 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
2581 if (unlikely(!var19
)) {
2582 PRINT_ERROR("Runtime error: %s", "Assert failed");
2583 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1896);
2586 var_pclasskindnode5
= var_nodearraylist4
;
2587 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2588 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
2589 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
2590 if(var_pclasskindnode5
== NULL
) {
2593 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
2596 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
2599 if (unlikely(!var22
)) {
2600 PRINT_ERROR("Runtime error: %s", "Assert failed");
2601 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1898);
2604 var_tclassidnode6
= var_nodearraylist6
;
2605 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2606 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
2607 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
2608 if(var_tclassidnode6
== NULL
) {
2611 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
2614 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
2617 if (unlikely(!var25
)) {
2618 PRINT_ERROR("Runtime error: %s", "Assert failed");
2619 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1900);
2622 var_listnode7
= var_nodearraylist7
;
2623 /* <var_listnode7:nullable Object> isa Array[Object] */
2624 cltype29
= type_array__Arraykernel__Object
.color
;
2625 idtype30
= type_array__Arraykernel__Object
.id
;
2626 if(var_listnode7
== NULL
) {
2629 if(cltype29
>= var_listnode7
->type
->table_size
) {
2632 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
2635 if (unlikely(!var28
)) {
2636 PRINT_ERROR("Runtime error: %s", "Assert failed");
2637 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1902);
2641 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2643 var_listnode8
= var31
;
2644 var_pexterncodeblocknode10
= var_nodearraylist8
;
2645 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2646 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
2647 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
2648 if(var_pexterncodeblocknode10
== NULL
) {
2651 if(cltype33
>= var_pexterncodeblocknode10
->type
->table_size
) {
2654 var32
= var_pexterncodeblocknode10
->type
->type_table
[cltype33
] == idtype34
;
2657 if (unlikely(!var32
)) {
2658 PRINT_ERROR("Runtime error: %s", "Assert failed");
2659 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1905);
2662 var_listnode11
= var_nodearraylist9
;
2663 /* <var_listnode11:nullable Object> isa Array[Object] */
2664 cltype36
= type_array__Arraykernel__Object
.color
;
2665 idtype37
= type_array__Arraykernel__Object
.id
;
2666 if(var_listnode11
== NULL
) {
2669 if(cltype36
>= var_listnode11
->type
->table_size
) {
2672 var35
= var_listnode11
->type
->type_table
[cltype36
] == idtype37
;
2675 if (unlikely(!var35
)) {
2676 PRINT_ERROR("Runtime error: %s", "Assert failed");
2677 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1907);
2681 var38
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
2683 var_listnode12
= var38
;
2684 var_tkwendnode14
= var_nodearraylist11
;
2685 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
2686 cltype40
= type_nullable_parser_nodes__TKwend
.color
;
2687 idtype41
= type_nullable_parser_nodes__TKwend
.id
;
2688 if(var_tkwendnode14
== NULL
) {
2691 if(cltype40
>= var_tkwendnode14
->type
->table_size
) {
2694 var39
= var_tkwendnode14
->type
->type_table
[cltype40
] == idtype41
;
2697 if (unlikely(!var39
)) {
2698 PRINT_ERROR("Runtime error: %s", "Assert failed");
2699 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1910);
2702 var42
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
2705 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>*/
2707 var_pclassdefnode1
= var42
;
2708 var_node_list
= var_pclassdefnode1
;
2709 var44
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction32> */
2711 var45
= parser_work__Parser__go_to(var_p
, var44
);
2714 parser_work__Parser__push(var_p
, var45
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2718 /* method parser#ReduceAction32#action for (self: Object, Parser) */
2719 void VIRTUAL_parser__ReduceAction32__action(val
* self
, val
* p0
) {
2720 parser__ReduceAction32__action(self
, p0
); /* Direct call parser#ReduceAction32#action on <self:Object(ReduceAction32)>*/
2723 /* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */
2724 void parser__ReduceAction33__action(val
* self
, val
* p0
) {
2725 val
* var_p
/* var p: Parser */;
2726 val
* var
/* : null */;
2727 val
* var_node_list
/* var node_list: nullable Object */;
2728 val
* var1
/* : nullable Object */;
2729 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
2730 val
* var2
/* : nullable Object */;
2731 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2732 val
* var3
/* : nullable Object */;
2733 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2734 val
* var4
/* : nullable Object */;
2735 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2736 val
* var5
/* : nullable Object */;
2737 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2738 val
* var6
/* : nullable Object */;
2739 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2740 val
* var7
/* : nullable Object */;
2741 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2742 val
* var8
/* : nullable Object */;
2743 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2744 val
* var9
/* : nullable Object */;
2745 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2746 val
* var10
/* : nullable Object */;
2747 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2748 val
* var11
/* : nullable Object */;
2749 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2750 val
* var12
/* : nullable Object */;
2751 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2752 val
* var13
/* : Array[Object] */;
2753 val
* var_listnode8
/* var listnode8: Array[Object] */;
2754 val
* var14
/* : Array[Object] */;
2755 val
* var_listnode17
/* var listnode17: Array[Object] */;
2756 val
* var15
/* : Array[Object] */;
2757 val
* var_listnode18
/* var listnode18: Array[Object] */;
2758 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2759 short int var16
/* : Bool */;
2762 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2763 short int var17
/* : Bool */;
2766 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2767 short int var20
/* : Bool */;
2770 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
2771 short int var23
/* : Bool */;
2774 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
2775 short int var26
/* : Bool */;
2778 val
* var_listnode7
/* var listnode7: nullable Object */;
2779 short int var29
/* : Bool */;
2782 val
* var32
/* : Array[Object] */;
2783 val
* var33
/* : Array[Object] */;
2784 val
* var_listnode13
/* var listnode13: Array[Object] */;
2785 val
* var_listnode12
/* var listnode12: nullable Object */;
2786 short int var34
/* : Bool */;
2789 val
* var37
/* : Array[Object] */;
2790 val
* var38
/* : AAnnotations */;
2791 val
* var39
/* : null */;
2792 val
* var40
/* : null */;
2793 val
* var41
/* : null */;
2794 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
2795 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
2796 short int var42
/* : Bool */;
2799 val
* var_listnode16
/* var listnode16: nullable Object */;
2800 short int var45
/* : Bool */;
2803 val
* var48
/* : Array[Object] */;
2804 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
2805 short int var49
/* : Bool */;
2808 val
* var52
/* : AStdClassdef */;
2809 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
2810 long var53
/* : Int */;
2811 long var54
/* : Int */;
2814 var_node_list
= var
;
2816 var1
= parser_work__Parser__pop(var_p
);
2818 var_nodearraylist12
= var1
;
2820 var2
= parser_work__Parser__pop(var_p
);
2822 var_nodearraylist11
= var2
;
2824 var3
= parser_work__Parser__pop(var_p
);
2826 var_nodearraylist10
= var3
;
2828 var4
= parser_work__Parser__pop(var_p
);
2830 var_nodearraylist9
= var4
;
2832 var5
= parser_work__Parser__pop(var_p
);
2834 var_nodearraylist8
= var5
;
2836 var6
= parser_work__Parser__pop(var_p
);
2838 var_nodearraylist7
= var6
;
2840 var7
= parser_work__Parser__pop(var_p
);
2842 var_nodearraylist6
= var7
;
2844 var8
= parser_work__Parser__pop(var_p
);
2846 var_nodearraylist5
= var8
;
2848 var9
= parser_work__Parser__pop(var_p
);
2850 var_nodearraylist4
= var9
;
2852 var10
= parser_work__Parser__pop(var_p
);
2854 var_nodearraylist3
= var10
;
2856 var11
= parser_work__Parser__pop(var_p
);
2858 var_nodearraylist2
= var11
;
2860 var12
= parser_work__Parser__pop(var_p
);
2862 var_nodearraylist1
= var12
;
2863 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2865 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
2867 var_listnode8
= var13
;
2868 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2870 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
2872 var_listnode17
= var14
;
2873 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
2875 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
2877 var_listnode18
= var15
;
2878 var_pdocnode2
= var_nodearraylist1
;
2879 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2880 cltype
= type_nullable_parser_nodes__ADoc
.color
;
2881 idtype
= type_nullable_parser_nodes__ADoc
.id
;
2882 if(var_pdocnode2
== NULL
) {
2885 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2888 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2891 if (unlikely(!var16
)) {
2892 PRINT_ERROR("Runtime error: %s", "Assert failed");
2893 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1949);
2896 var_tkwredefnode3
= var_nodearraylist2
;
2897 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2898 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
2899 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
2900 if(var_tkwredefnode3
== NULL
) {
2903 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
2906 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
2909 if (unlikely(!var17
)) {
2910 PRINT_ERROR("Runtime error: %s", "Assert failed");
2911 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1951);
2914 var_pvisibilitynode4
= var_nodearraylist3
;
2915 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2916 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
2917 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
2918 if(var_pvisibilitynode4
== NULL
) {
2921 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
2924 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
2927 if (unlikely(!var20
)) {
2928 PRINT_ERROR("Runtime error: %s", "Assert failed");
2929 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1953);
2932 var_pclasskindnode5
= var_nodearraylist4
;
2933 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2934 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
2935 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
2936 if(var_pclasskindnode5
== NULL
) {
2939 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
2942 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
2945 if (unlikely(!var23
)) {
2946 PRINT_ERROR("Runtime error: %s", "Assert failed");
2947 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1955);
2950 var_tclassidnode6
= var_nodearraylist6
;
2951 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2952 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
2953 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
2954 if(var_tclassidnode6
== NULL
) {
2957 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
2960 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
2963 if (unlikely(!var26
)) {
2964 PRINT_ERROR("Runtime error: %s", "Assert failed");
2965 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1957);
2968 var_listnode7
= var_nodearraylist7
;
2969 /* <var_listnode7:nullable Object> isa Array[Object] */
2970 cltype30
= type_array__Arraykernel__Object
.color
;
2971 idtype31
= type_array__Arraykernel__Object
.id
;
2972 if(var_listnode7
== NULL
) {
2975 if(cltype30
>= var_listnode7
->type
->table_size
) {
2978 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
2981 if (unlikely(!var29
)) {
2982 PRINT_ERROR("Runtime error: %s", "Assert failed");
2983 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1959);
2987 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
2989 var_listnode8
= var32
;
2990 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
2992 array__Array__init(var33
); /* Direct call array#Array#init on <var33:Array[Object]>*/
2994 var_listnode13
= var33
;
2995 var_listnode12
= var_nodearraylist8
;
2996 /* <var_listnode12:nullable Object> isa Array[Object] */
2997 cltype35
= type_array__Arraykernel__Object
.color
;
2998 idtype36
= type_array__Arraykernel__Object
.id
;
2999 if(var_listnode12
== NULL
) {
3002 if(cltype35
>= var_listnode12
->type
->table_size
) {
3005 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
3008 if (unlikely(!var34
)) {
3009 PRINT_ERROR("Runtime error: %s", "Assert failed");
3010 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1963);
3014 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
3016 var_listnode13
= var37
;
3017 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3022 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
3024 var_pannotationsnode9
= var38
;
3025 var_pexterncodeblocknode15
= var_nodearraylist9
;
3026 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3027 cltype43
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
3028 idtype44
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
3029 if(var_pexterncodeblocknode15
== NULL
) {
3032 if(cltype43
>= var_pexterncodeblocknode15
->type
->table_size
) {
3035 var42
= var_pexterncodeblocknode15
->type
->type_table
[cltype43
] == idtype44
;
3038 if (unlikely(!var42
)) {
3039 PRINT_ERROR("Runtime error: %s", "Assert failed");
3040 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1972);
3043 var_listnode16
= var_nodearraylist10
;
3044 /* <var_listnode16:nullable Object> isa Array[Object] */
3045 cltype46
= type_array__Arraykernel__Object
.color
;
3046 idtype47
= type_array__Arraykernel__Object
.id
;
3047 if(var_listnode16
== NULL
) {
3050 if(cltype46
>= var_listnode16
->type
->table_size
) {
3053 var45
= var_listnode16
->type
->type_table
[cltype46
] == idtype47
;
3056 if (unlikely(!var45
)) {
3057 PRINT_ERROR("Runtime error: %s", "Assert failed");
3058 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1974);
3062 var48
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
3064 var_listnode17
= var48
;
3065 var_tkwendnode19
= var_nodearraylist12
;
3066 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3067 cltype50
= type_nullable_parser_nodes__TKwend
.color
;
3068 idtype51
= type_nullable_parser_nodes__TKwend
.id
;
3069 if(var_tkwendnode19
== NULL
) {
3072 if(cltype50
>= var_tkwendnode19
->type
->table_size
) {
3075 var49
= var_tkwendnode19
->type
->type_table
[cltype50
] == idtype51
;
3078 if (unlikely(!var49
)) {
3079 PRINT_ERROR("Runtime error: %s", "Assert failed");
3080 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1977);
3083 var52
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3085 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>*/
3087 var_pclassdefnode1
= var52
;
3088 var_node_list
= var_pclassdefnode1
;
3089 var53
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction33> */
3091 var54
= parser_work__Parser__go_to(var_p
, var53
);
3094 parser_work__Parser__push(var_p
, var54
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3098 /* method parser#ReduceAction33#action for (self: Object, Parser) */
3099 void VIRTUAL_parser__ReduceAction33__action(val
* self
, val
* p0
) {
3100 parser__ReduceAction33__action(self
, p0
); /* Direct call parser#ReduceAction33#action on <self:Object(ReduceAction33)>*/
3103 /* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */
3104 void parser__ReduceAction34__action(val
* self
, val
* p0
) {
3105 val
* var_p
/* var p: Parser */;
3106 val
* var
/* : null */;
3107 val
* var_node_list
/* var node_list: nullable Object */;
3108 val
* var1
/* : nullable Object */;
3109 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3110 val
* var2
/* : nullable Object */;
3111 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3112 val
* var3
/* : nullable Object */;
3113 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3114 val
* var4
/* : nullable Object */;
3115 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3116 val
* var5
/* : nullable Object */;
3117 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3118 val
* var6
/* : nullable Object */;
3119 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3120 val
* var7
/* : nullable Object */;
3121 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3122 val
* var8
/* : nullable Object */;
3123 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3124 val
* var9
/* : nullable Object */;
3125 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3126 val
* var10
/* : nullable Object */;
3127 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3128 val
* var11
/* : Array[Object] */;
3129 val
* var_listnode8
/* var listnode8: Array[Object] */;
3130 val
* var12
/* : Array[Object] */;
3131 val
* var_listnode11
/* var listnode11: Array[Object] */;
3132 val
* var13
/* : Array[Object] */;
3133 val
* var_listnode13
/* var listnode13: Array[Object] */;
3134 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3135 short int var14
/* : Bool */;
3138 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3139 short int var15
/* : Bool */;
3142 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3143 short int var18
/* : Bool */;
3146 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3147 short int var21
/* : Bool */;
3150 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3151 short int var24
/* : Bool */;
3154 val
* var_listnode7
/* var listnode7: nullable Object */;
3155 short int var27
/* : Bool */;
3158 val
* var30
/* : Array[Object] */;
3159 val
* var_listnode12
/* var listnode12: nullable Object */;
3160 short int var31
/* : Bool */;
3163 val
* var34
/* : Array[Object] */;
3164 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
3165 short int var35
/* : Bool */;
3168 val
* var38
/* : AStdClassdef */;
3169 val
* var39
/* : null */;
3170 val
* var40
/* : null */;
3171 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3172 long var41
/* : Int */;
3173 long var42
/* : Int */;
3176 var_node_list
= var
;
3178 var1
= parser_work__Parser__pop(var_p
);
3180 var_nodearraylist10
= var1
;
3182 var2
= parser_work__Parser__pop(var_p
);
3184 var_nodearraylist9
= var2
;
3186 var3
= parser_work__Parser__pop(var_p
);
3188 var_nodearraylist8
= var3
;
3190 var4
= parser_work__Parser__pop(var_p
);
3192 var_nodearraylist7
= var4
;
3194 var5
= parser_work__Parser__pop(var_p
);
3196 var_nodearraylist6
= var5
;
3198 var6
= parser_work__Parser__pop(var_p
);
3200 var_nodearraylist5
= var6
;
3202 var7
= parser_work__Parser__pop(var_p
);
3204 var_nodearraylist4
= var7
;
3206 var8
= parser_work__Parser__pop(var_p
);
3208 var_nodearraylist3
= var8
;
3210 var9
= parser_work__Parser__pop(var_p
);
3212 var_nodearraylist2
= var9
;
3214 var10
= parser_work__Parser__pop(var_p
);
3216 var_nodearraylist1
= var10
;
3217 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
3219 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
3221 var_listnode8
= var11
;
3222 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3224 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
3226 var_listnode11
= var12
;
3227 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3229 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
3231 var_listnode13
= var13
;
3232 var_pdocnode2
= var_nodearraylist1
;
3233 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3234 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3235 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3236 if(var_pdocnode2
== NULL
) {
3239 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3242 var14
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3245 if (unlikely(!var14
)) {
3246 PRINT_ERROR("Runtime error: %s", "Assert failed");
3247 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2014);
3250 var_tkwredefnode3
= var_nodearraylist2
;
3251 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3252 cltype16
= type_nullable_parser_nodes__TKwredef
.color
;
3253 idtype17
= type_nullable_parser_nodes__TKwredef
.id
;
3254 if(var_tkwredefnode3
== NULL
) {
3257 if(cltype16
>= var_tkwredefnode3
->type
->table_size
) {
3260 var15
= var_tkwredefnode3
->type
->type_table
[cltype16
] == idtype17
;
3263 if (unlikely(!var15
)) {
3264 PRINT_ERROR("Runtime error: %s", "Assert failed");
3265 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2016);
3268 var_pvisibilitynode4
= var_nodearraylist3
;
3269 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3270 cltype19
= type_nullable_parser_nodes__AVisibility
.color
;
3271 idtype20
= type_nullable_parser_nodes__AVisibility
.id
;
3272 if(var_pvisibilitynode4
== NULL
) {
3275 if(cltype19
>= var_pvisibilitynode4
->type
->table_size
) {
3278 var18
= var_pvisibilitynode4
->type
->type_table
[cltype19
] == idtype20
;
3281 if (unlikely(!var18
)) {
3282 PRINT_ERROR("Runtime error: %s", "Assert failed");
3283 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2018);
3286 var_pclasskindnode5
= var_nodearraylist4
;
3287 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3288 cltype22
= type_nullable_parser_nodes__AClasskind
.color
;
3289 idtype23
= type_nullable_parser_nodes__AClasskind
.id
;
3290 if(var_pclasskindnode5
== NULL
) {
3293 if(cltype22
>= var_pclasskindnode5
->type
->table_size
) {
3296 var21
= var_pclasskindnode5
->type
->type_table
[cltype22
] == idtype23
;
3299 if (unlikely(!var21
)) {
3300 PRINT_ERROR("Runtime error: %s", "Assert failed");
3301 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2020);
3304 var_tclassidnode6
= var_nodearraylist6
;
3305 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3306 cltype25
= type_nullable_parser_nodes__TClassid
.color
;
3307 idtype26
= type_nullable_parser_nodes__TClassid
.id
;
3308 if(var_tclassidnode6
== NULL
) {
3311 if(cltype25
>= var_tclassidnode6
->type
->table_size
) {
3314 var24
= var_tclassidnode6
->type
->type_table
[cltype25
] == idtype26
;
3317 if (unlikely(!var24
)) {
3318 PRINT_ERROR("Runtime error: %s", "Assert failed");
3319 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2022);
3322 var_listnode7
= var_nodearraylist7
;
3323 /* <var_listnode7:nullable Object> isa Array[Object] */
3324 cltype28
= type_array__Arraykernel__Object
.color
;
3325 idtype29
= type_array__Arraykernel__Object
.id
;
3326 if(var_listnode7
== NULL
) {
3329 if(cltype28
>= var_listnode7
->type
->table_size
) {
3332 var27
= var_listnode7
->type
->type_table
[cltype28
] == idtype29
;
3335 if (unlikely(!var27
)) {
3336 PRINT_ERROR("Runtime error: %s", "Assert failed");
3337 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2024);
3341 var30
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
3343 var_listnode8
= var30
;
3344 var_listnode12
= var_nodearraylist8
;
3345 /* <var_listnode12:nullable Object> isa Array[Object] */
3346 cltype32
= type_array__Arraykernel__Object
.color
;
3347 idtype33
= type_array__Arraykernel__Object
.id
;
3348 if(var_listnode12
== NULL
) {
3351 if(cltype32
>= var_listnode12
->type
->table_size
) {
3354 var31
= var_listnode12
->type
->type_table
[cltype32
] == idtype33
;
3357 if (unlikely(!var31
)) {
3358 PRINT_ERROR("Runtime error: %s", "Assert failed");
3359 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2027);
3363 var34
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
3365 var_listnode13
= var34
;
3366 var_tkwendnode14
= var_nodearraylist10
;
3367 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3368 cltype36
= type_nullable_parser_nodes__TKwend
.color
;
3369 idtype37
= type_nullable_parser_nodes__TKwend
.id
;
3370 if(var_tkwendnode14
== NULL
) {
3373 if(cltype36
>= var_tkwendnode14
->type
->table_size
) {
3376 var35
= var_tkwendnode14
->type
->type_table
[cltype36
] == idtype37
;
3379 if (unlikely(!var35
)) {
3380 PRINT_ERROR("Runtime error: %s", "Assert failed");
3381 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2030);
3384 var38
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3388 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>*/
3390 var_pclassdefnode1
= var38
;
3391 var_node_list
= var_pclassdefnode1
;
3392 var41
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction34> */
3394 var42
= parser_work__Parser__go_to(var_p
, var41
);
3397 parser_work__Parser__push(var_p
, var42
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3401 /* method parser#ReduceAction34#action for (self: Object, Parser) */
3402 void VIRTUAL_parser__ReduceAction34__action(val
* self
, val
* p0
) {
3403 parser__ReduceAction34__action(self
, p0
); /* Direct call parser#ReduceAction34#action on <self:Object(ReduceAction34)>*/
3406 /* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */
3407 void parser__ReduceAction35__action(val
* self
, val
* p0
) {
3408 val
* var_p
/* var p: Parser */;
3409 val
* var
/* : null */;
3410 val
* var_node_list
/* var node_list: nullable Object */;
3411 val
* var1
/* : nullable Object */;
3412 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
3413 val
* var2
/* : nullable Object */;
3414 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3415 val
* var3
/* : nullable Object */;
3416 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3417 val
* var4
/* : nullable Object */;
3418 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3419 val
* var5
/* : nullable Object */;
3420 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3421 val
* var6
/* : nullable Object */;
3422 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3423 val
* var7
/* : nullable Object */;
3424 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3425 val
* var8
/* : nullable Object */;
3426 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3427 val
* var9
/* : nullable Object */;
3428 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3429 val
* var10
/* : nullable Object */;
3430 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3431 val
* var11
/* : nullable Object */;
3432 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3433 val
* var12
/* : Array[Object] */;
3434 val
* var_listnode8
/* var listnode8: Array[Object] */;
3435 val
* var13
/* : Array[Object] */;
3436 val
* var_listnode16
/* var listnode16: Array[Object] */;
3437 val
* var14
/* : Array[Object] */;
3438 val
* var_listnode18
/* var listnode18: Array[Object] */;
3439 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3440 short int var15
/* : Bool */;
3443 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3444 short int var16
/* : Bool */;
3447 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3448 short int var19
/* : Bool */;
3451 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3452 short int var22
/* : Bool */;
3455 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3456 short int var25
/* : Bool */;
3459 val
* var_listnode7
/* var listnode7: nullable Object */;
3460 short int var28
/* : Bool */;
3463 val
* var31
/* : Array[Object] */;
3464 val
* var32
/* : Array[Object] */;
3465 val
* var_listnode13
/* var listnode13: Array[Object] */;
3466 val
* var_listnode12
/* var listnode12: nullable Object */;
3467 short int var33
/* : Bool */;
3470 val
* var36
/* : Array[Object] */;
3471 val
* var37
/* : AAnnotations */;
3472 val
* var38
/* : null */;
3473 val
* var39
/* : null */;
3474 val
* var40
/* : null */;
3475 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
3476 val
* var_listnode17
/* var listnode17: nullable Object */;
3477 short int var41
/* : Bool */;
3480 val
* var44
/* : Array[Object] */;
3481 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
3482 short int var45
/* : Bool */;
3485 val
* var48
/* : AStdClassdef */;
3486 val
* var49
/* : null */;
3487 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3488 long var50
/* : Int */;
3489 long var51
/* : Int */;
3492 var_node_list
= var
;
3494 var1
= parser_work__Parser__pop(var_p
);
3496 var_nodearraylist11
= var1
;
3498 var2
= parser_work__Parser__pop(var_p
);
3500 var_nodearraylist10
= var2
;
3502 var3
= parser_work__Parser__pop(var_p
);
3504 var_nodearraylist9
= var3
;
3506 var4
= parser_work__Parser__pop(var_p
);
3508 var_nodearraylist8
= var4
;
3510 var5
= parser_work__Parser__pop(var_p
);
3512 var_nodearraylist7
= var5
;
3514 var6
= parser_work__Parser__pop(var_p
);
3516 var_nodearraylist6
= var6
;
3518 var7
= parser_work__Parser__pop(var_p
);
3520 var_nodearraylist5
= var7
;
3522 var8
= parser_work__Parser__pop(var_p
);
3524 var_nodearraylist4
= var8
;
3526 var9
= parser_work__Parser__pop(var_p
);
3528 var_nodearraylist3
= var9
;
3530 var10
= parser_work__Parser__pop(var_p
);
3532 var_nodearraylist2
= var10
;
3534 var11
= parser_work__Parser__pop(var_p
);
3536 var_nodearraylist1
= var11
;
3537 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3539 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
3541 var_listnode8
= var12
;
3542 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3544 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
3546 var_listnode16
= var13
;
3547 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3549 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
3551 var_listnode18
= var14
;
3552 var_pdocnode2
= var_nodearraylist1
;
3553 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3554 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3555 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3556 if(var_pdocnode2
== NULL
) {
3559 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3562 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3565 if (unlikely(!var15
)) {
3566 PRINT_ERROR("Runtime error: %s", "Assert failed");
3567 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2068);
3570 var_tkwredefnode3
= var_nodearraylist2
;
3571 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3572 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
3573 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
3574 if(var_tkwredefnode3
== NULL
) {
3577 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
3580 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
3583 if (unlikely(!var16
)) {
3584 PRINT_ERROR("Runtime error: %s", "Assert failed");
3585 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2070);
3588 var_pvisibilitynode4
= var_nodearraylist3
;
3589 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3590 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
3591 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
3592 if(var_pvisibilitynode4
== NULL
) {
3595 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
3598 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
3601 if (unlikely(!var19
)) {
3602 PRINT_ERROR("Runtime error: %s", "Assert failed");
3603 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2072);
3606 var_pclasskindnode5
= var_nodearraylist4
;
3607 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3608 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
3609 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
3610 if(var_pclasskindnode5
== NULL
) {
3613 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
3616 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
3619 if (unlikely(!var22
)) {
3620 PRINT_ERROR("Runtime error: %s", "Assert failed");
3621 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2074);
3624 var_tclassidnode6
= var_nodearraylist6
;
3625 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3626 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
3627 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
3628 if(var_tclassidnode6
== NULL
) {
3631 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
3634 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
3637 if (unlikely(!var25
)) {
3638 PRINT_ERROR("Runtime error: %s", "Assert failed");
3639 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2076);
3642 var_listnode7
= var_nodearraylist7
;
3643 /* <var_listnode7:nullable Object> isa Array[Object] */
3644 cltype29
= type_array__Arraykernel__Object
.color
;
3645 idtype30
= type_array__Arraykernel__Object
.id
;
3646 if(var_listnode7
== NULL
) {
3649 if(cltype29
>= var_listnode7
->type
->table_size
) {
3652 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
3655 if (unlikely(!var28
)) {
3656 PRINT_ERROR("Runtime error: %s", "Assert failed");
3657 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2078);
3661 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
3663 var_listnode8
= var31
;
3664 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
3666 array__Array__init(var32
); /* Direct call array#Array#init on <var32:Array[Object]>*/
3668 var_listnode13
= var32
;
3669 var_listnode12
= var_nodearraylist8
;
3670 /* <var_listnode12:nullable Object> isa Array[Object] */
3671 cltype34
= type_array__Arraykernel__Object
.color
;
3672 idtype35
= type_array__Arraykernel__Object
.id
;
3673 if(var_listnode12
== NULL
) {
3676 if(cltype34
>= var_listnode12
->type
->table_size
) {
3679 var33
= var_listnode12
->type
->type_table
[cltype34
] == idtype35
;
3682 if (unlikely(!var33
)) {
3683 PRINT_ERROR("Runtime error: %s", "Assert failed");
3684 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2082);
3688 var36
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
3690 var_listnode13
= var36
;
3691 var37
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3696 parser_prod__AAnnotations__init_aannotations(var37
, var38
, var39
, var_listnode13
, var40
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
3698 var_pannotationsnode9
= var37
;
3699 var_listnode17
= var_nodearraylist9
;
3700 /* <var_listnode17:nullable Object> isa Array[Object] */
3701 cltype42
= type_array__Arraykernel__Object
.color
;
3702 idtype43
= type_array__Arraykernel__Object
.id
;
3703 if(var_listnode17
== NULL
) {
3706 if(cltype42
>= var_listnode17
->type
->table_size
) {
3709 var41
= var_listnode17
->type
->type_table
[cltype42
] == idtype43
;
3712 if (unlikely(!var41
)) {
3713 PRINT_ERROR("Runtime error: %s", "Assert failed");
3714 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2091);
3718 var44
= parser_work__ReduceAction__concat(self
, var_listnode18
, var_listnode17
);
3720 var_listnode18
= var44
;
3721 var_tkwendnode19
= var_nodearraylist11
;
3722 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3723 cltype46
= type_nullable_parser_nodes__TKwend
.color
;
3724 idtype47
= type_nullable_parser_nodes__TKwend
.id
;
3725 if(var_tkwendnode19
== NULL
) {
3728 if(cltype46
>= var_tkwendnode19
->type
->table_size
) {
3731 var45
= var_tkwendnode19
->type
->type_table
[cltype46
] == idtype47
;
3734 if (unlikely(!var45
)) {
3735 PRINT_ERROR("Runtime error: %s", "Assert failed");
3736 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2094);
3739 var48
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
3742 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>*/
3744 var_pclassdefnode1
= var48
;
3745 var_node_list
= var_pclassdefnode1
;
3746 var50
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction35> */
3748 var51
= parser_work__Parser__go_to(var_p
, var50
);
3751 parser_work__Parser__push(var_p
, var51
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3755 /* method parser#ReduceAction35#action for (self: Object, Parser) */
3756 void VIRTUAL_parser__ReduceAction35__action(val
* self
, val
* p0
) {
3757 parser__ReduceAction35__action(self
, p0
); /* Direct call parser#ReduceAction35#action on <self:Object(ReduceAction35)>*/
3760 /* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */
3761 void parser__ReduceAction36__action(val
* self
, val
* p0
) {
3762 val
* var_p
/* var p: Parser */;
3763 val
* var
/* : null */;
3764 val
* var_node_list
/* var node_list: nullable Object */;
3765 val
* var1
/* : nullable Object */;
3766 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
3767 val
* var2
/* : nullable Object */;
3768 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3769 val
* var3
/* : nullable Object */;
3770 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3771 val
* var4
/* : nullable Object */;
3772 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3773 val
* var5
/* : nullable Object */;
3774 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3775 val
* var6
/* : nullable Object */;
3776 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3777 val
* var7
/* : nullable Object */;
3778 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3779 val
* var8
/* : nullable Object */;
3780 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3781 val
* var9
/* : nullable Object */;
3782 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3783 val
* var10
/* : nullable Object */;
3784 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3785 val
* var11
/* : nullable Object */;
3786 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3787 val
* var12
/* : Array[Object] */;
3788 val
* var_listnode8
/* var listnode8: Array[Object] */;
3789 val
* var13
/* : Array[Object] */;
3790 val
* var_listnode11
/* var listnode11: Array[Object] */;
3791 val
* var14
/* : Array[Object] */;
3792 val
* var_listnode13
/* var listnode13: Array[Object] */;
3793 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3794 short int var15
/* : Bool */;
3797 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3798 short int var16
/* : Bool */;
3801 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3802 short int var19
/* : Bool */;
3805 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
3806 short int var22
/* : Bool */;
3809 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
3810 short int var25
/* : Bool */;
3813 val
* var_listnode7
/* var listnode7: nullable Object */;
3814 short int var28
/* : Bool */;
3817 val
* var31
/* : Array[Object] */;
3818 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
3819 short int var32
/* : Bool */;
3822 val
* var_listnode12
/* var listnode12: nullable Object */;
3823 short int var35
/* : Bool */;
3826 val
* var38
/* : Array[Object] */;
3827 val
* var_tkwendnode14
/* var tkwendnode14: nullable Object */;
3828 short int var39
/* : Bool */;
3831 val
* var42
/* : AStdClassdef */;
3832 val
* var43
/* : null */;
3833 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
3834 long var44
/* : Int */;
3835 long var45
/* : Int */;
3838 var_node_list
= var
;
3840 var1
= parser_work__Parser__pop(var_p
);
3842 var_nodearraylist11
= var1
;
3844 var2
= parser_work__Parser__pop(var_p
);
3846 var_nodearraylist10
= var2
;
3848 var3
= parser_work__Parser__pop(var_p
);
3850 var_nodearraylist9
= var3
;
3852 var4
= parser_work__Parser__pop(var_p
);
3854 var_nodearraylist8
= var4
;
3856 var5
= parser_work__Parser__pop(var_p
);
3858 var_nodearraylist7
= var5
;
3860 var6
= parser_work__Parser__pop(var_p
);
3862 var_nodearraylist6
= var6
;
3864 var7
= parser_work__Parser__pop(var_p
);
3866 var_nodearraylist5
= var7
;
3868 var8
= parser_work__Parser__pop(var_p
);
3870 var_nodearraylist4
= var8
;
3872 var9
= parser_work__Parser__pop(var_p
);
3874 var_nodearraylist3
= var9
;
3876 var10
= parser_work__Parser__pop(var_p
);
3878 var_nodearraylist2
= var10
;
3880 var11
= parser_work__Parser__pop(var_p
);
3882 var_nodearraylist1
= var11
;
3883 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3885 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
3887 var_listnode8
= var12
;
3888 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3890 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
3892 var_listnode11
= var13
;
3893 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3895 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
3897 var_listnode13
= var14
;
3898 var_pdocnode2
= var_nodearraylist1
;
3899 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3900 cltype
= type_nullable_parser_nodes__ADoc
.color
;
3901 idtype
= type_nullable_parser_nodes__ADoc
.id
;
3902 if(var_pdocnode2
== NULL
) {
3905 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3908 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3911 if (unlikely(!var15
)) {
3912 PRINT_ERROR("Runtime error: %s", "Assert failed");
3913 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2132);
3916 var_tkwredefnode3
= var_nodearraylist2
;
3917 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3918 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
3919 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
3920 if(var_tkwredefnode3
== NULL
) {
3923 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
3926 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
3929 if (unlikely(!var16
)) {
3930 PRINT_ERROR("Runtime error: %s", "Assert failed");
3931 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2134);
3934 var_pvisibilitynode4
= var_nodearraylist3
;
3935 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3936 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
3937 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
3938 if(var_pvisibilitynode4
== NULL
) {
3941 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
3944 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
3947 if (unlikely(!var19
)) {
3948 PRINT_ERROR("Runtime error: %s", "Assert failed");
3949 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2136);
3952 var_pclasskindnode5
= var_nodearraylist4
;
3953 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3954 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
3955 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
3956 if(var_pclasskindnode5
== NULL
) {
3959 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
3962 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
3965 if (unlikely(!var22
)) {
3966 PRINT_ERROR("Runtime error: %s", "Assert failed");
3967 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2138);
3970 var_tclassidnode6
= var_nodearraylist6
;
3971 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3972 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
3973 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
3974 if(var_tclassidnode6
== NULL
) {
3977 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
3980 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
3983 if (unlikely(!var25
)) {
3984 PRINT_ERROR("Runtime error: %s", "Assert failed");
3985 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2140);
3988 var_listnode7
= var_nodearraylist7
;
3989 /* <var_listnode7:nullable Object> isa Array[Object] */
3990 cltype29
= type_array__Arraykernel__Object
.color
;
3991 idtype30
= type_array__Arraykernel__Object
.id
;
3992 if(var_listnode7
== NULL
) {
3995 if(cltype29
>= var_listnode7
->type
->table_size
) {
3998 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
4001 if (unlikely(!var28
)) {
4002 PRINT_ERROR("Runtime error: %s", "Assert failed");
4003 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2142);
4007 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4009 var_listnode8
= var31
;
4010 var_pexterncodeblocknode10
= var_nodearraylist8
;
4011 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4012 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4013 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4014 if(var_pexterncodeblocknode10
== NULL
) {
4017 if(cltype33
>= var_pexterncodeblocknode10
->type
->table_size
) {
4020 var32
= var_pexterncodeblocknode10
->type
->type_table
[cltype33
] == idtype34
;
4023 if (unlikely(!var32
)) {
4024 PRINT_ERROR("Runtime error: %s", "Assert failed");
4025 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2145);
4028 var_listnode12
= var_nodearraylist9
;
4029 /* <var_listnode12:nullable Object> isa Array[Object] */
4030 cltype36
= type_array__Arraykernel__Object
.color
;
4031 idtype37
= type_array__Arraykernel__Object
.id
;
4032 if(var_listnode12
== NULL
) {
4035 if(cltype36
>= var_listnode12
->type
->table_size
) {
4038 var35
= var_listnode12
->type
->type_table
[cltype36
] == idtype37
;
4041 if (unlikely(!var35
)) {
4042 PRINT_ERROR("Runtime error: %s", "Assert failed");
4043 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2147);
4047 var38
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
4049 var_listnode13
= var38
;
4050 var_tkwendnode14
= var_nodearraylist11
;
4051 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4052 cltype40
= type_nullable_parser_nodes__TKwend
.color
;
4053 idtype41
= type_nullable_parser_nodes__TKwend
.id
;
4054 if(var_tkwendnode14
== NULL
) {
4057 if(cltype40
>= var_tkwendnode14
->type
->table_size
) {
4060 var39
= var_tkwendnode14
->type
->type_table
[cltype40
] == idtype41
;
4063 if (unlikely(!var39
)) {
4064 PRINT_ERROR("Runtime error: %s", "Assert failed");
4065 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2150);
4068 var42
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4071 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>*/
4073 var_pclassdefnode1
= var42
;
4074 var_node_list
= var_pclassdefnode1
;
4075 var44
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction36> */
4077 var45
= parser_work__Parser__go_to(var_p
, var44
);
4080 parser_work__Parser__push(var_p
, var45
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4084 /* method parser#ReduceAction36#action for (self: Object, Parser) */
4085 void VIRTUAL_parser__ReduceAction36__action(val
* self
, val
* p0
) {
4086 parser__ReduceAction36__action(self
, p0
); /* Direct call parser#ReduceAction36#action on <self:Object(ReduceAction36)>*/
4089 /* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */
4090 void parser__ReduceAction37__action(val
* self
, val
* p0
) {
4091 val
* var_p
/* var p: Parser */;
4092 val
* var
/* : null */;
4093 val
* var_node_list
/* var node_list: nullable Object */;
4094 val
* var1
/* : nullable Object */;
4095 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
4096 val
* var2
/* : nullable Object */;
4097 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4098 val
* var3
/* : nullable Object */;
4099 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4100 val
* var4
/* : nullable Object */;
4101 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4102 val
* var5
/* : nullable Object */;
4103 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4104 val
* var6
/* : nullable Object */;
4105 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4106 val
* var7
/* : nullable Object */;
4107 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4108 val
* var8
/* : nullable Object */;
4109 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4110 val
* var9
/* : nullable Object */;
4111 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4112 val
* var10
/* : nullable Object */;
4113 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4114 val
* var11
/* : nullable Object */;
4115 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4116 val
* var12
/* : nullable Object */;
4117 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4118 val
* var13
/* : Array[Object] */;
4119 val
* var_listnode8
/* var listnode8: Array[Object] */;
4120 val
* var14
/* : Array[Object] */;
4121 val
* var_listnode16
/* var listnode16: Array[Object] */;
4122 val
* var15
/* : Array[Object] */;
4123 val
* var_listnode18
/* var listnode18: Array[Object] */;
4124 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4125 short int var16
/* : Bool */;
4128 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4129 short int var17
/* : Bool */;
4132 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4133 short int var20
/* : Bool */;
4136 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4137 short int var23
/* : Bool */;
4140 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4141 short int var26
/* : Bool */;
4144 val
* var_listnode7
/* var listnode7: nullable Object */;
4145 short int var29
/* : Bool */;
4148 val
* var32
/* : Array[Object] */;
4149 val
* var33
/* : Array[Object] */;
4150 val
* var_listnode13
/* var listnode13: Array[Object] */;
4151 val
* var_listnode12
/* var listnode12: nullable Object */;
4152 short int var34
/* : Bool */;
4155 val
* var37
/* : Array[Object] */;
4156 val
* var38
/* : AAnnotations */;
4157 val
* var39
/* : null */;
4158 val
* var40
/* : null */;
4159 val
* var41
/* : null */;
4160 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
4161 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
4162 short int var42
/* : Bool */;
4165 val
* var_listnode17
/* var listnode17: nullable Object */;
4166 short int var45
/* : Bool */;
4169 val
* var48
/* : Array[Object] */;
4170 val
* var_tkwendnode19
/* var tkwendnode19: nullable Object */;
4171 short int var49
/* : Bool */;
4174 val
* var52
/* : AStdClassdef */;
4175 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4176 long var53
/* : Int */;
4177 long var54
/* : Int */;
4180 var_node_list
= var
;
4182 var1
= parser_work__Parser__pop(var_p
);
4184 var_nodearraylist12
= var1
;
4186 var2
= parser_work__Parser__pop(var_p
);
4188 var_nodearraylist11
= var2
;
4190 var3
= parser_work__Parser__pop(var_p
);
4192 var_nodearraylist10
= var3
;
4194 var4
= parser_work__Parser__pop(var_p
);
4196 var_nodearraylist9
= var4
;
4198 var5
= parser_work__Parser__pop(var_p
);
4200 var_nodearraylist8
= var5
;
4202 var6
= parser_work__Parser__pop(var_p
);
4204 var_nodearraylist7
= var6
;
4206 var7
= parser_work__Parser__pop(var_p
);
4208 var_nodearraylist6
= var7
;
4210 var8
= parser_work__Parser__pop(var_p
);
4212 var_nodearraylist5
= var8
;
4214 var9
= parser_work__Parser__pop(var_p
);
4216 var_nodearraylist4
= var9
;
4218 var10
= parser_work__Parser__pop(var_p
);
4220 var_nodearraylist3
= var10
;
4222 var11
= parser_work__Parser__pop(var_p
);
4224 var_nodearraylist2
= var11
;
4226 var12
= parser_work__Parser__pop(var_p
);
4228 var_nodearraylist1
= var12
;
4229 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4231 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
4233 var_listnode8
= var13
;
4234 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
4236 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
4238 var_listnode16
= var14
;
4239 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
4241 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
4243 var_listnode18
= var15
;
4244 var_pdocnode2
= var_nodearraylist1
;
4245 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4246 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4247 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4248 if(var_pdocnode2
== NULL
) {
4251 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4254 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4257 if (unlikely(!var16
)) {
4258 PRINT_ERROR("Runtime error: %s", "Assert failed");
4259 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2189);
4262 var_tkwredefnode3
= var_nodearraylist2
;
4263 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4264 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
4265 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
4266 if(var_tkwredefnode3
== NULL
) {
4269 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
4272 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
4275 if (unlikely(!var17
)) {
4276 PRINT_ERROR("Runtime error: %s", "Assert failed");
4277 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2191);
4280 var_pvisibilitynode4
= var_nodearraylist3
;
4281 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4282 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
4283 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
4284 if(var_pvisibilitynode4
== NULL
) {
4287 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
4290 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
4293 if (unlikely(!var20
)) {
4294 PRINT_ERROR("Runtime error: %s", "Assert failed");
4295 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2193);
4298 var_pclasskindnode5
= var_nodearraylist4
;
4299 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4300 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
4301 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
4302 if(var_pclasskindnode5
== NULL
) {
4305 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
4308 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
4311 if (unlikely(!var23
)) {
4312 PRINT_ERROR("Runtime error: %s", "Assert failed");
4313 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2195);
4316 var_tclassidnode6
= var_nodearraylist6
;
4317 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4318 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
4319 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
4320 if(var_tclassidnode6
== NULL
) {
4323 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
4326 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
4329 if (unlikely(!var26
)) {
4330 PRINT_ERROR("Runtime error: %s", "Assert failed");
4331 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2197);
4334 var_listnode7
= var_nodearraylist7
;
4335 /* <var_listnode7:nullable Object> isa Array[Object] */
4336 cltype30
= type_array__Arraykernel__Object
.color
;
4337 idtype31
= type_array__Arraykernel__Object
.id
;
4338 if(var_listnode7
== NULL
) {
4341 if(cltype30
>= var_listnode7
->type
->table_size
) {
4344 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
4347 if (unlikely(!var29
)) {
4348 PRINT_ERROR("Runtime error: %s", "Assert failed");
4349 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2199);
4353 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4355 var_listnode8
= var32
;
4356 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
4358 array__Array__init(var33
); /* Direct call array#Array#init on <var33:Array[Object]>*/
4360 var_listnode13
= var33
;
4361 var_listnode12
= var_nodearraylist8
;
4362 /* <var_listnode12:nullable Object> isa Array[Object] */
4363 cltype35
= type_array__Arraykernel__Object
.color
;
4364 idtype36
= type_array__Arraykernel__Object
.id
;
4365 if(var_listnode12
== NULL
) {
4368 if(cltype35
>= var_listnode12
->type
->table_size
) {
4371 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
4374 if (unlikely(!var34
)) {
4375 PRINT_ERROR("Runtime error: %s", "Assert failed");
4376 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2203);
4380 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
4382 var_listnode13
= var37
;
4383 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
4388 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
4390 var_pannotationsnode9
= var38
;
4391 var_pexterncodeblocknode15
= var_nodearraylist9
;
4392 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4393 cltype43
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
4394 idtype44
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
4395 if(var_pexterncodeblocknode15
== NULL
) {
4398 if(cltype43
>= var_pexterncodeblocknode15
->type
->table_size
) {
4401 var42
= var_pexterncodeblocknode15
->type
->type_table
[cltype43
] == idtype44
;
4404 if (unlikely(!var42
)) {
4405 PRINT_ERROR("Runtime error: %s", "Assert failed");
4406 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2212);
4409 var_listnode17
= var_nodearraylist10
;
4410 /* <var_listnode17:nullable Object> isa Array[Object] */
4411 cltype46
= type_array__Arraykernel__Object
.color
;
4412 idtype47
= type_array__Arraykernel__Object
.id
;
4413 if(var_listnode17
== NULL
) {
4416 if(cltype46
>= var_listnode17
->type
->table_size
) {
4419 var45
= var_listnode17
->type
->type_table
[cltype46
] == idtype47
;
4422 if (unlikely(!var45
)) {
4423 PRINT_ERROR("Runtime error: %s", "Assert failed");
4424 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2214);
4428 var48
= parser_work__ReduceAction__concat(self
, var_listnode18
, var_listnode17
);
4430 var_listnode18
= var48
;
4431 var_tkwendnode19
= var_nodearraylist12
;
4432 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4433 cltype50
= type_nullable_parser_nodes__TKwend
.color
;
4434 idtype51
= type_nullable_parser_nodes__TKwend
.id
;
4435 if(var_tkwendnode19
== NULL
) {
4438 if(cltype50
>= var_tkwendnode19
->type
->table_size
) {
4441 var49
= var_tkwendnode19
->type
->type_table
[cltype50
] == idtype51
;
4444 if (unlikely(!var49
)) {
4445 PRINT_ERROR("Runtime error: %s", "Assert failed");
4446 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2217);
4449 var52
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4451 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>*/
4453 var_pclassdefnode1
= var52
;
4454 var_node_list
= var_pclassdefnode1
;
4455 var53
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction37> */
4457 var54
= parser_work__Parser__go_to(var_p
, var53
);
4460 parser_work__Parser__push(var_p
, var54
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4464 /* method parser#ReduceAction37#action for (self: Object, Parser) */
4465 void VIRTUAL_parser__ReduceAction37__action(val
* self
, val
* p0
) {
4466 parser__ReduceAction37__action(self
, p0
); /* Direct call parser#ReduceAction37#action on <self:Object(ReduceAction37)>*/
4469 /* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */
4470 void parser__ReduceAction38__action(val
* self
, val
* p0
) {
4471 val
* var_p
/* var p: Parser */;
4472 val
* var
/* : null */;
4473 val
* var_node_list
/* var node_list: nullable Object */;
4474 val
* var1
/* : nullable Object */;
4475 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4476 val
* var2
/* : nullable Object */;
4477 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4478 val
* var3
/* : nullable Object */;
4479 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4480 val
* var4
/* : nullable Object */;
4481 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4482 val
* var5
/* : nullable Object */;
4483 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4484 val
* var6
/* : nullable Object */;
4485 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4486 val
* var7
/* : nullable Object */;
4487 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4488 val
* var8
/* : nullable Object */;
4489 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4490 val
* var9
/* : nullable Object */;
4491 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4492 val
* var10
/* : nullable Object */;
4493 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4494 val
* var11
/* : nullable Object */;
4495 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4496 val
* var12
/* : Array[Object] */;
4497 val
* var_listnode8
/* var listnode8: Array[Object] */;
4498 val
* var13
/* : Array[Object] */;
4499 val
* var_listnode12
/* var listnode12: Array[Object] */;
4500 val
* var14
/* : Array[Object] */;
4501 val
* var_listnode14
/* var listnode14: Array[Object] */;
4502 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4503 short int var15
/* : Bool */;
4506 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4507 short int var16
/* : Bool */;
4510 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4511 short int var19
/* : Bool */;
4514 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4515 short int var22
/* : Bool */;
4518 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4519 short int var25
/* : Bool */;
4522 val
* var_listnode7
/* var listnode7: nullable Object */;
4523 short int var28
/* : Bool */;
4526 val
* var31
/* : Array[Object] */;
4527 val
* var_listnode11
/* var listnode11: nullable Object */;
4528 short int var32
/* : Bool */;
4531 val
* var35
/* : Array[Object] */;
4532 val
* var_listnode13
/* var listnode13: nullable Object */;
4533 short int var36
/* : Bool */;
4536 val
* var39
/* : Array[Object] */;
4537 val
* var_tkwendnode15
/* var tkwendnode15: nullable Object */;
4538 short int var40
/* : Bool */;
4541 val
* var43
/* : AStdClassdef */;
4542 val
* var44
/* : null */;
4543 val
* var45
/* : null */;
4544 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4545 long var46
/* : Int */;
4546 long var47
/* : Int */;
4549 var_node_list
= var
;
4551 var1
= parser_work__Parser__pop(var_p
);
4553 var_nodearraylist11
= var1
;
4555 var2
= parser_work__Parser__pop(var_p
);
4557 var_nodearraylist10
= var2
;
4559 var3
= parser_work__Parser__pop(var_p
);
4561 var_nodearraylist9
= var3
;
4563 var4
= parser_work__Parser__pop(var_p
);
4565 var_nodearraylist8
= var4
;
4567 var5
= parser_work__Parser__pop(var_p
);
4569 var_nodearraylist7
= var5
;
4571 var6
= parser_work__Parser__pop(var_p
);
4573 var_nodearraylist6
= var6
;
4575 var7
= parser_work__Parser__pop(var_p
);
4577 var_nodearraylist5
= var7
;
4579 var8
= parser_work__Parser__pop(var_p
);
4581 var_nodearraylist4
= var8
;
4583 var9
= parser_work__Parser__pop(var_p
);
4585 var_nodearraylist3
= var9
;
4587 var10
= parser_work__Parser__pop(var_p
);
4589 var_nodearraylist2
= var10
;
4591 var11
= parser_work__Parser__pop(var_p
);
4593 var_nodearraylist1
= var11
;
4594 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
4596 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
4598 var_listnode8
= var12
;
4599 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4601 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
4603 var_listnode12
= var13
;
4604 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
4606 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
4608 var_listnode14
= var14
;
4609 var_pdocnode2
= var_nodearraylist1
;
4610 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4611 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4612 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4613 if(var_pdocnode2
== NULL
) {
4616 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4619 var15
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4622 if (unlikely(!var15
)) {
4623 PRINT_ERROR("Runtime error: %s", "Assert failed");
4624 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2255);
4627 var_tkwredefnode3
= var_nodearraylist2
;
4628 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4629 cltype17
= type_nullable_parser_nodes__TKwredef
.color
;
4630 idtype18
= type_nullable_parser_nodes__TKwredef
.id
;
4631 if(var_tkwredefnode3
== NULL
) {
4634 if(cltype17
>= var_tkwredefnode3
->type
->table_size
) {
4637 var16
= var_tkwredefnode3
->type
->type_table
[cltype17
] == idtype18
;
4640 if (unlikely(!var16
)) {
4641 PRINT_ERROR("Runtime error: %s", "Assert failed");
4642 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2257);
4645 var_pvisibilitynode4
= var_nodearraylist3
;
4646 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4647 cltype20
= type_nullable_parser_nodes__AVisibility
.color
;
4648 idtype21
= type_nullable_parser_nodes__AVisibility
.id
;
4649 if(var_pvisibilitynode4
== NULL
) {
4652 if(cltype20
>= var_pvisibilitynode4
->type
->table_size
) {
4655 var19
= var_pvisibilitynode4
->type
->type_table
[cltype20
] == idtype21
;
4658 if (unlikely(!var19
)) {
4659 PRINT_ERROR("Runtime error: %s", "Assert failed");
4660 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2259);
4663 var_pclasskindnode5
= var_nodearraylist4
;
4664 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4665 cltype23
= type_nullable_parser_nodes__AClasskind
.color
;
4666 idtype24
= type_nullable_parser_nodes__AClasskind
.id
;
4667 if(var_pclasskindnode5
== NULL
) {
4670 if(cltype23
>= var_pclasskindnode5
->type
->table_size
) {
4673 var22
= var_pclasskindnode5
->type
->type_table
[cltype23
] == idtype24
;
4676 if (unlikely(!var22
)) {
4677 PRINT_ERROR("Runtime error: %s", "Assert failed");
4678 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2261);
4681 var_tclassidnode6
= var_nodearraylist6
;
4682 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4683 cltype26
= type_nullable_parser_nodes__TClassid
.color
;
4684 idtype27
= type_nullable_parser_nodes__TClassid
.id
;
4685 if(var_tclassidnode6
== NULL
) {
4688 if(cltype26
>= var_tclassidnode6
->type
->table_size
) {
4691 var25
= var_tclassidnode6
->type
->type_table
[cltype26
] == idtype27
;
4694 if (unlikely(!var25
)) {
4695 PRINT_ERROR("Runtime error: %s", "Assert failed");
4696 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2263);
4699 var_listnode7
= var_nodearraylist7
;
4700 /* <var_listnode7:nullable Object> isa Array[Object] */
4701 cltype29
= type_array__Arraykernel__Object
.color
;
4702 idtype30
= type_array__Arraykernel__Object
.id
;
4703 if(var_listnode7
== NULL
) {
4706 if(cltype29
>= var_listnode7
->type
->table_size
) {
4709 var28
= var_listnode7
->type
->type_table
[cltype29
] == idtype30
;
4712 if (unlikely(!var28
)) {
4713 PRINT_ERROR("Runtime error: %s", "Assert failed");
4714 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2265);
4718 var31
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
4720 var_listnode8
= var31
;
4721 var_listnode11
= var_nodearraylist8
;
4722 /* <var_listnode11:nullable Object> isa Array[Object] */
4723 cltype33
= type_array__Arraykernel__Object
.color
;
4724 idtype34
= type_array__Arraykernel__Object
.id
;
4725 if(var_listnode11
== NULL
) {
4728 if(cltype33
>= var_listnode11
->type
->table_size
) {
4731 var32
= var_listnode11
->type
->type_table
[cltype33
] == idtype34
;
4734 if (unlikely(!var32
)) {
4735 PRINT_ERROR("Runtime error: %s", "Assert failed");
4736 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2268);
4740 var35
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
4742 var_listnode12
= var35
;
4743 var_listnode13
= var_nodearraylist9
;
4744 /* <var_listnode13:nullable Object> isa Array[Object] */
4745 cltype37
= type_array__Arraykernel__Object
.color
;
4746 idtype38
= type_array__Arraykernel__Object
.id
;
4747 if(var_listnode13
== NULL
) {
4750 if(cltype37
>= var_listnode13
->type
->table_size
) {
4753 var36
= var_listnode13
->type
->type_table
[cltype37
] == idtype38
;
4756 if (unlikely(!var36
)) {
4757 PRINT_ERROR("Runtime error: %s", "Assert failed");
4758 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2271);
4762 var39
= parser_work__ReduceAction__concat(self
, var_listnode14
, var_listnode13
);
4764 var_listnode14
= var39
;
4765 var_tkwendnode15
= var_nodearraylist11
;
4766 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
4767 cltype41
= type_nullable_parser_nodes__TKwend
.color
;
4768 idtype42
= type_nullable_parser_nodes__TKwend
.id
;
4769 if(var_tkwendnode15
== NULL
) {
4772 if(cltype41
>= var_tkwendnode15
->type
->table_size
) {
4775 var40
= var_tkwendnode15
->type
->type_table
[cltype41
] == idtype42
;
4778 if (unlikely(!var40
)) {
4779 PRINT_ERROR("Runtime error: %s", "Assert failed");
4780 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2274);
4783 var43
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
4787 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>*/
4789 var_pclassdefnode1
= var43
;
4790 var_node_list
= var_pclassdefnode1
;
4791 var46
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction38> */
4793 var47
= parser_work__Parser__go_to(var_p
, var46
);
4796 parser_work__Parser__push(var_p
, var47
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4800 /* method parser#ReduceAction38#action for (self: Object, Parser) */
4801 void VIRTUAL_parser__ReduceAction38__action(val
* self
, val
* p0
) {
4802 parser__ReduceAction38__action(self
, p0
); /* Direct call parser#ReduceAction38#action on <self:Object(ReduceAction38)>*/
4805 /* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */
4806 void parser__ReduceAction39__action(val
* self
, val
* p0
) {
4807 val
* var_p
/* var p: Parser */;
4808 val
* var
/* : null */;
4809 val
* var_node_list
/* var node_list: nullable Object */;
4810 val
* var1
/* : nullable Object */;
4811 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
4812 val
* var2
/* : nullable Object */;
4813 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
4814 val
* var3
/* : nullable Object */;
4815 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
4816 val
* var4
/* : nullable Object */;
4817 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
4818 val
* var5
/* : nullable Object */;
4819 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4820 val
* var6
/* : nullable Object */;
4821 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4822 val
* var7
/* : nullable Object */;
4823 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4824 val
* var8
/* : nullable Object */;
4825 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4826 val
* var9
/* : nullable Object */;
4827 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4828 val
* var10
/* : nullable Object */;
4829 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4830 val
* var11
/* : nullable Object */;
4831 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4832 val
* var12
/* : nullable Object */;
4833 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4834 val
* var13
/* : Array[Object] */;
4835 val
* var_listnode8
/* var listnode8: Array[Object] */;
4836 val
* var14
/* : Array[Object] */;
4837 val
* var_listnode17
/* var listnode17: Array[Object] */;
4838 val
* var15
/* : Array[Object] */;
4839 val
* var_listnode19
/* var listnode19: Array[Object] */;
4840 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4841 short int var16
/* : Bool */;
4844 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
4845 short int var17
/* : Bool */;
4848 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
4849 short int var20
/* : Bool */;
4852 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
4853 short int var23
/* : Bool */;
4856 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
4857 short int var26
/* : Bool */;
4860 val
* var_listnode7
/* var listnode7: nullable Object */;
4861 short int var29
/* : Bool */;
4864 val
* var32
/* : Array[Object] */;
4865 val
* var33
/* : Array[Object] */;
4866 val
* var_listnode13
/* var listnode13: Array[Object] */;
4867 val
* var_listnode12
/* var listnode12: nullable Object */;
4868 short int var34
/* : Bool */;
4871 val
* var37
/* : Array[Object] */;
4872 val
* var38
/* : AAnnotations */;
4873 val
* var39
/* : null */;
4874 val
* var40
/* : null */;
4875 val
* var41
/* : null */;
4876 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
4877 val
* var_listnode16
/* var listnode16: nullable Object */;
4878 short int var42
/* : Bool */;
4881 val
* var45
/* : Array[Object] */;
4882 val
* var_listnode18
/* var listnode18: nullable Object */;
4883 short int var46
/* : Bool */;
4886 val
* var49
/* : Array[Object] */;
4887 val
* var_tkwendnode20
/* var tkwendnode20: nullable Object */;
4888 short int var50
/* : Bool */;
4891 val
* var53
/* : AStdClassdef */;
4892 val
* var54
/* : null */;
4893 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
4894 long var55
/* : Int */;
4895 long var56
/* : Int */;
4898 var_node_list
= var
;
4900 var1
= parser_work__Parser__pop(var_p
);
4902 var_nodearraylist12
= var1
;
4904 var2
= parser_work__Parser__pop(var_p
);
4906 var_nodearraylist11
= var2
;
4908 var3
= parser_work__Parser__pop(var_p
);
4910 var_nodearraylist10
= var3
;
4912 var4
= parser_work__Parser__pop(var_p
);
4914 var_nodearraylist9
= var4
;
4916 var5
= parser_work__Parser__pop(var_p
);
4918 var_nodearraylist8
= var5
;
4920 var6
= parser_work__Parser__pop(var_p
);
4922 var_nodearraylist7
= var6
;
4924 var7
= parser_work__Parser__pop(var_p
);
4926 var_nodearraylist6
= var7
;
4928 var8
= parser_work__Parser__pop(var_p
);
4930 var_nodearraylist5
= var8
;
4932 var9
= parser_work__Parser__pop(var_p
);
4934 var_nodearraylist4
= var9
;
4936 var10
= parser_work__Parser__pop(var_p
);
4938 var_nodearraylist3
= var10
;
4940 var11
= parser_work__Parser__pop(var_p
);
4942 var_nodearraylist2
= var11
;
4944 var12
= parser_work__Parser__pop(var_p
);
4946 var_nodearraylist1
= var12
;
4947 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4949 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
4951 var_listnode8
= var13
;
4952 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
4954 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
4956 var_listnode17
= var14
;
4957 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
4959 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
4961 var_listnode19
= var15
;
4962 var_pdocnode2
= var_nodearraylist1
;
4963 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4964 cltype
= type_nullable_parser_nodes__ADoc
.color
;
4965 idtype
= type_nullable_parser_nodes__ADoc
.id
;
4966 if(var_pdocnode2
== NULL
) {
4969 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4972 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4975 if (unlikely(!var16
)) {
4976 PRINT_ERROR("Runtime error: %s", "Assert failed");
4977 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2313);
4980 var_tkwredefnode3
= var_nodearraylist2
;
4981 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4982 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
4983 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
4984 if(var_tkwredefnode3
== NULL
) {
4987 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
4990 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
4993 if (unlikely(!var17
)) {
4994 PRINT_ERROR("Runtime error: %s", "Assert failed");
4995 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2315);
4998 var_pvisibilitynode4
= var_nodearraylist3
;
4999 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5000 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
5001 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
5002 if(var_pvisibilitynode4
== NULL
) {
5005 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
5008 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
5011 if (unlikely(!var20
)) {
5012 PRINT_ERROR("Runtime error: %s", "Assert failed");
5013 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2317);
5016 var_pclasskindnode5
= var_nodearraylist4
;
5017 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5018 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
5019 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
5020 if(var_pclasskindnode5
== NULL
) {
5023 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
5026 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
5029 if (unlikely(!var23
)) {
5030 PRINT_ERROR("Runtime error: %s", "Assert failed");
5031 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2319);
5034 var_tclassidnode6
= var_nodearraylist6
;
5035 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5036 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
5037 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
5038 if(var_tclassidnode6
== NULL
) {
5041 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
5044 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
5047 if (unlikely(!var26
)) {
5048 PRINT_ERROR("Runtime error: %s", "Assert failed");
5049 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2321);
5052 var_listnode7
= var_nodearraylist7
;
5053 /* <var_listnode7:nullable Object> isa Array[Object] */
5054 cltype30
= type_array__Arraykernel__Object
.color
;
5055 idtype31
= type_array__Arraykernel__Object
.id
;
5056 if(var_listnode7
== NULL
) {
5059 if(cltype30
>= var_listnode7
->type
->table_size
) {
5062 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
5065 if (unlikely(!var29
)) {
5066 PRINT_ERROR("Runtime error: %s", "Assert failed");
5067 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2323);
5071 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5073 var_listnode8
= var32
;
5074 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
5076 array__Array__init(var33
); /* Direct call array#Array#init on <var33:Array[Object]>*/
5078 var_listnode13
= var33
;
5079 var_listnode12
= var_nodearraylist8
;
5080 /* <var_listnode12:nullable Object> isa Array[Object] */
5081 cltype35
= type_array__Arraykernel__Object
.color
;
5082 idtype36
= type_array__Arraykernel__Object
.id
;
5083 if(var_listnode12
== NULL
) {
5086 if(cltype35
>= var_listnode12
->type
->table_size
) {
5089 var34
= var_listnode12
->type
->type_table
[cltype35
] == idtype36
;
5092 if (unlikely(!var34
)) {
5093 PRINT_ERROR("Runtime error: %s", "Assert failed");
5094 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2327);
5098 var37
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
5100 var_listnode13
= var37
;
5101 var38
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5106 parser_prod__AAnnotations__init_aannotations(var38
, var39
, var40
, var_listnode13
, var41
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
5108 var_pannotationsnode9
= var38
;
5109 var_listnode16
= var_nodearraylist9
;
5110 /* <var_listnode16:nullable Object> isa Array[Object] */
5111 cltype43
= type_array__Arraykernel__Object
.color
;
5112 idtype44
= type_array__Arraykernel__Object
.id
;
5113 if(var_listnode16
== NULL
) {
5116 if(cltype43
>= var_listnode16
->type
->table_size
) {
5119 var42
= var_listnode16
->type
->type_table
[cltype43
] == idtype44
;
5122 if (unlikely(!var42
)) {
5123 PRINT_ERROR("Runtime error: %s", "Assert failed");
5124 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2336);
5128 var45
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
5130 var_listnode17
= var45
;
5131 var_listnode18
= var_nodearraylist10
;
5132 /* <var_listnode18:nullable Object> isa Array[Object] */
5133 cltype47
= type_array__Arraykernel__Object
.color
;
5134 idtype48
= type_array__Arraykernel__Object
.id
;
5135 if(var_listnode18
== NULL
) {
5138 if(cltype47
>= var_listnode18
->type
->table_size
) {
5141 var46
= var_listnode18
->type
->type_table
[cltype47
] == idtype48
;
5144 if (unlikely(!var46
)) {
5145 PRINT_ERROR("Runtime error: %s", "Assert failed");
5146 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2339);
5150 var49
= parser_work__ReduceAction__concat(self
, var_listnode19
, var_listnode18
);
5152 var_listnode19
= var49
;
5153 var_tkwendnode20
= var_nodearraylist12
;
5154 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5155 cltype51
= type_nullable_parser_nodes__TKwend
.color
;
5156 idtype52
= type_nullable_parser_nodes__TKwend
.id
;
5157 if(var_tkwendnode20
== NULL
) {
5160 if(cltype51
>= var_tkwendnode20
->type
->table_size
) {
5163 var50
= var_tkwendnode20
->type
->type_table
[cltype51
] == idtype52
;
5166 if (unlikely(!var50
)) {
5167 PRINT_ERROR("Runtime error: %s", "Assert failed");
5168 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2342);
5171 var53
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5174 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>*/
5176 var_pclassdefnode1
= var53
;
5177 var_node_list
= var_pclassdefnode1
;
5178 var55
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction39> */
5180 var56
= parser_work__Parser__go_to(var_p
, var55
);
5183 parser_work__Parser__push(var_p
, var56
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5187 /* method parser#ReduceAction39#action for (self: Object, Parser) */
5188 void VIRTUAL_parser__ReduceAction39__action(val
* self
, val
* p0
) {
5189 parser__ReduceAction39__action(self
, p0
); /* Direct call parser#ReduceAction39#action on <self:Object(ReduceAction39)>*/
5192 /* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */
5193 void parser__ReduceAction40__action(val
* self
, val
* p0
) {
5194 val
* var_p
/* var p: Parser */;
5195 val
* var
/* : null */;
5196 val
* var_node_list
/* var node_list: nullable Object */;
5197 val
* var1
/* : nullable Object */;
5198 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
5199 val
* var2
/* : nullable Object */;
5200 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
5201 val
* var3
/* : nullable Object */;
5202 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
5203 val
* var4
/* : nullable Object */;
5204 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5205 val
* var5
/* : nullable Object */;
5206 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5207 val
* var6
/* : nullable Object */;
5208 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5209 val
* var7
/* : nullable Object */;
5210 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5211 val
* var8
/* : nullable Object */;
5212 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5213 val
* var9
/* : nullable Object */;
5214 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5215 val
* var10
/* : nullable Object */;
5216 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5217 val
* var11
/* : nullable Object */;
5218 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5219 val
* var12
/* : nullable Object */;
5220 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5221 val
* var13
/* : Array[Object] */;
5222 val
* var_listnode8
/* var listnode8: Array[Object] */;
5223 val
* var14
/* : Array[Object] */;
5224 val
* var_listnode12
/* var listnode12: Array[Object] */;
5225 val
* var15
/* : Array[Object] */;
5226 val
* var_listnode14
/* var listnode14: Array[Object] */;
5227 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5228 short int var16
/* : Bool */;
5231 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5232 short int var17
/* : Bool */;
5235 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5236 short int var20
/* : Bool */;
5239 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
5240 short int var23
/* : Bool */;
5243 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
5244 short int var26
/* : Bool */;
5247 val
* var_listnode7
/* var listnode7: nullable Object */;
5248 short int var29
/* : Bool */;
5251 val
* var32
/* : Array[Object] */;
5252 val
* var_pexterncodeblocknode10
/* var pexterncodeblocknode10: nullable Object */;
5253 short int var33
/* : Bool */;
5256 val
* var_listnode11
/* var listnode11: nullable Object */;
5257 short int var36
/* : Bool */;
5260 val
* var39
/* : Array[Object] */;
5261 val
* var_listnode13
/* var listnode13: nullable Object */;
5262 short int var40
/* : Bool */;
5265 val
* var43
/* : Array[Object] */;
5266 val
* var_tkwendnode15
/* var tkwendnode15: nullable Object */;
5267 short int var44
/* : Bool */;
5270 val
* var47
/* : AStdClassdef */;
5271 val
* var48
/* : null */;
5272 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
5273 long var49
/* : Int */;
5274 long var50
/* : Int */;
5277 var_node_list
= var
;
5279 var1
= parser_work__Parser__pop(var_p
);
5281 var_nodearraylist12
= var1
;
5283 var2
= parser_work__Parser__pop(var_p
);
5285 var_nodearraylist11
= var2
;
5287 var3
= parser_work__Parser__pop(var_p
);
5289 var_nodearraylist10
= var3
;
5291 var4
= parser_work__Parser__pop(var_p
);
5293 var_nodearraylist9
= var4
;
5295 var5
= parser_work__Parser__pop(var_p
);
5297 var_nodearraylist8
= var5
;
5299 var6
= parser_work__Parser__pop(var_p
);
5301 var_nodearraylist7
= var6
;
5303 var7
= parser_work__Parser__pop(var_p
);
5305 var_nodearraylist6
= var7
;
5307 var8
= parser_work__Parser__pop(var_p
);
5309 var_nodearraylist5
= var8
;
5311 var9
= parser_work__Parser__pop(var_p
);
5313 var_nodearraylist4
= var9
;
5315 var10
= parser_work__Parser__pop(var_p
);
5317 var_nodearraylist3
= var10
;
5319 var11
= parser_work__Parser__pop(var_p
);
5321 var_nodearraylist2
= var11
;
5323 var12
= parser_work__Parser__pop(var_p
);
5325 var_nodearraylist1
= var12
;
5326 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
5328 array__Array__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
5330 var_listnode8
= var13
;
5331 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
5333 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
5335 var_listnode12
= var14
;
5336 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
5338 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
5340 var_listnode14
= var15
;
5341 var_pdocnode2
= var_nodearraylist1
;
5342 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5343 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5344 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5345 if(var_pdocnode2
== NULL
) {
5348 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5351 var16
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5354 if (unlikely(!var16
)) {
5355 PRINT_ERROR("Runtime error: %s", "Assert failed");
5356 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2381);
5359 var_tkwredefnode3
= var_nodearraylist2
;
5360 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5361 cltype18
= type_nullable_parser_nodes__TKwredef
.color
;
5362 idtype19
= type_nullable_parser_nodes__TKwredef
.id
;
5363 if(var_tkwredefnode3
== NULL
) {
5366 if(cltype18
>= var_tkwredefnode3
->type
->table_size
) {
5369 var17
= var_tkwredefnode3
->type
->type_table
[cltype18
] == idtype19
;
5372 if (unlikely(!var17
)) {
5373 PRINT_ERROR("Runtime error: %s", "Assert failed");
5374 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2383);
5377 var_pvisibilitynode4
= var_nodearraylist3
;
5378 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5379 cltype21
= type_nullable_parser_nodes__AVisibility
.color
;
5380 idtype22
= type_nullable_parser_nodes__AVisibility
.id
;
5381 if(var_pvisibilitynode4
== NULL
) {
5384 if(cltype21
>= var_pvisibilitynode4
->type
->table_size
) {
5387 var20
= var_pvisibilitynode4
->type
->type_table
[cltype21
] == idtype22
;
5390 if (unlikely(!var20
)) {
5391 PRINT_ERROR("Runtime error: %s", "Assert failed");
5392 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2385);
5395 var_pclasskindnode5
= var_nodearraylist4
;
5396 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5397 cltype24
= type_nullable_parser_nodes__AClasskind
.color
;
5398 idtype25
= type_nullable_parser_nodes__AClasskind
.id
;
5399 if(var_pclasskindnode5
== NULL
) {
5402 if(cltype24
>= var_pclasskindnode5
->type
->table_size
) {
5405 var23
= var_pclasskindnode5
->type
->type_table
[cltype24
] == idtype25
;
5408 if (unlikely(!var23
)) {
5409 PRINT_ERROR("Runtime error: %s", "Assert failed");
5410 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2387);
5413 var_tclassidnode6
= var_nodearraylist6
;
5414 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5415 cltype27
= type_nullable_parser_nodes__TClassid
.color
;
5416 idtype28
= type_nullable_parser_nodes__TClassid
.id
;
5417 if(var_tclassidnode6
== NULL
) {
5420 if(cltype27
>= var_tclassidnode6
->type
->table_size
) {
5423 var26
= var_tclassidnode6
->type
->type_table
[cltype27
] == idtype28
;
5426 if (unlikely(!var26
)) {
5427 PRINT_ERROR("Runtime error: %s", "Assert failed");
5428 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2389);
5431 var_listnode7
= var_nodearraylist7
;
5432 /* <var_listnode7:nullable Object> isa Array[Object] */
5433 cltype30
= type_array__Arraykernel__Object
.color
;
5434 idtype31
= type_array__Arraykernel__Object
.id
;
5435 if(var_listnode7
== NULL
) {
5438 if(cltype30
>= var_listnode7
->type
->table_size
) {
5441 var29
= var_listnode7
->type
->type_table
[cltype30
] == idtype31
;
5444 if (unlikely(!var29
)) {
5445 PRINT_ERROR("Runtime error: %s", "Assert failed");
5446 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2391);
5450 var32
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5452 var_listnode8
= var32
;
5453 var_pexterncodeblocknode10
= var_nodearraylist8
;
5454 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5455 cltype34
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5456 idtype35
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5457 if(var_pexterncodeblocknode10
== NULL
) {
5460 if(cltype34
>= var_pexterncodeblocknode10
->type
->table_size
) {
5463 var33
= var_pexterncodeblocknode10
->type
->type_table
[cltype34
] == idtype35
;
5466 if (unlikely(!var33
)) {
5467 PRINT_ERROR("Runtime error: %s", "Assert failed");
5468 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2394);
5471 var_listnode11
= var_nodearraylist9
;
5472 /* <var_listnode11:nullable Object> isa Array[Object] */
5473 cltype37
= type_array__Arraykernel__Object
.color
;
5474 idtype38
= type_array__Arraykernel__Object
.id
;
5475 if(var_listnode11
== NULL
) {
5478 if(cltype37
>= var_listnode11
->type
->table_size
) {
5481 var36
= var_listnode11
->type
->type_table
[cltype37
] == idtype38
;
5484 if (unlikely(!var36
)) {
5485 PRINT_ERROR("Runtime error: %s", "Assert failed");
5486 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2396);
5490 var39
= parser_work__ReduceAction__concat(self
, var_listnode12
, var_listnode11
);
5492 var_listnode12
= var39
;
5493 var_listnode13
= var_nodearraylist10
;
5494 /* <var_listnode13:nullable Object> isa Array[Object] */
5495 cltype41
= type_array__Arraykernel__Object
.color
;
5496 idtype42
= type_array__Arraykernel__Object
.id
;
5497 if(var_listnode13
== NULL
) {
5500 if(cltype41
>= var_listnode13
->type
->table_size
) {
5503 var40
= var_listnode13
->type
->type_table
[cltype41
] == idtype42
;
5506 if (unlikely(!var40
)) {
5507 PRINT_ERROR("Runtime error: %s", "Assert failed");
5508 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2399);
5512 var43
= parser_work__ReduceAction__concat(self
, var_listnode14
, var_listnode13
);
5514 var_listnode14
= var43
;
5515 var_tkwendnode15
= var_nodearraylist12
;
5516 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
5517 cltype45
= type_nullable_parser_nodes__TKwend
.color
;
5518 idtype46
= type_nullable_parser_nodes__TKwend
.id
;
5519 if(var_tkwendnode15
== NULL
) {
5522 if(cltype45
>= var_tkwendnode15
->type
->table_size
) {
5525 var44
= var_tkwendnode15
->type
->type_table
[cltype45
] == idtype46
;
5528 if (unlikely(!var44
)) {
5529 PRINT_ERROR("Runtime error: %s", "Assert failed");
5530 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2402);
5533 var47
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5536 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>*/
5538 var_pclassdefnode1
= var47
;
5539 var_node_list
= var_pclassdefnode1
;
5540 var49
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction40> */
5542 var50
= parser_work__Parser__go_to(var_p
, var49
);
5545 parser_work__Parser__push(var_p
, var50
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5549 /* method parser#ReduceAction40#action for (self: Object, Parser) */
5550 void VIRTUAL_parser__ReduceAction40__action(val
* self
, val
* p0
) {
5551 parser__ReduceAction40__action(self
, p0
); /* Direct call parser#ReduceAction40#action on <self:Object(ReduceAction40)>*/
5554 /* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */
5555 void parser__ReduceAction41__action(val
* self
, val
* p0
) {
5556 val
* var_p
/* var p: Parser */;
5557 val
* var
/* : null */;
5558 val
* var_node_list
/* var node_list: nullable Object */;
5559 val
* var1
/* : nullable Object */;
5560 val
* var_nodearraylist13
/* var nodearraylist13: nullable Object */;
5561 val
* var2
/* : nullable Object */;
5562 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
5563 val
* var3
/* : nullable Object */;
5564 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
5565 val
* var4
/* : nullable Object */;
5566 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
5567 val
* var5
/* : nullable Object */;
5568 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5569 val
* var6
/* : nullable Object */;
5570 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5571 val
* var7
/* : nullable Object */;
5572 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5573 val
* var8
/* : nullable Object */;
5574 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5575 val
* var9
/* : nullable Object */;
5576 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5577 val
* var10
/* : nullable Object */;
5578 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5579 val
* var11
/* : nullable Object */;
5580 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5581 val
* var12
/* : nullable Object */;
5582 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5583 val
* var13
/* : nullable Object */;
5584 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5585 val
* var14
/* : Array[Object] */;
5586 val
* var_listnode8
/* var listnode8: Array[Object] */;
5587 val
* var15
/* : Array[Object] */;
5588 val
* var_listnode17
/* var listnode17: Array[Object] */;
5589 val
* var16
/* : Array[Object] */;
5590 val
* var_listnode19
/* var listnode19: Array[Object] */;
5591 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
5592 short int var17
/* : Bool */;
5595 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
5596 short int var18
/* : Bool */;
5599 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
5600 short int var21
/* : Bool */;
5603 val
* var_pclasskindnode5
/* var pclasskindnode5: nullable Object */;
5604 short int var24
/* : Bool */;
5607 val
* var_tclassidnode6
/* var tclassidnode6: nullable Object */;
5608 short int var27
/* : Bool */;
5611 val
* var_listnode7
/* var listnode7: nullable Object */;
5612 short int var30
/* : Bool */;
5615 val
* var33
/* : Array[Object] */;
5616 val
* var34
/* : Array[Object] */;
5617 val
* var_listnode13
/* var listnode13: Array[Object] */;
5618 val
* var_listnode12
/* var listnode12: nullable Object */;
5619 short int var35
/* : Bool */;
5622 val
* var38
/* : Array[Object] */;
5623 val
* var39
/* : AAnnotations */;
5624 val
* var40
/* : null */;
5625 val
* var41
/* : null */;
5626 val
* var42
/* : null */;
5627 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable AAnnotations */;
5628 val
* var_pexterncodeblocknode15
/* var pexterncodeblocknode15: nullable Object */;
5629 short int var43
/* : Bool */;
5632 val
* var_listnode16
/* var listnode16: nullable Object */;
5633 short int var46
/* : Bool */;
5636 val
* var49
/* : Array[Object] */;
5637 val
* var_listnode18
/* var listnode18: nullable Object */;
5638 short int var50
/* : Bool */;
5641 val
* var53
/* : Array[Object] */;
5642 val
* var_tkwendnode20
/* var tkwendnode20: nullable Object */;
5643 short int var54
/* : Bool */;
5646 val
* var57
/* : AStdClassdef */;
5647 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable AStdClassdef */;
5648 long var58
/* : Int */;
5649 long var59
/* : Int */;
5652 var_node_list
= var
;
5654 var1
= parser_work__Parser__pop(var_p
);
5656 var_nodearraylist13
= var1
;
5658 var2
= parser_work__Parser__pop(var_p
);
5660 var_nodearraylist12
= var2
;
5662 var3
= parser_work__Parser__pop(var_p
);
5664 var_nodearraylist11
= var3
;
5666 var4
= parser_work__Parser__pop(var_p
);
5668 var_nodearraylist10
= var4
;
5670 var5
= parser_work__Parser__pop(var_p
);
5672 var_nodearraylist9
= var5
;
5674 var6
= parser_work__Parser__pop(var_p
);
5676 var_nodearraylist8
= var6
;
5678 var7
= parser_work__Parser__pop(var_p
);
5680 var_nodearraylist7
= var7
;
5682 var8
= parser_work__Parser__pop(var_p
);
5684 var_nodearraylist6
= var8
;
5686 var9
= parser_work__Parser__pop(var_p
);
5688 var_nodearraylist5
= var9
;
5690 var10
= parser_work__Parser__pop(var_p
);
5692 var_nodearraylist4
= var10
;
5694 var11
= parser_work__Parser__pop(var_p
);
5696 var_nodearraylist3
= var11
;
5698 var12
= parser_work__Parser__pop(var_p
);
5700 var_nodearraylist2
= var12
;
5702 var13
= parser_work__Parser__pop(var_p
);
5704 var_nodearraylist1
= var13
;
5705 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
5707 array__Array__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
5709 var_listnode8
= var14
;
5710 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
5712 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
5714 var_listnode17
= var15
;
5715 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
5717 array__Array__init(var16
); /* Direct call array#Array#init on <var16:Array[Object]>*/
5719 var_listnode19
= var16
;
5720 var_pdocnode2
= var_nodearraylist1
;
5721 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5722 cltype
= type_nullable_parser_nodes__ADoc
.color
;
5723 idtype
= type_nullable_parser_nodes__ADoc
.id
;
5724 if(var_pdocnode2
== NULL
) {
5727 if(cltype
>= var_pdocnode2
->type
->table_size
) {
5730 var17
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
5733 if (unlikely(!var17
)) {
5734 PRINT_ERROR("Runtime error: %s", "Assert failed");
5735 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2442);
5738 var_tkwredefnode3
= var_nodearraylist2
;
5739 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5740 cltype19
= type_nullable_parser_nodes__TKwredef
.color
;
5741 idtype20
= type_nullable_parser_nodes__TKwredef
.id
;
5742 if(var_tkwredefnode3
== NULL
) {
5745 if(cltype19
>= var_tkwredefnode3
->type
->table_size
) {
5748 var18
= var_tkwredefnode3
->type
->type_table
[cltype19
] == idtype20
;
5751 if (unlikely(!var18
)) {
5752 PRINT_ERROR("Runtime error: %s", "Assert failed");
5753 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2444);
5756 var_pvisibilitynode4
= var_nodearraylist3
;
5757 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5758 cltype22
= type_nullable_parser_nodes__AVisibility
.color
;
5759 idtype23
= type_nullable_parser_nodes__AVisibility
.id
;
5760 if(var_pvisibilitynode4
== NULL
) {
5763 if(cltype22
>= var_pvisibilitynode4
->type
->table_size
) {
5766 var21
= var_pvisibilitynode4
->type
->type_table
[cltype22
] == idtype23
;
5769 if (unlikely(!var21
)) {
5770 PRINT_ERROR("Runtime error: %s", "Assert failed");
5771 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2446);
5774 var_pclasskindnode5
= var_nodearraylist4
;
5775 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5776 cltype25
= type_nullable_parser_nodes__AClasskind
.color
;
5777 idtype26
= type_nullable_parser_nodes__AClasskind
.id
;
5778 if(var_pclasskindnode5
== NULL
) {
5781 if(cltype25
>= var_pclasskindnode5
->type
->table_size
) {
5784 var24
= var_pclasskindnode5
->type
->type_table
[cltype25
] == idtype26
;
5787 if (unlikely(!var24
)) {
5788 PRINT_ERROR("Runtime error: %s", "Assert failed");
5789 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2448);
5792 var_tclassidnode6
= var_nodearraylist6
;
5793 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5794 cltype28
= type_nullable_parser_nodes__TClassid
.color
;
5795 idtype29
= type_nullable_parser_nodes__TClassid
.id
;
5796 if(var_tclassidnode6
== NULL
) {
5799 if(cltype28
>= var_tclassidnode6
->type
->table_size
) {
5802 var27
= var_tclassidnode6
->type
->type_table
[cltype28
] == idtype29
;
5805 if (unlikely(!var27
)) {
5806 PRINT_ERROR("Runtime error: %s", "Assert failed");
5807 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2450);
5810 var_listnode7
= var_nodearraylist7
;
5811 /* <var_listnode7:nullable Object> isa Array[Object] */
5812 cltype31
= type_array__Arraykernel__Object
.color
;
5813 idtype32
= type_array__Arraykernel__Object
.id
;
5814 if(var_listnode7
== NULL
) {
5817 if(cltype31
>= var_listnode7
->type
->table_size
) {
5820 var30
= var_listnode7
->type
->type_table
[cltype31
] == idtype32
;
5823 if (unlikely(!var30
)) {
5824 PRINT_ERROR("Runtime error: %s", "Assert failed");
5825 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2452);
5829 var33
= parser_work__ReduceAction__concat(self
, var_listnode8
, var_listnode7
);
5831 var_listnode8
= var33
;
5832 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
5834 array__Array__init(var34
); /* Direct call array#Array#init on <var34:Array[Object]>*/
5836 var_listnode13
= var34
;
5837 var_listnode12
= var_nodearraylist8
;
5838 /* <var_listnode12:nullable Object> isa Array[Object] */
5839 cltype36
= type_array__Arraykernel__Object
.color
;
5840 idtype37
= type_array__Arraykernel__Object
.id
;
5841 if(var_listnode12
== NULL
) {
5844 if(cltype36
>= var_listnode12
->type
->table_size
) {
5847 var35
= var_listnode12
->type
->type_table
[cltype36
] == idtype37
;
5850 if (unlikely(!var35
)) {
5851 PRINT_ERROR("Runtime error: %s", "Assert failed");
5852 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2456);
5856 var38
= parser_work__ReduceAction__concat(self
, var_listnode13
, var_listnode12
);
5858 var_listnode13
= var38
;
5859 var39
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
5864 parser_prod__AAnnotations__init_aannotations(var39
, var40
, var41
, var_listnode13
, var42
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var39:AAnnotations>*/
5866 var_pannotationsnode9
= var39
;
5867 var_pexterncodeblocknode15
= var_nodearraylist9
;
5868 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5869 cltype44
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
5870 idtype45
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
5871 if(var_pexterncodeblocknode15
== NULL
) {
5874 if(cltype44
>= var_pexterncodeblocknode15
->type
->table_size
) {
5877 var43
= var_pexterncodeblocknode15
->type
->type_table
[cltype44
] == idtype45
;
5880 if (unlikely(!var43
)) {
5881 PRINT_ERROR("Runtime error: %s", "Assert failed");
5882 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2465);
5885 var_listnode16
= var_nodearraylist10
;
5886 /* <var_listnode16:nullable Object> isa Array[Object] */
5887 cltype47
= type_array__Arraykernel__Object
.color
;
5888 idtype48
= type_array__Arraykernel__Object
.id
;
5889 if(var_listnode16
== NULL
) {
5892 if(cltype47
>= var_listnode16
->type
->table_size
) {
5895 var46
= var_listnode16
->type
->type_table
[cltype47
] == idtype48
;
5898 if (unlikely(!var46
)) {
5899 PRINT_ERROR("Runtime error: %s", "Assert failed");
5900 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2467);
5904 var49
= parser_work__ReduceAction__concat(self
, var_listnode17
, var_listnode16
);
5906 var_listnode17
= var49
;
5907 var_listnode18
= var_nodearraylist11
;
5908 /* <var_listnode18:nullable Object> isa Array[Object] */
5909 cltype51
= type_array__Arraykernel__Object
.color
;
5910 idtype52
= type_array__Arraykernel__Object
.id
;
5911 if(var_listnode18
== NULL
) {
5914 if(cltype51
>= var_listnode18
->type
->table_size
) {
5917 var50
= var_listnode18
->type
->type_table
[cltype51
] == idtype52
;
5920 if (unlikely(!var50
)) {
5921 PRINT_ERROR("Runtime error: %s", "Assert failed");
5922 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2470);
5926 var53
= parser_work__ReduceAction__concat(self
, var_listnode19
, var_listnode18
);
5928 var_listnode19
= var53
;
5929 var_tkwendnode20
= var_nodearraylist13
;
5930 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5931 cltype55
= type_nullable_parser_nodes__TKwend
.color
;
5932 idtype56
= type_nullable_parser_nodes__TKwend
.id
;
5933 if(var_tkwendnode20
== NULL
) {
5936 if(cltype55
>= var_tkwendnode20
->type
->table_size
) {
5939 var54
= var_tkwendnode20
->type
->type_table
[cltype55
] == idtype56
;
5942 if (unlikely(!var54
)) {
5943 PRINT_ERROR("Runtime error: %s", "Assert failed");
5944 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2473);
5947 var57
= NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef
);
5949 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>*/
5951 var_pclassdefnode1
= var57
;
5952 var_node_list
= var_pclassdefnode1
;
5953 var58
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction41> */
5955 var59
= parser_work__Parser__go_to(var_p
, var58
);
5958 parser_work__Parser__push(var_p
, var59
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5962 /* method parser#ReduceAction41#action for (self: Object, Parser) */
5963 void VIRTUAL_parser__ReduceAction41__action(val
* self
, val
* p0
) {
5964 parser__ReduceAction41__action(self
, p0
); /* Direct call parser#ReduceAction41#action on <self:Object(ReduceAction41)>*/
5967 /* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */
5968 void parser__ReduceAction43__action(val
* self
, val
* p0
) {
5969 val
* var_p
/* var p: Parser */;
5970 val
* var
/* : null */;
5971 val
* var_node_list
/* var node_list: nullable Object */;
5972 val
* var1
/* : nullable Object */;
5973 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5974 val
* var_tkwredefnode1
/* var tkwredefnode1: nullable Object */;
5975 long var2
/* : Int */;
5976 long var3
/* : Int */;
5979 var_node_list
= var
;
5981 var1
= parser_work__Parser__pop(var_p
);
5983 var_nodearraylist1
= var1
;
5984 var_tkwredefnode1
= var_nodearraylist1
;
5985 var_node_list
= var_tkwredefnode1
;
5986 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction43> */
5988 var3
= parser_work__Parser__go_to(var_p
, var2
);
5991 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5995 /* method parser#ReduceAction43#action for (self: Object, Parser) */
5996 void VIRTUAL_parser__ReduceAction43__action(val
* self
, val
* p0
) {
5997 parser__ReduceAction43__action(self
, p0
); /* Direct call parser#ReduceAction43#action on <self:Object(ReduceAction43)>*/
6000 /* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */
6001 void parser__ReduceAction44__action(val
* self
, val
* p0
) {
6002 val
* var_p
/* var p: Parser */;
6003 val
* var
/* : null */;
6004 val
* var_node_list
/* var node_list: nullable Object */;
6005 val
* var1
/* : nullable Object */;
6006 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6007 val
* var_tkwclassnode2
/* var tkwclassnode2: nullable Object */;
6008 short int var2
/* : Bool */;
6011 val
* var3
/* : AConcreteClasskind */;
6012 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AConcreteClasskind */;
6013 long var4
/* : Int */;
6014 long var5
/* : Int */;
6017 var_node_list
= var
;
6019 var1
= parser_work__Parser__pop(var_p
);
6021 var_nodearraylist1
= var1
;
6022 var_tkwclassnode2
= var_nodearraylist1
;
6023 /* <var_tkwclassnode2:nullable Object> isa nullable TKwclass */
6024 cltype
= type_nullable_parser_nodes__TKwclass
.color
;
6025 idtype
= type_nullable_parser_nodes__TKwclass
.id
;
6026 if(var_tkwclassnode2
== NULL
) {
6029 if(cltype
>= var_tkwclassnode2
->type
->table_size
) {
6032 var2
= var_tkwclassnode2
->type
->type_table
[cltype
] == idtype
;
6035 if (unlikely(!var2
)) {
6036 PRINT_ERROR("Runtime error: %s", "Assert failed");
6037 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2509);
6040 var3
= NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind
);
6042 parser_prod__AConcreteClasskind__init_aconcreteclasskind(var3
, var_tkwclassnode2
); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on <var3:AConcreteClasskind>*/
6044 var_pclasskindnode1
= var3
;
6045 var_node_list
= var_pclasskindnode1
;
6046 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction44> */
6048 var5
= parser_work__Parser__go_to(var_p
, var4
);
6051 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6055 /* method parser#ReduceAction44#action for (self: Object, Parser) */
6056 void VIRTUAL_parser__ReduceAction44__action(val
* self
, val
* p0
) {
6057 parser__ReduceAction44__action(self
, p0
); /* Direct call parser#ReduceAction44#action on <self:Object(ReduceAction44)>*/
6060 /* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */
6061 void parser__ReduceAction45__action(val
* self
, val
* p0
) {
6062 val
* var_p
/* var p: Parser */;
6063 val
* var
/* : null */;
6064 val
* var_node_list
/* var node_list: nullable Object */;
6065 val
* var1
/* : nullable Object */;
6066 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6067 val
* var2
/* : nullable Object */;
6068 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6069 val
* var_tkwabstractnode2
/* var tkwabstractnode2: nullable Object */;
6070 short int var3
/* : Bool */;
6073 val
* var_tkwclassnode3
/* var tkwclassnode3: nullable Object */;
6074 short int var4
/* : Bool */;
6077 val
* var7
/* : AAbstractClasskind */;
6078 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AAbstractClasskind */;
6079 long var8
/* : Int */;
6080 long var9
/* : Int */;
6083 var_node_list
= var
;
6085 var1
= parser_work__Parser__pop(var_p
);
6087 var_nodearraylist2
= var1
;
6089 var2
= parser_work__Parser__pop(var_p
);
6091 var_nodearraylist1
= var2
;
6092 var_tkwabstractnode2
= var_nodearraylist1
;
6093 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
6094 cltype
= type_nullable_parser_nodes__TKwabstract
.color
;
6095 idtype
= type_nullable_parser_nodes__TKwabstract
.id
;
6096 if(var_tkwabstractnode2
== NULL
) {
6099 if(cltype
>= var_tkwabstractnode2
->type
->table_size
) {
6102 var3
= var_tkwabstractnode2
->type
->type_table
[cltype
] == idtype
;
6105 if (unlikely(!var3
)) {
6106 PRINT_ERROR("Runtime error: %s", "Assert failed");
6107 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2525);
6110 var_tkwclassnode3
= var_nodearraylist2
;
6111 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
6112 cltype5
= type_nullable_parser_nodes__TKwclass
.color
;
6113 idtype6
= type_nullable_parser_nodes__TKwclass
.id
;
6114 if(var_tkwclassnode3
== NULL
) {
6117 if(cltype5
>= var_tkwclassnode3
->type
->table_size
) {
6120 var4
= var_tkwclassnode3
->type
->type_table
[cltype5
] == idtype6
;
6123 if (unlikely(!var4
)) {
6124 PRINT_ERROR("Runtime error: %s", "Assert failed");
6125 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2527);
6128 var7
= NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind
);
6130 parser_prod__AAbstractClasskind__init_aabstractclasskind(var7
, var_tkwabstractnode2
, var_tkwclassnode3
); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on <var7:AAbstractClasskind>*/
6132 var_pclasskindnode1
= var7
;
6133 var_node_list
= var_pclasskindnode1
;
6134 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction45> */
6136 var9
= parser_work__Parser__go_to(var_p
, var8
);
6139 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6143 /* method parser#ReduceAction45#action for (self: Object, Parser) */
6144 void VIRTUAL_parser__ReduceAction45__action(val
* self
, val
* p0
) {
6145 parser__ReduceAction45__action(self
, p0
); /* Direct call parser#ReduceAction45#action on <self:Object(ReduceAction45)>*/
6148 /* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */
6149 void parser__ReduceAction46__action(val
* self
, val
* p0
) {
6150 val
* var_p
/* var p: Parser */;
6151 val
* var
/* : null */;
6152 val
* var_node_list
/* var node_list: nullable Object */;
6153 val
* var1
/* : nullable Object */;
6154 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6155 val
* var_tkwinterfacenode2
/* var tkwinterfacenode2: nullable Object */;
6156 short int var2
/* : Bool */;
6159 val
* var3
/* : AInterfaceClasskind */;
6160 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AInterfaceClasskind */;
6161 long var4
/* : Int */;
6162 long var5
/* : Int */;
6165 var_node_list
= var
;
6167 var1
= parser_work__Parser__pop(var_p
);
6169 var_nodearraylist1
= var1
;
6170 var_tkwinterfacenode2
= var_nodearraylist1
;
6171 /* <var_tkwinterfacenode2:nullable Object> isa nullable TKwinterface */
6172 cltype
= type_nullable_parser_nodes__TKwinterface
.color
;
6173 idtype
= type_nullable_parser_nodes__TKwinterface
.id
;
6174 if(var_tkwinterfacenode2
== NULL
) {
6177 if(cltype
>= var_tkwinterfacenode2
->type
->table_size
) {
6180 var2
= var_tkwinterfacenode2
->type
->type_table
[cltype
] == idtype
;
6183 if (unlikely(!var2
)) {
6184 PRINT_ERROR("Runtime error: %s", "Assert failed");
6185 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2543);
6188 var3
= NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind
);
6190 parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(var3
, var_tkwinterfacenode2
); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on <var3:AInterfaceClasskind>*/
6192 var_pclasskindnode1
= var3
;
6193 var_node_list
= var_pclasskindnode1
;
6194 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction46> */
6196 var5
= parser_work__Parser__go_to(var_p
, var4
);
6199 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6203 /* method parser#ReduceAction46#action for (self: Object, Parser) */
6204 void VIRTUAL_parser__ReduceAction46__action(val
* self
, val
* p0
) {
6205 parser__ReduceAction46__action(self
, p0
); /* Direct call parser#ReduceAction46#action on <self:Object(ReduceAction46)>*/
6208 /* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */
6209 void parser__ReduceAction47__action(val
* self
, val
* p0
) {
6210 val
* var_p
/* var p: Parser */;
6211 val
* var
/* : null */;
6212 val
* var_node_list
/* var node_list: nullable Object */;
6213 val
* var1
/* : nullable Object */;
6214 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6215 val
* var_tkwenumnode2
/* var tkwenumnode2: nullable Object */;
6216 short int var2
/* : Bool */;
6219 val
* var3
/* : AEnumClasskind */;
6220 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AEnumClasskind */;
6221 long var4
/* : Int */;
6222 long var5
/* : Int */;
6225 var_node_list
= var
;
6227 var1
= parser_work__Parser__pop(var_p
);
6229 var_nodearraylist1
= var1
;
6230 var_tkwenumnode2
= var_nodearraylist1
;
6231 /* <var_tkwenumnode2:nullable Object> isa nullable TKwenum */
6232 cltype
= type_nullable_parser_nodes__TKwenum
.color
;
6233 idtype
= type_nullable_parser_nodes__TKwenum
.id
;
6234 if(var_tkwenumnode2
== NULL
) {
6237 if(cltype
>= var_tkwenumnode2
->type
->table_size
) {
6240 var2
= var_tkwenumnode2
->type
->type_table
[cltype
] == idtype
;
6243 if (unlikely(!var2
)) {
6244 PRINT_ERROR("Runtime error: %s", "Assert failed");
6245 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2558);
6248 var3
= NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind
);
6250 parser_prod__AEnumClasskind__init_aenumclasskind(var3
, var_tkwenumnode2
); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on <var3:AEnumClasskind>*/
6252 var_pclasskindnode1
= var3
;
6253 var_node_list
= var_pclasskindnode1
;
6254 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction47> */
6256 var5
= parser_work__Parser__go_to(var_p
, var4
);
6259 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6263 /* method parser#ReduceAction47#action for (self: Object, Parser) */
6264 void VIRTUAL_parser__ReduceAction47__action(val
* self
, val
* p0
) {
6265 parser__ReduceAction47__action(self
, p0
); /* Direct call parser#ReduceAction47#action on <self:Object(ReduceAction47)>*/
6268 /* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */
6269 void parser__ReduceAction48__action(val
* self
, val
* p0
) {
6270 val
* var_p
/* var p: Parser */;
6271 val
* var
/* : null */;
6272 val
* var_node_list
/* var node_list: nullable Object */;
6273 val
* var1
/* : nullable Object */;
6274 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6275 val
* var2
/* : nullable Object */;
6276 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6277 val
* var_tkwexternnode2
/* var tkwexternnode2: nullable Object */;
6278 short int var3
/* : Bool */;
6281 val
* var_tkwclassnode3
/* var tkwclassnode3: nullable Object */;
6282 short int var4
/* : Bool */;
6285 val
* var7
/* : AExternClasskind */;
6286 val
* var_pclasskindnode1
/* var pclasskindnode1: nullable AExternClasskind */;
6287 long var8
/* : Int */;
6288 long var9
/* : Int */;
6291 var_node_list
= var
;
6293 var1
= parser_work__Parser__pop(var_p
);
6295 var_nodearraylist2
= var1
;
6297 var2
= parser_work__Parser__pop(var_p
);
6299 var_nodearraylist1
= var2
;
6300 var_tkwexternnode2
= var_nodearraylist1
;
6301 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
6302 cltype
= type_nullable_parser_nodes__TKwextern
.color
;
6303 idtype
= type_nullable_parser_nodes__TKwextern
.id
;
6304 if(var_tkwexternnode2
== NULL
) {
6307 if(cltype
>= var_tkwexternnode2
->type
->table_size
) {
6310 var3
= var_tkwexternnode2
->type
->type_table
[cltype
] == idtype
;
6313 if (unlikely(!var3
)) {
6314 PRINT_ERROR("Runtime error: %s", "Assert failed");
6315 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2574);
6318 var_tkwclassnode3
= var_nodearraylist2
;
6319 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
6320 cltype5
= type_nullable_parser_nodes__TKwclass
.color
;
6321 idtype6
= type_nullable_parser_nodes__TKwclass
.id
;
6322 if(var_tkwclassnode3
== NULL
) {
6325 if(cltype5
>= var_tkwclassnode3
->type
->table_size
) {
6328 var4
= var_tkwclassnode3
->type
->type_table
[cltype5
] == idtype6
;
6331 if (unlikely(!var4
)) {
6332 PRINT_ERROR("Runtime error: %s", "Assert failed");
6333 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2576);
6336 var7
= NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind
);
6338 parser_prod__AExternClasskind__init_aexternclasskind(var7
, var_tkwexternnode2
, var_tkwclassnode3
); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on <var7:AExternClasskind>*/
6340 var_pclasskindnode1
= var7
;
6341 var_node_list
= var_pclasskindnode1
;
6342 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction48> */
6344 var9
= parser_work__Parser__go_to(var_p
, var8
);
6347 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6351 /* method parser#ReduceAction48#action for (self: Object, Parser) */
6352 void VIRTUAL_parser__ReduceAction48__action(val
* self
, val
* p0
) {
6353 parser__ReduceAction48__action(self
, p0
); /* Direct call parser#ReduceAction48#action on <self:Object(ReduceAction48)>*/
6356 /* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */
6357 void parser__ReduceAction49__action(val
* self
, val
* p0
) {
6358 val
* var_p
/* var p: Parser */;
6359 val
* var
/* : null */;
6360 val
* var_node_list
/* var node_list: nullable Object */;
6361 val
* var1
/* : nullable Object */;
6362 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6363 val
* var2
/* : nullable Object */;
6364 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6365 val
* var3
/* : nullable Object */;
6366 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6367 val
* var4
/* : nullable Object */;
6368 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6369 val
* var5
/* : nullable Object */;
6370 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6371 val
* var6
/* : Array[Object] */;
6372 val
* var_listnode2
/* var listnode2: Array[Object] */;
6373 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
6374 val
* var7
/* : null */;
6375 short int var8
/* : Bool */;
6376 short int var9
/* : Bool */;
6377 long var10
/* : Int */;
6378 long var11
/* : Int */;
6381 var_node_list
= var
;
6383 var1
= parser_work__Parser__pop(var_p
);
6385 var_nodearraylist5
= var1
;
6387 var2
= parser_work__Parser__pop(var_p
);
6389 var_nodearraylist4
= var2
;
6391 var3
= parser_work__Parser__pop(var_p
);
6393 var_nodearraylist3
= var3
;
6395 var4
= parser_work__Parser__pop(var_p
);
6397 var_nodearraylist2
= var4
;
6399 var5
= parser_work__Parser__pop(var_p
);
6401 var_nodearraylist1
= var5
;
6402 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6404 array__Array__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
6406 var_listnode2
= var6
;
6407 var_pformaldefnode1
= var_nodearraylist3
;
6409 if (var_pformaldefnode1
== NULL
) {
6410 var8
= 0; /* is null */
6412 var8
= 1; /* arg is null and recv is not */
6415 var9
= ((short int (*)(val
*, val
*))(var_pformaldefnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pformaldefnode1
, var7
) /* != on <var_pformaldefnode1:nullable Object>*/;
6420 array__Array__add(var_listnode2
, var_pformaldefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
6424 var_node_list
= var_listnode2
;
6425 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction49> */
6427 var11
= parser_work__Parser__go_to(var_p
, var10
);
6430 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6434 /* method parser#ReduceAction49#action for (self: Object, Parser) */
6435 void VIRTUAL_parser__ReduceAction49__action(val
* self
, val
* p0
) {
6436 parser__ReduceAction49__action(self
, p0
); /* Direct call parser#ReduceAction49#action on <self:Object(ReduceAction49)>*/
6439 /* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */
6440 void parser__ReduceAction50__action(val
* self
, val
* p0
) {
6441 val
* var_p
/* var p: Parser */;
6442 val
* var
/* : null */;
6443 val
* var_node_list
/* var node_list: nullable Object */;
6444 val
* var1
/* : nullable Object */;
6445 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6446 val
* var2
/* : nullable Object */;
6447 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6448 val
* var3
/* : nullable Object */;
6449 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6450 val
* var4
/* : nullable Object */;
6451 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6452 val
* var5
/* : nullable Object */;
6453 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6454 val
* var6
/* : nullable Object */;
6455 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6456 val
* var7
/* : Array[Object] */;
6457 val
* var_listnode3
/* var listnode3: Array[Object] */;
6458 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
6459 val
* var_listnode2
/* var listnode2: nullable Object */;
6460 short int var8
/* : Bool */;
6463 val
* var9
/* : null */;
6464 short int var10
/* : Bool */;
6465 short int var11
/* : Bool */;
6466 val
* var12
/* : Array[Object] */;
6467 long var13
/* : Int */;
6468 long var14
/* : Int */;
6471 var_node_list
= var
;
6473 var1
= parser_work__Parser__pop(var_p
);
6475 var_nodearraylist6
= var1
;
6477 var2
= parser_work__Parser__pop(var_p
);
6479 var_nodearraylist5
= var2
;
6481 var3
= parser_work__Parser__pop(var_p
);
6483 var_nodearraylist4
= var3
;
6485 var4
= parser_work__Parser__pop(var_p
);
6487 var_nodearraylist3
= var4
;
6489 var5
= parser_work__Parser__pop(var_p
);
6491 var_nodearraylist2
= var5
;
6493 var6
= parser_work__Parser__pop(var_p
);
6495 var_nodearraylist1
= var6
;
6496 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6498 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6500 var_listnode3
= var7
;
6501 var_pformaldefnode1
= var_nodearraylist3
;
6502 var_listnode2
= var_nodearraylist4
;
6503 /* <var_listnode2:nullable Object> isa Array[Object] */
6504 cltype
= type_array__Arraykernel__Object
.color
;
6505 idtype
= type_array__Arraykernel__Object
.id
;
6506 if(var_listnode2
== NULL
) {
6509 if(cltype
>= var_listnode2
->type
->table_size
) {
6512 var8
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6515 if (unlikely(!var8
)) {
6516 PRINT_ERROR("Runtime error: %s", "Assert failed");
6517 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2618);
6521 if (var_pformaldefnode1
== NULL
) {
6522 var10
= 0; /* is null */
6524 var10
= 1; /* arg is null and recv is not */
6527 var11
= ((short int (*)(val
*, val
*))(var_pformaldefnode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_pformaldefnode1
, var9
) /* != on <var_pformaldefnode1:nullable Object>*/;
6532 array__Array__add(var_listnode3
, var_pformaldefnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
6537 var12
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
6539 var_listnode3
= var12
;
6540 var_node_list
= var_listnode3
;
6541 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction50> */
6543 var14
= parser_work__Parser__go_to(var_p
, var13
);
6546 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6550 /* method parser#ReduceAction50#action for (self: Object, Parser) */
6551 void VIRTUAL_parser__ReduceAction50__action(val
* self
, val
* p0
) {
6552 parser__ReduceAction50__action(self
, p0
); /* Direct call parser#ReduceAction50#action on <self:Object(ReduceAction50)>*/
6555 /* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */
6556 void parser__ReduceAction51__action(val
* self
, val
* p0
) {
6557 val
* var_p
/* var p: Parser */;
6558 val
* var
/* : null */;
6559 val
* var_node_list
/* var node_list: nullable Object */;
6560 val
* var1
/* : Array[Object] */;
6561 val
* var_listnode1
/* var listnode1: Array[Object] */;
6562 long var2
/* : Int */;
6563 long var3
/* : Int */;
6566 var_node_list
= var
;
6567 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
6569 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
6571 var_listnode1
= var1
;
6572 var_node_list
= var_listnode1
;
6573 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction51> */
6575 var3
= parser_work__Parser__go_to(var_p
, var2
);
6578 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6582 /* method parser#ReduceAction51#action for (self: Object, Parser) */
6583 void VIRTUAL_parser__ReduceAction51__action(val
* self
, val
* p0
) {
6584 parser__ReduceAction51__action(self
, p0
); /* Direct call parser#ReduceAction51#action on <self:Object(ReduceAction51)>*/
6587 /* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */
6588 void parser__ReduceAction52__action(val
* self
, val
* p0
) {
6589 val
* var_p
/* var p: Parser */;
6590 val
* var
/* : null */;
6591 val
* var_node_list
/* var node_list: nullable Object */;
6592 val
* var1
/* : nullable Object */;
6593 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6594 val
* var2
/* : nullable Object */;
6595 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6596 val
* var3
/* : nullable Object */;
6597 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6598 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
6599 long var4
/* : Int */;
6600 long var5
/* : Int */;
6603 var_node_list
= var
;
6605 var1
= parser_work__Parser__pop(var_p
);
6607 var_nodearraylist3
= var1
;
6609 var2
= parser_work__Parser__pop(var_p
);
6611 var_nodearraylist2
= var2
;
6613 var3
= parser_work__Parser__pop(var_p
);
6615 var_nodearraylist1
= var3
;
6616 var_pformaldefnode1
= var_nodearraylist3
;
6617 var_node_list
= var_pformaldefnode1
;
6618 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction52> */
6620 var5
= parser_work__Parser__go_to(var_p
, var4
);
6623 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6627 /* method parser#ReduceAction52#action for (self: Object, Parser) */
6628 void VIRTUAL_parser__ReduceAction52__action(val
* self
, val
* p0
) {
6629 parser__ReduceAction52__action(self
, p0
); /* Direct call parser#ReduceAction52#action on <self:Object(ReduceAction52)>*/
6632 /* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */
6633 void parser__ReduceAction53__action(val
* self
, val
* p0
) {
6634 val
* var_p
/* var p: Parser */;
6635 val
* var
/* : null */;
6636 val
* var_node_list
/* var node_list: nullable Object */;
6637 val
* var1
/* : nullable Object */;
6638 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6639 val
* var2
/* : nullable Object */;
6640 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6641 val
* var_tclassidnode2
/* var tclassidnode2: nullable Object */;
6642 short int var3
/* : Bool */;
6645 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6646 short int var4
/* : Bool */;
6649 val
* var7
/* : AFormaldef */;
6650 val
* var8
/* : null */;
6651 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable AFormaldef */;
6652 long var9
/* : Int */;
6653 long var10
/* : Int */;
6656 var_node_list
= var
;
6658 var1
= parser_work__Parser__pop(var_p
);
6660 var_nodearraylist2
= var1
;
6662 var2
= parser_work__Parser__pop(var_p
);
6664 var_nodearraylist1
= var2
;
6665 var_tclassidnode2
= var_nodearraylist1
;
6666 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6667 cltype
= type_nullable_parser_nodes__TClassid
.color
;
6668 idtype
= type_nullable_parser_nodes__TClassid
.id
;
6669 if(var_tclassidnode2
== NULL
) {
6672 if(cltype
>= var_tclassidnode2
->type
->table_size
) {
6675 var3
= var_tclassidnode2
->type
->type_table
[cltype
] == idtype
;
6678 if (unlikely(!var3
)) {
6679 PRINT_ERROR("Runtime error: %s", "Assert failed");
6680 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2658);
6683 var_ptypenode3
= var_nodearraylist2
;
6684 /* <var_ptypenode3:nullable Object> isa nullable AType */
6685 cltype5
= type_nullable_parser_nodes__AType
.color
;
6686 idtype6
= type_nullable_parser_nodes__AType
.id
;
6687 if(var_ptypenode3
== NULL
) {
6690 if(cltype5
>= var_ptypenode3
->type
->table_size
) {
6693 var4
= var_ptypenode3
->type
->type_table
[cltype5
] == idtype6
;
6696 if (unlikely(!var4
)) {
6697 PRINT_ERROR("Runtime error: %s", "Assert failed");
6698 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2660);
6701 var7
= NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef
);
6704 parser_prod__AFormaldef__init_aformaldef(var7
, var_tclassidnode2
, var_ptypenode3
, var8
); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var7:AFormaldef>*/
6706 var_pformaldefnode1
= var7
;
6707 var_node_list
= var_pformaldefnode1
;
6708 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction53> */
6710 var10
= parser_work__Parser__go_to(var_p
, var9
);
6713 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6717 /* method parser#ReduceAction53#action for (self: Object, Parser) */
6718 void VIRTUAL_parser__ReduceAction53__action(val
* self
, val
* p0
) {
6719 parser__ReduceAction53__action(self
, p0
); /* Direct call parser#ReduceAction53#action on <self:Object(ReduceAction53)>*/
6722 /* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */
6723 void parser__ReduceAction54__action(val
* self
, val
* p0
) {
6724 val
* var_p
/* var p: Parser */;
6725 val
* var
/* : null */;
6726 val
* var_node_list
/* var node_list: nullable Object */;
6727 val
* var1
/* : nullable Object */;
6728 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6729 val
* var2
/* : nullable Object */;
6730 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6731 val
* var3
/* : nullable Object */;
6732 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6733 val
* var_tclassidnode2
/* var tclassidnode2: nullable Object */;
6734 short int var4
/* : Bool */;
6737 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6738 short int var5
/* : Bool */;
6741 val
* var_pannotationsnode4
/* var pannotationsnode4: nullable Object */;
6742 short int var8
/* : Bool */;
6745 val
* var11
/* : AFormaldef */;
6746 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable AFormaldef */;
6747 long var12
/* : Int */;
6748 long var13
/* : Int */;
6751 var_node_list
= var
;
6753 var1
= parser_work__Parser__pop(var_p
);
6755 var_nodearraylist3
= var1
;
6757 var2
= parser_work__Parser__pop(var_p
);
6759 var_nodearraylist2
= var2
;
6761 var3
= parser_work__Parser__pop(var_p
);
6763 var_nodearraylist1
= var3
;
6764 var_tclassidnode2
= var_nodearraylist1
;
6765 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6766 cltype
= type_nullable_parser_nodes__TClassid
.color
;
6767 idtype
= type_nullable_parser_nodes__TClassid
.id
;
6768 if(var_tclassidnode2
== NULL
) {
6771 if(cltype
>= var_tclassidnode2
->type
->table_size
) {
6774 var4
= var_tclassidnode2
->type
->type_table
[cltype
] == idtype
;
6777 if (unlikely(!var4
)) {
6778 PRINT_ERROR("Runtime error: %s", "Assert failed");
6779 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2679);
6782 var_ptypenode3
= var_nodearraylist3
;
6783 /* <var_ptypenode3:nullable Object> isa nullable AType */
6784 cltype6
= type_nullable_parser_nodes__AType
.color
;
6785 idtype7
= type_nullable_parser_nodes__AType
.id
;
6786 if(var_ptypenode3
== NULL
) {
6789 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
6792 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
6795 if (unlikely(!var5
)) {
6796 PRINT_ERROR("Runtime error: %s", "Assert failed");
6797 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2681);
6800 var_pannotationsnode4
= var_nodearraylist2
;
6801 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
6802 cltype9
= type_nullable_parser_nodes__AAnnotations
.color
;
6803 idtype10
= type_nullable_parser_nodes__AAnnotations
.id
;
6804 if(var_pannotationsnode4
== NULL
) {
6807 if(cltype9
>= var_pannotationsnode4
->type
->table_size
) {
6810 var8
= var_pannotationsnode4
->type
->type_table
[cltype9
] == idtype10
;
6813 if (unlikely(!var8
)) {
6814 PRINT_ERROR("Runtime error: %s", "Assert failed");
6815 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2683);
6818 var11
= NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef
);
6820 parser_prod__AFormaldef__init_aformaldef(var11
, var_tclassidnode2
, var_ptypenode3
, var_pannotationsnode4
); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var11:AFormaldef>*/
6822 var_pformaldefnode1
= var11
;
6823 var_node_list
= var_pformaldefnode1
;
6824 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction54> */
6826 var13
= parser_work__Parser__go_to(var_p
, var12
);
6829 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6833 /* method parser#ReduceAction54#action for (self: Object, Parser) */
6834 void VIRTUAL_parser__ReduceAction54__action(val
* self
, val
* p0
) {
6835 parser__ReduceAction54__action(self
, p0
); /* Direct call parser#ReduceAction54#action on <self:Object(ReduceAction54)>*/
6838 /* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */
6839 void parser__ReduceAction55__action(val
* self
, val
* p0
) {
6840 val
* var_p
/* var p: Parser */;
6841 val
* var
/* : null */;
6842 val
* var_node_list
/* var node_list: nullable Object */;
6843 val
* var1
/* : nullable Object */;
6844 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6845 val
* var2
/* : nullable Object */;
6846 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6847 val
* var3
/* : nullable Object */;
6848 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6849 val
* var4
/* : nullable Object */;
6850 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6851 val
* var5
/* : nullable Object */;
6852 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6853 val
* var_tkwsupernode2
/* var tkwsupernode2: nullable Object */;
6854 short int var6
/* : Bool */;
6857 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6858 short int var7
/* : Bool */;
6861 val
* var_pannotationsnode4
/* var pannotationsnode4: nullable Object */;
6862 short int var10
/* : Bool */;
6865 val
* var13
/* : ASuperclass */;
6866 val
* var_psuperclassnode1
/* var psuperclassnode1: nullable ASuperclass */;
6867 long var14
/* : Int */;
6868 long var15
/* : Int */;
6871 var_node_list
= var
;
6873 var1
= parser_work__Parser__pop(var_p
);
6875 var_nodearraylist5
= var1
;
6877 var2
= parser_work__Parser__pop(var_p
);
6879 var_nodearraylist4
= var2
;
6881 var3
= parser_work__Parser__pop(var_p
);
6883 var_nodearraylist3
= var3
;
6885 var4
= parser_work__Parser__pop(var_p
);
6887 var_nodearraylist2
= var4
;
6889 var5
= parser_work__Parser__pop(var_p
);
6891 var_nodearraylist1
= var5
;
6892 var_tkwsupernode2
= var_nodearraylist2
;
6893 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
6894 cltype
= type_nullable_parser_nodes__TKwsuper
.color
;
6895 idtype
= type_nullable_parser_nodes__TKwsuper
.id
;
6896 if(var_tkwsupernode2
== NULL
) {
6899 if(cltype
>= var_tkwsupernode2
->type
->table_size
) {
6902 var6
= var_tkwsupernode2
->type
->type_table
[cltype
] == idtype
;
6905 if (unlikely(!var6
)) {
6906 PRINT_ERROR("Runtime error: %s", "Assert failed");
6907 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2704);
6910 var_ptypenode3
= var_nodearraylist4
;
6911 /* <var_ptypenode3:nullable Object> isa nullable AType */
6912 cltype8
= type_nullable_parser_nodes__AType
.color
;
6913 idtype9
= type_nullable_parser_nodes__AType
.id
;
6914 if(var_ptypenode3
== NULL
) {
6917 if(cltype8
>= var_ptypenode3
->type
->table_size
) {
6920 var7
= var_ptypenode3
->type
->type_table
[cltype8
] == idtype9
;
6923 if (unlikely(!var7
)) {
6924 PRINT_ERROR("Runtime error: %s", "Assert failed");
6925 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2706);
6928 var_pannotationsnode4
= var_nodearraylist5
;
6929 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
6930 cltype11
= type_nullable_parser_nodes__AAnnotations
.color
;
6931 idtype12
= type_nullable_parser_nodes__AAnnotations
.id
;
6932 if(var_pannotationsnode4
== NULL
) {
6935 if(cltype11
>= var_pannotationsnode4
->type
->table_size
) {
6938 var10
= var_pannotationsnode4
->type
->type_table
[cltype11
] == idtype12
;
6941 if (unlikely(!var10
)) {
6942 PRINT_ERROR("Runtime error: %s", "Assert failed");
6943 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2708);
6946 var13
= NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass
);
6948 parser_prod__ASuperclass__init_asuperclass(var13
, var_tkwsupernode2
, var_ptypenode3
, var_pannotationsnode4
); /* Direct call parser_prod#ASuperclass#init_asuperclass on <var13:ASuperclass>*/
6950 var_psuperclassnode1
= var13
;
6951 var_node_list
= var_psuperclassnode1
;
6952 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction55> */
6954 var15
= parser_work__Parser__go_to(var_p
, var14
);
6957 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6961 /* method parser#ReduceAction55#action for (self: Object, Parser) */
6962 void VIRTUAL_parser__ReduceAction55__action(val
* self
, val
* p0
) {
6963 parser__ReduceAction55__action(self
, p0
); /* Direct call parser#ReduceAction55#action on <self:Object(ReduceAction55)>*/
6966 /* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */
6967 void parser__ReduceAction56__action(val
* self
, val
* p0
) {
6968 val
* var_p
/* var p: Parser */;
6969 val
* var
/* : null */;
6970 val
* var_node_list
/* var node_list: nullable Object */;
6971 val
* var1
/* : nullable Object */;
6972 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6973 val
* var2
/* : nullable Object */;
6974 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6975 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable Object */;
6976 long var3
/* : Int */;
6977 long var4
/* : Int */;
6980 var_node_list
= var
;
6982 var1
= parser_work__Parser__pop(var_p
);
6984 var_nodearraylist2
= var1
;
6986 var2
= parser_work__Parser__pop(var_p
);
6988 var_nodearraylist1
= var2
;
6989 var_ppropdefnode1
= var_nodearraylist1
;
6990 var_node_list
= var_ppropdefnode1
;
6991 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction56> */
6993 var4
= parser_work__Parser__go_to(var_p
, var3
);
6996 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7000 /* method parser#ReduceAction56#action for (self: Object, Parser) */
7001 void VIRTUAL_parser__ReduceAction56__action(val
* self
, val
* p0
) {
7002 parser__ReduceAction56__action(self
, p0
); /* Direct call parser#ReduceAction56#action on <self:Object(ReduceAction56)>*/
7005 /* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */
7006 void parser__ReduceAction57__action(val
* self
, val
* p0
) {
7007 val
* var_p
/* var p: Parser */;
7008 val
* var
/* : null */;
7009 val
* var_node_list
/* var node_list: nullable Object */;
7010 val
* var1
/* : nullable Object */;
7011 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7012 val
* var2
/* : nullable Object */;
7013 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7014 val
* var3
/* : nullable Object */;
7015 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7016 val
* var4
/* : nullable Object */;
7017 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7018 val
* var5
/* : nullable Object */;
7019 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7020 val
* var6
/* : nullable Object */;
7021 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7022 val
* var7
/* : nullable Object */;
7023 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7024 val
* var8
/* : nullable Object */;
7025 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7026 val
* var9
/* : nullable Object */;
7027 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7028 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7029 short int var10
/* : Bool */;
7032 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7033 short int var11
/* : Bool */;
7036 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7037 short int var14
/* : Bool */;
7040 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
7041 short int var17
/* : Bool */;
7044 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
7045 short int var20
/* : Bool */;
7048 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
7049 short int var23
/* : Bool */;
7052 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
7053 short int var26
/* : Bool */;
7056 val
* var29
/* : AConcreteMethPropdef */;
7057 val
* var30
/* : null */;
7058 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteMethPropdef */;
7059 long var31
/* : Int */;
7060 long var32
/* : Int */;
7063 var_node_list
= var
;
7065 var1
= parser_work__Parser__pop(var_p
);
7067 var_nodearraylist9
= var1
;
7069 var2
= parser_work__Parser__pop(var_p
);
7071 var_nodearraylist8
= var2
;
7073 var3
= parser_work__Parser__pop(var_p
);
7075 var_nodearraylist7
= var3
;
7077 var4
= parser_work__Parser__pop(var_p
);
7079 var_nodearraylist6
= var4
;
7081 var5
= parser_work__Parser__pop(var_p
);
7083 var_nodearraylist5
= var5
;
7085 var6
= parser_work__Parser__pop(var_p
);
7087 var_nodearraylist4
= var6
;
7089 var7
= parser_work__Parser__pop(var_p
);
7091 var_nodearraylist3
= var7
;
7093 var8
= parser_work__Parser__pop(var_p
);
7095 var_nodearraylist2
= var8
;
7097 var9
= parser_work__Parser__pop(var_p
);
7099 var_nodearraylist1
= var9
;
7100 var_pdocnode2
= var_nodearraylist1
;
7101 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7102 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7103 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7104 if(var_pdocnode2
== NULL
) {
7107 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7110 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7113 if (unlikely(!var10
)) {
7114 PRINT_ERROR("Runtime error: %s", "Assert failed");
7115 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2745);
7118 var_tkwredefnode3
= var_nodearraylist2
;
7119 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7120 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
7121 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
7122 if(var_tkwredefnode3
== NULL
) {
7125 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
7128 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
7131 if (unlikely(!var11
)) {
7132 PRINT_ERROR("Runtime error: %s", "Assert failed");
7133 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2747);
7136 var_pvisibilitynode4
= var_nodearraylist3
;
7137 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7138 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
7139 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
7140 if(var_pvisibilitynode4
== NULL
) {
7143 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
7146 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
7149 if (unlikely(!var14
)) {
7150 PRINT_ERROR("Runtime error: %s", "Assert failed");
7151 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2749);
7154 var_tkwmethnode5
= var_nodearraylist4
;
7155 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7156 cltype18
= type_nullable_parser_nodes__TKwmeth
.color
;
7157 idtype19
= type_nullable_parser_nodes__TKwmeth
.id
;
7158 if(var_tkwmethnode5
== NULL
) {
7161 if(cltype18
>= var_tkwmethnode5
->type
->table_size
) {
7164 var17
= var_tkwmethnode5
->type
->type_table
[cltype18
] == idtype19
;
7167 if (unlikely(!var17
)) {
7168 PRINT_ERROR("Runtime error: %s", "Assert failed");
7169 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2751);
7172 var_pmethidnode6
= var_nodearraylist5
;
7173 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7174 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
7175 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
7176 if(var_pmethidnode6
== NULL
) {
7179 if(cltype21
>= var_pmethidnode6
->type
->table_size
) {
7182 var20
= var_pmethidnode6
->type
->type_table
[cltype21
] == idtype22
;
7185 if (unlikely(!var20
)) {
7186 PRINT_ERROR("Runtime error: %s", "Assert failed");
7187 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2753);
7190 var_psignaturenode7
= var_nodearraylist6
;
7191 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7192 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
7193 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
7194 if(var_psignaturenode7
== NULL
) {
7197 if(cltype24
>= var_psignaturenode7
->type
->table_size
) {
7200 var23
= var_psignaturenode7
->type
->type_table
[cltype24
] == idtype25
;
7203 if (unlikely(!var23
)) {
7204 PRINT_ERROR("Runtime error: %s", "Assert failed");
7205 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2755);
7208 var_pexprnode9
= var_nodearraylist8
;
7209 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7210 cltype27
= type_nullable_parser_nodes__AExpr
.color
;
7211 idtype28
= type_nullable_parser_nodes__AExpr
.id
;
7212 if(var_pexprnode9
== NULL
) {
7215 if(cltype27
>= var_pexprnode9
->type
->table_size
) {
7218 var26
= var_pexprnode9
->type
->type_table
[cltype27
] == idtype28
;
7221 if (unlikely(!var26
)) {
7222 PRINT_ERROR("Runtime error: %s", "Assert failed");
7223 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2757);
7226 var29
= NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef
);
7229 parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(var29
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var30
, var_pexprnode9
); /* Direct call parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/
7231 var_ppropdefnode1
= var29
;
7232 var_node_list
= var_ppropdefnode1
;
7233 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction57> */
7235 var32
= parser_work__Parser__go_to(var_p
, var31
);
7238 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7242 /* method parser#ReduceAction57#action for (self: Object, Parser) */
7243 void VIRTUAL_parser__ReduceAction57__action(val
* self
, val
* p0
) {
7244 parser__ReduceAction57__action(self
, p0
); /* Direct call parser#ReduceAction57#action on <self:Object(ReduceAction57)>*/
7247 /* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */
7248 void parser__ReduceAction58__action(val
* self
, val
* p0
) {
7249 val
* var_p
/* var p: Parser */;
7250 val
* var
/* : null */;
7251 val
* var_node_list
/* var node_list: nullable Object */;
7252 val
* var1
/* : nullable Object */;
7253 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7254 val
* var2
/* : nullable Object */;
7255 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7256 val
* var3
/* : nullable Object */;
7257 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7258 val
* var4
/* : nullable Object */;
7259 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7260 val
* var5
/* : nullable Object */;
7261 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7262 val
* var6
/* : nullable Object */;
7263 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7264 val
* var7
/* : nullable Object */;
7265 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7266 val
* var8
/* : nullable Object */;
7267 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7268 val
* var9
/* : nullable Object */;
7269 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7270 val
* var10
/* : nullable Object */;
7271 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7272 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7273 short int var11
/* : Bool */;
7276 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7277 short int var12
/* : Bool */;
7280 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7281 short int var15
/* : Bool */;
7284 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
7285 short int var18
/* : Bool */;
7288 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
7289 short int var21
/* : Bool */;
7292 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
7293 short int var24
/* : Bool */;
7296 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
7297 short int var27
/* : Bool */;
7300 val
* var_pexprnode9
/* var pexprnode9: nullable Object */;
7301 short int var30
/* : Bool */;
7304 val
* var33
/* : AConcreteMethPropdef */;
7305 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AConcreteMethPropdef */;
7306 long var34
/* : Int */;
7307 long var35
/* : Int */;
7310 var_node_list
= var
;
7312 var1
= parser_work__Parser__pop(var_p
);
7314 var_nodearraylist10
= var1
;
7316 var2
= parser_work__Parser__pop(var_p
);
7318 var_nodearraylist9
= var2
;
7320 var3
= parser_work__Parser__pop(var_p
);
7322 var_nodearraylist8
= var3
;
7324 var4
= parser_work__Parser__pop(var_p
);
7326 var_nodearraylist7
= var4
;
7328 var5
= parser_work__Parser__pop(var_p
);
7330 var_nodearraylist6
= var5
;
7332 var6
= parser_work__Parser__pop(var_p
);
7334 var_nodearraylist5
= var6
;
7336 var7
= parser_work__Parser__pop(var_p
);
7338 var_nodearraylist4
= var7
;
7340 var8
= parser_work__Parser__pop(var_p
);
7342 var_nodearraylist3
= var8
;
7344 var9
= parser_work__Parser__pop(var_p
);
7346 var_nodearraylist2
= var9
;
7348 var10
= parser_work__Parser__pop(var_p
);
7350 var_nodearraylist1
= var10
;
7351 var_pdocnode2
= var_nodearraylist1
;
7352 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7353 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7354 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7355 if(var_pdocnode2
== NULL
) {
7358 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7361 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7364 if (unlikely(!var11
)) {
7365 PRINT_ERROR("Runtime error: %s", "Assert failed");
7366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2788);
7369 var_tkwredefnode3
= var_nodearraylist2
;
7370 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7371 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
7372 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
7373 if(var_tkwredefnode3
== NULL
) {
7376 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
7379 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
7382 if (unlikely(!var12
)) {
7383 PRINT_ERROR("Runtime error: %s", "Assert failed");
7384 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2790);
7387 var_pvisibilitynode4
= var_nodearraylist3
;
7388 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7389 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
7390 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
7391 if(var_pvisibilitynode4
== NULL
) {
7394 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
7397 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
7400 if (unlikely(!var15
)) {
7401 PRINT_ERROR("Runtime error: %s", "Assert failed");
7402 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2792);
7405 var_tkwmethnode5
= var_nodearraylist4
;
7406 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7407 cltype19
= type_nullable_parser_nodes__TKwmeth
.color
;
7408 idtype20
= type_nullable_parser_nodes__TKwmeth
.id
;
7409 if(var_tkwmethnode5
== NULL
) {
7412 if(cltype19
>= var_tkwmethnode5
->type
->table_size
) {
7415 var18
= var_tkwmethnode5
->type
->type_table
[cltype19
] == idtype20
;
7418 if (unlikely(!var18
)) {
7419 PRINT_ERROR("Runtime error: %s", "Assert failed");
7420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2794);
7423 var_pmethidnode6
= var_nodearraylist5
;
7424 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7425 cltype22
= type_nullable_parser_nodes__AMethid
.color
;
7426 idtype23
= type_nullable_parser_nodes__AMethid
.id
;
7427 if(var_pmethidnode6
== NULL
) {
7430 if(cltype22
>= var_pmethidnode6
->type
->table_size
) {
7433 var21
= var_pmethidnode6
->type
->type_table
[cltype22
] == idtype23
;
7436 if (unlikely(!var21
)) {
7437 PRINT_ERROR("Runtime error: %s", "Assert failed");
7438 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2796);
7441 var_psignaturenode7
= var_nodearraylist6
;
7442 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7443 cltype25
= type_nullable_parser_nodes__ASignature
.color
;
7444 idtype26
= type_nullable_parser_nodes__ASignature
.id
;
7445 if(var_psignaturenode7
== NULL
) {
7448 if(cltype25
>= var_psignaturenode7
->type
->table_size
) {
7451 var24
= var_psignaturenode7
->type
->type_table
[cltype25
] == idtype26
;
7454 if (unlikely(!var24
)) {
7455 PRINT_ERROR("Runtime error: %s", "Assert failed");
7456 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2798);
7459 var_pannotationsnode8
= var_nodearraylist7
;
7460 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7461 cltype28
= type_nullable_parser_nodes__AAnnotations
.color
;
7462 idtype29
= type_nullable_parser_nodes__AAnnotations
.id
;
7463 if(var_pannotationsnode8
== NULL
) {
7466 if(cltype28
>= var_pannotationsnode8
->type
->table_size
) {
7469 var27
= var_pannotationsnode8
->type
->type_table
[cltype28
] == idtype29
;
7472 if (unlikely(!var27
)) {
7473 PRINT_ERROR("Runtime error: %s", "Assert failed");
7474 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2800);
7477 var_pexprnode9
= var_nodearraylist9
;
7478 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7479 cltype31
= type_nullable_parser_nodes__AExpr
.color
;
7480 idtype32
= type_nullable_parser_nodes__AExpr
.id
;
7481 if(var_pexprnode9
== NULL
) {
7484 if(cltype31
>= var_pexprnode9
->type
->table_size
) {
7487 var30
= var_pexprnode9
->type
->type_table
[cltype31
] == idtype32
;
7490 if (unlikely(!var30
)) {
7491 PRINT_ERROR("Runtime error: %s", "Assert failed");
7492 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2802);
7495 var33
= NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef
);
7497 parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(var33
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var_pannotationsnode8
, var_pexprnode9
); /* Direct call parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef on <var33:AConcreteMethPropdef>*/
7499 var_ppropdefnode1
= var33
;
7500 var_node_list
= var_ppropdefnode1
;
7501 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction58> */
7503 var35
= parser_work__Parser__go_to(var_p
, var34
);
7506 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7510 /* method parser#ReduceAction58#action for (self: Object, Parser) */
7511 void VIRTUAL_parser__ReduceAction58__action(val
* self
, val
* p0
) {
7512 parser__ReduceAction58__action(self
, p0
); /* Direct call parser#ReduceAction58#action on <self:Object(ReduceAction58)>*/
7515 /* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */
7516 void parser__ReduceAction59__action(val
* self
, val
* p0
) {
7517 val
* var_p
/* var p: Parser */;
7518 val
* var
/* : null */;
7519 val
* var_node_list
/* var node_list: nullable Object */;
7520 val
* var1
/* : nullable Object */;
7521 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7522 val
* var2
/* : nullable Object */;
7523 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7524 val
* var3
/* : nullable Object */;
7525 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7526 val
* var4
/* : nullable Object */;
7527 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7528 val
* var5
/* : nullable Object */;
7529 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7530 val
* var6
/* : nullable Object */;
7531 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7532 val
* var7
/* : nullable Object */;
7533 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7534 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7535 short int var8
/* : Bool */;
7538 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7539 short int var9
/* : Bool */;
7542 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7543 short int var12
/* : Bool */;
7546 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
7547 short int var15
/* : Bool */;
7550 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
7551 short int var18
/* : Bool */;
7554 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
7555 short int var21
/* : Bool */;
7558 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
7559 short int var24
/* : Bool */;
7562 val
* var27
/* : ADeferredMethPropdef */;
7563 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable ADeferredMethPropdef */;
7564 long var28
/* : Int */;
7565 long var29
/* : Int */;
7568 var_node_list
= var
;
7570 var1
= parser_work__Parser__pop(var_p
);
7572 var_nodearraylist7
= var1
;
7574 var2
= parser_work__Parser__pop(var_p
);
7576 var_nodearraylist6
= var2
;
7578 var3
= parser_work__Parser__pop(var_p
);
7580 var_nodearraylist5
= var3
;
7582 var4
= parser_work__Parser__pop(var_p
);
7584 var_nodearraylist4
= var4
;
7586 var5
= parser_work__Parser__pop(var_p
);
7588 var_nodearraylist3
= var5
;
7590 var6
= parser_work__Parser__pop(var_p
);
7592 var_nodearraylist2
= var6
;
7594 var7
= parser_work__Parser__pop(var_p
);
7596 var_nodearraylist1
= var7
;
7597 var_pdocnode2
= var_nodearraylist1
;
7598 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7599 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7600 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7601 if(var_pdocnode2
== NULL
) {
7604 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7607 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7610 if (unlikely(!var8
)) {
7611 PRINT_ERROR("Runtime error: %s", "Assert failed");
7612 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2830);
7615 var_tkwredefnode3
= var_nodearraylist2
;
7616 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7617 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
7618 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
7619 if(var_tkwredefnode3
== NULL
) {
7622 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
7625 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
7628 if (unlikely(!var9
)) {
7629 PRINT_ERROR("Runtime error: %s", "Assert failed");
7630 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2832);
7633 var_pvisibilitynode4
= var_nodearraylist3
;
7634 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7635 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
7636 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
7637 if(var_pvisibilitynode4
== NULL
) {
7640 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
7643 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
7646 if (unlikely(!var12
)) {
7647 PRINT_ERROR("Runtime error: %s", "Assert failed");
7648 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2834);
7651 var_tkwmethnode5
= var_nodearraylist4
;
7652 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7653 cltype16
= type_nullable_parser_nodes__TKwmeth
.color
;
7654 idtype17
= type_nullable_parser_nodes__TKwmeth
.id
;
7655 if(var_tkwmethnode5
== NULL
) {
7658 if(cltype16
>= var_tkwmethnode5
->type
->table_size
) {
7661 var15
= var_tkwmethnode5
->type
->type_table
[cltype16
] == idtype17
;
7664 if (unlikely(!var15
)) {
7665 PRINT_ERROR("Runtime error: %s", "Assert failed");
7666 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2836);
7669 var_pmethidnode6
= var_nodearraylist5
;
7670 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7671 cltype19
= type_nullable_parser_nodes__AMethid
.color
;
7672 idtype20
= type_nullable_parser_nodes__AMethid
.id
;
7673 if(var_pmethidnode6
== NULL
) {
7676 if(cltype19
>= var_pmethidnode6
->type
->table_size
) {
7679 var18
= var_pmethidnode6
->type
->type_table
[cltype19
] == idtype20
;
7682 if (unlikely(!var18
)) {
7683 PRINT_ERROR("Runtime error: %s", "Assert failed");
7684 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2838);
7687 var_psignaturenode7
= var_nodearraylist6
;
7688 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7689 cltype22
= type_nullable_parser_nodes__ASignature
.color
;
7690 idtype23
= type_nullable_parser_nodes__ASignature
.id
;
7691 if(var_psignaturenode7
== NULL
) {
7694 if(cltype22
>= var_psignaturenode7
->type
->table_size
) {
7697 var21
= var_psignaturenode7
->type
->type_table
[cltype22
] == idtype23
;
7700 if (unlikely(!var21
)) {
7701 PRINT_ERROR("Runtime error: %s", "Assert failed");
7702 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2840);
7705 var_pannotationsnode8
= var_nodearraylist7
;
7706 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7707 cltype25
= type_nullable_parser_nodes__AAnnotations
.color
;
7708 idtype26
= type_nullable_parser_nodes__AAnnotations
.id
;
7709 if(var_pannotationsnode8
== NULL
) {
7712 if(cltype25
>= var_pannotationsnode8
->type
->table_size
) {
7715 var24
= var_pannotationsnode8
->type
->type_table
[cltype25
] == idtype26
;
7718 if (unlikely(!var24
)) {
7719 PRINT_ERROR("Runtime error: %s", "Assert failed");
7720 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2842);
7723 var27
= NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef
);
7725 parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(var27
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var_pannotationsnode8
); /* Direct call parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef on <var27:ADeferredMethPropdef>*/
7727 var_ppropdefnode1
= var27
;
7728 var_node_list
= var_ppropdefnode1
;
7729 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction59> */
7731 var29
= parser_work__Parser__go_to(var_p
, var28
);
7734 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7738 /* method parser#ReduceAction59#action for (self: Object, Parser) */
7739 void VIRTUAL_parser__ReduceAction59__action(val
* self
, val
* p0
) {
7740 parser__ReduceAction59__action(self
, p0
); /* Direct call parser#ReduceAction59#action on <self:Object(ReduceAction59)>*/
7743 /* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */
7744 void parser__ReduceAction60__action(val
* self
, val
* p0
) {
7745 val
* var_p
/* var p: Parser */;
7746 val
* var
/* : null */;
7747 val
* var_node_list
/* var node_list: nullable Object */;
7748 val
* var1
/* : nullable Object */;
7749 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7750 val
* var2
/* : nullable Object */;
7751 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7752 val
* var3
/* : nullable Object */;
7753 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7754 val
* var4
/* : nullable Object */;
7755 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7756 val
* var5
/* : nullable Object */;
7757 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7758 val
* var6
/* : nullable Object */;
7759 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7760 val
* var7
/* : nullable Object */;
7761 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7762 val
* var8
/* : nullable Object */;
7763 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7764 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7765 short int var9
/* : Bool */;
7768 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7769 short int var10
/* : Bool */;
7772 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7773 short int var13
/* : Bool */;
7776 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
7777 short int var16
/* : Bool */;
7780 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
7781 short int var19
/* : Bool */;
7784 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
7785 short int var22
/* : Bool */;
7788 val
* var25
/* : ADeferredMethPropdef */;
7789 val
* var26
/* : null */;
7790 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable ADeferredMethPropdef */;
7791 long var27
/* : Int */;
7792 long var28
/* : Int */;
7795 var_node_list
= var
;
7797 var1
= parser_work__Parser__pop(var_p
);
7799 var_nodearraylist8
= var1
;
7801 var2
= parser_work__Parser__pop(var_p
);
7803 var_nodearraylist7
= var2
;
7805 var3
= parser_work__Parser__pop(var_p
);
7807 var_nodearraylist6
= var3
;
7809 var4
= parser_work__Parser__pop(var_p
);
7811 var_nodearraylist5
= var4
;
7813 var5
= parser_work__Parser__pop(var_p
);
7815 var_nodearraylist4
= var5
;
7817 var6
= parser_work__Parser__pop(var_p
);
7819 var_nodearraylist3
= var6
;
7821 var7
= parser_work__Parser__pop(var_p
);
7823 var_nodearraylist2
= var7
;
7825 var8
= parser_work__Parser__pop(var_p
);
7827 var_nodearraylist1
= var8
;
7828 var_pdocnode2
= var_nodearraylist1
;
7829 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7830 cltype
= type_nullable_parser_nodes__ADoc
.color
;
7831 idtype
= type_nullable_parser_nodes__ADoc
.id
;
7832 if(var_pdocnode2
== NULL
) {
7835 if(cltype
>= var_pdocnode2
->type
->table_size
) {
7838 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
7841 if (unlikely(!var9
)) {
7842 PRINT_ERROR("Runtime error: %s", "Assert failed");
7843 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2870);
7846 var_tkwredefnode3
= var_nodearraylist2
;
7847 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7848 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
7849 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
7850 if(var_tkwredefnode3
== NULL
) {
7853 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
7856 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
7859 if (unlikely(!var10
)) {
7860 PRINT_ERROR("Runtime error: %s", "Assert failed");
7861 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2872);
7864 var_pvisibilitynode4
= var_nodearraylist3
;
7865 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7866 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
7867 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
7868 if(var_pvisibilitynode4
== NULL
) {
7871 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
7874 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
7877 if (unlikely(!var13
)) {
7878 PRINT_ERROR("Runtime error: %s", "Assert failed");
7879 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2874);
7882 var_tkwmethnode5
= var_nodearraylist4
;
7883 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7884 cltype17
= type_nullable_parser_nodes__TKwmeth
.color
;
7885 idtype18
= type_nullable_parser_nodes__TKwmeth
.id
;
7886 if(var_tkwmethnode5
== NULL
) {
7889 if(cltype17
>= var_tkwmethnode5
->type
->table_size
) {
7892 var16
= var_tkwmethnode5
->type
->type_table
[cltype17
] == idtype18
;
7895 if (unlikely(!var16
)) {
7896 PRINT_ERROR("Runtime error: %s", "Assert failed");
7897 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2876);
7900 var_pmethidnode6
= var_nodearraylist5
;
7901 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7902 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
7903 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
7904 if(var_pmethidnode6
== NULL
) {
7907 if(cltype20
>= var_pmethidnode6
->type
->table_size
) {
7910 var19
= var_pmethidnode6
->type
->type_table
[cltype20
] == idtype21
;
7913 if (unlikely(!var19
)) {
7914 PRINT_ERROR("Runtime error: %s", "Assert failed");
7915 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2878);
7918 var_psignaturenode7
= var_nodearraylist6
;
7919 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7920 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
7921 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
7922 if(var_psignaturenode7
== NULL
) {
7925 if(cltype23
>= var_psignaturenode7
->type
->table_size
) {
7928 var22
= var_psignaturenode7
->type
->type_table
[cltype23
] == idtype24
;
7931 if (unlikely(!var22
)) {
7932 PRINT_ERROR("Runtime error: %s", "Assert failed");
7933 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2880);
7936 var25
= NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef
);
7939 parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var26
); /* Direct call parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef on <var25:ADeferredMethPropdef>*/
7941 var_ppropdefnode1
= var25
;
7942 var_node_list
= var_ppropdefnode1
;
7943 var27
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction60> */
7945 var28
= parser_work__Parser__go_to(var_p
, var27
);
7948 parser_work__Parser__push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7952 /* method parser#ReduceAction60#action for (self: Object, Parser) */
7953 void VIRTUAL_parser__ReduceAction60__action(val
* self
, val
* p0
) {
7954 parser__ReduceAction60__action(self
, p0
); /* Direct call parser#ReduceAction60#action on <self:Object(ReduceAction60)>*/
7957 /* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */
7958 void parser__ReduceAction61__action(val
* self
, val
* p0
) {
7959 val
* var_p
/* var p: Parser */;
7960 val
* var
/* : null */;
7961 val
* var_node_list
/* var node_list: nullable Object */;
7962 val
* var1
/* : nullable Object */;
7963 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7964 val
* var2
/* : nullable Object */;
7965 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7966 val
* var3
/* : nullable Object */;
7967 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7968 val
* var4
/* : nullable Object */;
7969 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7970 val
* var5
/* : nullable Object */;
7971 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7972 val
* var6
/* : nullable Object */;
7973 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7974 val
* var7
/* : nullable Object */;
7975 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7976 val
* var8
/* : nullable Object */;
7977 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7978 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
7979 short int var9
/* : Bool */;
7982 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
7983 short int var10
/* : Bool */;
7986 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
7987 short int var13
/* : Bool */;
7990 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
7991 short int var16
/* : Bool */;
7994 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
7995 short int var19
/* : Bool */;
7998 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
7999 short int var22
/* : Bool */;
8002 val
* var25
/* : AInternMethPropdef */;
8003 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AInternMethPropdef */;
8004 long var26
/* : Int */;
8005 long var27
/* : Int */;
8008 var_node_list
= var
;
8010 var1
= parser_work__Parser__pop(var_p
);
8012 var_nodearraylist8
= var1
;
8014 var2
= parser_work__Parser__pop(var_p
);
8016 var_nodearraylist7
= var2
;
8018 var3
= parser_work__Parser__pop(var_p
);
8020 var_nodearraylist6
= var3
;
8022 var4
= parser_work__Parser__pop(var_p
);
8024 var_nodearraylist5
= var4
;
8026 var5
= parser_work__Parser__pop(var_p
);
8028 var_nodearraylist4
= var5
;
8030 var6
= parser_work__Parser__pop(var_p
);
8032 var_nodearraylist3
= var6
;
8034 var7
= parser_work__Parser__pop(var_p
);
8036 var_nodearraylist2
= var7
;
8038 var8
= parser_work__Parser__pop(var_p
);
8040 var_nodearraylist1
= var8
;
8041 var_pdocnode2
= var_nodearraylist1
;
8042 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8043 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8044 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8045 if(var_pdocnode2
== NULL
) {
8048 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8051 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8054 if (unlikely(!var9
)) {
8055 PRINT_ERROR("Runtime error: %s", "Assert failed");
8056 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2908);
8059 var_tkwredefnode3
= var_nodearraylist2
;
8060 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8061 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
8062 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
8063 if(var_tkwredefnode3
== NULL
) {
8066 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
8069 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
8072 if (unlikely(!var10
)) {
8073 PRINT_ERROR("Runtime error: %s", "Assert failed");
8074 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2910);
8077 var_pvisibilitynode4
= var_nodearraylist3
;
8078 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8079 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
8080 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
8081 if(var_pvisibilitynode4
== NULL
) {
8084 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
8087 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
8090 if (unlikely(!var13
)) {
8091 PRINT_ERROR("Runtime error: %s", "Assert failed");
8092 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2912);
8095 var_tkwmethnode5
= var_nodearraylist4
;
8096 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8097 cltype17
= type_nullable_parser_nodes__TKwmeth
.color
;
8098 idtype18
= type_nullable_parser_nodes__TKwmeth
.id
;
8099 if(var_tkwmethnode5
== NULL
) {
8102 if(cltype17
>= var_tkwmethnode5
->type
->table_size
) {
8105 var16
= var_tkwmethnode5
->type
->type_table
[cltype17
] == idtype18
;
8108 if (unlikely(!var16
)) {
8109 PRINT_ERROR("Runtime error: %s", "Assert failed");
8110 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2914);
8113 var_pmethidnode6
= var_nodearraylist5
;
8114 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8115 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
8116 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
8117 if(var_pmethidnode6
== NULL
) {
8120 if(cltype20
>= var_pmethidnode6
->type
->table_size
) {
8123 var19
= var_pmethidnode6
->type
->type_table
[cltype20
] == idtype21
;
8126 if (unlikely(!var19
)) {
8127 PRINT_ERROR("Runtime error: %s", "Assert failed");
8128 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2916);
8131 var_psignaturenode7
= var_nodearraylist6
;
8132 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8133 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
8134 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
8135 if(var_psignaturenode7
== NULL
) {
8138 if(cltype23
>= var_psignaturenode7
->type
->table_size
) {
8141 var22
= var_psignaturenode7
->type
->type_table
[cltype23
] == idtype24
;
8144 if (unlikely(!var22
)) {
8145 PRINT_ERROR("Runtime error: %s", "Assert failed");
8146 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2918);
8149 var25
= NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef
);
8151 parser_prod__AInternMethPropdef__init_ainternmethpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
); /* Direct call parser_prod#AInternMethPropdef#init_ainternmethpropdef on <var25:AInternMethPropdef>*/
8153 var_ppropdefnode1
= var25
;
8154 var_node_list
= var_ppropdefnode1
;
8155 var26
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction61> */
8157 var27
= parser_work__Parser__go_to(var_p
, var26
);
8160 parser_work__Parser__push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8164 /* method parser#ReduceAction61#action for (self: Object, Parser) */
8165 void VIRTUAL_parser__ReduceAction61__action(val
* self
, val
* p0
) {
8166 parser__ReduceAction61__action(self
, p0
); /* Direct call parser#ReduceAction61#action on <self:Object(ReduceAction61)>*/
8169 /* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */
8170 void parser__ReduceAction62__action(val
* self
, val
* p0
) {
8171 val
* var_p
/* var p: Parser */;
8172 val
* var
/* : null */;
8173 val
* var_node_list
/* var node_list: nullable Object */;
8174 val
* var1
/* : nullable Object */;
8175 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8176 val
* var2
/* : nullable Object */;
8177 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8178 val
* var3
/* : nullable Object */;
8179 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8180 val
* var4
/* : nullable Object */;
8181 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8182 val
* var5
/* : nullable Object */;
8183 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8184 val
* var6
/* : nullable Object */;
8185 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8186 val
* var7
/* : nullable Object */;
8187 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8188 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8189 short int var8
/* : Bool */;
8192 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8193 short int var9
/* : Bool */;
8196 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8197 short int var12
/* : Bool */;
8200 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
8201 short int var15
/* : Bool */;
8204 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
8205 short int var18
/* : Bool */;
8208 val
* var21
/* : AInternNewPropdef */;
8209 val
* var22
/* : null */;
8210 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AInternNewPropdef */;
8211 long var23
/* : Int */;
8212 long var24
/* : Int */;
8215 var_node_list
= var
;
8217 var1
= parser_work__Parser__pop(var_p
);
8219 var_nodearraylist7
= var1
;
8221 var2
= parser_work__Parser__pop(var_p
);
8223 var_nodearraylist6
= var2
;
8225 var3
= parser_work__Parser__pop(var_p
);
8227 var_nodearraylist5
= var3
;
8229 var4
= parser_work__Parser__pop(var_p
);
8231 var_nodearraylist4
= var4
;
8233 var5
= parser_work__Parser__pop(var_p
);
8235 var_nodearraylist3
= var5
;
8237 var6
= parser_work__Parser__pop(var_p
);
8239 var_nodearraylist2
= var6
;
8241 var7
= parser_work__Parser__pop(var_p
);
8243 var_nodearraylist1
= var7
;
8244 var_pdocnode2
= var_nodearraylist1
;
8245 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8246 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8247 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8248 if(var_pdocnode2
== NULL
) {
8251 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8254 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8257 if (unlikely(!var8
)) {
8258 PRINT_ERROR("Runtime error: %s", "Assert failed");
8259 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2944);
8262 var_tkwredefnode3
= var_nodearraylist2
;
8263 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8264 cltype10
= type_nullable_parser_nodes__TKwredef
.color
;
8265 idtype11
= type_nullable_parser_nodes__TKwredef
.id
;
8266 if(var_tkwredefnode3
== NULL
) {
8269 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
8272 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
8275 if (unlikely(!var9
)) {
8276 PRINT_ERROR("Runtime error: %s", "Assert failed");
8277 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2946);
8280 var_pvisibilitynode4
= var_nodearraylist3
;
8281 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8282 cltype13
= type_nullable_parser_nodes__AVisibility
.color
;
8283 idtype14
= type_nullable_parser_nodes__AVisibility
.id
;
8284 if(var_pvisibilitynode4
== NULL
) {
8287 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
8290 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
8293 if (unlikely(!var12
)) {
8294 PRINT_ERROR("Runtime error: %s", "Assert failed");
8295 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2948);
8298 var_tkwnewnode5
= var_nodearraylist4
;
8299 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8300 cltype16
= type_nullable_parser_nodes__TKwnew
.color
;
8301 idtype17
= type_nullable_parser_nodes__TKwnew
.id
;
8302 if(var_tkwnewnode5
== NULL
) {
8305 if(cltype16
>= var_tkwnewnode5
->type
->table_size
) {
8308 var15
= var_tkwnewnode5
->type
->type_table
[cltype16
] == idtype17
;
8311 if (unlikely(!var15
)) {
8312 PRINT_ERROR("Runtime error: %s", "Assert failed");
8313 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2950);
8316 var_psignaturenode7
= var_nodearraylist5
;
8317 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8318 cltype19
= type_nullable_parser_nodes__ASignature
.color
;
8319 idtype20
= type_nullable_parser_nodes__ASignature
.id
;
8320 if(var_psignaturenode7
== NULL
) {
8323 if(cltype19
>= var_psignaturenode7
->type
->table_size
) {
8326 var18
= var_psignaturenode7
->type
->type_table
[cltype19
] == idtype20
;
8329 if (unlikely(!var18
)) {
8330 PRINT_ERROR("Runtime error: %s", "Assert failed");
8331 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2952);
8334 var21
= NEW_parser_nodes__AInternNewPropdef(&type_parser_nodes__AInternNewPropdef
);
8337 parser_prod__AInternNewPropdef__init_ainternnewpropdef(var21
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var22
, var_psignaturenode7
); /* Direct call parser_prod#AInternNewPropdef#init_ainternnewpropdef on <var21:AInternNewPropdef>*/
8339 var_ppropdefnode1
= var21
;
8340 var_node_list
= var_ppropdefnode1
;
8341 var23
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction62> */
8343 var24
= parser_work__Parser__go_to(var_p
, var23
);
8346 parser_work__Parser__push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8350 /* method parser#ReduceAction62#action for (self: Object, Parser) */
8351 void VIRTUAL_parser__ReduceAction62__action(val
* self
, val
* p0
) {
8352 parser__ReduceAction62__action(self
, p0
); /* Direct call parser#ReduceAction62#action on <self:Object(ReduceAction62)>*/
8355 /* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */
8356 void parser__ReduceAction63__action(val
* self
, val
* p0
) {
8357 val
* var_p
/* var p: Parser */;
8358 val
* var
/* : null */;
8359 val
* var_node_list
/* var node_list: nullable Object */;
8360 val
* var1
/* : nullable Object */;
8361 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8362 val
* var2
/* : nullable Object */;
8363 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8364 val
* var3
/* : nullable Object */;
8365 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8366 val
* var4
/* : nullable Object */;
8367 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8368 val
* var5
/* : nullable Object */;
8369 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8370 val
* var6
/* : nullable Object */;
8371 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8372 val
* var7
/* : nullable Object */;
8373 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8374 val
* var8
/* : nullable Object */;
8375 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8376 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8377 short int var9
/* : Bool */;
8380 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8381 short int var10
/* : Bool */;
8384 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8385 short int var13
/* : Bool */;
8388 val
* var_tkwnewnode5
/* var tkwnewnode5: nullable Object */;
8389 short int var16
/* : Bool */;
8392 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
8393 short int var19
/* : Bool */;
8396 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
8397 short int var22
/* : Bool */;
8400 val
* var25
/* : AInternNewPropdef */;
8401 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AInternNewPropdef */;
8402 long var26
/* : Int */;
8403 long var27
/* : Int */;
8406 var_node_list
= var
;
8408 var1
= parser_work__Parser__pop(var_p
);
8410 var_nodearraylist8
= var1
;
8412 var2
= parser_work__Parser__pop(var_p
);
8414 var_nodearraylist7
= var2
;
8416 var3
= parser_work__Parser__pop(var_p
);
8418 var_nodearraylist6
= var3
;
8420 var4
= parser_work__Parser__pop(var_p
);
8422 var_nodearraylist5
= var4
;
8424 var5
= parser_work__Parser__pop(var_p
);
8426 var_nodearraylist4
= var5
;
8428 var6
= parser_work__Parser__pop(var_p
);
8430 var_nodearraylist3
= var6
;
8432 var7
= parser_work__Parser__pop(var_p
);
8434 var_nodearraylist2
= var7
;
8436 var8
= parser_work__Parser__pop(var_p
);
8438 var_nodearraylist1
= var8
;
8439 var_pdocnode2
= var_nodearraylist1
;
8440 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8441 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8442 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8443 if(var_pdocnode2
== NULL
) {
8446 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8449 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8452 if (unlikely(!var9
)) {
8453 PRINT_ERROR("Runtime error: %s", "Assert failed");
8454 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2979);
8457 var_tkwredefnode3
= var_nodearraylist2
;
8458 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8459 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
8460 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
8461 if(var_tkwredefnode3
== NULL
) {
8464 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
8467 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
8470 if (unlikely(!var10
)) {
8471 PRINT_ERROR("Runtime error: %s", "Assert failed");
8472 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2981);
8475 var_pvisibilitynode4
= var_nodearraylist3
;
8476 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8477 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
8478 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
8479 if(var_pvisibilitynode4
== NULL
) {
8482 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
8485 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
8488 if (unlikely(!var13
)) {
8489 PRINT_ERROR("Runtime error: %s", "Assert failed");
8490 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2983);
8493 var_tkwnewnode5
= var_nodearraylist4
;
8494 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8495 cltype17
= type_nullable_parser_nodes__TKwnew
.color
;
8496 idtype18
= type_nullable_parser_nodes__TKwnew
.id
;
8497 if(var_tkwnewnode5
== NULL
) {
8500 if(cltype17
>= var_tkwnewnode5
->type
->table_size
) {
8503 var16
= var_tkwnewnode5
->type
->type_table
[cltype17
] == idtype18
;
8506 if (unlikely(!var16
)) {
8507 PRINT_ERROR("Runtime error: %s", "Assert failed");
8508 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2985);
8511 var_pmethidnode6
= var_nodearraylist5
;
8512 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8513 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
8514 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
8515 if(var_pmethidnode6
== NULL
) {
8518 if(cltype20
>= var_pmethidnode6
->type
->table_size
) {
8521 var19
= var_pmethidnode6
->type
->type_table
[cltype20
] == idtype21
;
8524 if (unlikely(!var19
)) {
8525 PRINT_ERROR("Runtime error: %s", "Assert failed");
8526 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2987);
8529 var_psignaturenode7
= var_nodearraylist6
;
8530 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8531 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
8532 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
8533 if(var_psignaturenode7
== NULL
) {
8536 if(cltype23
>= var_psignaturenode7
->type
->table_size
) {
8539 var22
= var_psignaturenode7
->type
->type_table
[cltype23
] == idtype24
;
8542 if (unlikely(!var22
)) {
8543 PRINT_ERROR("Runtime error: %s", "Assert failed");
8544 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2989);
8547 var25
= NEW_parser_nodes__AInternNewPropdef(&type_parser_nodes__AInternNewPropdef
);
8549 parser_prod__AInternNewPropdef__init_ainternnewpropdef(var25
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwnewnode5
, var_pmethidnode6
, var_psignaturenode7
); /* Direct call parser_prod#AInternNewPropdef#init_ainternnewpropdef on <var25:AInternNewPropdef>*/
8551 var_ppropdefnode1
= var25
;
8552 var_node_list
= var_ppropdefnode1
;
8553 var26
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction63> */
8555 var27
= parser_work__Parser__go_to(var_p
, var26
);
8558 parser_work__Parser__push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8562 /* method parser#ReduceAction63#action for (self: Object, Parser) */
8563 void VIRTUAL_parser__ReduceAction63__action(val
* self
, val
* p0
) {
8564 parser__ReduceAction63__action(self
, p0
); /* Direct call parser#ReduceAction63#action on <self:Object(ReduceAction63)>*/
8567 /* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */
8568 void parser__ReduceAction64__action(val
* self
, val
* p0
) {
8569 val
* var_p
/* var p: Parser */;
8570 val
* var
/* : null */;
8571 val
* var_node_list
/* var node_list: nullable Object */;
8572 val
* var1
/* : nullable Object */;
8573 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
8574 val
* var2
/* : nullable Object */;
8575 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8576 val
* var3
/* : nullable Object */;
8577 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8578 val
* var4
/* : nullable Object */;
8579 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8580 val
* var5
/* : nullable Object */;
8581 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8582 val
* var6
/* : nullable Object */;
8583 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8584 val
* var7
/* : nullable Object */;
8585 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8586 val
* var8
/* : nullable Object */;
8587 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8588 val
* var9
/* : nullable Object */;
8589 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8590 val
* var10
/* : nullable Object */;
8591 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8592 val
* var11
/* : nullable Object */;
8593 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8594 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8595 short int var12
/* : Bool */;
8598 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8599 short int var13
/* : Bool */;
8602 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8603 short int var16
/* : Bool */;
8606 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
8607 short int var19
/* : Bool */;
8610 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
8611 short int var22
/* : Bool */;
8614 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
8615 short int var25
/* : Bool */;
8618 val
* var_tstringnode9
/* var tstringnode9: nullable Object */;
8619 short int var28
/* : Bool */;
8622 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
8623 short int var31
/* : Bool */;
8626 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
8627 short int var34
/* : Bool */;
8630 val
* var37
/* : AExternMethPropdef */;
8631 val
* var38
/* : null */;
8632 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternMethPropdef */;
8633 long var39
/* : Int */;
8634 long var40
/* : Int */;
8637 var_node_list
= var
;
8639 var1
= parser_work__Parser__pop(var_p
);
8641 var_nodearraylist11
= var1
;
8643 var2
= parser_work__Parser__pop(var_p
);
8645 var_nodearraylist10
= var2
;
8647 var3
= parser_work__Parser__pop(var_p
);
8649 var_nodearraylist9
= var3
;
8651 var4
= parser_work__Parser__pop(var_p
);
8653 var_nodearraylist8
= var4
;
8655 var5
= parser_work__Parser__pop(var_p
);
8657 var_nodearraylist7
= var5
;
8659 var6
= parser_work__Parser__pop(var_p
);
8661 var_nodearraylist6
= var6
;
8663 var7
= parser_work__Parser__pop(var_p
);
8665 var_nodearraylist5
= var7
;
8667 var8
= parser_work__Parser__pop(var_p
);
8669 var_nodearraylist4
= var8
;
8671 var9
= parser_work__Parser__pop(var_p
);
8673 var_nodearraylist3
= var9
;
8675 var10
= parser_work__Parser__pop(var_p
);
8677 var_nodearraylist2
= var10
;
8679 var11
= parser_work__Parser__pop(var_p
);
8681 var_nodearraylist1
= var11
;
8682 var_pdocnode2
= var_nodearraylist1
;
8683 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8684 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8685 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8686 if(var_pdocnode2
== NULL
) {
8689 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8692 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8695 if (unlikely(!var12
)) {
8696 PRINT_ERROR("Runtime error: %s", "Assert failed");
8697 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3019);
8700 var_tkwredefnode3
= var_nodearraylist2
;
8701 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8702 cltype14
= type_nullable_parser_nodes__TKwredef
.color
;
8703 idtype15
= type_nullable_parser_nodes__TKwredef
.id
;
8704 if(var_tkwredefnode3
== NULL
) {
8707 if(cltype14
>= var_tkwredefnode3
->type
->table_size
) {
8710 var13
= var_tkwredefnode3
->type
->type_table
[cltype14
] == idtype15
;
8713 if (unlikely(!var13
)) {
8714 PRINT_ERROR("Runtime error: %s", "Assert failed");
8715 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3021);
8718 var_pvisibilitynode4
= var_nodearraylist3
;
8719 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8720 cltype17
= type_nullable_parser_nodes__AVisibility
.color
;
8721 idtype18
= type_nullable_parser_nodes__AVisibility
.id
;
8722 if(var_pvisibilitynode4
== NULL
) {
8725 if(cltype17
>= var_pvisibilitynode4
->type
->table_size
) {
8728 var16
= var_pvisibilitynode4
->type
->type_table
[cltype17
] == idtype18
;
8731 if (unlikely(!var16
)) {
8732 PRINT_ERROR("Runtime error: %s", "Assert failed");
8733 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3023);
8736 var_tkwmethnode5
= var_nodearraylist4
;
8737 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8738 cltype20
= type_nullable_parser_nodes__TKwmeth
.color
;
8739 idtype21
= type_nullable_parser_nodes__TKwmeth
.id
;
8740 if(var_tkwmethnode5
== NULL
) {
8743 if(cltype20
>= var_tkwmethnode5
->type
->table_size
) {
8746 var19
= var_tkwmethnode5
->type
->type_table
[cltype20
] == idtype21
;
8749 if (unlikely(!var19
)) {
8750 PRINT_ERROR("Runtime error: %s", "Assert failed");
8751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3025);
8754 var_pmethidnode6
= var_nodearraylist5
;
8755 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8756 cltype23
= type_nullable_parser_nodes__AMethid
.color
;
8757 idtype24
= type_nullable_parser_nodes__AMethid
.id
;
8758 if(var_pmethidnode6
== NULL
) {
8761 if(cltype23
>= var_pmethidnode6
->type
->table_size
) {
8764 var22
= var_pmethidnode6
->type
->type_table
[cltype23
] == idtype24
;
8767 if (unlikely(!var22
)) {
8768 PRINT_ERROR("Runtime error: %s", "Assert failed");
8769 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3027);
8772 var_psignaturenode7
= var_nodearraylist6
;
8773 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8774 cltype26
= type_nullable_parser_nodes__ASignature
.color
;
8775 idtype27
= type_nullable_parser_nodes__ASignature
.id
;
8776 if(var_psignaturenode7
== NULL
) {
8779 if(cltype26
>= var_psignaturenode7
->type
->table_size
) {
8782 var25
= var_psignaturenode7
->type
->type_table
[cltype26
] == idtype27
;
8785 if (unlikely(!var25
)) {
8786 PRINT_ERROR("Runtime error: %s", "Assert failed");
8787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3029);
8790 var_tstringnode9
= var_nodearraylist9
;
8791 /* <var_tstringnode9:nullable Object> isa nullable TString */
8792 cltype29
= type_nullable_parser_nodes__TString
.color
;
8793 idtype30
= type_nullable_parser_nodes__TString
.id
;
8794 if(var_tstringnode9
== NULL
) {
8797 if(cltype29
>= var_tstringnode9
->type
->table_size
) {
8800 var28
= var_tstringnode9
->type
->type_table
[cltype29
] == idtype30
;
8803 if (unlikely(!var28
)) {
8804 PRINT_ERROR("Runtime error: %s", "Assert failed");
8805 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3031);
8808 var_pexterncallsnode10
= var_nodearraylist10
;
8809 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
8810 cltype32
= type_nullable_parser_nodes__AExternCalls
.color
;
8811 idtype33
= type_nullable_parser_nodes__AExternCalls
.id
;
8812 if(var_pexterncallsnode10
== NULL
) {
8815 if(cltype32
>= var_pexterncallsnode10
->type
->table_size
) {
8818 var31
= var_pexterncallsnode10
->type
->type_table
[cltype32
] == idtype33
;
8821 if (unlikely(!var31
)) {
8822 PRINT_ERROR("Runtime error: %s", "Assert failed");
8823 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3033);
8826 var_pexterncodeblocknode11
= var_nodearraylist11
;
8827 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
8828 cltype35
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
8829 idtype36
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
8830 if(var_pexterncodeblocknode11
== NULL
) {
8833 if(cltype35
>= var_pexterncodeblocknode11
->type
->table_size
) {
8836 var34
= var_pexterncodeblocknode11
->type
->type_table
[cltype35
] == idtype36
;
8839 if (unlikely(!var34
)) {
8840 PRINT_ERROR("Runtime error: %s", "Assert failed");
8841 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3035);
8844 var37
= NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef
);
8847 parser_prod__AExternMethPropdef__init_aexternmethpropdef(var37
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var38
, var_tstringnode9
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on <var37:AExternMethPropdef>*/
8849 var_ppropdefnode1
= var37
;
8850 var_node_list
= var_ppropdefnode1
;
8851 var39
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction64> */
8853 var40
= parser_work__Parser__go_to(var_p
, var39
);
8856 parser_work__Parser__push(var_p
, var40
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8860 /* method parser#ReduceAction64#action for (self: Object, Parser) */
8861 void VIRTUAL_parser__ReduceAction64__action(val
* self
, val
* p0
) {
8862 parser__ReduceAction64__action(self
, p0
); /* Direct call parser#ReduceAction64#action on <self:Object(ReduceAction64)>*/
8865 /* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */
8866 void parser__ReduceAction65__action(val
* self
, val
* p0
) {
8867 val
* var_p
/* var p: Parser */;
8868 val
* var
/* : null */;
8869 val
* var_node_list
/* var node_list: nullable Object */;
8870 val
* var1
/* : nullable Object */;
8871 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8872 val
* var2
/* : nullable Object */;
8873 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8874 val
* var3
/* : nullable Object */;
8875 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8876 val
* var4
/* : nullable Object */;
8877 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8878 val
* var5
/* : nullable Object */;
8879 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8880 val
* var6
/* : nullable Object */;
8881 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8882 val
* var7
/* : nullable Object */;
8883 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8884 val
* var8
/* : nullable Object */;
8885 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8886 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
8887 short int var9
/* : Bool */;
8890 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
8891 short int var10
/* : Bool */;
8894 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
8895 short int var13
/* : Bool */;
8898 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
8899 short int var16
/* : Bool */;
8902 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
8903 short int var19
/* : Bool */;
8906 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
8907 short int var22
/* : Bool */;
8910 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
8911 short int var25
/* : Bool */;
8914 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
8915 short int var28
/* : Bool */;
8918 val
* var31
/* : AExternMethPropdef */;
8919 val
* var32
/* : null */;
8920 val
* var33
/* : null */;
8921 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternMethPropdef */;
8922 long var34
/* : Int */;
8923 long var35
/* : Int */;
8926 var_node_list
= var
;
8928 var1
= parser_work__Parser__pop(var_p
);
8930 var_nodearraylist8
= var1
;
8932 var2
= parser_work__Parser__pop(var_p
);
8934 var_nodearraylist7
= var2
;
8936 var3
= parser_work__Parser__pop(var_p
);
8938 var_nodearraylist6
= var3
;
8940 var4
= parser_work__Parser__pop(var_p
);
8942 var_nodearraylist5
= var4
;
8944 var5
= parser_work__Parser__pop(var_p
);
8946 var_nodearraylist4
= var5
;
8948 var6
= parser_work__Parser__pop(var_p
);
8950 var_nodearraylist3
= var6
;
8952 var7
= parser_work__Parser__pop(var_p
);
8954 var_nodearraylist2
= var7
;
8956 var8
= parser_work__Parser__pop(var_p
);
8958 var_nodearraylist1
= var8
;
8959 var_pdocnode2
= var_nodearraylist1
;
8960 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8961 cltype
= type_nullable_parser_nodes__ADoc
.color
;
8962 idtype
= type_nullable_parser_nodes__ADoc
.id
;
8963 if(var_pdocnode2
== NULL
) {
8966 if(cltype
>= var_pdocnode2
->type
->table_size
) {
8969 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
8972 if (unlikely(!var9
)) {
8973 PRINT_ERROR("Runtime error: %s", "Assert failed");
8974 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3066);
8977 var_tkwredefnode3
= var_nodearraylist2
;
8978 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8979 cltype11
= type_nullable_parser_nodes__TKwredef
.color
;
8980 idtype12
= type_nullable_parser_nodes__TKwredef
.id
;
8981 if(var_tkwredefnode3
== NULL
) {
8984 if(cltype11
>= var_tkwredefnode3
->type
->table_size
) {
8987 var10
= var_tkwredefnode3
->type
->type_table
[cltype11
] == idtype12
;
8990 if (unlikely(!var10
)) {
8991 PRINT_ERROR("Runtime error: %s", "Assert failed");
8992 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3068);
8995 var_pvisibilitynode4
= var_nodearraylist3
;
8996 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8997 cltype14
= type_nullable_parser_nodes__AVisibility
.color
;
8998 idtype15
= type_nullable_parser_nodes__AVisibility
.id
;
8999 if(var_pvisibilitynode4
== NULL
) {
9002 if(cltype14
>= var_pvisibilitynode4
->type
->table_size
) {
9005 var13
= var_pvisibilitynode4
->type
->type_table
[cltype14
] == idtype15
;
9008 if (unlikely(!var13
)) {
9009 PRINT_ERROR("Runtime error: %s", "Assert failed");
9010 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3070);
9013 var_tkwmethnode5
= var_nodearraylist4
;
9014 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9015 cltype17
= type_nullable_parser_nodes__TKwmeth
.color
;
9016 idtype18
= type_nullable_parser_nodes__TKwmeth
.id
;
9017 if(var_tkwmethnode5
== NULL
) {
9020 if(cltype17
>= var_tkwmethnode5
->type
->table_size
) {
9023 var16
= var_tkwmethnode5
->type
->type_table
[cltype17
] == idtype18
;
9026 if (unlikely(!var16
)) {
9027 PRINT_ERROR("Runtime error: %s", "Assert failed");
9028 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3072);
9031 var_pmethidnode6
= var_nodearraylist5
;
9032 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9033 cltype20
= type_nullable_parser_nodes__AMethid
.color
;
9034 idtype21
= type_nullable_parser_nodes__AMethid
.id
;
9035 if(var_pmethidnode6
== NULL
) {
9038 if(cltype20
>= var_pmethidnode6
->type
->table_size
) {
9041 var19
= var_pmethidnode6
->type
->type_table
[cltype20
] == idtype21
;
9044 if (unlikely(!var19
)) {
9045 PRINT_ERROR("Runtime error: %s", "Assert failed");
9046 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3074);
9049 var_psignaturenode7
= var_nodearraylist6
;
9050 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9051 cltype23
= type_nullable_parser_nodes__ASignature
.color
;
9052 idtype24
= type_nullable_parser_nodes__ASignature
.id
;
9053 if(var_psignaturenode7
== NULL
) {
9056 if(cltype23
>= var_psignaturenode7
->type
->table_size
) {
9059 var22
= var_psignaturenode7
->type
->type_table
[cltype23
] == idtype24
;
9062 if (unlikely(!var22
)) {
9063 PRINT_ERROR("Runtime error: %s", "Assert failed");
9064 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3076);
9067 var_pexterncallsnode10
= var_nodearraylist7
;
9068 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
9069 cltype26
= type_nullable_parser_nodes__AExternCalls
.color
;
9070 idtype27
= type_nullable_parser_nodes__AExternCalls
.id
;
9071 if(var_pexterncallsnode10
== NULL
) {
9074 if(cltype26
>= var_pexterncallsnode10
->type
->table_size
) {
9077 var25
= var_pexterncallsnode10
->type
->type_table
[cltype26
] == idtype27
;
9080 if (unlikely(!var25
)) {
9081 PRINT_ERROR("Runtime error: %s", "Assert failed");
9082 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3078);
9085 var_pexterncodeblocknode11
= var_nodearraylist8
;
9086 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
9087 cltype29
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
9088 idtype30
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
9089 if(var_pexterncodeblocknode11
== NULL
) {
9092 if(cltype29
>= var_pexterncodeblocknode11
->type
->table_size
) {
9095 var28
= var_pexterncodeblocknode11
->type
->type_table
[cltype29
] == idtype30
;
9098 if (unlikely(!var28
)) {
9099 PRINT_ERROR("Runtime error: %s", "Assert failed");
9100 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3080);
9103 var31
= NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef
);
9107 parser_prod__AExternMethPropdef__init_aexternmethpropdef(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var32
, var33
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on <var31:AExternMethPropdef>*/
9109 var_ppropdefnode1
= var31
;
9110 var_node_list
= var_ppropdefnode1
;
9111 var34
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction65> */
9113 var35
= parser_work__Parser__go_to(var_p
, var34
);
9116 parser_work__Parser__push(var_p
, var35
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9120 /* method parser#ReduceAction65#action for (self: Object, Parser) */
9121 void VIRTUAL_parser__ReduceAction65__action(val
* self
, val
* p0
) {
9122 parser__ReduceAction65__action(self
, p0
); /* Direct call parser#ReduceAction65#action on <self:Object(ReduceAction65)>*/
9125 /* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */
9126 void parser__ReduceAction66__action(val
* self
, val
* p0
) {
9127 val
* var_p
/* var p: Parser */;
9128 val
* var
/* : null */;
9129 val
* var_node_list
/* var node_list: nullable Object */;
9130 val
* var1
/* : nullable Object */;
9131 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9132 val
* var2
/* : nullable Object */;
9133 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9134 val
* var3
/* : nullable Object */;
9135 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9136 val
* var4
/* : nullable Object */;
9137 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9138 val
* var5
/* : nullable Object */;
9139 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9140 val
* var6
/* : nullable Object */;
9141 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9142 val
* var7
/* : nullable Object */;
9143 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9144 val
* var8
/* : nullable Object */;
9145 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9146 val
* var9
/* : nullable Object */;
9147 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9148 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9149 short int var10
/* : Bool */;
9152 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
9153 short int var11
/* : Bool */;
9156 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
9157 short int var14
/* : Bool */;
9160 val
* var_tkwmethnode5
/* var tkwmethnode5: nullable Object */;
9161 short int var17
/* : Bool */;
9164 val
* var_pmethidnode6
/* var pmethidnode6: nullable Object */;
9165 short int var20
/* : Bool */;
9168 val
* var_psignaturenode7
/* var psignaturenode7: nullable Object */;
9169 short int var23
/* : Bool */;
9172 val
* var_pannotationsnode8
/* var pannotationsnode8: nullable Object */;
9173 short int var26
/* : Bool */;
9176 val
* var_pexterncallsnode10
/* var pexterncallsnode10: nullable Object */;
9177 short int var29
/* : Bool */;
9180 val
* var_pexterncodeblocknode11
/* var pexterncodeblocknode11: nullable Object */;
9181 short int var32
/* : Bool */;
9184 val
* var35
/* : AExternMethPropdef */;
9185 val
* var36
/* : null */;
9186 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AExternMethPropdef */;
9187 long var37
/* : Int */;
9188 long var38
/* : Int */;
9191 var_node_list
= var
;
9193 var1
= parser_work__Parser__pop(var_p
);
9195 var_nodearraylist9
= var1
;
9197 var2
= parser_work__Parser__pop(var_p
);
9199 var_nodearraylist8
= var2
;
9201 var3
= parser_work__Parser__pop(var_p
);
9203 var_nodearraylist7
= var3
;
9205 var4
= parser_work__Parser__pop(var_p
);
9207 var_nodearraylist6
= var4
;
9209 var5
= parser_work__Parser__pop(var_p
);
9211 var_nodearraylist5
= var5
;
9213 var6
= parser_work__Parser__pop(var_p
);
9215 var_nodearraylist4
= var6
;
9217 var7
= parser_work__Parser__pop(var_p
);
9219 var_nodearraylist3
= var7
;
9221 var8
= parser_work__Parser__pop(var_p
);
9223 var_nodearraylist2
= var8
;
9225 var9
= parser_work__Parser__pop(var_p
);
9227 var_nodearraylist1
= var9
;
9228 var_pdocnode2
= var_nodearraylist1
;
9229 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9230 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9231 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9232 if(var_pdocnode2
== NULL
) {
9235 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9238 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9241 if (unlikely(!var10
)) {
9242 PRINT_ERROR("Runtime error: %s", "Assert failed");
9243 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3112);
9246 var_tkwredefnode3
= var_nodearraylist2
;
9247 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9248 cltype12
= type_nullable_parser_nodes__TKwredef
.color
;
9249 idtype13
= type_nullable_parser_nodes__TKwredef
.id
;
9250 if(var_tkwredefnode3
== NULL
) {
9253 if(cltype12
>= var_tkwredefnode3
->type
->table_size
) {
9256 var11
= var_tkwredefnode3
->type
->type_table
[cltype12
] == idtype13
;
9259 if (unlikely(!var11
)) {
9260 PRINT_ERROR("Runtime error: %s", "Assert failed");
9261 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3114);
9264 var_pvisibilitynode4
= var_nodearraylist3
;
9265 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9266 cltype15
= type_nullable_parser_nodes__AVisibility
.color
;
9267 idtype16
= type_nullable_parser_nodes__AVisibility
.id
;
9268 if(var_pvisibilitynode4
== NULL
) {
9271 if(cltype15
>= var_pvisibilitynode4
->type
->table_size
) {
9274 var14
= var_pvisibilitynode4
->type
->type_table
[cltype15
] == idtype16
;
9277 if (unlikely(!var14
)) {
9278 PRINT_ERROR("Runtime error: %s", "Assert failed");
9279 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3116);
9282 var_tkwmethnode5
= var_nodearraylist4
;
9283 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9284 cltype18
= type_nullable_parser_nodes__TKwmeth
.color
;
9285 idtype19
= type_nullable_parser_nodes__TKwmeth
.id
;
9286 if(var_tkwmethnode5
== NULL
) {
9289 if(cltype18
>= var_tkwmethnode5
->type
->table_size
) {
9292 var17
= var_tkwmethnode5
->type
->type_table
[cltype18
] == idtype19
;
9295 if (unlikely(!var17
)) {
9296 PRINT_ERROR("Runtime error: %s", "Assert failed");
9297 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3118);
9300 var_pmethidnode6
= var_nodearraylist5
;
9301 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9302 cltype21
= type_nullable_parser_nodes__AMethid
.color
;
9303 idtype22
= type_nullable_parser_nodes__AMethid
.id
;
9304 if(var_pmethidnode6
== NULL
) {
9307 if(cltype21
>= var_pmethidnode6
->type
->table_size
) {
9310 var20
= var_pmethidnode6
->type
->type_table
[cltype21
] == idtype22
;
9313 if (unlikely(!var20
)) {
9314 PRINT_ERROR("Runtime error: %s", "Assert failed");
9315 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3120);
9318 var_psignaturenode7
= var_nodearraylist6
;
9319 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9320 cltype24
= type_nullable_parser_nodes__ASignature
.color
;
9321 idtype25
= type_nullable_parser_nodes__ASignature
.id
;
9322 if(var_psignaturenode7
== NULL
) {
9325 if(cltype24
>= var_psignaturenode7
->type
->table_size
) {
9328 var23
= var_psignaturenode7
->type
->type_table
[cltype24
] == idtype25
;
9331 if (unlikely(!var23
)) {
9332 PRINT_ERROR("Runtime error: %s", "Assert failed");
9333 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3122);
9336 var_pannotationsnode8
= var_nodearraylist7
;
9337 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9338 cltype27
= type_nullable_parser_nodes__AAnnotations
.color
;
9339 idtype28
= type_nullable_parser_nodes__AAnnotations
.id
;
9340 if(var_pannotationsnode8
== NULL
) {
9343 if(cltype27
>= var_pannotationsnode8
->type
->table_size
) {
9346 var26
= var_pannotationsnode8
->type
->type_table
[cltype27
] == idtype28
;
9349 if (unlikely(!var26
)) {
9350 PRINT_ERROR("Runtime error: %s", "Assert failed");
9351 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3124);
9354 var_pexterncallsnode10
= var_nodearraylist8
;
9355 /* <var_pexterncallsnode10:nullable Object> isa nullable AExternCalls */
9356 cltype30
= type_nullable_parser_nodes__AExternCalls
.color
;
9357 idtype31
= type_nullable_parser_nodes__AExternCalls
.id
;
9358 if(var_pexterncallsnode10
== NULL
) {
9361 if(cltype30
>= var_pexterncallsnode10
->type
->table_size
) {
9364 var29
= var_pexterncallsnode10
->type
->type_table
[cltype30
] == idtype31
;
9367 if (unlikely(!var29
)) {
9368 PRINT_ERROR("Runtime error: %s", "Assert failed");
9369 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3126);
9372 var_pexterncodeblocknode11
= var_nodearraylist9
;
9373 /* <var_pexterncodeblocknode11:nullable Object> isa nullable AExternCodeBlock */
9374 cltype33
= type_nullable_parser_nodes__AExternCodeBlock
.color
;
9375 idtype34
= type_nullable_parser_nodes__AExternCodeBlock
.id
;
9376 if(var_pexterncodeblocknode11
== NULL
) {
9379 if(cltype33
>= var_pexterncodeblocknode11
->type
->table_size
) {
9382 var32
= var_pexterncodeblocknode11
->type
->type_table
[cltype33
] == idtype34
;
9385 if (unlikely(!var32
)) {
9386 PRINT_ERROR("Runtime error: %s", "Assert failed");
9387 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3128);
9390 var35
= NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef
);
9393 parser_prod__AExternMethPropdef__init_aexternmethpropdef(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_tkwmethnode5
, var_pmethidnode6
, var_psignaturenode7
, var_pannotationsnode8
, var36
, var_pexterncallsnode10
, var_pexterncodeblocknode11
); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on <var35:AExternMethPropdef>*/
9395 var_ppropdefnode1
= var35
;
9396 var_node_list
= var_ppropdefnode1
;
9397 var37
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction66> */
9399 var38
= parser_work__Parser__go_to(var_p
, var37
);
9402 parser_work__Parser__push(var_p
, var38
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9406 /* method parser#ReduceAction66#action for (self: Object, Parser) */
9407 void VIRTUAL_parser__ReduceAction66__action(val
* self
, val
* p0
) {
9408 parser__ReduceAction66__action(self
, p0
); /* Direct call parser#ReduceAction66#action on <self:Object(ReduceAction66)>*/
9411 /* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */
9412 void parser__ReduceAction67__action(val
* self
, val
* p0
) {
9413 val
* var_p
/* var p: Parser */;
9414 val
* var
/* : null */;
9415 val
* var_node_list
/* var node_list: nullable Object */;
9416 val
* var1
/* : nullable Object */;
9417 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9418 val
* var2
/* : nullable Object */;
9419 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9420 val
* var3
/* : nullable Object */;
9421 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9422 val
* var4
/* : nullable Object */;
9423 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9424 val
* var5
/* : nullable Object */;
9425 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9426 val
* var6
/* : nullable Object */;
9427 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9428 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9429 short int var7
/* : Bool */;
9432 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
9433 short int var8
/* : Bool */;
9436 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
9437 short int var11
/* : Bool */;
9440 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
9441 short int var14
/* : Bool */;
9444 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
9445 short int var17
/* : Bool */;
9448 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
9449 short int var20
/* : Bool */;
9452 val
* var23
/* : AAttrPropdef */;
9453 val
* var24
/* : null */;
9454 val
* var25
/* : null */;
9455 val
* var26
/* : null */;
9456 val
* var27
/* : null */;
9457 val
* var28
/* : null */;
9458 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
9459 long var29
/* : Int */;
9460 long var30
/* : Int */;
9463 var_node_list
= var
;
9465 var1
= parser_work__Parser__pop(var_p
);
9467 var_nodearraylist6
= var1
;
9469 var2
= parser_work__Parser__pop(var_p
);
9471 var_nodearraylist5
= var2
;
9473 var3
= parser_work__Parser__pop(var_p
);
9475 var_nodearraylist4
= var3
;
9477 var4
= parser_work__Parser__pop(var_p
);
9479 var_nodearraylist3
= var4
;
9481 var5
= parser_work__Parser__pop(var_p
);
9483 var_nodearraylist2
= var5
;
9485 var6
= parser_work__Parser__pop(var_p
);
9487 var_nodearraylist1
= var6
;
9488 var_pdocnode2
= var_nodearraylist1
;
9489 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9490 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9491 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9492 if(var_pdocnode2
== NULL
) {
9495 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9498 var7
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9501 if (unlikely(!var7
)) {
9502 PRINT_ERROR("Runtime error: %s", "Assert failed");
9503 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3157);
9506 var_tkwredefnode5
= var_nodearraylist2
;
9507 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9508 cltype9
= type_nullable_parser_nodes__TKwredef
.color
;
9509 idtype10
= type_nullable_parser_nodes__TKwredef
.id
;
9510 if(var_tkwredefnode5
== NULL
) {
9513 if(cltype9
>= var_tkwredefnode5
->type
->table_size
) {
9516 var8
= var_tkwredefnode5
->type
->type_table
[cltype9
] == idtype10
;
9519 if (unlikely(!var8
)) {
9520 PRINT_ERROR("Runtime error: %s", "Assert failed");
9521 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3159);
9524 var_pvisibilitynode6
= var_nodearraylist3
;
9525 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9526 cltype12
= type_nullable_parser_nodes__AVisibility
.color
;
9527 idtype13
= type_nullable_parser_nodes__AVisibility
.id
;
9528 if(var_pvisibilitynode6
== NULL
) {
9531 if(cltype12
>= var_pvisibilitynode6
->type
->table_size
) {
9534 var11
= var_pvisibilitynode6
->type
->type_table
[cltype12
] == idtype13
;
9537 if (unlikely(!var11
)) {
9538 PRINT_ERROR("Runtime error: %s", "Assert failed");
9539 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3161);
9542 var_tkwvarnode7
= var_nodearraylist4
;
9543 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9544 cltype15
= type_nullable_parser_nodes__TKwvar
.color
;
9545 idtype16
= type_nullable_parser_nodes__TKwvar
.id
;
9546 if(var_tkwvarnode7
== NULL
) {
9549 if(cltype15
>= var_tkwvarnode7
->type
->table_size
) {
9552 var14
= var_tkwvarnode7
->type
->type_table
[cltype15
] == idtype16
;
9555 if (unlikely(!var14
)) {
9556 PRINT_ERROR("Runtime error: %s", "Assert failed");
9557 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3163);
9560 var_tattridnode8
= var_nodearraylist5
;
9561 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9562 cltype18
= type_nullable_parser_nodes__TAttrid
.color
;
9563 idtype19
= type_nullable_parser_nodes__TAttrid
.id
;
9564 if(var_tattridnode8
== NULL
) {
9567 if(cltype18
>= var_tattridnode8
->type
->table_size
) {
9570 var17
= var_tattridnode8
->type
->type_table
[cltype18
] == idtype19
;
9573 if (unlikely(!var17
)) {
9574 PRINT_ERROR("Runtime error: %s", "Assert failed");
9575 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3165);
9578 var_ptypenode10
= var_nodearraylist6
;
9579 /* <var_ptypenode10:nullable Object> isa nullable AType */
9580 cltype21
= type_nullable_parser_nodes__AType
.color
;
9581 idtype22
= type_nullable_parser_nodes__AType
.id
;
9582 if(var_ptypenode10
== NULL
) {
9585 if(cltype21
>= var_ptypenode10
->type
->table_size
) {
9588 var20
= var_ptypenode10
->type
->type_table
[cltype21
] == idtype22
;
9591 if (unlikely(!var20
)) {
9592 PRINT_ERROR("Runtime error: %s", "Assert failed");
9593 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3167);
9596 var23
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
9603 parser_prod__AAttrPropdef__init_aattrpropdef(var23
, var_pdocnode2
, var24
, var25
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var26
, var_ptypenode10
, var27
, var28
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var23:AAttrPropdef>*/
9605 var_ppropdefnode1
= var23
;
9606 var_node_list
= var_ppropdefnode1
;
9607 var29
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction67> */
9609 var30
= parser_work__Parser__go_to(var_p
, var29
);
9612 parser_work__Parser__push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9616 /* method parser#ReduceAction67#action for (self: Object, Parser) */
9617 void VIRTUAL_parser__ReduceAction67__action(val
* self
, val
* p0
) {
9618 parser__ReduceAction67__action(self
, p0
); /* Direct call parser#ReduceAction67#action on <self:Object(ReduceAction67)>*/
9621 /* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */
9622 void parser__ReduceAction68__action(val
* self
, val
* p0
) {
9623 val
* var_p
/* var p: Parser */;
9624 val
* var
/* : null */;
9625 val
* var_node_list
/* var node_list: nullable Object */;
9626 val
* var1
/* : nullable Object */;
9627 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9628 val
* var2
/* : nullable Object */;
9629 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9630 val
* var3
/* : nullable Object */;
9631 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9632 val
* var4
/* : nullable Object */;
9633 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9634 val
* var5
/* : nullable Object */;
9635 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9636 val
* var6
/* : nullable Object */;
9637 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9638 val
* var7
/* : nullable Object */;
9639 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9640 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9641 short int var8
/* : Bool */;
9644 val
* var_pablenode3
/* var pablenode3: nullable Object */;
9645 short int var9
/* : Bool */;
9648 val
* var_tkwredefnode5
/* var tkwredefnode5: nullable Object */;
9649 short int var12
/* : Bool */;
9652 val
* var_pvisibilitynode6
/* var pvisibilitynode6: nullable Object */;
9653 short int var15
/* : Bool */;
9656 val
* var_tkwvarnode7
/* var tkwvarnode7: nullable Object */;
9657 short int var18
/* : Bool */;
9660 val
* var_tattridnode8
/* var tattridnode8: nullable Object */;
9661 short int var21
/* : Bool */;
9664 val
* var_ptypenode10
/* var ptypenode10: nullable Object */;
9665 short int var24
/* : Bool */;
9668 val
* var27
/* : AAttrPropdef */;
9669 val
* var28
/* : null */;
9670 val
* var29
/* : null */;
9671 val
* var30
/* : null */;
9672 val
* var31
/* : null */;
9673 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAttrPropdef */;
9674 long var32
/* : Int */;
9675 long var33
/* : Int */;
9678 var_node_list
= var
;
9680 var1
= parser_work__Parser__pop(var_p
);
9682 var_nodearraylist7
= var1
;
9684 var2
= parser_work__Parser__pop(var_p
);
9686 var_nodearraylist6
= var2
;
9688 var3
= parser_work__Parser__pop(var_p
);
9690 var_nodearraylist5
= var3
;
9692 var4
= parser_work__Parser__pop(var_p
);
9694 var_nodearraylist4
= var4
;
9696 var5
= parser_work__Parser__pop(var_p
);
9698 var_nodearraylist3
= var5
;
9700 var6
= parser_work__Parser__pop(var_p
);
9702 var_nodearraylist2
= var6
;
9704 var7
= parser_work__Parser__pop(var_p
);
9706 var_nodearraylist1
= var7
;
9707 var_pdocnode2
= var_nodearraylist1
;
9708 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9709 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9710 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9711 if(var_pdocnode2
== NULL
) {
9714 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9717 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9720 if (unlikely(!var8
)) {
9721 PRINT_ERROR("Runtime error: %s", "Assert failed");
9722 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3198);
9725 var_pablenode3
= var_nodearraylist2
;
9726 /* <var_pablenode3:nullable Object> isa nullable AAble */
9727 cltype10
= type_nullable_parser_nodes__AAble
.color
;
9728 idtype11
= type_nullable_parser_nodes__AAble
.id
;
9729 if(var_pablenode3
== NULL
) {
9732 if(cltype10
>= var_pablenode3
->type
->table_size
) {
9735 var9
= var_pablenode3
->type
->type_table
[cltype10
] == idtype11
;
9738 if (unlikely(!var9
)) {
9739 PRINT_ERROR("Runtime error: %s", "Assert failed");
9740 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3200);
9743 var_tkwredefnode5
= var_nodearraylist3
;
9744 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9745 cltype13
= type_nullable_parser_nodes__TKwredef
.color
;
9746 idtype14
= type_nullable_parser_nodes__TKwredef
.id
;
9747 if(var_tkwredefnode5
== NULL
) {
9750 if(cltype13
>= var_tkwredefnode5
->type
->table_size
) {
9753 var12
= var_tkwredefnode5
->type
->type_table
[cltype13
] == idtype14
;
9756 if (unlikely(!var12
)) {
9757 PRINT_ERROR("Runtime error: %s", "Assert failed");
9758 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3202);
9761 var_pvisibilitynode6
= var_nodearraylist4
;
9762 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9763 cltype16
= type_nullable_parser_nodes__AVisibility
.color
;
9764 idtype17
= type_nullable_parser_nodes__AVisibility
.id
;
9765 if(var_pvisibilitynode6
== NULL
) {
9768 if(cltype16
>= var_pvisibilitynode6
->type
->table_size
) {
9771 var15
= var_pvisibilitynode6
->type
->type_table
[cltype16
] == idtype17
;
9774 if (unlikely(!var15
)) {
9775 PRINT_ERROR("Runtime error: %s", "Assert failed");
9776 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3204);
9779 var_tkwvarnode7
= var_nodearraylist5
;
9780 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9781 cltype19
= type_nullable_parser_nodes__TKwvar
.color
;
9782 idtype20
= type_nullable_parser_nodes__TKwvar
.id
;
9783 if(var_tkwvarnode7
== NULL
) {
9786 if(cltype19
>= var_tkwvarnode7
->type
->table_size
) {
9789 var18
= var_tkwvarnode7
->type
->type_table
[cltype19
] == idtype20
;
9792 if (unlikely(!var18
)) {
9793 PRINT_ERROR("Runtime error: %s", "Assert failed");
9794 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3206);
9797 var_tattridnode8
= var_nodearraylist6
;
9798 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9799 cltype22
= type_nullable_parser_nodes__TAttrid
.color
;
9800 idtype23
= type_nullable_parser_nodes__TAttrid
.id
;
9801 if(var_tattridnode8
== NULL
) {
9804 if(cltype22
>= var_tattridnode8
->type
->table_size
) {
9807 var21
= var_tattridnode8
->type
->type_table
[cltype22
] == idtype23
;
9810 if (unlikely(!var21
)) {
9811 PRINT_ERROR("Runtime error: %s", "Assert failed");
9812 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3208);
9815 var_ptypenode10
= var_nodearraylist7
;
9816 /* <var_ptypenode10:nullable Object> isa nullable AType */
9817 cltype25
= type_nullable_parser_nodes__AType
.color
;
9818 idtype26
= type_nullable_parser_nodes__AType
.id
;
9819 if(var_ptypenode10
== NULL
) {
9822 if(cltype25
>= var_ptypenode10
->type
->table_size
) {
9825 var24
= var_ptypenode10
->type
->type_table
[cltype25
] == idtype26
;
9828 if (unlikely(!var24
)) {
9829 PRINT_ERROR("Runtime error: %s", "Assert failed");
9830 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3210);
9833 var27
= NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef
);
9839 parser_prod__AAttrPropdef__init_aattrpropdef(var27
, var_pdocnode2
, var_pablenode3
, var28
, var_tkwredefnode5
, var_pvisibilitynode6
, var_tkwvarnode7
, var_tattridnode8
, var29
, var_ptypenode10
, var30
, var31
); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on <var27:AAttrPropdef>*/
9841 var_ppropdefnode1
= var27
;
9842 var_node_list
= var_ppropdefnode1
;
9843 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction68> */
9845 var33
= parser_work__Parser__go_to(var_p
, var32
);
9848 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9852 /* method parser#ReduceAction68#action for (self: Object, Parser) */
9853 void VIRTUAL_parser__ReduceAction68__action(val
* self
, val
* p0
) {
9854 parser__ReduceAction68__action(self
, p0
); /* Direct call parser#ReduceAction68#action on <self:Object(ReduceAction68)>*/