1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */
3 void parser__ReduceAction148__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_nodearraylist2
/* var nodearraylist2: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
11 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
12 long var3
/* : Int */;
13 long var4
/* : Int */;
18 var1
= parser_work__Parser__pop(var_p
);
20 var_nodearraylist2
= var1
;
22 var2
= parser_work__Parser__pop(var_p
);
24 var_nodearraylist1
= var2
;
25 var_pexterncodeblocknode1
= var_nodearraylist2
;
26 var_node_list
= var_pexterncodeblocknode1
;
27 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction148> */
29 var4
= parser_work__Parser__go_to(var_p
, var3
);
32 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
36 /* method parser#ReduceAction148#action for (self: Object, Parser) */
37 void VIRTUAL_parser__ReduceAction148__action(val
* self
, val
* p0
) {
38 parser__ReduceAction148__action(self
, p0
); /* Direct call parser#ReduceAction148#action on <self:Object(ReduceAction148)>*/
41 /* method parser#ReduceAction149#action for (self: ReduceAction149, Parser) */
42 void parser__ReduceAction149__action(val
* self
, val
* p0
) {
43 val
* var_p
/* var p: Parser */;
44 val
* var
/* : null */;
45 val
* var_node_list
/* var node_list: nullable Object */;
46 val
* var1
/* : nullable Object */;
47 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
48 val
* var2
/* : nullable Object */;
49 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
50 val
* var3
/* : Array[Object] */;
51 val
* var_listnode4
/* var listnode4: Array[Object] */;
52 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
53 short int var4
/* : Bool */;
56 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
57 short int var5
/* : Bool */;
60 val
* var8
/* : AType */;
61 val
* var9
/* : null */;
62 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
63 long var10
/* : Int */;
64 long var11
/* : Int */;
69 var1
= parser_work__Parser__pop(var_p
);
71 var_nodearraylist2
= var1
;
73 var2
= parser_work__Parser__pop(var_p
);
75 var_nodearraylist1
= var2
;
76 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
78 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
81 var_tclassidnode3
= var_nodearraylist1
;
82 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
83 cltype
= type_nullable_parser_nodes__TClassid
.color
;
84 idtype
= type_nullable_parser_nodes__TClassid
.id
;
85 if(var_tclassidnode3
== NULL
) {
88 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
91 var4
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
94 if (unlikely(!var4
)) {
95 PRINT_ERROR("Runtime error: %s", "Assert failed");
96 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5186);
99 var_pannotationsnode5
= var_nodearraylist2
;
100 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
101 cltype6
= type_nullable_parser_nodes__AAnnotations
.color
;
102 idtype7
= type_nullable_parser_nodes__AAnnotations
.id
;
103 if(var_pannotationsnode5
== NULL
) {
106 if(cltype6
>= var_pannotationsnode5
->type
->table_size
) {
109 var5
= var_pannotationsnode5
->type
->type_table
[cltype6
] == idtype7
;
112 if (unlikely(!var5
)) {
113 PRINT_ERROR("Runtime error: %s", "Assert failed");
114 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5188);
117 var8
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
120 parser_prod__AType__init_atype(var8
, var9
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var8:AType>*/
122 var_ptypenode1
= var8
;
123 var_node_list
= var_ptypenode1
;
124 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction149> */
126 var11
= parser_work__Parser__go_to(var_p
, var10
);
129 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
133 /* method parser#ReduceAction149#action for (self: Object, Parser) */
134 void VIRTUAL_parser__ReduceAction149__action(val
* self
, val
* p0
) {
135 parser__ReduceAction149__action(self
, p0
); /* Direct call parser#ReduceAction149#action on <self:Object(ReduceAction149)>*/
138 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
139 void parser__ReduceAction150__action(val
* self
, val
* p0
) {
140 val
* var_p
/* var p: Parser */;
141 val
* var
/* : null */;
142 val
* var_node_list
/* var node_list: nullable Object */;
143 val
* var1
/* : nullable Object */;
144 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
145 val
* var2
/* : nullable Object */;
146 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
147 val
* var3
/* : nullable Object */;
148 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
149 val
* var4
/* : Array[Object] */;
150 val
* var_listnode4
/* var listnode4: Array[Object] */;
151 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
152 short int var5
/* : Bool */;
155 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
156 short int var6
/* : Bool */;
159 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
160 short int var9
/* : Bool */;
163 val
* var12
/* : AType */;
164 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
165 long var13
/* : Int */;
166 long var14
/* : Int */;
171 var1
= parser_work__Parser__pop(var_p
);
173 var_nodearraylist3
= var1
;
175 var2
= parser_work__Parser__pop(var_p
);
177 var_nodearraylist2
= var2
;
179 var3
= parser_work__Parser__pop(var_p
);
181 var_nodearraylist1
= var3
;
182 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
184 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
186 var_listnode4
= var4
;
187 var_tkwnullablenode2
= var_nodearraylist1
;
188 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
189 cltype
= type_nullable_parser_nodes__TKwnullable
.color
;
190 idtype
= type_nullable_parser_nodes__TKwnullable
.id
;
191 if(var_tkwnullablenode2
== NULL
) {
194 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
197 var5
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
200 if (unlikely(!var5
)) {
201 PRINT_ERROR("Runtime error: %s", "Assert failed");
202 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5209);
205 var_tclassidnode3
= var_nodearraylist2
;
206 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
207 cltype7
= type_nullable_parser_nodes__TClassid
.color
;
208 idtype8
= type_nullable_parser_nodes__TClassid
.id
;
209 if(var_tclassidnode3
== NULL
) {
212 if(cltype7
>= var_tclassidnode3
->type
->table_size
) {
215 var6
= var_tclassidnode3
->type
->type_table
[cltype7
] == idtype8
;
218 if (unlikely(!var6
)) {
219 PRINT_ERROR("Runtime error: %s", "Assert failed");
220 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5211);
223 var_pannotationsnode5
= var_nodearraylist3
;
224 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
225 cltype10
= type_nullable_parser_nodes__AAnnotations
.color
;
226 idtype11
= type_nullable_parser_nodes__AAnnotations
.id
;
227 if(var_pannotationsnode5
== NULL
) {
230 if(cltype10
>= var_pannotationsnode5
->type
->table_size
) {
233 var9
= var_pannotationsnode5
->type
->type_table
[cltype10
] == idtype11
;
236 if (unlikely(!var9
)) {
237 PRINT_ERROR("Runtime error: %s", "Assert failed");
238 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5213);
241 var12
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
243 parser_prod__AType__init_atype(var12
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var12:AType>*/
245 var_ptypenode1
= var12
;
246 var_node_list
= var_ptypenode1
;
247 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction150> */
249 var14
= parser_work__Parser__go_to(var_p
, var13
);
252 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
256 /* method parser#ReduceAction150#action for (self: Object, Parser) */
257 void VIRTUAL_parser__ReduceAction150__action(val
* self
, val
* p0
) {
258 parser__ReduceAction150__action(self
, p0
); /* Direct call parser#ReduceAction150#action on <self:Object(ReduceAction150)>*/
261 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
262 void parser__ReduceAction151__action(val
* self
, val
* p0
) {
263 val
* var_p
/* var p: Parser */;
264 val
* var
/* : null */;
265 val
* var_node_list
/* var node_list: nullable Object */;
266 val
* var1
/* : nullable Object */;
267 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
268 val
* var2
/* : nullable Object */;
269 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
270 val
* var3
/* : nullable Object */;
271 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
272 val
* var4
/* : nullable Object */;
273 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
274 val
* var5
/* : nullable Object */;
275 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
276 val
* var6
/* : nullable Object */;
277 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
278 val
* var7
/* : nullable Object */;
279 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
280 val
* var8
/* : Array[Object] */;
281 val
* var_listnode5
/* var listnode5: Array[Object] */;
282 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
283 short int var9
/* : Bool */;
286 val
* var_listnode4
/* var listnode4: nullable Object */;
287 short int var10
/* : Bool */;
290 val
* var13
/* : Array[Object] */;
291 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
292 short int var14
/* : Bool */;
295 val
* var17
/* : AType */;
296 val
* var18
/* : null */;
297 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
298 long var19
/* : Int */;
299 long var20
/* : Int */;
304 var1
= parser_work__Parser__pop(var_p
);
306 var_nodearraylist7
= var1
;
308 var2
= parser_work__Parser__pop(var_p
);
310 var_nodearraylist6
= var2
;
312 var3
= parser_work__Parser__pop(var_p
);
314 var_nodearraylist5
= var3
;
316 var4
= parser_work__Parser__pop(var_p
);
318 var_nodearraylist4
= var4
;
320 var5
= parser_work__Parser__pop(var_p
);
322 var_nodearraylist3
= var5
;
324 var6
= parser_work__Parser__pop(var_p
);
326 var_nodearraylist2
= var6
;
328 var7
= parser_work__Parser__pop(var_p
);
330 var_nodearraylist1
= var7
;
331 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
333 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[Object]>*/;
335 var_listnode5
= var8
;
336 var_tclassidnode3
= var_nodearraylist1
;
337 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
338 cltype
= type_nullable_parser_nodes__TClassid
.color
;
339 idtype
= type_nullable_parser_nodes__TClassid
.id
;
340 if(var_tclassidnode3
== NULL
) {
343 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
346 var9
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
349 if (unlikely(!var9
)) {
350 PRINT_ERROR("Runtime error: %s", "Assert failed");
351 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5238);
354 var_listnode4
= var_nodearraylist4
;
355 /* <var_listnode4:nullable Object> isa Array[Object] */
356 cltype11
= type_array__Arraykernel__Object
.color
;
357 idtype12
= type_array__Arraykernel__Object
.id
;
358 if(var_listnode4
== NULL
) {
361 if(cltype11
>= var_listnode4
->type
->table_size
) {
364 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
367 if (unlikely(!var10
)) {
368 PRINT_ERROR("Runtime error: %s", "Assert failed");
369 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5240);
373 var13
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
375 var_listnode5
= var13
;
376 var_pannotationsnode6
= var_nodearraylist7
;
377 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
378 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
379 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
380 if(var_pannotationsnode6
== NULL
) {
383 if(cltype15
>= var_pannotationsnode6
->type
->table_size
) {
386 var14
= var_pannotationsnode6
->type
->type_table
[cltype15
] == idtype16
;
389 if (unlikely(!var14
)) {
390 PRINT_ERROR("Runtime error: %s", "Assert failed");
391 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5243);
394 var17
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
397 parser_prod__AType__init_atype(var17
, var18
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var17:AType>*/
399 var_ptypenode1
= var17
;
400 var_node_list
= var_ptypenode1
;
401 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction151> */
403 var20
= parser_work__Parser__go_to(var_p
, var19
);
406 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
410 /* method parser#ReduceAction151#action for (self: Object, Parser) */
411 void VIRTUAL_parser__ReduceAction151__action(val
* self
, val
* p0
) {
412 parser__ReduceAction151__action(self
, p0
); /* Direct call parser#ReduceAction151#action on <self:Object(ReduceAction151)>*/
415 /* method parser#ReduceAction152#action for (self: ReduceAction152, Parser) */
416 void parser__ReduceAction152__action(val
* self
, val
* p0
) {
417 val
* var_p
/* var p: Parser */;
418 val
* var
/* : null */;
419 val
* var_node_list
/* var node_list: nullable Object */;
420 val
* var1
/* : nullable Object */;
421 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
422 val
* var2
/* : nullable Object */;
423 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
424 val
* var3
/* : nullable Object */;
425 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
426 val
* var4
/* : nullable Object */;
427 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
428 val
* var5
/* : nullable Object */;
429 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
430 val
* var6
/* : nullable Object */;
431 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
432 val
* var7
/* : nullable Object */;
433 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
434 val
* var8
/* : nullable Object */;
435 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
436 val
* var9
/* : Array[Object] */;
437 val
* var_listnode5
/* var listnode5: Array[Object] */;
438 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
439 short int var10
/* : Bool */;
442 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
443 short int var11
/* : Bool */;
446 val
* var_listnode4
/* var listnode4: nullable Object */;
447 short int var14
/* : Bool */;
450 val
* var17
/* : Array[Object] */;
451 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
452 short int var18
/* : Bool */;
455 val
* var21
/* : AType */;
456 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
457 long var22
/* : Int */;
458 long var23
/* : Int */;
463 var1
= parser_work__Parser__pop(var_p
);
465 var_nodearraylist8
= var1
;
467 var2
= parser_work__Parser__pop(var_p
);
469 var_nodearraylist7
= var2
;
471 var3
= parser_work__Parser__pop(var_p
);
473 var_nodearraylist6
= var3
;
475 var4
= parser_work__Parser__pop(var_p
);
477 var_nodearraylist5
= var4
;
479 var5
= parser_work__Parser__pop(var_p
);
481 var_nodearraylist4
= var5
;
483 var6
= parser_work__Parser__pop(var_p
);
485 var_nodearraylist3
= var6
;
487 var7
= parser_work__Parser__pop(var_p
);
489 var_nodearraylist2
= var7
;
491 var8
= parser_work__Parser__pop(var_p
);
493 var_nodearraylist1
= var8
;
494 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
496 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[Object]>*/;
498 var_listnode5
= var9
;
499 var_tkwnullablenode2
= var_nodearraylist1
;
500 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
501 cltype
= type_nullable_parser_nodes__TKwnullable
.color
;
502 idtype
= type_nullable_parser_nodes__TKwnullable
.id
;
503 if(var_tkwnullablenode2
== NULL
) {
506 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
509 var10
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
512 if (unlikely(!var10
)) {
513 PRINT_ERROR("Runtime error: %s", "Assert failed");
514 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5269);
517 var_tclassidnode3
= var_nodearraylist2
;
518 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
519 cltype12
= type_nullable_parser_nodes__TClassid
.color
;
520 idtype13
= type_nullable_parser_nodes__TClassid
.id
;
521 if(var_tclassidnode3
== NULL
) {
524 if(cltype12
>= var_tclassidnode3
->type
->table_size
) {
527 var11
= var_tclassidnode3
->type
->type_table
[cltype12
] == idtype13
;
530 if (unlikely(!var11
)) {
531 PRINT_ERROR("Runtime error: %s", "Assert failed");
532 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5271);
535 var_listnode4
= var_nodearraylist5
;
536 /* <var_listnode4:nullable Object> isa Array[Object] */
537 cltype15
= type_array__Arraykernel__Object
.color
;
538 idtype16
= type_array__Arraykernel__Object
.id
;
539 if(var_listnode4
== NULL
) {
542 if(cltype15
>= var_listnode4
->type
->table_size
) {
545 var14
= var_listnode4
->type
->type_table
[cltype15
] == idtype16
;
548 if (unlikely(!var14
)) {
549 PRINT_ERROR("Runtime error: %s", "Assert failed");
550 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5273);
554 var17
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
556 var_listnode5
= var17
;
557 var_pannotationsnode6
= var_nodearraylist8
;
558 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
559 cltype19
= type_nullable_parser_nodes__AAnnotations
.color
;
560 idtype20
= type_nullable_parser_nodes__AAnnotations
.id
;
561 if(var_pannotationsnode6
== NULL
) {
564 if(cltype19
>= var_pannotationsnode6
->type
->table_size
) {
567 var18
= var_pannotationsnode6
->type
->type_table
[cltype19
] == idtype20
;
570 if (unlikely(!var18
)) {
571 PRINT_ERROR("Runtime error: %s", "Assert failed");
572 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5276);
575 var21
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
577 parser_prod__AType__init_atype(var21
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var21:AType>*/
579 var_ptypenode1
= var21
;
580 var_node_list
= var_ptypenode1
;
581 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction152> */
583 var23
= parser_work__Parser__go_to(var_p
, var22
);
586 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
590 /* method parser#ReduceAction152#action for (self: Object, Parser) */
591 void VIRTUAL_parser__ReduceAction152__action(val
* self
, val
* p0
) {
592 parser__ReduceAction152__action(self
, p0
); /* Direct call parser#ReduceAction152#action on <self:Object(ReduceAction152)>*/
595 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
596 void parser__ReduceAction153__action(val
* self
, val
* p0
) {
597 val
* var_p
/* var p: Parser */;
598 val
* var
/* : null */;
599 val
* var_node_list
/* var node_list: nullable Object */;
600 val
* var1
/* : nullable Object */;
601 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
602 val
* var2
/* : Array[Object] */;
603 val
* var_listnode2
/* var listnode2: Array[Object] */;
604 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
605 val
* var3
/* : null */;
606 short int var4
/* : Bool */;
607 short int var5
/* : Bool */;
608 long var6
/* : Int */;
609 long var7
/* : Int */;
614 var1
= parser_work__Parser__pop(var_p
);
616 var_nodearraylist1
= var1
;
617 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
619 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
621 var_listnode2
= var2
;
622 var_ptypenode1
= var_nodearraylist1
;
624 if (var_ptypenode1
== NULL
) {
625 var4
= 0; /* is null */
627 var4
= 1; /* arg is null and recv is not */
630 var5
= ((short int (*)(val
*, val
*))(var_ptypenode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ptypenode1
, var3
) /* != on <var_ptypenode1:nullable Object>*/;
635 array__Array__add(var_listnode2
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
639 var_node_list
= var_listnode2
;
640 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction153> */
642 var7
= parser_work__Parser__go_to(var_p
, var6
);
645 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
649 /* method parser#ReduceAction153#action for (self: Object, Parser) */
650 void VIRTUAL_parser__ReduceAction153__action(val
* self
, val
* p0
) {
651 parser__ReduceAction153__action(self
, p0
); /* Direct call parser#ReduceAction153#action on <self:Object(ReduceAction153)>*/
654 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
655 void parser__ReduceAction154__action(val
* self
, val
* p0
) {
656 val
* var_p
/* var p: Parser */;
657 val
* var
/* : null */;
658 val
* var_node_list
/* var node_list: nullable Object */;
659 val
* var1
/* : nullable Object */;
660 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
661 val
* var2
/* : nullable Object */;
662 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
663 val
* var3
/* : Array[Object] */;
664 val
* var_listnode3
/* var listnode3: Array[Object] */;
665 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
666 val
* var_listnode2
/* var listnode2: nullable Object */;
667 short int var4
/* : Bool */;
670 val
* var5
/* : null */;
671 short int var6
/* : Bool */;
672 short int var7
/* : Bool */;
673 val
* var8
/* : Array[Object] */;
674 long var9
/* : Int */;
675 long var10
/* : Int */;
680 var1
= parser_work__Parser__pop(var_p
);
682 var_nodearraylist2
= var1
;
684 var2
= parser_work__Parser__pop(var_p
);
686 var_nodearraylist1
= var2
;
687 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
689 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
691 var_listnode3
= var3
;
692 var_ptypenode1
= var_nodearraylist1
;
693 var_listnode2
= var_nodearraylist2
;
694 /* <var_listnode2:nullable Object> isa Array[Object] */
695 cltype
= type_array__Arraykernel__Object
.color
;
696 idtype
= type_array__Arraykernel__Object
.id
;
697 if(var_listnode2
== NULL
) {
700 if(cltype
>= var_listnode2
->type
->table_size
) {
703 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
706 if (unlikely(!var4
)) {
707 PRINT_ERROR("Runtime error: %s", "Assert failed");
708 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5312);
712 if (var_ptypenode1
== NULL
) {
713 var6
= 0; /* is null */
715 var6
= 1; /* arg is null and recv is not */
718 var7
= ((short int (*)(val
*, val
*))(var_ptypenode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ptypenode1
, var5
) /* != on <var_ptypenode1:nullable Object>*/;
723 array__Array__add(var_listnode3
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
728 var8
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
730 var_listnode3
= var8
;
731 var_node_list
= var_listnode3
;
732 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction154> */
734 var10
= parser_work__Parser__go_to(var_p
, var9
);
737 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
741 /* method parser#ReduceAction154#action for (self: Object, Parser) */
742 void VIRTUAL_parser__ReduceAction154__action(val
* self
, val
* p0
) {
743 parser__ReduceAction154__action(self
, p0
); /* Direct call parser#ReduceAction154#action on <self:Object(ReduceAction154)>*/
746 /* method parser#ReduceAction155#action for (self: ReduceAction155, Parser) */
747 void parser__ReduceAction155__action(val
* self
, val
* p0
) {
748 val
* var_p
/* var p: Parser */;
749 val
* var
/* : null */;
750 val
* var_node_list
/* var node_list: nullable Object */;
751 val
* var1
/* : nullable Object */;
752 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
753 val
* var2
/* : nullable Object */;
754 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
755 val
* var3
/* : nullable Object */;
756 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
757 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
758 long var4
/* : Int */;
759 long var5
/* : Int */;
764 var1
= parser_work__Parser__pop(var_p
);
766 var_nodearraylist3
= var1
;
768 var2
= parser_work__Parser__pop(var_p
);
770 var_nodearraylist2
= var2
;
772 var3
= parser_work__Parser__pop(var_p
);
774 var_nodearraylist1
= var3
;
775 var_ptypenode1
= var_nodearraylist3
;
776 var_node_list
= var_ptypenode1
;
777 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction155> */
779 var5
= parser_work__Parser__go_to(var_p
, var4
);
782 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
786 /* method parser#ReduceAction155#action for (self: Object, Parser) */
787 void VIRTUAL_parser__ReduceAction155__action(val
* self
, val
* p0
) {
788 parser__ReduceAction155__action(self
, p0
); /* Direct call parser#ReduceAction155#action on <self:Object(ReduceAction155)>*/
791 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
792 void parser__ReduceAction159__action(val
* self
, val
* p0
) {
793 val
* var_p
/* var p: Parser */;
794 val
* var
/* : null */;
795 val
* var_node_list
/* var node_list: nullable Object */;
796 val
* var1
/* : nullable Object */;
797 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
798 val
* var2
/* : nullable Object */;
799 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
800 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
801 long var3
/* : Int */;
802 long var4
/* : Int */;
807 var1
= parser_work__Parser__pop(var_p
);
809 var_nodearraylist2
= var1
;
811 var2
= parser_work__Parser__pop(var_p
);
813 var_nodearraylist1
= var2
;
814 var_pexprnode1
= var_nodearraylist2
;
815 var_node_list
= var_pexprnode1
;
816 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction159> */
818 var4
= parser_work__Parser__go_to(var_p
, var3
);
821 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
825 /* method parser#ReduceAction159#action for (self: Object, Parser) */
826 void VIRTUAL_parser__ReduceAction159__action(val
* self
, val
* p0
) {
827 parser__ReduceAction159__action(self
, p0
); /* Direct call parser#ReduceAction159#action on <self:Object(ReduceAction159)>*/
830 /* method parser#ReduceAction160#action for (self: ReduceAction160, Parser) */
831 void parser__ReduceAction160__action(val
* self
, val
* p0
) {
832 val
* var_p
/* var p: Parser */;
833 val
* var
/* : null */;
834 val
* var_node_list
/* var node_list: nullable Object */;
835 val
* var1
/* : nullable Object */;
836 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
837 val
* var2
/* : nullable Object */;
838 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
839 val
* var3
/* : Array[Object] */;
840 val
* var_listnode2
/* var listnode2: Array[Object] */;
841 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
842 short int var4
/* : Bool */;
845 val
* var5
/* : ABlockExpr */;
846 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
847 long var6
/* : Int */;
848 long var7
/* : Int */;
853 var1
= parser_work__Parser__pop(var_p
);
855 var_nodearraylist2
= var1
;
857 var2
= parser_work__Parser__pop(var_p
);
859 var_nodearraylist1
= var2
;
860 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
862 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
864 var_listnode2
= var3
;
865 var_tkwendnode3
= var_nodearraylist2
;
866 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
867 cltype
= type_nullable_parser_nodes__TKwend
.color
;
868 idtype
= type_nullable_parser_nodes__TKwend
.id
;
869 if(var_tkwendnode3
== NULL
) {
872 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
875 var4
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
878 if (unlikely(!var4
)) {
879 PRINT_ERROR("Runtime error: %s", "Assert failed");
880 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5355);
883 var5
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
885 parser_prod__ABlockExpr__init_ablockexpr(var5
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var5:ABlockExpr>*/
887 var_pexprnode1
= var5
;
888 var_node_list
= var_pexprnode1
;
889 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction160> */
891 var7
= parser_work__Parser__go_to(var_p
, var6
);
894 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
898 /* method parser#ReduceAction160#action for (self: Object, Parser) */
899 void VIRTUAL_parser__ReduceAction160__action(val
* self
, val
* p0
) {
900 parser__ReduceAction160__action(self
, p0
); /* Direct call parser#ReduceAction160#action on <self:Object(ReduceAction160)>*/
903 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
904 void parser__ReduceAction161__action(val
* self
, val
* p0
) {
905 val
* var_p
/* var p: Parser */;
906 val
* var
/* : null */;
907 val
* var_node_list
/* var node_list: nullable Object */;
908 val
* var1
/* : nullable Object */;
909 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
910 val
* var2
/* : Array[Object] */;
911 val
* var_listnode2
/* var listnode2: Array[Object] */;
912 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
913 short int var3
/* : Bool */;
916 val
* var4
/* : ABlockExpr */;
917 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
918 long var5
/* : Int */;
919 long var6
/* : Int */;
924 var1
= parser_work__Parser__pop(var_p
);
926 var_nodearraylist1
= var1
;
927 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
929 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
931 var_listnode2
= var2
;
932 var_tkwendnode3
= var_nodearraylist1
;
933 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
934 cltype
= type_nullable_parser_nodes__TKwend
.color
;
935 idtype
= type_nullable_parser_nodes__TKwend
.id
;
936 if(var_tkwendnode3
== NULL
) {
939 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
942 var3
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
945 if (unlikely(!var3
)) {
946 PRINT_ERROR("Runtime error: %s", "Assert failed");
947 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5372);
950 var4
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
952 parser_prod__ABlockExpr__init_ablockexpr(var4
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var4:ABlockExpr>*/
954 var_pexprnode1
= var4
;
955 var_node_list
= var_pexprnode1
;
956 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction161> */
958 var6
= parser_work__Parser__go_to(var_p
, var5
);
961 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
965 /* method parser#ReduceAction161#action for (self: Object, Parser) */
966 void VIRTUAL_parser__ReduceAction161__action(val
* self
, val
* p0
) {
967 parser__ReduceAction161__action(self
, p0
); /* Direct call parser#ReduceAction161#action on <self:Object(ReduceAction161)>*/
970 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
971 void parser__ReduceAction162__action(val
* self
, val
* p0
) {
972 val
* var_p
/* var p: Parser */;
973 val
* var
/* : null */;
974 val
* var_node_list
/* var node_list: nullable Object */;
975 val
* var1
/* : nullable Object */;
976 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
977 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
978 long var2
/* : Int */;
979 long var3
/* : Int */;
984 var1
= parser_work__Parser__pop(var_p
);
986 var_nodearraylist1
= var1
;
987 var_pexprnode1
= var_nodearraylist1
;
988 var_node_list
= var_pexprnode1
;
989 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction162> */
991 var3
= parser_work__Parser__go_to(var_p
, var2
);
994 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
998 /* method parser#ReduceAction162#action for (self: Object, Parser) */
999 void VIRTUAL_parser__ReduceAction162__action(val
* self
, val
* p0
) {
1000 parser__ReduceAction162__action(self
, p0
); /* Direct call parser#ReduceAction162#action on <self:Object(ReduceAction162)>*/
1003 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
1004 void parser__ReduceAction163__action(val
* self
, val
* p0
) {
1005 val
* var_p
/* var p: Parser */;
1006 val
* var
/* : null */;
1007 val
* var_node_list
/* var node_list: nullable Object */;
1008 val
* var1
/* : nullable Object */;
1009 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1010 val
* var2
/* : Array[Object] */;
1011 val
* var_listnode3
/* var listnode3: Array[Object] */;
1012 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1013 short int var3
/* : Bool */;
1016 val
* var4
/* : null */;
1017 short int var5
/* : Bool */;
1018 short int var6
/* : Bool */;
1019 val
* var_other
/* var other: nullable Object */;
1020 short int var8
/* : Bool */;
1021 short int var9
/* : Bool */;
1022 short int var10
/* : Bool */;
1023 val
* var11
/* : ABlockExpr */;
1024 val
* var12
/* : null */;
1025 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1026 long var13
/* : Int */;
1027 long var14
/* : Int */;
1030 var_node_list
= var
;
1032 var1
= parser_work__Parser__pop(var_p
);
1034 var_nodearraylist1
= var1
;
1035 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1037 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1039 var_listnode3
= var2
;
1040 var_pexprnode2
= var_nodearraylist1
;
1041 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1042 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1043 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1044 if(var_pexprnode2
== NULL
) {
1047 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1050 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1053 if (unlikely(!var3
)) {
1054 PRINT_ERROR("Runtime error: %s", "Assert failed");
1055 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5400);
1059 if (var_pexprnode2
== NULL
) {
1060 var5
= 0; /* is null */
1062 var5
= 1; /* arg is null and recv is not */
1065 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1068 var9
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1080 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1084 var11
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1087 parser_prod__ABlockExpr__init_ablockexpr(var11
, var_listnode3
, var12
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var11:ABlockExpr>*/
1089 var_pexprnode1
= var11
;
1090 var_node_list
= var_pexprnode1
;
1091 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction163> */
1093 var14
= parser_work__Parser__go_to(var_p
, var13
);
1096 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1100 /* method parser#ReduceAction163#action for (self: Object, Parser) */
1101 void VIRTUAL_parser__ReduceAction163__action(val
* self
, val
* p0
) {
1102 parser__ReduceAction163__action(self
, p0
); /* Direct call parser#ReduceAction163#action on <self:Object(ReduceAction163)>*/
1105 /* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */
1106 void parser__ReduceAction164__action(val
* self
, val
* p0
) {
1107 val
* var_p
/* var p: Parser */;
1108 val
* var
/* : null */;
1109 val
* var_node_list
/* var node_list: nullable Object */;
1110 val
* var1
/* : nullable Object */;
1111 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1112 val
* var2
/* : nullable Object */;
1113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1114 val
* var3
/* : Array[Object] */;
1115 val
* var_listnode4
/* var listnode4: Array[Object] */;
1116 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1117 short int var4
/* : Bool */;
1120 val
* var_listnode3
/* var listnode3: nullable Object */;
1121 short int var5
/* : Bool */;
1124 val
* var8
/* : null */;
1125 short int var9
/* : Bool */;
1126 short int var10
/* : Bool */;
1127 val
* var_other
/* var other: nullable Object */;
1128 short int var12
/* : Bool */;
1129 short int var13
/* : Bool */;
1130 short int var14
/* : Bool */;
1131 val
* var15
/* : Array[Object] */;
1132 val
* var16
/* : ABlockExpr */;
1133 val
* var17
/* : null */;
1134 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1135 long var18
/* : Int */;
1136 long var19
/* : Int */;
1139 var_node_list
= var
;
1141 var1
= parser_work__Parser__pop(var_p
);
1143 var_nodearraylist2
= var1
;
1145 var2
= parser_work__Parser__pop(var_p
);
1147 var_nodearraylist1
= var2
;
1148 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1150 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1152 var_listnode4
= var3
;
1153 var_pexprnode2
= var_nodearraylist1
;
1154 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1155 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1156 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1157 if(var_pexprnode2
== NULL
) {
1160 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1163 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1166 if (unlikely(!var4
)) {
1167 PRINT_ERROR("Runtime error: %s", "Assert failed");
1168 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5421);
1171 var_listnode3
= var_nodearraylist2
;
1172 /* <var_listnode3:nullable Object> isa Array[Object] */
1173 cltype6
= type_array__Arraykernel__Object
.color
;
1174 idtype7
= type_array__Arraykernel__Object
.id
;
1175 if(var_listnode3
== NULL
) {
1178 if(cltype6
>= var_listnode3
->type
->table_size
) {
1181 var5
= var_listnode3
->type
->type_table
[cltype6
] == idtype7
;
1184 if (unlikely(!var5
)) {
1185 PRINT_ERROR("Runtime error: %s", "Assert failed");
1186 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5423);
1190 if (var_pexprnode2
== NULL
) {
1191 var9
= 0; /* is null */
1193 var9
= 1; /* arg is null and recv is not */
1196 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1199 var13
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1205 RET_LABEL11
:(void)0;
1211 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
1216 var15
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1218 var_listnode4
= var15
;
1219 var16
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1222 parser_prod__ABlockExpr__init_ablockexpr(var16
, var_listnode4
, var17
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
1224 var_pexprnode1
= var16
;
1225 var_node_list
= var_pexprnode1
;
1226 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction164> */
1228 var19
= parser_work__Parser__go_to(var_p
, var18
);
1231 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1235 /* method parser#ReduceAction164#action for (self: Object, Parser) */
1236 void VIRTUAL_parser__ReduceAction164__action(val
* self
, val
* p0
) {
1237 parser__ReduceAction164__action(self
, p0
); /* Direct call parser#ReduceAction164#action on <self:Object(ReduceAction164)>*/
1240 /* method parser#ReduceAction165#action for (self: ReduceAction165, Parser) */
1241 void parser__ReduceAction165__action(val
* self
, val
* p0
) {
1242 val
* var_p
/* var p: Parser */;
1243 val
* var
/* : null */;
1244 val
* var_node_list
/* var node_list: nullable Object */;
1245 val
* var1
/* : nullable Object */;
1246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1247 val
* var2
/* : nullable Object */;
1248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1249 val
* var3
/* : Array[Object] */;
1250 val
* var_listnode3
/* var listnode3: Array[Object] */;
1251 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1252 short int var4
/* : Bool */;
1255 val
* var5
/* : null */;
1256 short int var6
/* : Bool */;
1257 short int var7
/* : Bool */;
1258 val
* var_other
/* var other: nullable Object */;
1259 short int var9
/* : Bool */;
1260 short int var10
/* : Bool */;
1261 short int var11
/* : Bool */;
1262 val
* var12
/* : ABlockExpr */;
1263 val
* var13
/* : null */;
1264 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1265 long var14
/* : Int */;
1266 long var15
/* : Int */;
1269 var_node_list
= var
;
1271 var1
= parser_work__Parser__pop(var_p
);
1273 var_nodearraylist2
= var1
;
1275 var2
= parser_work__Parser__pop(var_p
);
1277 var_nodearraylist1
= var2
;
1278 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1280 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1282 var_listnode3
= var3
;
1283 var_pexprnode2
= var_nodearraylist1
;
1284 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1285 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1286 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1287 if(var_pexprnode2
== NULL
) {
1290 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1293 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1296 if (unlikely(!var4
)) {
1297 PRINT_ERROR("Runtime error: %s", "Assert failed");
1298 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5445);
1302 if (var_pexprnode2
== NULL
) {
1303 var6
= 0; /* is null */
1305 var6
= 1; /* arg is null and recv is not */
1308 { /* Inline kernel#Object#!= (var_pexprnode2,var5) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1311 var10
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1323 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1327 var12
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1330 parser_prod__ABlockExpr__init_ablockexpr(var12
, var_listnode3
, var13
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var12:ABlockExpr>*/
1332 var_pexprnode1
= var12
;
1333 var_node_list
= var_pexprnode1
;
1334 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction165> */
1336 var15
= parser_work__Parser__go_to(var_p
, var14
);
1339 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1343 /* method parser#ReduceAction165#action for (self: Object, Parser) */
1344 void VIRTUAL_parser__ReduceAction165__action(val
* self
, val
* p0
) {
1345 parser__ReduceAction165__action(self
, p0
); /* Direct call parser#ReduceAction165#action on <self:Object(ReduceAction165)>*/
1348 /* method parser#ReduceAction166#action for (self: ReduceAction166, Parser) */
1349 void parser__ReduceAction166__action(val
* self
, val
* p0
) {
1350 val
* var_p
/* var p: Parser */;
1351 val
* var
/* : null */;
1352 val
* var_node_list
/* var node_list: nullable Object */;
1353 val
* var1
/* : nullable Object */;
1354 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1355 val
* var2
/* : nullable Object */;
1356 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1357 val
* var3
/* : nullable Object */;
1358 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1359 val
* var4
/* : Array[Object] */;
1360 val
* var_listnode4
/* var listnode4: Array[Object] */;
1361 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1362 short int var5
/* : Bool */;
1365 val
* var_listnode3
/* var listnode3: nullable Object */;
1366 short int var6
/* : Bool */;
1369 val
* var9
/* : null */;
1370 short int var10
/* : Bool */;
1371 short int var11
/* : Bool */;
1372 val
* var_other
/* var other: nullable Object */;
1373 short int var13
/* : Bool */;
1374 short int var14
/* : Bool */;
1375 short int var15
/* : Bool */;
1376 val
* var16
/* : Array[Object] */;
1377 val
* var17
/* : ABlockExpr */;
1378 val
* var18
/* : null */;
1379 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1380 long var19
/* : Int */;
1381 long var20
/* : Int */;
1384 var_node_list
= var
;
1386 var1
= parser_work__Parser__pop(var_p
);
1388 var_nodearraylist3
= var1
;
1390 var2
= parser_work__Parser__pop(var_p
);
1392 var_nodearraylist2
= var2
;
1394 var3
= parser_work__Parser__pop(var_p
);
1396 var_nodearraylist1
= var3
;
1397 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1399 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1401 var_listnode4
= var4
;
1402 var_pexprnode2
= var_nodearraylist1
;
1403 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1404 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1405 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1406 if(var_pexprnode2
== NULL
) {
1409 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1412 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1415 if (unlikely(!var5
)) {
1416 PRINT_ERROR("Runtime error: %s", "Assert failed");
1417 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5467);
1420 var_listnode3
= var_nodearraylist2
;
1421 /* <var_listnode3:nullable Object> isa Array[Object] */
1422 cltype7
= type_array__Arraykernel__Object
.color
;
1423 idtype8
= type_array__Arraykernel__Object
.id
;
1424 if(var_listnode3
== NULL
) {
1427 if(cltype7
>= var_listnode3
->type
->table_size
) {
1430 var6
= var_listnode3
->type
->type_table
[cltype7
] == idtype8
;
1433 if (unlikely(!var6
)) {
1434 PRINT_ERROR("Runtime error: %s", "Assert failed");
1435 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5469);
1439 if (var_pexprnode2
== NULL
) {
1440 var10
= 0; /* is null */
1442 var10
= 1; /* arg is null and recv is not */
1445 { /* Inline kernel#Object#!= (var_pexprnode2,var9) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1448 var14
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1454 RET_LABEL12
:(void)0;
1460 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
1465 var16
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1467 var_listnode4
= var16
;
1468 var17
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1471 parser_prod__ABlockExpr__init_ablockexpr(var17
, var_listnode4
, var18
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var17:ABlockExpr>*/
1473 var_pexprnode1
= var17
;
1474 var_node_list
= var_pexprnode1
;
1475 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction166> */
1477 var20
= parser_work__Parser__go_to(var_p
, var19
);
1480 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1484 /* method parser#ReduceAction166#action for (self: Object, Parser) */
1485 void VIRTUAL_parser__ReduceAction166__action(val
* self
, val
* p0
) {
1486 parser__ReduceAction166__action(self
, p0
); /* Direct call parser#ReduceAction166#action on <self:Object(ReduceAction166)>*/
1489 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
1490 void parser__ReduceAction167__action(val
* self
, val
* p0
) {
1491 val
* var_p
/* var p: Parser */;
1492 val
* var
/* : null */;
1493 val
* var_node_list
/* var node_list: nullable Object */;
1494 val
* var1
/* : nullable Object */;
1495 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1496 val
* var2
/* : nullable Object */;
1497 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1498 val
* var3
/* : nullable Object */;
1499 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1500 val
* var4
/* : Array[Object] */;
1501 val
* var_listnode3
/* var listnode3: Array[Object] */;
1502 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1503 short int var5
/* : Bool */;
1506 val
* var6
/* : null */;
1507 short int var7
/* : Bool */;
1508 short int var8
/* : Bool */;
1509 val
* var_other
/* var other: nullable Object */;
1510 short int var10
/* : Bool */;
1511 short int var11
/* : Bool */;
1512 short int var12
/* : Bool */;
1513 val
* var_tkwendnode4
/* var tkwendnode4: nullable Object */;
1514 short int var13
/* : Bool */;
1517 val
* var16
/* : ABlockExpr */;
1518 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1519 long var17
/* : Int */;
1520 long var18
/* : Int */;
1523 var_node_list
= var
;
1525 var1
= parser_work__Parser__pop(var_p
);
1527 var_nodearraylist3
= var1
;
1529 var2
= parser_work__Parser__pop(var_p
);
1531 var_nodearraylist2
= var2
;
1533 var3
= parser_work__Parser__pop(var_p
);
1535 var_nodearraylist1
= var3
;
1536 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1538 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1540 var_listnode3
= var4
;
1541 var_pexprnode2
= var_nodearraylist1
;
1542 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1543 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1544 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1545 if(var_pexprnode2
== NULL
) {
1548 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1551 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1554 if (unlikely(!var5
)) {
1555 PRINT_ERROR("Runtime error: %s", "Assert failed");
1556 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5492);
1560 if (var_pexprnode2
== NULL
) {
1561 var7
= 0; /* is null */
1563 var7
= 1; /* arg is null and recv is not */
1566 { /* Inline kernel#Object#!= (var_pexprnode2,var6) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1569 var11
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1581 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1585 var_tkwendnode4
= var_nodearraylist3
;
1586 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
1587 cltype14
= type_nullable_parser_nodes__TKwend
.color
;
1588 idtype15
= type_nullable_parser_nodes__TKwend
.id
;
1589 if(var_tkwendnode4
== NULL
) {
1592 if(cltype14
>= var_tkwendnode4
->type
->table_size
) {
1595 var13
= var_tkwendnode4
->type
->type_table
[cltype14
] == idtype15
;
1598 if (unlikely(!var13
)) {
1599 PRINT_ERROR("Runtime error: %s", "Assert failed");
1600 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5497);
1603 var16
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1605 parser_prod__ABlockExpr__init_ablockexpr(var16
, var_listnode3
, var_tkwendnode4
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
1607 var_pexprnode1
= var16
;
1608 var_node_list
= var_pexprnode1
;
1609 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction167> */
1611 var18
= parser_work__Parser__go_to(var_p
, var17
);
1614 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1618 /* method parser#ReduceAction167#action for (self: Object, Parser) */
1619 void VIRTUAL_parser__ReduceAction167__action(val
* self
, val
* p0
) {
1620 parser__ReduceAction167__action(self
, p0
); /* Direct call parser#ReduceAction167#action on <self:Object(ReduceAction167)>*/
1623 /* method parser#ReduceAction168#action for (self: ReduceAction168, Parser) */
1624 void parser__ReduceAction168__action(val
* self
, val
* p0
) {
1625 val
* var_p
/* var p: Parser */;
1626 val
* var
/* : null */;
1627 val
* var_node_list
/* var node_list: nullable Object */;
1628 val
* var1
/* : nullable Object */;
1629 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1630 val
* var2
/* : nullable Object */;
1631 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1632 val
* var3
/* : nullable Object */;
1633 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1634 val
* var4
/* : nullable Object */;
1635 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1636 val
* var5
/* : Array[Object] */;
1637 val
* var_listnode4
/* var listnode4: Array[Object] */;
1638 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1639 short int var6
/* : Bool */;
1642 val
* var_listnode3
/* var listnode3: nullable Object */;
1643 short int var7
/* : Bool */;
1646 val
* var10
/* : null */;
1647 short int var11
/* : Bool */;
1648 short int var12
/* : Bool */;
1649 val
* var_other
/* var other: nullable Object */;
1650 short int var14
/* : Bool */;
1651 short int var15
/* : Bool */;
1652 short int var16
/* : Bool */;
1653 val
* var17
/* : Array[Object] */;
1654 val
* var_tkwendnode5
/* var tkwendnode5: nullable Object */;
1655 short int var18
/* : Bool */;
1658 val
* var21
/* : ABlockExpr */;
1659 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1660 long var22
/* : Int */;
1661 long var23
/* : Int */;
1664 var_node_list
= var
;
1666 var1
= parser_work__Parser__pop(var_p
);
1668 var_nodearraylist4
= var1
;
1670 var2
= parser_work__Parser__pop(var_p
);
1672 var_nodearraylist3
= var2
;
1674 var3
= parser_work__Parser__pop(var_p
);
1676 var_nodearraylist2
= var3
;
1678 var4
= parser_work__Parser__pop(var_p
);
1680 var_nodearraylist1
= var4
;
1681 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1683 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1685 var_listnode4
= var5
;
1686 var_pexprnode2
= var_nodearraylist1
;
1687 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1688 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1689 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1690 if(var_pexprnode2
== NULL
) {
1693 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1696 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1699 if (unlikely(!var6
)) {
1700 PRINT_ERROR("Runtime error: %s", "Assert failed");
1701 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5517);
1704 var_listnode3
= var_nodearraylist2
;
1705 /* <var_listnode3:nullable Object> isa Array[Object] */
1706 cltype8
= type_array__Arraykernel__Object
.color
;
1707 idtype9
= type_array__Arraykernel__Object
.id
;
1708 if(var_listnode3
== NULL
) {
1711 if(cltype8
>= var_listnode3
->type
->table_size
) {
1714 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
1717 if (unlikely(!var7
)) {
1718 PRINT_ERROR("Runtime error: %s", "Assert failed");
1719 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5519);
1723 if (var_pexprnode2
== NULL
) {
1724 var11
= 0; /* is null */
1726 var11
= 1; /* arg is null and recv is not */
1729 { /* Inline kernel#Object#!= (var_pexprnode2,var10) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1732 var15
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1738 RET_LABEL13
:(void)0;
1744 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
1749 var17
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1751 var_listnode4
= var17
;
1752 var_tkwendnode5
= var_nodearraylist4
;
1753 /* <var_tkwendnode5:nullable Object> isa nullable TKwend */
1754 cltype19
= type_nullable_parser_nodes__TKwend
.color
;
1755 idtype20
= type_nullable_parser_nodes__TKwend
.id
;
1756 if(var_tkwendnode5
== NULL
) {
1759 if(cltype19
>= var_tkwendnode5
->type
->table_size
) {
1762 var18
= var_tkwendnode5
->type
->type_table
[cltype19
] == idtype20
;
1765 if (unlikely(!var18
)) {
1766 PRINT_ERROR("Runtime error: %s", "Assert failed");
1767 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5525);
1770 var21
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1772 parser_prod__ABlockExpr__init_ablockexpr(var21
, var_listnode4
, var_tkwendnode5
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var21:ABlockExpr>*/
1774 var_pexprnode1
= var21
;
1775 var_node_list
= var_pexprnode1
;
1776 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction168> */
1778 var23
= parser_work__Parser__go_to(var_p
, var22
);
1781 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1785 /* method parser#ReduceAction168#action for (self: Object, Parser) */
1786 void VIRTUAL_parser__ReduceAction168__action(val
* self
, val
* p0
) {
1787 parser__ReduceAction168__action(self
, p0
); /* Direct call parser#ReduceAction168#action on <self:Object(ReduceAction168)>*/
1790 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
1791 void parser__ReduceAction172__action(val
* self
, val
* p0
) {
1792 val
* var_p
/* var p: Parser */;
1793 val
* var
/* : null */;
1794 val
* var_node_list
/* var node_list: nullable Object */;
1795 val
* var1
/* : nullable Object */;
1796 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1797 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
1798 short int var2
/* : Bool */;
1801 val
* var3
/* : AReturnExpr */;
1802 val
* var4
/* : null */;
1803 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
1804 long var5
/* : Int */;
1805 long var6
/* : Int */;
1808 var_node_list
= var
;
1810 var1
= parser_work__Parser__pop(var_p
);
1812 var_nodearraylist1
= var1
;
1813 var_tkwreturnnode2
= var_nodearraylist1
;
1814 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
1815 cltype
= type_nullable_parser_nodes__TKwreturn
.color
;
1816 idtype
= type_nullable_parser_nodes__TKwreturn
.id
;
1817 if(var_tkwreturnnode2
== NULL
) {
1820 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
1823 var2
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
1826 if (unlikely(!var2
)) {
1827 PRINT_ERROR("Runtime error: %s", "Assert failed");
1828 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5541);
1831 var3
= NEW_parser_nodes__AReturnExpr(&type_parser_nodes__AReturnExpr
);
1834 parser_prod__AReturnExpr__init_areturnexpr(var3
, var_tkwreturnnode2
, var4
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var3:AReturnExpr>*/
1836 var_pexprnode1
= var3
;
1837 var_node_list
= var_pexprnode1
;
1838 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction172> */
1840 var6
= parser_work__Parser__go_to(var_p
, var5
);
1843 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1847 /* method parser#ReduceAction172#action for (self: Object, Parser) */
1848 void VIRTUAL_parser__ReduceAction172__action(val
* self
, val
* p0
) {
1849 parser__ReduceAction172__action(self
, p0
); /* Direct call parser#ReduceAction172#action on <self:Object(ReduceAction172)>*/
1852 /* method parser#ReduceAction173#action for (self: ReduceAction173, Parser) */
1853 void parser__ReduceAction173__action(val
* self
, val
* p0
) {
1854 val
* var_p
/* var p: Parser */;
1855 val
* var
/* : null */;
1856 val
* var_node_list
/* var node_list: nullable Object */;
1857 val
* var1
/* : nullable Object */;
1858 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1859 val
* var2
/* : nullable Object */;
1860 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1861 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
1862 short int var3
/* : Bool */;
1865 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1866 short int var4
/* : Bool */;
1869 val
* var7
/* : AReturnExpr */;
1870 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
1871 long var8
/* : Int */;
1872 long var9
/* : Int */;
1875 var_node_list
= var
;
1877 var1
= parser_work__Parser__pop(var_p
);
1879 var_nodearraylist2
= var1
;
1881 var2
= parser_work__Parser__pop(var_p
);
1883 var_nodearraylist1
= var2
;
1884 var_tkwreturnnode2
= var_nodearraylist1
;
1885 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
1886 cltype
= type_nullable_parser_nodes__TKwreturn
.color
;
1887 idtype
= type_nullable_parser_nodes__TKwreturn
.id
;
1888 if(var_tkwreturnnode2
== NULL
) {
1891 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
1894 var3
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
1897 if (unlikely(!var3
)) {
1898 PRINT_ERROR("Runtime error: %s", "Assert failed");
1899 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5558);
1902 var_pexprnode3
= var_nodearraylist2
;
1903 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1904 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
1905 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
1906 if(var_pexprnode3
== NULL
) {
1909 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
1912 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
1915 if (unlikely(!var4
)) {
1916 PRINT_ERROR("Runtime error: %s", "Assert failed");
1917 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5560);
1920 var7
= NEW_parser_nodes__AReturnExpr(&type_parser_nodes__AReturnExpr
);
1922 parser_prod__AReturnExpr__init_areturnexpr(var7
, var_tkwreturnnode2
, var_pexprnode3
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var7:AReturnExpr>*/
1924 var_pexprnode1
= var7
;
1925 var_node_list
= var_pexprnode1
;
1926 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction173> */
1928 var9
= parser_work__Parser__go_to(var_p
, var8
);
1931 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1935 /* method parser#ReduceAction173#action for (self: Object, Parser) */
1936 void VIRTUAL_parser__ReduceAction173__action(val
* self
, val
* p0
) {
1937 parser__ReduceAction173__action(self
, p0
); /* Direct call parser#ReduceAction173#action on <self:Object(ReduceAction173)>*/
1940 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
1941 void parser__ReduceAction174__action(val
* self
, val
* p0
) {
1942 val
* var_p
/* var p: Parser */;
1943 val
* var
/* : null */;
1944 val
* var_node_list
/* var node_list: nullable Object */;
1945 val
* var1
/* : nullable Object */;
1946 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1947 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
1948 short int var2
/* : Bool */;
1951 val
* var3
/* : ABreakExpr */;
1952 val
* var4
/* : null */;
1953 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
1954 long var5
/* : Int */;
1955 long var6
/* : Int */;
1958 var_node_list
= var
;
1960 var1
= parser_work__Parser__pop(var_p
);
1962 var_nodearraylist1
= var1
;
1963 var_tkwbreaknode2
= var_nodearraylist1
;
1964 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
1965 cltype
= type_nullable_parser_nodes__TKwbreak
.color
;
1966 idtype
= type_nullable_parser_nodes__TKwbreak
.id
;
1967 if(var_tkwbreaknode2
== NULL
) {
1970 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
1973 var2
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
1976 if (unlikely(!var2
)) {
1977 PRINT_ERROR("Runtime error: %s", "Assert failed");
1978 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5576);
1981 var3
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
1984 parser_prod__ABreakExpr__init_abreakexpr(var3
, var_tkwbreaknode2
, var4
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var3:ABreakExpr>*/
1986 var_pexprnode1
= var3
;
1987 var_node_list
= var_pexprnode1
;
1988 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction174> */
1990 var6
= parser_work__Parser__go_to(var_p
, var5
);
1993 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1997 /* method parser#ReduceAction174#action for (self: Object, Parser) */
1998 void VIRTUAL_parser__ReduceAction174__action(val
* self
, val
* p0
) {
1999 parser__ReduceAction174__action(self
, p0
); /* Direct call parser#ReduceAction174#action on <self:Object(ReduceAction174)>*/
2002 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
2003 void parser__ReduceAction175__action(val
* self
, val
* p0
) {
2004 val
* var_p
/* var p: Parser */;
2005 val
* var
/* : null */;
2006 val
* var_node_list
/* var node_list: nullable Object */;
2007 val
* var1
/* : nullable Object */;
2008 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2009 val
* var2
/* : nullable Object */;
2010 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2011 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
2012 short int var3
/* : Bool */;
2015 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
2016 short int var4
/* : Bool */;
2019 val
* var7
/* : ABreakExpr */;
2020 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
2021 long var8
/* : Int */;
2022 long var9
/* : Int */;
2025 var_node_list
= var
;
2027 var1
= parser_work__Parser__pop(var_p
);
2029 var_nodearraylist2
= var1
;
2031 var2
= parser_work__Parser__pop(var_p
);
2033 var_nodearraylist1
= var2
;
2034 var_tkwbreaknode2
= var_nodearraylist1
;
2035 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
2036 cltype
= type_nullable_parser_nodes__TKwbreak
.color
;
2037 idtype
= type_nullable_parser_nodes__TKwbreak
.id
;
2038 if(var_tkwbreaknode2
== NULL
) {
2041 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
2044 var3
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
2047 if (unlikely(!var3
)) {
2048 PRINT_ERROR("Runtime error: %s", "Assert failed");
2049 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5593);
2052 var_plabelnode3
= var_nodearraylist2
;
2053 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
2054 cltype5
= type_nullable_parser_nodes__ALabel
.color
;
2055 idtype6
= type_nullable_parser_nodes__ALabel
.id
;
2056 if(var_plabelnode3
== NULL
) {
2059 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
2062 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
2065 if (unlikely(!var4
)) {
2066 PRINT_ERROR("Runtime error: %s", "Assert failed");
2067 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5595);
2070 var7
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
2072 parser_prod__ABreakExpr__init_abreakexpr(var7
, var_tkwbreaknode2
, var_plabelnode3
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var7:ABreakExpr>*/
2074 var_pexprnode1
= var7
;
2075 var_node_list
= var_pexprnode1
;
2076 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction175> */
2078 var9
= parser_work__Parser__go_to(var_p
, var8
);
2081 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2085 /* method parser#ReduceAction175#action for (self: Object, Parser) */
2086 void VIRTUAL_parser__ReduceAction175__action(val
* self
, val
* p0
) {
2087 parser__ReduceAction175__action(self
, p0
); /* Direct call parser#ReduceAction175#action on <self:Object(ReduceAction175)>*/
2090 /* method parser#ReduceAction176#action for (self: ReduceAction176, Parser) */
2091 void parser__ReduceAction176__action(val
* self
, val
* p0
) {
2092 val
* var_p
/* var p: Parser */;
2093 val
* var
/* : null */;
2094 val
* var_node_list
/* var node_list: nullable Object */;
2095 val
* var1
/* : nullable Object */;
2096 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2097 val
* var_tkwabortnode2
/* var tkwabortnode2: nullable Object */;
2098 short int var2
/* : Bool */;
2101 val
* var3
/* : AAbortExpr */;
2102 val
* var_pexprnode1
/* var pexprnode1: nullable AAbortExpr */;
2103 long var4
/* : Int */;
2104 long var5
/* : Int */;
2107 var_node_list
= var
;
2109 var1
= parser_work__Parser__pop(var_p
);
2111 var_nodearraylist1
= var1
;
2112 var_tkwabortnode2
= var_nodearraylist1
;
2113 /* <var_tkwabortnode2:nullable Object> isa nullable TKwabort */
2114 cltype
= type_nullable_parser_nodes__TKwabort
.color
;
2115 idtype
= type_nullable_parser_nodes__TKwabort
.id
;
2116 if(var_tkwabortnode2
== NULL
) {
2119 if(cltype
>= var_tkwabortnode2
->type
->table_size
) {
2122 var2
= var_tkwabortnode2
->type
->type_table
[cltype
] == idtype
;
2125 if (unlikely(!var2
)) {
2126 PRINT_ERROR("Runtime error: %s", "Assert failed");
2127 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5611);
2130 var3
= NEW_parser_nodes__AAbortExpr(&type_parser_nodes__AAbortExpr
);
2132 parser_prod__AAbortExpr__init_aabortexpr(var3
, var_tkwabortnode2
); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on <var3:AAbortExpr>*/
2134 var_pexprnode1
= var3
;
2135 var_node_list
= var_pexprnode1
;
2136 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction176> */
2138 var5
= parser_work__Parser__go_to(var_p
, var4
);
2141 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2145 /* method parser#ReduceAction176#action for (self: Object, Parser) */
2146 void VIRTUAL_parser__ReduceAction176__action(val
* self
, val
* p0
) {
2147 parser__ReduceAction176__action(self
, p0
); /* Direct call parser#ReduceAction176#action on <self:Object(ReduceAction176)>*/
2150 /* method parser#ReduceAction177#action for (self: ReduceAction177, Parser) */
2151 void parser__ReduceAction177__action(val
* self
, val
* p0
) {
2152 val
* var_p
/* var p: Parser */;
2153 val
* var
/* : null */;
2154 val
* var_node_list
/* var node_list: nullable Object */;
2155 val
* var1
/* : nullable Object */;
2156 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2157 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
2158 short int var2
/* : Bool */;
2161 val
* var3
/* : AContinueExpr */;
2162 val
* var4
/* : null */;
2163 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
2164 long var5
/* : Int */;
2165 long var6
/* : Int */;
2168 var_node_list
= var
;
2170 var1
= parser_work__Parser__pop(var_p
);
2172 var_nodearraylist1
= var1
;
2173 var_tkwcontinuenode2
= var_nodearraylist1
;
2174 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
2175 cltype
= type_nullable_parser_nodes__TKwcontinue
.color
;
2176 idtype
= type_nullable_parser_nodes__TKwcontinue
.id
;
2177 if(var_tkwcontinuenode2
== NULL
) {
2180 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
2183 var2
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
2186 if (unlikely(!var2
)) {
2187 PRINT_ERROR("Runtime error: %s", "Assert failed");
2188 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5626);
2191 var3
= NEW_parser_nodes__AContinueExpr(&type_parser_nodes__AContinueExpr
);
2194 parser_prod__AContinueExpr__init_acontinueexpr(var3
, var_tkwcontinuenode2
, var4
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var3:AContinueExpr>*/
2196 var_pexprnode1
= var3
;
2197 var_node_list
= var_pexprnode1
;
2198 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction177> */
2200 var6
= parser_work__Parser__go_to(var_p
, var5
);
2203 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2207 /* method parser#ReduceAction177#action for (self: Object, Parser) */
2208 void VIRTUAL_parser__ReduceAction177__action(val
* self
, val
* p0
) {
2209 parser__ReduceAction177__action(self
, p0
); /* Direct call parser#ReduceAction177#action on <self:Object(ReduceAction177)>*/
2212 /* method parser#ReduceAction178#action for (self: ReduceAction178, Parser) */
2213 void parser__ReduceAction178__action(val
* self
, val
* p0
) {
2214 val
* var_p
/* var p: Parser */;
2215 val
* var
/* : null */;
2216 val
* var_node_list
/* var node_list: nullable Object */;
2217 val
* var1
/* : nullable Object */;
2218 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2219 val
* var2
/* : nullable Object */;
2220 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2221 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
2222 short int var3
/* : Bool */;
2225 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
2226 short int var4
/* : Bool */;
2229 val
* var7
/* : AContinueExpr */;
2230 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
2231 long var8
/* : Int */;
2232 long var9
/* : Int */;
2235 var_node_list
= var
;
2237 var1
= parser_work__Parser__pop(var_p
);
2239 var_nodearraylist2
= var1
;
2241 var2
= parser_work__Parser__pop(var_p
);
2243 var_nodearraylist1
= var2
;
2244 var_tkwcontinuenode2
= var_nodearraylist1
;
2245 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
2246 cltype
= type_nullable_parser_nodes__TKwcontinue
.color
;
2247 idtype
= type_nullable_parser_nodes__TKwcontinue
.id
;
2248 if(var_tkwcontinuenode2
== NULL
) {
2251 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
2254 var3
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
2257 if (unlikely(!var3
)) {
2258 PRINT_ERROR("Runtime error: %s", "Assert failed");
2259 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5643);
2262 var_plabelnode3
= var_nodearraylist2
;
2263 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
2264 cltype5
= type_nullable_parser_nodes__ALabel
.color
;
2265 idtype6
= type_nullable_parser_nodes__ALabel
.id
;
2266 if(var_plabelnode3
== NULL
) {
2269 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
2272 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
2275 if (unlikely(!var4
)) {
2276 PRINT_ERROR("Runtime error: %s", "Assert failed");
2277 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5645);
2280 var7
= NEW_parser_nodes__AContinueExpr(&type_parser_nodes__AContinueExpr
);
2282 parser_prod__AContinueExpr__init_acontinueexpr(var7
, var_tkwcontinuenode2
, var_plabelnode3
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var7:AContinueExpr>*/
2284 var_pexprnode1
= var7
;
2285 var_node_list
= var_pexprnode1
;
2286 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction178> */
2288 var9
= parser_work__Parser__go_to(var_p
, var8
);
2291 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2295 /* method parser#ReduceAction178#action for (self: Object, Parser) */
2296 void VIRTUAL_parser__ReduceAction178__action(val
* self
, val
* p0
) {
2297 parser__ReduceAction178__action(self
, p0
); /* Direct call parser#ReduceAction178#action on <self:Object(ReduceAction178)>*/
2300 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
2301 void parser__ReduceAction185__action(val
* self
, val
* p0
) {
2302 val
* var_p
/* var p: Parser */;
2303 val
* var
/* : null */;
2304 val
* var_node_list
/* var node_list: nullable Object */;
2305 val
* var1
/* : nullable Object */;
2306 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2307 val
* var2
/* : nullable Object */;
2308 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2309 val
* var3
/* : nullable Object */;
2310 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2311 val
* var4
/* : nullable Object */;
2312 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2313 val
* var5
/* : nullable Object */;
2314 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2315 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2316 short int var6
/* : Bool */;
2319 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2320 short int var7
/* : Bool */;
2323 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2324 short int var10
/* : Bool */;
2327 val
* var13
/* : ACallExpr */;
2328 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2329 long var14
/* : Int */;
2330 long var15
/* : Int */;
2333 var_node_list
= var
;
2335 var1
= parser_work__Parser__pop(var_p
);
2337 var_nodearraylist5
= var1
;
2339 var2
= parser_work__Parser__pop(var_p
);
2341 var_nodearraylist4
= var2
;
2343 var3
= parser_work__Parser__pop(var_p
);
2345 var_nodearraylist3
= var3
;
2347 var4
= parser_work__Parser__pop(var_p
);
2349 var_nodearraylist2
= var4
;
2351 var5
= parser_work__Parser__pop(var_p
);
2353 var_nodearraylist1
= var5
;
2354 var_pexprnode2
= var_nodearraylist1
;
2355 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2356 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2357 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2358 if(var_pexprnode2
== NULL
) {
2361 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2364 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2367 if (unlikely(!var6
)) {
2368 PRINT_ERROR("Runtime error: %s", "Assert failed");
2369 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5665);
2372 var_tidnode3
= var_nodearraylist4
;
2373 /* <var_tidnode3:nullable Object> isa nullable TId */
2374 cltype8
= type_nullable_parser_nodes__TId
.color
;
2375 idtype9
= type_nullable_parser_nodes__TId
.id
;
2376 if(var_tidnode3
== NULL
) {
2379 if(cltype8
>= var_tidnode3
->type
->table_size
) {
2382 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
2385 if (unlikely(!var7
)) {
2386 PRINT_ERROR("Runtime error: %s", "Assert failed");
2387 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5667);
2390 var_pexprsnode4
= var_nodearraylist5
;
2391 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2392 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
2393 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
2394 if(var_pexprsnode4
== NULL
) {
2397 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
2400 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
2403 if (unlikely(!var10
)) {
2404 PRINT_ERROR("Runtime error: %s", "Assert failed");
2405 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5669);
2408 var13
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2410 parser_prod__ACallExpr__init_acallexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
2412 var_pexprnode1
= var13
;
2413 var_node_list
= var_pexprnode1
;
2414 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction185> */
2416 var15
= parser_work__Parser__go_to(var_p
, var14
);
2419 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2423 /* method parser#ReduceAction185#action for (self: Object, Parser) */
2424 void VIRTUAL_parser__ReduceAction185__action(val
* self
, val
* p0
) {
2425 parser__ReduceAction185__action(self
, p0
); /* Direct call parser#ReduceAction185#action on <self:Object(ReduceAction185)>*/
2428 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
2429 void parser__ReduceAction186__action(val
* self
, val
* p0
) {
2430 val
* var_p
/* var p: Parser */;
2431 val
* var
/* : null */;
2432 val
* var_node_list
/* var node_list: nullable Object */;
2433 val
* var1
/* : nullable Object */;
2434 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2435 val
* var2
/* : nullable Object */;
2436 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2437 val
* var3
/* : nullable Object */;
2438 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2439 val
* var4
/* : nullable Object */;
2440 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2441 val
* var5
/* : nullable Object */;
2442 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2443 val
* var6
/* : nullable Object */;
2444 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2445 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2446 short int var7
/* : Bool */;
2449 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2450 short int var8
/* : Bool */;
2453 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2454 short int var11
/* : Bool */;
2457 val
* var14
/* : ACallExpr */;
2458 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2459 long var15
/* : Int */;
2460 long var16
/* : Int */;
2463 var_node_list
= var
;
2465 var1
= parser_work__Parser__pop(var_p
);
2467 var_nodearraylist6
= var1
;
2469 var2
= parser_work__Parser__pop(var_p
);
2471 var_nodearraylist5
= var2
;
2473 var3
= parser_work__Parser__pop(var_p
);
2475 var_nodearraylist4
= var3
;
2477 var4
= parser_work__Parser__pop(var_p
);
2479 var_nodearraylist3
= var4
;
2481 var5
= parser_work__Parser__pop(var_p
);
2483 var_nodearraylist2
= var5
;
2485 var6
= parser_work__Parser__pop(var_p
);
2487 var_nodearraylist1
= var6
;
2488 var_pexprnode2
= var_nodearraylist1
;
2489 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2490 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2491 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2492 if(var_pexprnode2
== NULL
) {
2495 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2498 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2501 if (unlikely(!var7
)) {
2502 PRINT_ERROR("Runtime error: %s", "Assert failed");
2503 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5691);
2506 var_tidnode3
= var_nodearraylist5
;
2507 /* <var_tidnode3:nullable Object> isa nullable TId */
2508 cltype9
= type_nullable_parser_nodes__TId
.color
;
2509 idtype10
= type_nullable_parser_nodes__TId
.id
;
2510 if(var_tidnode3
== NULL
) {
2513 if(cltype9
>= var_tidnode3
->type
->table_size
) {
2516 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
2519 if (unlikely(!var8
)) {
2520 PRINT_ERROR("Runtime error: %s", "Assert failed");
2521 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5693);
2524 var_pexprsnode4
= var_nodearraylist6
;
2525 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2526 cltype12
= type_nullable_parser_nodes__AExprs
.color
;
2527 idtype13
= type_nullable_parser_nodes__AExprs
.id
;
2528 if(var_pexprsnode4
== NULL
) {
2531 if(cltype12
>= var_pexprsnode4
->type
->table_size
) {
2534 var11
= var_pexprsnode4
->type
->type_table
[cltype12
] == idtype13
;
2537 if (unlikely(!var11
)) {
2538 PRINT_ERROR("Runtime error: %s", "Assert failed");
2539 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5695);
2542 var14
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2544 parser_prod__ACallExpr__init_acallexpr(var14
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var14:ACallExpr>*/
2546 var_pexprnode1
= var14
;
2547 var_node_list
= var_pexprnode1
;
2548 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction186> */
2550 var16
= parser_work__Parser__go_to(var_p
, var15
);
2553 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2557 /* method parser#ReduceAction186#action for (self: Object, Parser) */
2558 void VIRTUAL_parser__ReduceAction186__action(val
* self
, val
* p0
) {
2559 parser__ReduceAction186__action(self
, p0
); /* Direct call parser#ReduceAction186#action on <self:Object(ReduceAction186)>*/
2562 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
2563 void parser__ReduceAction187__action(val
* self
, val
* p0
) {
2564 val
* var_p
/* var p: Parser */;
2565 val
* var
/* : null */;
2566 val
* var_node_list
/* var node_list: nullable Object */;
2567 val
* var1
/* : nullable Object */;
2568 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2569 val
* var2
/* : nullable Object */;
2570 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2571 val
* var3
/* : nullable Object */;
2572 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2573 val
* var4
/* : nullable Object */;
2574 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2575 val
* var5
/* : nullable Object */;
2576 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2577 val
* var6
/* : nullable Object */;
2578 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2579 val
* var7
/* : nullable Object */;
2580 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2581 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2582 short int var8
/* : Bool */;
2585 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2586 short int var9
/* : Bool */;
2589 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2590 short int var12
/* : Bool */;
2593 val
* var15
/* : ACallExpr */;
2594 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2595 long var16
/* : Int */;
2596 long var17
/* : Int */;
2599 var_node_list
= var
;
2601 var1
= parser_work__Parser__pop(var_p
);
2603 var_nodearraylist7
= var1
;
2605 var2
= parser_work__Parser__pop(var_p
);
2607 var_nodearraylist6
= var2
;
2609 var3
= parser_work__Parser__pop(var_p
);
2611 var_nodearraylist5
= var3
;
2613 var4
= parser_work__Parser__pop(var_p
);
2615 var_nodearraylist4
= var4
;
2617 var5
= parser_work__Parser__pop(var_p
);
2619 var_nodearraylist3
= var5
;
2621 var6
= parser_work__Parser__pop(var_p
);
2623 var_nodearraylist2
= var6
;
2625 var7
= parser_work__Parser__pop(var_p
);
2627 var_nodearraylist1
= var7
;
2628 var_pexprnode2
= var_nodearraylist1
;
2629 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2630 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2631 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2632 if(var_pexprnode2
== NULL
) {
2635 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2638 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2641 if (unlikely(!var8
)) {
2642 PRINT_ERROR("Runtime error: %s", "Assert failed");
2643 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5718);
2646 var_tidnode3
= var_nodearraylist6
;
2647 /* <var_tidnode3:nullable Object> isa nullable TId */
2648 cltype10
= type_nullable_parser_nodes__TId
.color
;
2649 idtype11
= type_nullable_parser_nodes__TId
.id
;
2650 if(var_tidnode3
== NULL
) {
2653 if(cltype10
>= var_tidnode3
->type
->table_size
) {
2656 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
2659 if (unlikely(!var9
)) {
2660 PRINT_ERROR("Runtime error: %s", "Assert failed");
2661 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5720);
2664 var_pexprsnode4
= var_nodearraylist7
;
2665 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2666 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
2667 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
2668 if(var_pexprsnode4
== NULL
) {
2671 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
2674 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
2677 if (unlikely(!var12
)) {
2678 PRINT_ERROR("Runtime error: %s", "Assert failed");
2679 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5722);
2682 var15
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2684 parser_prod__ACallExpr__init_acallexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var15:ACallExpr>*/
2686 var_pexprnode1
= var15
;
2687 var_node_list
= var_pexprnode1
;
2688 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction187> */
2690 var17
= parser_work__Parser__go_to(var_p
, var16
);
2693 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2697 /* method parser#ReduceAction187#action for (self: Object, Parser) */
2698 void VIRTUAL_parser__ReduceAction187__action(val
* self
, val
* p0
) {
2699 parser__ReduceAction187__action(self
, p0
); /* Direct call parser#ReduceAction187#action on <self:Object(ReduceAction187)>*/
2702 /* method parser#ReduceAction189#action for (self: ReduceAction189, Parser) */
2703 void parser__ReduceAction189__action(val
* self
, val
* p0
) {
2704 val
* var_p
/* var p: Parser */;
2705 val
* var
/* : null */;
2706 val
* var_node_list
/* var node_list: nullable Object */;
2707 val
* var1
/* : nullable Object */;
2708 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2709 val
* var2
/* : nullable Object */;
2710 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2711 val
* var3
/* : AImplicitSelfExpr */;
2712 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2713 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2714 short int var5
/* : Bool */;
2717 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2718 short int var6
/* : Bool */;
2721 val
* var9
/* : ACallExpr */;
2722 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2723 long var10
/* : Int */;
2724 long var11
/* : Int */;
2727 var_node_list
= var
;
2729 var1
= parser_work__Parser__pop(var_p
);
2731 var_nodearraylist2
= var1
;
2733 var2
= parser_work__Parser__pop(var_p
);
2735 var_nodearraylist1
= var2
;
2736 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2738 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
2742 var_pexprnode2
= var3
;
2743 var_tidnode3
= var_nodearraylist1
;
2744 /* <var_tidnode3:nullable Object> isa nullable TId */
2745 cltype
= type_nullable_parser_nodes__TId
.color
;
2746 idtype
= type_nullable_parser_nodes__TId
.id
;
2747 if(var_tidnode3
== NULL
) {
2750 if(cltype
>= var_tidnode3
->type
->table_size
) {
2753 var5
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
2756 if (unlikely(!var5
)) {
2757 PRINT_ERROR("Runtime error: %s", "Assert failed");
2758 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5741);
2761 var_pexprsnode4
= var_nodearraylist2
;
2762 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2763 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
2764 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
2765 if(var_pexprsnode4
== NULL
) {
2768 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
2771 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
2774 if (unlikely(!var6
)) {
2775 PRINT_ERROR("Runtime error: %s", "Assert failed");
2776 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5743);
2779 var9
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2781 parser_prod__ACallExpr__init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
2783 var_pexprnode1
= var9
;
2784 var_node_list
= var_pexprnode1
;
2785 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction189> */
2787 var11
= parser_work__Parser__go_to(var_p
, var10
);
2790 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2794 /* method parser#ReduceAction189#action for (self: Object, Parser) */
2795 void VIRTUAL_parser__ReduceAction189__action(val
* self
, val
* p0
) {
2796 parser__ReduceAction189__action(self
, p0
); /* Direct call parser#ReduceAction189#action on <self:Object(ReduceAction189)>*/
2799 /* method parser#ReduceAction190#action for (self: ReduceAction190, Parser) */
2800 void parser__ReduceAction190__action(val
* self
, val
* p0
) {
2801 val
* var_p
/* var p: Parser */;
2802 val
* var
/* : null */;
2803 val
* var_node_list
/* var node_list: nullable Object */;
2804 val
* var1
/* : nullable Object */;
2805 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2806 val
* var2
/* : nullable Object */;
2807 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2808 val
* var3
/* : nullable Object */;
2809 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2810 val
* var4
/* : AImplicitSelfExpr */;
2811 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2812 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2813 short int var6
/* : Bool */;
2816 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2817 short int var7
/* : Bool */;
2820 val
* var10
/* : ACallExpr */;
2821 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2822 long var11
/* : Int */;
2823 long var12
/* : Int */;
2826 var_node_list
= var
;
2828 var1
= parser_work__Parser__pop(var_p
);
2830 var_nodearraylist3
= var1
;
2832 var2
= parser_work__Parser__pop(var_p
);
2834 var_nodearraylist2
= var2
;
2836 var3
= parser_work__Parser__pop(var_p
);
2838 var_nodearraylist1
= var3
;
2839 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2841 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
2845 var_pexprnode2
= var4
;
2846 var_tidnode3
= var_nodearraylist2
;
2847 /* <var_tidnode3:nullable Object> isa nullable TId */
2848 cltype
= type_nullable_parser_nodes__TId
.color
;
2849 idtype
= type_nullable_parser_nodes__TId
.id
;
2850 if(var_tidnode3
== NULL
) {
2853 if(cltype
>= var_tidnode3
->type
->table_size
) {
2856 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
2859 if (unlikely(!var6
)) {
2860 PRINT_ERROR("Runtime error: %s", "Assert failed");
2861 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5763);
2864 var_pexprsnode4
= var_nodearraylist3
;
2865 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2866 cltype8
= type_nullable_parser_nodes__AExprs
.color
;
2867 idtype9
= type_nullable_parser_nodes__AExprs
.id
;
2868 if(var_pexprsnode4
== NULL
) {
2871 if(cltype8
>= var_pexprsnode4
->type
->table_size
) {
2874 var7
= var_pexprsnode4
->type
->type_table
[cltype8
] == idtype9
;
2877 if (unlikely(!var7
)) {
2878 PRINT_ERROR("Runtime error: %s", "Assert failed");
2879 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5765);
2882 var10
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2884 parser_prod__ACallExpr__init_acallexpr(var10
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
2886 var_pexprnode1
= var10
;
2887 var_node_list
= var_pexprnode1
;
2888 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction190> */
2890 var12
= parser_work__Parser__go_to(var_p
, var11
);
2893 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2897 /* method parser#ReduceAction190#action for (self: Object, Parser) */
2898 void VIRTUAL_parser__ReduceAction190__action(val
* self
, val
* p0
) {
2899 parser__ReduceAction190__action(self
, p0
); /* Direct call parser#ReduceAction190#action on <self:Object(ReduceAction190)>*/
2902 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
2903 void parser__ReduceAction191__action(val
* self
, val
* p0
) {
2904 val
* var_p
/* var p: Parser */;
2905 val
* var
/* : null */;
2906 val
* var_node_list
/* var node_list: nullable Object */;
2907 val
* var1
/* : nullable Object */;
2908 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2909 val
* var2
/* : nullable Object */;
2910 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2911 val
* var3
/* : nullable Object */;
2912 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2913 val
* var4
/* : nullable Object */;
2914 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2915 val
* var5
/* : AImplicitSelfExpr */;
2916 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2917 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2918 short int var7
/* : Bool */;
2921 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2922 short int var8
/* : Bool */;
2925 val
* var11
/* : ACallExpr */;
2926 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2927 long var12
/* : Int */;
2928 long var13
/* : Int */;
2931 var_node_list
= var
;
2933 var1
= parser_work__Parser__pop(var_p
);
2935 var_nodearraylist4
= var1
;
2937 var2
= parser_work__Parser__pop(var_p
);
2939 var_nodearraylist3
= var2
;
2941 var3
= parser_work__Parser__pop(var_p
);
2943 var_nodearraylist2
= var3
;
2945 var4
= parser_work__Parser__pop(var_p
);
2947 var_nodearraylist1
= var4
;
2948 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2950 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
2954 var_pexprnode2
= var5
;
2955 var_tidnode3
= var_nodearraylist3
;
2956 /* <var_tidnode3:nullable Object> isa nullable TId */
2957 cltype
= type_nullable_parser_nodes__TId
.color
;
2958 idtype
= type_nullable_parser_nodes__TId
.id
;
2959 if(var_tidnode3
== NULL
) {
2962 if(cltype
>= var_tidnode3
->type
->table_size
) {
2965 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
2968 if (unlikely(!var7
)) {
2969 PRINT_ERROR("Runtime error: %s", "Assert failed");
2970 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5786);
2973 var_pexprsnode4
= var_nodearraylist4
;
2974 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2975 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
2976 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
2977 if(var_pexprsnode4
== NULL
) {
2980 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
2983 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
2986 if (unlikely(!var8
)) {
2987 PRINT_ERROR("Runtime error: %s", "Assert failed");
2988 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5788);
2991 var11
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2993 parser_prod__ACallExpr__init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
2995 var_pexprnode1
= var11
;
2996 var_node_list
= var_pexprnode1
;
2997 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction191> */
2999 var13
= parser_work__Parser__go_to(var_p
, var12
);
3002 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3006 /* method parser#ReduceAction191#action for (self: Object, Parser) */
3007 void VIRTUAL_parser__ReduceAction191__action(val
* self
, val
* p0
) {
3008 parser__ReduceAction191__action(self
, p0
); /* Direct call parser#ReduceAction191#action on <self:Object(ReduceAction191)>*/
3011 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
3012 void parser__ReduceAction193__action(val
* self
, val
* p0
) {
3013 val
* var_p
/* var p: Parser */;
3014 val
* var
/* : null */;
3015 val
* var_node_list
/* var node_list: nullable Object */;
3016 val
* var1
/* : nullable Object */;
3017 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3018 val
* var2
/* : nullable Object */;
3019 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3020 val
* var3
/* : nullable Object */;
3021 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3022 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
3023 short int var4
/* : Bool */;
3026 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
3027 short int var5
/* : Bool */;
3030 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3031 short int var8
/* : Bool */;
3034 val
* var11
/* : ASuperExpr */;
3035 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
3036 long var12
/* : Int */;
3037 long var13
/* : Int */;
3040 var_node_list
= var
;
3042 var1
= parser_work__Parser__pop(var_p
);
3044 var_nodearraylist3
= var1
;
3046 var2
= parser_work__Parser__pop(var_p
);
3048 var_nodearraylist2
= var2
;
3050 var3
= parser_work__Parser__pop(var_p
);
3052 var_nodearraylist1
= var3
;
3053 var_pqualifiednode2
= var_nodearraylist1
;
3054 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
3055 cltype
= type_nullable_parser_nodes__AQualified
.color
;
3056 idtype
= type_nullable_parser_nodes__AQualified
.id
;
3057 if(var_pqualifiednode2
== NULL
) {
3060 if(cltype
>= var_pqualifiednode2
->type
->table_size
) {
3063 var4
= var_pqualifiednode2
->type
->type_table
[cltype
] == idtype
;
3066 if (unlikely(!var4
)) {
3067 PRINT_ERROR("Runtime error: %s", "Assert failed");
3068 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5807);
3071 var_tkwsupernode3
= var_nodearraylist2
;
3072 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
3073 cltype6
= type_nullable_parser_nodes__TKwsuper
.color
;
3074 idtype7
= type_nullable_parser_nodes__TKwsuper
.id
;
3075 if(var_tkwsupernode3
== NULL
) {
3078 if(cltype6
>= var_tkwsupernode3
->type
->table_size
) {
3081 var5
= var_tkwsupernode3
->type
->type_table
[cltype6
] == idtype7
;
3084 if (unlikely(!var5
)) {
3085 PRINT_ERROR("Runtime error: %s", "Assert failed");
3086 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5809);
3089 var_pexprsnode4
= var_nodearraylist3
;
3090 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3091 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
3092 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
3093 if(var_pexprsnode4
== NULL
) {
3096 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3099 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3102 if (unlikely(!var8
)) {
3103 PRINT_ERROR("Runtime error: %s", "Assert failed");
3104 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5811);
3107 var11
= NEW_parser_nodes__ASuperExpr(&type_parser_nodes__ASuperExpr
);
3109 parser_prod__ASuperExpr__init_asuperexpr(var11
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var11:ASuperExpr>*/
3111 var_pexprnode1
= var11
;
3112 var_node_list
= var_pexprnode1
;
3113 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction193> */
3115 var13
= parser_work__Parser__go_to(var_p
, var12
);
3118 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3122 /* method parser#ReduceAction193#action for (self: Object, Parser) */
3123 void VIRTUAL_parser__ReduceAction193__action(val
* self
, val
* p0
) {
3124 parser__ReduceAction193__action(self
, p0
); /* Direct call parser#ReduceAction193#action on <self:Object(ReduceAction193)>*/
3127 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
3128 void parser__ReduceAction194__action(val
* self
, val
* p0
) {
3129 val
* var_p
/* var p: Parser */;
3130 val
* var
/* : null */;
3131 val
* var_node_list
/* var node_list: nullable Object */;
3132 val
* var1
/* : nullable Object */;
3133 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3134 val
* var2
/* : nullable Object */;
3135 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3136 val
* var3
/* : nullable Object */;
3137 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3138 val
* var4
/* : nullable Object */;
3139 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3140 val
* var5
/* : nullable Object */;
3141 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3142 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3143 short int var6
/* : Bool */;
3146 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3147 short int var7
/* : Bool */;
3150 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3151 short int var10
/* : Bool */;
3154 val
* var13
/* : AInitExpr */;
3155 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3156 long var14
/* : Int */;
3157 long var15
/* : Int */;
3160 var_node_list
= var
;
3162 var1
= parser_work__Parser__pop(var_p
);
3164 var_nodearraylist5
= var1
;
3166 var2
= parser_work__Parser__pop(var_p
);
3168 var_nodearraylist4
= var2
;
3170 var3
= parser_work__Parser__pop(var_p
);
3172 var_nodearraylist3
= var3
;
3174 var4
= parser_work__Parser__pop(var_p
);
3176 var_nodearraylist2
= var4
;
3178 var5
= parser_work__Parser__pop(var_p
);
3180 var_nodearraylist1
= var5
;
3181 var_pexprnode2
= var_nodearraylist1
;
3182 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3183 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3184 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3185 if(var_pexprnode2
== NULL
) {
3188 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3191 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3194 if (unlikely(!var6
)) {
3195 PRINT_ERROR("Runtime error: %s", "Assert failed");
3196 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5832);
3199 var_tkwinitnode3
= var_nodearraylist4
;
3200 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3201 cltype8
= type_nullable_parser_nodes__TKwinit
.color
;
3202 idtype9
= type_nullable_parser_nodes__TKwinit
.id
;
3203 if(var_tkwinitnode3
== NULL
) {
3206 if(cltype8
>= var_tkwinitnode3
->type
->table_size
) {
3209 var7
= var_tkwinitnode3
->type
->type_table
[cltype8
] == idtype9
;
3212 if (unlikely(!var7
)) {
3213 PRINT_ERROR("Runtime error: %s", "Assert failed");
3214 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5834);
3217 var_pexprsnode4
= var_nodearraylist5
;
3218 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3219 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
3220 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
3221 if(var_pexprsnode4
== NULL
) {
3224 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
3227 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
3230 if (unlikely(!var10
)) {
3231 PRINT_ERROR("Runtime error: %s", "Assert failed");
3232 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5836);
3235 var13
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3237 parser_prod__AInitExpr__init_ainitexpr(var13
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var13:AInitExpr>*/
3239 var_pexprnode1
= var13
;
3240 var_node_list
= var_pexprnode1
;
3241 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction194> */
3243 var15
= parser_work__Parser__go_to(var_p
, var14
);
3246 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3250 /* method parser#ReduceAction194#action for (self: Object, Parser) */
3251 void VIRTUAL_parser__ReduceAction194__action(val
* self
, val
* p0
) {
3252 parser__ReduceAction194__action(self
, p0
); /* Direct call parser#ReduceAction194#action on <self:Object(ReduceAction194)>*/
3255 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
3256 void parser__ReduceAction195__action(val
* self
, val
* p0
) {
3257 val
* var_p
/* var p: Parser */;
3258 val
* var
/* : null */;
3259 val
* var_node_list
/* var node_list: nullable Object */;
3260 val
* var1
/* : nullable Object */;
3261 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3262 val
* var2
/* : nullable Object */;
3263 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3264 val
* var3
/* : AImplicitSelfExpr */;
3265 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3266 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3267 short int var5
/* : Bool */;
3270 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3271 short int var6
/* : Bool */;
3274 val
* var9
/* : AInitExpr */;
3275 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3276 long var10
/* : Int */;
3277 long var11
/* : Int */;
3280 var_node_list
= var
;
3282 var1
= parser_work__Parser__pop(var_p
);
3284 var_nodearraylist2
= var1
;
3286 var2
= parser_work__Parser__pop(var_p
);
3288 var_nodearraylist1
= var2
;
3289 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3291 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
3295 var_pexprnode2
= var3
;
3296 var_tkwinitnode3
= var_nodearraylist1
;
3297 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3298 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3299 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3300 if(var_tkwinitnode3
== NULL
) {
3303 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3306 var5
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3309 if (unlikely(!var5
)) {
3310 PRINT_ERROR("Runtime error: %s", "Assert failed");
3311 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5855);
3314 var_pexprsnode4
= var_nodearraylist2
;
3315 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3316 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
3317 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
3318 if(var_pexprsnode4
== NULL
) {
3321 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
3324 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
3327 if (unlikely(!var6
)) {
3328 PRINT_ERROR("Runtime error: %s", "Assert failed");
3329 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5857);
3332 var9
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3334 parser_prod__AInitExpr__init_ainitexpr(var9
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
3336 var_pexprnode1
= var9
;
3337 var_node_list
= var_pexprnode1
;
3338 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction195> */
3340 var11
= parser_work__Parser__go_to(var_p
, var10
);
3343 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3347 /* method parser#ReduceAction195#action for (self: Object, Parser) */
3348 void VIRTUAL_parser__ReduceAction195__action(val
* self
, val
* p0
) {
3349 parser__ReduceAction195__action(self
, p0
); /* Direct call parser#ReduceAction195#action on <self:Object(ReduceAction195)>*/
3352 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
3353 void parser__ReduceAction196__action(val
* self
, val
* p0
) {
3354 val
* var_p
/* var p: Parser */;
3355 val
* var
/* : null */;
3356 val
* var_node_list
/* var node_list: nullable Object */;
3357 val
* var1
/* : nullable Object */;
3358 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3359 val
* var2
/* : nullable Object */;
3360 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3361 val
* var3
/* : nullable Object */;
3362 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3363 val
* var4
/* : nullable Object */;
3364 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3365 val
* var5
/* : nullable Object */;
3366 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3367 val
* var6
/* : nullable Object */;
3368 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3369 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3370 short int var7
/* : Bool */;
3373 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3374 short int var8
/* : Bool */;
3377 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3378 short int var11
/* : Bool */;
3381 val
* var14
/* : AInitExpr */;
3382 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3383 long var15
/* : Int */;
3384 long var16
/* : Int */;
3387 var_node_list
= var
;
3389 var1
= parser_work__Parser__pop(var_p
);
3391 var_nodearraylist6
= var1
;
3393 var2
= parser_work__Parser__pop(var_p
);
3395 var_nodearraylist5
= var2
;
3397 var3
= parser_work__Parser__pop(var_p
);
3399 var_nodearraylist4
= var3
;
3401 var4
= parser_work__Parser__pop(var_p
);
3403 var_nodearraylist3
= var4
;
3405 var5
= parser_work__Parser__pop(var_p
);
3407 var_nodearraylist2
= var5
;
3409 var6
= parser_work__Parser__pop(var_p
);
3411 var_nodearraylist1
= var6
;
3412 var_pexprnode2
= var_nodearraylist1
;
3413 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3414 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3415 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3416 if(var_pexprnode2
== NULL
) {
3419 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3422 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3425 if (unlikely(!var7
)) {
3426 PRINT_ERROR("Runtime error: %s", "Assert failed");
3427 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5879);
3430 var_tkwinitnode3
= var_nodearraylist5
;
3431 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3432 cltype9
= type_nullable_parser_nodes__TKwinit
.color
;
3433 idtype10
= type_nullable_parser_nodes__TKwinit
.id
;
3434 if(var_tkwinitnode3
== NULL
) {
3437 if(cltype9
>= var_tkwinitnode3
->type
->table_size
) {
3440 var8
= var_tkwinitnode3
->type
->type_table
[cltype9
] == idtype10
;
3443 if (unlikely(!var8
)) {
3444 PRINT_ERROR("Runtime error: %s", "Assert failed");
3445 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5881);
3448 var_pexprsnode4
= var_nodearraylist6
;
3449 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3450 cltype12
= type_nullable_parser_nodes__AExprs
.color
;
3451 idtype13
= type_nullable_parser_nodes__AExprs
.id
;
3452 if(var_pexprsnode4
== NULL
) {
3455 if(cltype12
>= var_pexprsnode4
->type
->table_size
) {
3458 var11
= var_pexprsnode4
->type
->type_table
[cltype12
] == idtype13
;
3461 if (unlikely(!var11
)) {
3462 PRINT_ERROR("Runtime error: %s", "Assert failed");
3463 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5883);
3466 var14
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3468 parser_prod__AInitExpr__init_ainitexpr(var14
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var14:AInitExpr>*/
3470 var_pexprnode1
= var14
;
3471 var_node_list
= var_pexprnode1
;
3472 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction196> */
3474 var16
= parser_work__Parser__go_to(var_p
, var15
);
3477 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3481 /* method parser#ReduceAction196#action for (self: Object, Parser) */
3482 void VIRTUAL_parser__ReduceAction196__action(val
* self
, val
* p0
) {
3483 parser__ReduceAction196__action(self
, p0
); /* Direct call parser#ReduceAction196#action on <self:Object(ReduceAction196)>*/
3486 /* method parser#ReduceAction197#action for (self: ReduceAction197, Parser) */
3487 void parser__ReduceAction197__action(val
* self
, val
* p0
) {
3488 val
* var_p
/* var p: Parser */;
3489 val
* var
/* : null */;
3490 val
* var_node_list
/* var node_list: nullable Object */;
3491 val
* var1
/* : nullable Object */;
3492 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3493 val
* var2
/* : nullable Object */;
3494 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3495 val
* var3
/* : nullable Object */;
3496 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3497 val
* var4
/* : nullable Object */;
3498 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3499 val
* var5
/* : nullable Object */;
3500 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3501 val
* var6
/* : nullable Object */;
3502 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3503 val
* var7
/* : nullable Object */;
3504 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3505 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3506 short int var8
/* : Bool */;
3509 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3510 short int var9
/* : Bool */;
3513 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3514 short int var12
/* : Bool */;
3517 val
* var15
/* : AInitExpr */;
3518 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3519 long var16
/* : Int */;
3520 long var17
/* : Int */;
3523 var_node_list
= var
;
3525 var1
= parser_work__Parser__pop(var_p
);
3527 var_nodearraylist7
= var1
;
3529 var2
= parser_work__Parser__pop(var_p
);
3531 var_nodearraylist6
= var2
;
3533 var3
= parser_work__Parser__pop(var_p
);
3535 var_nodearraylist5
= var3
;
3537 var4
= parser_work__Parser__pop(var_p
);
3539 var_nodearraylist4
= var4
;
3541 var5
= parser_work__Parser__pop(var_p
);
3543 var_nodearraylist3
= var5
;
3545 var6
= parser_work__Parser__pop(var_p
);
3547 var_nodearraylist2
= var6
;
3549 var7
= parser_work__Parser__pop(var_p
);
3551 var_nodearraylist1
= var7
;
3552 var_pexprnode2
= var_nodearraylist1
;
3553 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3554 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3555 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3556 if(var_pexprnode2
== NULL
) {
3559 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3562 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3565 if (unlikely(!var8
)) {
3566 PRINT_ERROR("Runtime error: %s", "Assert failed");
3567 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5906);
3570 var_tkwinitnode3
= var_nodearraylist6
;
3571 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3572 cltype10
= type_nullable_parser_nodes__TKwinit
.color
;
3573 idtype11
= type_nullable_parser_nodes__TKwinit
.id
;
3574 if(var_tkwinitnode3
== NULL
) {
3577 if(cltype10
>= var_tkwinitnode3
->type
->table_size
) {
3580 var9
= var_tkwinitnode3
->type
->type_table
[cltype10
] == idtype11
;
3583 if (unlikely(!var9
)) {
3584 PRINT_ERROR("Runtime error: %s", "Assert failed");
3585 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5908);
3588 var_pexprsnode4
= var_nodearraylist7
;
3589 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3590 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
3591 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
3592 if(var_pexprsnode4
== NULL
) {
3595 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
3598 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
3601 if (unlikely(!var12
)) {
3602 PRINT_ERROR("Runtime error: %s", "Assert failed");
3603 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5910);
3606 var15
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3608 parser_prod__AInitExpr__init_ainitexpr(var15
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var15:AInitExpr>*/
3610 var_pexprnode1
= var15
;
3611 var_node_list
= var_pexprnode1
;
3612 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction197> */
3614 var17
= parser_work__Parser__go_to(var_p
, var16
);
3617 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3621 /* method parser#ReduceAction197#action for (self: Object, Parser) */
3622 void VIRTUAL_parser__ReduceAction197__action(val
* self
, val
* p0
) {
3623 parser__ReduceAction197__action(self
, p0
); /* Direct call parser#ReduceAction197#action on <self:Object(ReduceAction197)>*/
3626 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
3627 void parser__ReduceAction199__action(val
* self
, val
* p0
) {
3628 val
* var_p
/* var p: Parser */;
3629 val
* var
/* : null */;
3630 val
* var_node_list
/* var node_list: nullable Object */;
3631 val
* var1
/* : nullable Object */;
3632 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3633 val
* var2
/* : nullable Object */;
3634 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3635 val
* var3
/* : nullable Object */;
3636 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3637 val
* var4
/* : AImplicitSelfExpr */;
3638 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3639 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3640 short int var6
/* : Bool */;
3643 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3644 short int var7
/* : Bool */;
3647 val
* var10
/* : AInitExpr */;
3648 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3649 long var11
/* : Int */;
3650 long var12
/* : Int */;
3653 var_node_list
= var
;
3655 var1
= parser_work__Parser__pop(var_p
);
3657 var_nodearraylist3
= var1
;
3659 var2
= parser_work__Parser__pop(var_p
);
3661 var_nodearraylist2
= var2
;
3663 var3
= parser_work__Parser__pop(var_p
);
3665 var_nodearraylist1
= var3
;
3666 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3668 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
3672 var_pexprnode2
= var4
;
3673 var_tkwinitnode3
= var_nodearraylist2
;
3674 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3675 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3676 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3677 if(var_tkwinitnode3
== NULL
) {
3680 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3683 var6
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3686 if (unlikely(!var6
)) {
3687 PRINT_ERROR("Runtime error: %s", "Assert failed");
3688 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5930);
3691 var_pexprsnode4
= var_nodearraylist3
;
3692 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3693 cltype8
= type_nullable_parser_nodes__AExprs
.color
;
3694 idtype9
= type_nullable_parser_nodes__AExprs
.id
;
3695 if(var_pexprsnode4
== NULL
) {
3698 if(cltype8
>= var_pexprsnode4
->type
->table_size
) {
3701 var7
= var_pexprsnode4
->type
->type_table
[cltype8
] == idtype9
;
3704 if (unlikely(!var7
)) {
3705 PRINT_ERROR("Runtime error: %s", "Assert failed");
3706 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5932);
3709 var10
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3711 parser_prod__AInitExpr__init_ainitexpr(var10
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
3713 var_pexprnode1
= var10
;
3714 var_node_list
= var_pexprnode1
;
3715 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction199> */
3717 var12
= parser_work__Parser__go_to(var_p
, var11
);
3720 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3724 /* method parser#ReduceAction199#action for (self: Object, Parser) */
3725 void VIRTUAL_parser__ReduceAction199__action(val
* self
, val
* p0
) {
3726 parser__ReduceAction199__action(self
, p0
); /* Direct call parser#ReduceAction199#action on <self:Object(ReduceAction199)>*/
3729 /* method parser#ReduceAction200#action for (self: ReduceAction200, Parser) */
3730 void parser__ReduceAction200__action(val
* self
, val
* p0
) {
3731 val
* var_p
/* var p: Parser */;
3732 val
* var
/* : null */;
3733 val
* var_node_list
/* var node_list: nullable Object */;
3734 val
* var1
/* : nullable Object */;
3735 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3736 val
* var2
/* : nullable Object */;
3737 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3738 val
* var3
/* : nullable Object */;
3739 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3740 val
* var4
/* : nullable Object */;
3741 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3742 val
* var5
/* : AImplicitSelfExpr */;
3743 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3744 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3745 short int var7
/* : Bool */;
3748 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3749 short int var8
/* : Bool */;
3752 val
* var11
/* : AInitExpr */;
3753 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3754 long var12
/* : Int */;
3755 long var13
/* : Int */;
3758 var_node_list
= var
;
3760 var1
= parser_work__Parser__pop(var_p
);
3762 var_nodearraylist4
= var1
;
3764 var2
= parser_work__Parser__pop(var_p
);
3766 var_nodearraylist3
= var2
;
3768 var3
= parser_work__Parser__pop(var_p
);
3770 var_nodearraylist2
= var3
;
3772 var4
= parser_work__Parser__pop(var_p
);
3774 var_nodearraylist1
= var4
;
3775 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3777 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
3781 var_pexprnode2
= var5
;
3782 var_tkwinitnode3
= var_nodearraylist3
;
3783 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3784 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3785 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3786 if(var_tkwinitnode3
== NULL
) {
3789 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3792 var7
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3795 if (unlikely(!var7
)) {
3796 PRINT_ERROR("Runtime error: %s", "Assert failed");
3797 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5953);
3800 var_pexprsnode4
= var_nodearraylist4
;
3801 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3802 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
3803 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
3804 if(var_pexprsnode4
== NULL
) {
3807 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3810 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3813 if (unlikely(!var8
)) {
3814 PRINT_ERROR("Runtime error: %s", "Assert failed");
3815 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5955);
3818 var11
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3820 parser_prod__AInitExpr__init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
3822 var_pexprnode1
= var11
;
3823 var_node_list
= var_pexprnode1
;
3824 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction200> */
3826 var13
= parser_work__Parser__go_to(var_p
, var12
);
3829 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3833 /* method parser#ReduceAction200#action for (self: Object, Parser) */
3834 void VIRTUAL_parser__ReduceAction200__action(val
* self
, val
* p0
) {
3835 parser__ReduceAction200__action(self
, p0
); /* Direct call parser#ReduceAction200#action on <self:Object(ReduceAction200)>*/
3838 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
3839 void parser__ReduceAction202__action(val
* self
, val
* p0
) {
3840 val
* var_p
/* var p: Parser */;
3841 val
* var
/* : null */;
3842 val
* var_node_list
/* var node_list: nullable Object */;
3843 val
* var1
/* : nullable Object */;
3844 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3845 val
* var2
/* : nullable Object */;
3846 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3847 val
* var3
/* : nullable Object */;
3848 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3849 val
* var4
/* : nullable Object */;
3850 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3851 val
* var5
/* : nullable Object */;
3852 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3853 val
* var_tkwdebugnode2
/* var tkwdebugnode2: nullable Object */;
3854 short int var6
/* : Bool */;
3857 val
* var_tkwtypenode3
/* var tkwtypenode3: nullable Object */;
3858 short int var7
/* : Bool */;
3861 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3862 short int var10
/* : Bool */;
3865 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
3866 short int var13
/* : Bool */;
3869 val
* var16
/* : ADebugTypeExpr */;
3870 val
* var_pexprnode1
/* var pexprnode1: nullable ADebugTypeExpr */;
3871 long var17
/* : Int */;
3872 long var18
/* : Int */;
3875 var_node_list
= var
;
3877 var1
= parser_work__Parser__pop(var_p
);
3879 var_nodearraylist5
= var1
;
3881 var2
= parser_work__Parser__pop(var_p
);
3883 var_nodearraylist4
= var2
;
3885 var3
= parser_work__Parser__pop(var_p
);
3887 var_nodearraylist3
= var3
;
3889 var4
= parser_work__Parser__pop(var_p
);
3891 var_nodearraylist2
= var4
;
3893 var5
= parser_work__Parser__pop(var_p
);
3895 var_nodearraylist1
= var5
;
3896 var_tkwdebugnode2
= var_nodearraylist1
;
3897 /* <var_tkwdebugnode2:nullable Object> isa nullable TKwdebug */
3898 cltype
= type_nullable_parser_nodes__TKwdebug
.color
;
3899 idtype
= type_nullable_parser_nodes__TKwdebug
.id
;
3900 if(var_tkwdebugnode2
== NULL
) {
3903 if(cltype
>= var_tkwdebugnode2
->type
->table_size
) {
3906 var6
= var_tkwdebugnode2
->type
->type_table
[cltype
] == idtype
;
3909 if (unlikely(!var6
)) {
3910 PRINT_ERROR("Runtime error: %s", "Assert failed");
3911 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5976);
3914 var_tkwtypenode3
= var_nodearraylist2
;
3915 /* <var_tkwtypenode3:nullable Object> isa nullable TKwtype */
3916 cltype8
= type_nullable_parser_nodes__TKwtype
.color
;
3917 idtype9
= type_nullable_parser_nodes__TKwtype
.id
;
3918 if(var_tkwtypenode3
== NULL
) {
3921 if(cltype8
>= var_tkwtypenode3
->type
->table_size
) {
3924 var7
= var_tkwtypenode3
->type
->type_table
[cltype8
] == idtype9
;
3927 if (unlikely(!var7
)) {
3928 PRINT_ERROR("Runtime error: %s", "Assert failed");
3929 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5978);
3932 var_pexprnode4
= var_nodearraylist5
;
3933 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3934 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
3935 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
3936 if(var_pexprnode4
== NULL
) {
3939 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
3942 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
3945 if (unlikely(!var10
)) {
3946 PRINT_ERROR("Runtime error: %s", "Assert failed");
3947 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5980);
3950 var_ptypenode5
= var_nodearraylist3
;
3951 /* <var_ptypenode5:nullable Object> isa nullable AType */
3952 cltype14
= type_nullable_parser_nodes__AType
.color
;
3953 idtype15
= type_nullable_parser_nodes__AType
.id
;
3954 if(var_ptypenode5
== NULL
) {
3957 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
3960 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
3963 if (unlikely(!var13
)) {
3964 PRINT_ERROR("Runtime error: %s", "Assert failed");
3965 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 5982);
3968 var16
= NEW_parser_nodes__ADebugTypeExpr(&type_parser_nodes__ADebugTypeExpr
);
3970 parser_prod__ADebugTypeExpr__init_adebugtypeexpr(var16
, var_tkwdebugnode2
, var_tkwtypenode3
, var_pexprnode4
, var_ptypenode5
); /* Direct call parser_prod#ADebugTypeExpr#init_adebugtypeexpr on <var16:ADebugTypeExpr>*/
3972 var_pexprnode1
= var16
;
3973 var_node_list
= var_pexprnode1
;
3974 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction202> */
3976 var18
= parser_work__Parser__go_to(var_p
, var17
);
3979 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3983 /* method parser#ReduceAction202#action for (self: Object, Parser) */
3984 void VIRTUAL_parser__ReduceAction202__action(val
* self
, val
* p0
) {
3985 parser__ReduceAction202__action(self
, p0
); /* Direct call parser#ReduceAction202#action on <self:Object(ReduceAction202)>*/
3988 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
3989 void parser__ReduceAction203__action(val
* self
, val
* p0
) {
3990 val
* var_p
/* var p: Parser */;
3991 val
* var
/* : null */;
3992 val
* var_node_list
/* var node_list: nullable Object */;
3993 val
* var1
/* : nullable Object */;
3994 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3995 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
3996 short int var2
/* : Bool */;
3999 val
* var3
/* : ALabel */;
4000 val
* var4
/* : null */;
4001 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
4002 long var5
/* : Int */;
4003 long var6
/* : Int */;
4006 var_node_list
= var
;
4008 var1
= parser_work__Parser__pop(var_p
);
4010 var_nodearraylist1
= var1
;
4011 var_tkwlabelnode2
= var_nodearraylist1
;
4012 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4013 cltype
= type_nullable_parser_nodes__TKwlabel
.color
;
4014 idtype
= type_nullable_parser_nodes__TKwlabel
.id
;
4015 if(var_tkwlabelnode2
== NULL
) {
4018 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4021 var2
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4024 if (unlikely(!var2
)) {
4025 PRINT_ERROR("Runtime error: %s", "Assert failed");
4026 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6000);
4029 var3
= NEW_parser_nodes__ALabel(&type_parser_nodes__ALabel
);
4032 parser_prod__ALabel__init_alabel(var3
, var_tkwlabelnode2
, var4
); /* Direct call parser_prod#ALabel#init_alabel on <var3:ALabel>*/
4034 var_plabelnode1
= var3
;
4035 var_node_list
= var_plabelnode1
;
4036 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction203> */
4038 var6
= parser_work__Parser__go_to(var_p
, var5
);
4041 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4045 /* method parser#ReduceAction203#action for (self: Object, Parser) */
4046 void VIRTUAL_parser__ReduceAction203__action(val
* self
, val
* p0
) {
4047 parser__ReduceAction203__action(self
, p0
); /* Direct call parser#ReduceAction203#action on <self:Object(ReduceAction203)>*/
4050 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
4051 void parser__ReduceAction204__action(val
* self
, val
* p0
) {
4052 val
* var_p
/* var p: Parser */;
4053 val
* var
/* : null */;
4054 val
* var_node_list
/* var node_list: nullable Object */;
4055 val
* var1
/* : nullable Object */;
4056 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4057 val
* var2
/* : nullable Object */;
4058 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4059 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
4060 short int var3
/* : Bool */;
4063 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4064 short int var4
/* : Bool */;
4067 val
* var7
/* : ALabel */;
4068 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
4069 long var8
/* : Int */;
4070 long var9
/* : Int */;
4073 var_node_list
= var
;
4075 var1
= parser_work__Parser__pop(var_p
);
4077 var_nodearraylist2
= var1
;
4079 var2
= parser_work__Parser__pop(var_p
);
4081 var_nodearraylist1
= var2
;
4082 var_tkwlabelnode2
= var_nodearraylist1
;
4083 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4084 cltype
= type_nullable_parser_nodes__TKwlabel
.color
;
4085 idtype
= type_nullable_parser_nodes__TKwlabel
.id
;
4086 if(var_tkwlabelnode2
== NULL
) {
4089 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4092 var3
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4095 if (unlikely(!var3
)) {
4096 PRINT_ERROR("Runtime error: %s", "Assert failed");
4097 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6017);
4100 var_tidnode3
= var_nodearraylist2
;
4101 /* <var_tidnode3:nullable Object> isa nullable TId */
4102 cltype5
= type_nullable_parser_nodes__TId
.color
;
4103 idtype6
= type_nullable_parser_nodes__TId
.id
;
4104 if(var_tidnode3
== NULL
) {
4107 if(cltype5
>= var_tidnode3
->type
->table_size
) {
4110 var4
= var_tidnode3
->type
->type_table
[cltype5
] == idtype6
;
4113 if (unlikely(!var4
)) {
4114 PRINT_ERROR("Runtime error: %s", "Assert failed");
4115 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6019);
4118 var7
= NEW_parser_nodes__ALabel(&type_parser_nodes__ALabel
);
4120 parser_prod__ALabel__init_alabel(var7
, var_tkwlabelnode2
, var_tidnode3
); /* Direct call parser_prod#ALabel#init_alabel on <var7:ALabel>*/
4122 var_plabelnode1
= var7
;
4123 var_node_list
= var_plabelnode1
;
4124 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction204> */
4126 var9
= parser_work__Parser__go_to(var_p
, var8
);
4129 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4133 /* method parser#ReduceAction204#action for (self: Object, Parser) */
4134 void VIRTUAL_parser__ReduceAction204__action(val
* self
, val
* p0
) {
4135 parser__ReduceAction204__action(self
, p0
); /* Direct call parser#ReduceAction204#action on <self:Object(ReduceAction204)>*/
4138 /* method parser#ReduceAction205#action for (self: ReduceAction205, Parser) */
4139 void parser__ReduceAction205__action(val
* self
, val
* p0
) {
4140 val
* var_p
/* var p: Parser */;
4141 val
* var
/* : null */;
4142 val
* var_node_list
/* var node_list: nullable Object */;
4143 val
* var1
/* : nullable Object */;
4144 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4145 val
* var2
/* : nullable Object */;
4146 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4147 val
* var3
/* : nullable Object */;
4148 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4149 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4150 short int var4
/* : Bool */;
4153 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4154 short int var5
/* : Bool */;
4157 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4158 short int var8
/* : Bool */;
4161 val
* var11
/* : AVardeclExpr */;
4162 val
* var12
/* : null */;
4163 val
* var13
/* : null */;
4164 val
* var14
/* : null */;
4165 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4166 long var15
/* : Int */;
4167 long var16
/* : Int */;
4170 var_node_list
= var
;
4172 var1
= parser_work__Parser__pop(var_p
);
4174 var_nodearraylist3
= var1
;
4176 var2
= parser_work__Parser__pop(var_p
);
4178 var_nodearraylist2
= var2
;
4180 var3
= parser_work__Parser__pop(var_p
);
4182 var_nodearraylist1
= var3
;
4183 var_tkwvarnode2
= var_nodearraylist1
;
4184 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4185 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4186 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4187 if(var_tkwvarnode2
== NULL
) {
4190 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4193 var4
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4196 if (unlikely(!var4
)) {
4197 PRINT_ERROR("Runtime error: %s", "Assert failed");
4198 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6037);
4201 var_tidnode3
= var_nodearraylist2
;
4202 /* <var_tidnode3:nullable Object> isa nullable TId */
4203 cltype6
= type_nullable_parser_nodes__TId
.color
;
4204 idtype7
= type_nullable_parser_nodes__TId
.id
;
4205 if(var_tidnode3
== NULL
) {
4208 if(cltype6
>= var_tidnode3
->type
->table_size
) {
4211 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
4214 if (unlikely(!var5
)) {
4215 PRINT_ERROR("Runtime error: %s", "Assert failed");
4216 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6039);
4219 var_ptypenode4
= var_nodearraylist3
;
4220 /* <var_ptypenode4:nullable Object> isa nullable AType */
4221 cltype9
= type_nullable_parser_nodes__AType
.color
;
4222 idtype10
= type_nullable_parser_nodes__AType
.id
;
4223 if(var_ptypenode4
== NULL
) {
4226 if(cltype9
>= var_ptypenode4
->type
->table_size
) {
4229 var8
= var_ptypenode4
->type
->type_table
[cltype9
] == idtype10
;
4232 if (unlikely(!var8
)) {
4233 PRINT_ERROR("Runtime error: %s", "Assert failed");
4234 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6041);
4237 var11
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4242 parser_prod__AVardeclExpr__init_avardeclexpr(var11
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var12
, var13
, var14
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var11:AVardeclExpr>*/
4244 var_pexprnode1
= var11
;
4245 var_node_list
= var_pexprnode1
;
4246 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction205> */
4248 var16
= parser_work__Parser__go_to(var_p
, var15
);
4251 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4255 /* method parser#ReduceAction205#action for (self: Object, Parser) */
4256 void VIRTUAL_parser__ReduceAction205__action(val
* self
, val
* p0
) {
4257 parser__ReduceAction205__action(self
, p0
); /* Direct call parser#ReduceAction205#action on <self:Object(ReduceAction205)>*/
4260 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
4261 void parser__ReduceAction206__action(val
* self
, val
* p0
) {
4262 val
* var_p
/* var p: Parser */;
4263 val
* var
/* : null */;
4264 val
* var_node_list
/* var node_list: nullable Object */;
4265 val
* var1
/* : nullable Object */;
4266 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4267 val
* var2
/* : nullable Object */;
4268 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4269 val
* var3
/* : nullable Object */;
4270 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4271 val
* var4
/* : nullable Object */;
4272 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4273 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4274 short int var5
/* : Bool */;
4277 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4278 short int var6
/* : Bool */;
4281 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4282 short int var9
/* : Bool */;
4285 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4286 short int var12
/* : Bool */;
4289 val
* var15
/* : AVardeclExpr */;
4290 val
* var16
/* : null */;
4291 val
* var17
/* : null */;
4292 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4293 long var18
/* : Int */;
4294 long var19
/* : Int */;
4297 var_node_list
= var
;
4299 var1
= parser_work__Parser__pop(var_p
);
4301 var_nodearraylist4
= var1
;
4303 var2
= parser_work__Parser__pop(var_p
);
4305 var_nodearraylist3
= var2
;
4307 var3
= parser_work__Parser__pop(var_p
);
4309 var_nodearraylist2
= var3
;
4311 var4
= parser_work__Parser__pop(var_p
);
4313 var_nodearraylist1
= var4
;
4314 var_tkwvarnode2
= var_nodearraylist1
;
4315 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4316 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4317 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4318 if(var_tkwvarnode2
== NULL
) {
4321 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4324 var5
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4327 if (unlikely(!var5
)) {
4328 PRINT_ERROR("Runtime error: %s", "Assert failed");
4329 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6064);
4332 var_tidnode3
= var_nodearraylist2
;
4333 /* <var_tidnode3:nullable Object> isa nullable TId */
4334 cltype7
= type_nullable_parser_nodes__TId
.color
;
4335 idtype8
= type_nullable_parser_nodes__TId
.id
;
4336 if(var_tidnode3
== NULL
) {
4339 if(cltype7
>= var_tidnode3
->type
->table_size
) {
4342 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
4345 if (unlikely(!var6
)) {
4346 PRINT_ERROR("Runtime error: %s", "Assert failed");
4347 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6066);
4350 var_ptypenode4
= var_nodearraylist4
;
4351 /* <var_ptypenode4:nullable Object> isa nullable AType */
4352 cltype10
= type_nullable_parser_nodes__AType
.color
;
4353 idtype11
= type_nullable_parser_nodes__AType
.id
;
4354 if(var_ptypenode4
== NULL
) {
4357 if(cltype10
>= var_ptypenode4
->type
->table_size
) {
4360 var9
= var_ptypenode4
->type
->type_table
[cltype10
] == idtype11
;
4363 if (unlikely(!var9
)) {
4364 PRINT_ERROR("Runtime error: %s", "Assert failed");
4365 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6068);
4368 var_pannotationsnode7
= var_nodearraylist3
;
4369 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4370 cltype13
= type_nullable_parser_nodes__AAnnotations
.color
;
4371 idtype14
= type_nullable_parser_nodes__AAnnotations
.id
;
4372 if(var_pannotationsnode7
== NULL
) {
4375 if(cltype13
>= var_pannotationsnode7
->type
->table_size
) {
4378 var12
= var_pannotationsnode7
->type
->type_table
[cltype13
] == idtype14
;
4381 if (unlikely(!var12
)) {
4382 PRINT_ERROR("Runtime error: %s", "Assert failed");
4383 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6070);
4386 var15
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4390 parser_prod__AVardeclExpr__init_avardeclexpr(var15
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var16
, var17
, var_pannotationsnode7
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var15:AVardeclExpr>*/
4392 var_pexprnode1
= var15
;
4393 var_node_list
= var_pexprnode1
;
4394 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction206> */
4396 var19
= parser_work__Parser__go_to(var_p
, var18
);
4399 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4403 /* method parser#ReduceAction206#action for (self: Object, Parser) */
4404 void VIRTUAL_parser__ReduceAction206__action(val
* self
, val
* p0
) {
4405 parser__ReduceAction206__action(self
, p0
); /* Direct call parser#ReduceAction206#action on <self:Object(ReduceAction206)>*/
4408 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
4409 void parser__ReduceAction207__action(val
* self
, val
* p0
) {
4410 val
* var_p
/* var p: Parser */;
4411 val
* var
/* : null */;
4412 val
* var_node_list
/* var node_list: nullable Object */;
4413 val
* var1
/* : nullable Object */;
4414 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4415 val
* var2
/* : nullable Object */;
4416 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4417 val
* var3
/* : nullable Object */;
4418 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4419 val
* var4
/* : nullable Object */;
4420 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4421 val
* var5
/* : nullable Object */;
4422 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4423 val
* var6
/* : nullable Object */;
4424 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4425 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4426 short int var7
/* : Bool */;
4429 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4430 short int var8
/* : Bool */;
4433 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4434 short int var11
/* : Bool */;
4437 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
4438 short int var14
/* : Bool */;
4441 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4442 short int var17
/* : Bool */;
4445 val
* var20
/* : AVardeclExpr */;
4446 val
* var21
/* : null */;
4447 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4448 long var22
/* : Int */;
4449 long var23
/* : Int */;
4452 var_node_list
= var
;
4454 var1
= parser_work__Parser__pop(var_p
);
4456 var_nodearraylist6
= var1
;
4458 var2
= parser_work__Parser__pop(var_p
);
4460 var_nodearraylist5
= var2
;
4462 var3
= parser_work__Parser__pop(var_p
);
4464 var_nodearraylist4
= var3
;
4466 var4
= parser_work__Parser__pop(var_p
);
4468 var_nodearraylist3
= var4
;
4470 var5
= parser_work__Parser__pop(var_p
);
4472 var_nodearraylist2
= var5
;
4474 var6
= parser_work__Parser__pop(var_p
);
4476 var_nodearraylist1
= var6
;
4477 var_tkwvarnode2
= var_nodearraylist1
;
4478 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4479 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4480 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4481 if(var_tkwvarnode2
== NULL
) {
4484 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4487 var7
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4490 if (unlikely(!var7
)) {
4491 PRINT_ERROR("Runtime error: %s", "Assert failed");
4492 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6095);
4495 var_tidnode3
= var_nodearraylist2
;
4496 /* <var_tidnode3:nullable Object> isa nullable TId */
4497 cltype9
= type_nullable_parser_nodes__TId
.color
;
4498 idtype10
= type_nullable_parser_nodes__TId
.id
;
4499 if(var_tidnode3
== NULL
) {
4502 if(cltype9
>= var_tidnode3
->type
->table_size
) {
4505 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
4508 if (unlikely(!var8
)) {
4509 PRINT_ERROR("Runtime error: %s", "Assert failed");
4510 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6097);
4513 var_ptypenode4
= var_nodearraylist3
;
4514 /* <var_ptypenode4:nullable Object> isa nullable AType */
4515 cltype12
= type_nullable_parser_nodes__AType
.color
;
4516 idtype13
= type_nullable_parser_nodes__AType
.id
;
4517 if(var_ptypenode4
== NULL
) {
4520 if(cltype12
>= var_ptypenode4
->type
->table_size
) {
4523 var11
= var_ptypenode4
->type
->type_table
[cltype12
] == idtype13
;
4526 if (unlikely(!var11
)) {
4527 PRINT_ERROR("Runtime error: %s", "Assert failed");
4528 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6099);
4531 var_tassignnode5
= var_nodearraylist4
;
4532 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4533 cltype15
= type_nullable_parser_nodes__TAssign
.color
;
4534 idtype16
= type_nullable_parser_nodes__TAssign
.id
;
4535 if(var_tassignnode5
== NULL
) {
4538 if(cltype15
>= var_tassignnode5
->type
->table_size
) {
4541 var14
= var_tassignnode5
->type
->type_table
[cltype15
] == idtype16
;
4544 if (unlikely(!var14
)) {
4545 PRINT_ERROR("Runtime error: %s", "Assert failed");
4546 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6101);
4549 var_pexprnode6
= var_nodearraylist6
;
4550 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4551 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
4552 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
4553 if(var_pexprnode6
== NULL
) {
4556 if(cltype18
>= var_pexprnode6
->type
->table_size
) {
4559 var17
= var_pexprnode6
->type
->type_table
[cltype18
] == idtype19
;
4562 if (unlikely(!var17
)) {
4563 PRINT_ERROR("Runtime error: %s", "Assert failed");
4564 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6103);
4567 var20
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4570 parser_prod__AVardeclExpr__init_avardeclexpr(var20
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, var21
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var20:AVardeclExpr>*/
4572 var_pexprnode1
= var20
;
4573 var_node_list
= var_pexprnode1
;
4574 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction207> */
4576 var23
= parser_work__Parser__go_to(var_p
, var22
);
4579 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4583 /* method parser#ReduceAction207#action for (self: Object, Parser) */
4584 void VIRTUAL_parser__ReduceAction207__action(val
* self
, val
* p0
) {
4585 parser__ReduceAction207__action(self
, p0
); /* Direct call parser#ReduceAction207#action on <self:Object(ReduceAction207)>*/
4588 /* method parser#ReduceAction208#action for (self: ReduceAction208, Parser) */
4589 void parser__ReduceAction208__action(val
* self
, val
* p0
) {
4590 val
* var_p
/* var p: Parser */;
4591 val
* var
/* : null */;
4592 val
* var_node_list
/* var node_list: nullable Object */;
4593 val
* var1
/* : nullable Object */;
4594 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4595 val
* var2
/* : nullable Object */;
4596 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4597 val
* var3
/* : nullable Object */;
4598 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4599 val
* var4
/* : nullable Object */;
4600 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4601 val
* var5
/* : nullable Object */;
4602 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4603 val
* var6
/* : nullable Object */;
4604 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4605 val
* var7
/* : nullable Object */;
4606 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4607 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4608 short int var8
/* : Bool */;
4611 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4612 short int var9
/* : Bool */;
4615 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4616 short int var12
/* : Bool */;
4619 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
4620 short int var15
/* : Bool */;
4623 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4624 short int var18
/* : Bool */;
4627 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4628 short int var21
/* : Bool */;
4631 val
* var24
/* : AVardeclExpr */;
4632 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4633 long var25
/* : Int */;
4634 long var26
/* : Int */;
4637 var_node_list
= var
;
4639 var1
= parser_work__Parser__pop(var_p
);
4641 var_nodearraylist7
= var1
;
4643 var2
= parser_work__Parser__pop(var_p
);
4645 var_nodearraylist6
= var2
;
4647 var3
= parser_work__Parser__pop(var_p
);
4649 var_nodearraylist5
= var3
;
4651 var4
= parser_work__Parser__pop(var_p
);
4653 var_nodearraylist4
= var4
;
4655 var5
= parser_work__Parser__pop(var_p
);
4657 var_nodearraylist3
= var5
;
4659 var6
= parser_work__Parser__pop(var_p
);
4661 var_nodearraylist2
= var6
;
4663 var7
= parser_work__Parser__pop(var_p
);
4665 var_nodearraylist1
= var7
;
4666 var_tkwvarnode2
= var_nodearraylist1
;
4667 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4668 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4669 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4670 if(var_tkwvarnode2
== NULL
) {
4673 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4676 var8
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4679 if (unlikely(!var8
)) {
4680 PRINT_ERROR("Runtime error: %s", "Assert failed");
4681 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6129);
4684 var_tidnode3
= var_nodearraylist2
;
4685 /* <var_tidnode3:nullable Object> isa nullable TId */
4686 cltype10
= type_nullable_parser_nodes__TId
.color
;
4687 idtype11
= type_nullable_parser_nodes__TId
.id
;
4688 if(var_tidnode3
== NULL
) {
4691 if(cltype10
>= var_tidnode3
->type
->table_size
) {
4694 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
4697 if (unlikely(!var9
)) {
4698 PRINT_ERROR("Runtime error: %s", "Assert failed");
4699 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6131);
4702 var_ptypenode4
= var_nodearraylist4
;
4703 /* <var_ptypenode4:nullable Object> isa nullable AType */
4704 cltype13
= type_nullable_parser_nodes__AType
.color
;
4705 idtype14
= type_nullable_parser_nodes__AType
.id
;
4706 if(var_ptypenode4
== NULL
) {
4709 if(cltype13
>= var_ptypenode4
->type
->table_size
) {
4712 var12
= var_ptypenode4
->type
->type_table
[cltype13
] == idtype14
;
4715 if (unlikely(!var12
)) {
4716 PRINT_ERROR("Runtime error: %s", "Assert failed");
4717 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6133);
4720 var_tassignnode5
= var_nodearraylist5
;
4721 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4722 cltype16
= type_nullable_parser_nodes__TAssign
.color
;
4723 idtype17
= type_nullable_parser_nodes__TAssign
.id
;
4724 if(var_tassignnode5
== NULL
) {
4727 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
4730 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
4733 if (unlikely(!var15
)) {
4734 PRINT_ERROR("Runtime error: %s", "Assert failed");
4735 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6135);
4738 var_pexprnode6
= var_nodearraylist7
;
4739 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4740 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
4741 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
4742 if(var_pexprnode6
== NULL
) {
4745 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
4748 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
4751 if (unlikely(!var18
)) {
4752 PRINT_ERROR("Runtime error: %s", "Assert failed");
4753 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6137);
4756 var_pannotationsnode7
= var_nodearraylist3
;
4757 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4758 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
4759 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
4760 if(var_pannotationsnode7
== NULL
) {
4763 if(cltype22
>= var_pannotationsnode7
->type
->table_size
) {
4766 var21
= var_pannotationsnode7
->type
->type_table
[cltype22
] == idtype23
;
4769 if (unlikely(!var21
)) {
4770 PRINT_ERROR("Runtime error: %s", "Assert failed");
4771 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6139);
4774 var24
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4776 parser_prod__AVardeclExpr__init_avardeclexpr(var24
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, var_pannotationsnode7
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var24:AVardeclExpr>*/
4778 var_pexprnode1
= var24
;
4779 var_node_list
= var_pexprnode1
;
4780 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction208> */
4782 var26
= parser_work__Parser__go_to(var_p
, var25
);
4785 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4789 /* method parser#ReduceAction208#action for (self: Object, Parser) */
4790 void VIRTUAL_parser__ReduceAction208__action(val
* self
, val
* p0
) {
4791 parser__ReduceAction208__action(self
, p0
); /* Direct call parser#ReduceAction208#action on <self:Object(ReduceAction208)>*/
4794 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
4795 void parser__ReduceAction209__action(val
* self
, val
* p0
) {
4796 val
* var_p
/* var p: Parser */;
4797 val
* var
/* : null */;
4798 val
* var_node_list
/* var node_list: nullable Object */;
4799 val
* var1
/* : nullable Object */;
4800 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4801 val
* var2
/* : nullable Object */;
4802 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4803 val
* var3
/* : nullable Object */;
4804 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4805 val
* var4
/* : nullable Object */;
4806 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4807 val
* var5
/* : nullable Object */;
4808 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4809 val
* var6
/* : nullable Object */;
4810 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4811 val
* var7
/* : nullable Object */;
4812 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4813 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4814 short int var8
/* : Bool */;
4817 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4818 short int var9
/* : Bool */;
4821 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
4822 short int var12
/* : Bool */;
4825 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4826 short int var15
/* : Bool */;
4829 val
* var18
/* : AAttrAssignExpr */;
4830 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
4831 long var19
/* : Int */;
4832 long var20
/* : Int */;
4835 var_node_list
= var
;
4837 var1
= parser_work__Parser__pop(var_p
);
4839 var_nodearraylist7
= var1
;
4841 var2
= parser_work__Parser__pop(var_p
);
4843 var_nodearraylist6
= var2
;
4845 var3
= parser_work__Parser__pop(var_p
);
4847 var_nodearraylist5
= var3
;
4849 var4
= parser_work__Parser__pop(var_p
);
4851 var_nodearraylist4
= var4
;
4853 var5
= parser_work__Parser__pop(var_p
);
4855 var_nodearraylist3
= var5
;
4857 var6
= parser_work__Parser__pop(var_p
);
4859 var_nodearraylist2
= var6
;
4861 var7
= parser_work__Parser__pop(var_p
);
4863 var_nodearraylist1
= var7
;
4864 var_pexprnode2
= var_nodearraylist1
;
4865 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4866 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4867 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4868 if(var_pexprnode2
== NULL
) {
4871 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4874 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4877 if (unlikely(!var8
)) {
4878 PRINT_ERROR("Runtime error: %s", "Assert failed");
4879 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6165);
4882 var_tattridnode3
= var_nodearraylist5
;
4883 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4884 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
4885 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
4886 if(var_tattridnode3
== NULL
) {
4889 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
4892 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
4895 if (unlikely(!var9
)) {
4896 PRINT_ERROR("Runtime error: %s", "Assert failed");
4897 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6167);
4900 var_tassignnode4
= var_nodearraylist6
;
4901 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
4902 cltype13
= type_nullable_parser_nodes__TAssign
.color
;
4903 idtype14
= type_nullable_parser_nodes__TAssign
.id
;
4904 if(var_tassignnode4
== NULL
) {
4907 if(cltype13
>= var_tassignnode4
->type
->table_size
) {
4910 var12
= var_tassignnode4
->type
->type_table
[cltype13
] == idtype14
;
4913 if (unlikely(!var12
)) {
4914 PRINT_ERROR("Runtime error: %s", "Assert failed");
4915 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6169);
4918 var_pexprnode5
= var_nodearraylist7
;
4919 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4920 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
4921 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
4922 if(var_pexprnode5
== NULL
) {
4925 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
4928 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
4931 if (unlikely(!var15
)) {
4932 PRINT_ERROR("Runtime error: %s", "Assert failed");
4933 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6171);
4936 var18
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
4938 parser_prod__AAttrAssignExpr__init_aattrassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var18:AAttrAssignExpr>*/
4940 var_pexprnode1
= var18
;
4941 var_node_list
= var_pexprnode1
;
4942 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction209> */
4944 var20
= parser_work__Parser__go_to(var_p
, var19
);
4947 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4951 /* method parser#ReduceAction209#action for (self: Object, Parser) */
4952 void VIRTUAL_parser__ReduceAction209__action(val
* self
, val
* p0
) {
4953 parser__ReduceAction209__action(self
, p0
); /* Direct call parser#ReduceAction209#action on <self:Object(ReduceAction209)>*/
4956 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
4957 void parser__ReduceAction210__action(val
* self
, val
* p0
) {
4958 val
* var_p
/* var p: Parser */;
4959 val
* var
/* : null */;
4960 val
* var_node_list
/* var node_list: nullable Object */;
4961 val
* var1
/* : nullable Object */;
4962 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4963 val
* var2
/* : nullable Object */;
4964 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4965 val
* var3
/* : nullable Object */;
4966 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4967 val
* var4
/* : nullable Object */;
4968 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4969 val
* var5
/* : AImplicitSelfExpr */;
4970 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4971 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4972 short int var7
/* : Bool */;
4975 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
4976 short int var8
/* : Bool */;
4979 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4980 short int var11
/* : Bool */;
4983 val
* var14
/* : AAttrAssignExpr */;
4984 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
4985 long var15
/* : Int */;
4986 long var16
/* : Int */;
4989 var_node_list
= var
;
4991 var1
= parser_work__Parser__pop(var_p
);
4993 var_nodearraylist4
= var1
;
4995 var2
= parser_work__Parser__pop(var_p
);
4997 var_nodearraylist3
= var2
;
4999 var3
= parser_work__Parser__pop(var_p
);
5001 var_nodearraylist2
= var3
;
5003 var4
= parser_work__Parser__pop(var_p
);
5005 var_nodearraylist1
= var4
;
5006 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5008 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5012 var_pexprnode2
= var5
;
5013 var_tattridnode3
= var_nodearraylist2
;
5014 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5015 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
5016 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
5017 if(var_tattridnode3
== NULL
) {
5020 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5023 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5026 if (unlikely(!var7
)) {
5027 PRINT_ERROR("Runtime error: %s", "Assert failed");
5028 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6193);
5031 var_tassignnode4
= var_nodearraylist3
;
5032 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
5033 cltype9
= type_nullable_parser_nodes__TAssign
.color
;
5034 idtype10
= type_nullable_parser_nodes__TAssign
.id
;
5035 if(var_tassignnode4
== NULL
) {
5038 if(cltype9
>= var_tassignnode4
->type
->table_size
) {
5041 var8
= var_tassignnode4
->type
->type_table
[cltype9
] == idtype10
;
5044 if (unlikely(!var8
)) {
5045 PRINT_ERROR("Runtime error: %s", "Assert failed");
5046 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6195);
5049 var_pexprnode5
= var_nodearraylist4
;
5050 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5051 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
5052 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
5053 if(var_pexprnode5
== NULL
) {
5056 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
5059 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
5062 if (unlikely(!var11
)) {
5063 PRINT_ERROR("Runtime error: %s", "Assert failed");
5064 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6197);
5067 var14
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
5069 parser_prod__AAttrAssignExpr__init_aattrassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var14:AAttrAssignExpr>*/
5071 var_pexprnode1
= var14
;
5072 var_node_list
= var_pexprnode1
;
5073 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction210> */
5075 var16
= parser_work__Parser__go_to(var_p
, var15
);
5078 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5082 /* method parser#ReduceAction210#action for (self: Object, Parser) */
5083 void VIRTUAL_parser__ReduceAction210__action(val
* self
, val
* p0
) {
5084 parser__ReduceAction210__action(self
, p0
); /* Direct call parser#ReduceAction210#action on <self:Object(ReduceAction210)>*/
5087 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
5088 void parser__ReduceAction211__action(val
* self
, val
* p0
) {
5089 val
* var_p
/* var p: Parser */;
5090 val
* var
/* : null */;
5091 val
* var_node_list
/* var node_list: nullable Object */;
5092 val
* var1
/* : nullable Object */;
5093 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5094 val
* var2
/* : nullable Object */;
5095 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5096 val
* var3
/* : nullable Object */;
5097 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5098 val
* var4
/* : nullable Object */;
5099 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5100 val
* var5
/* : nullable Object */;
5101 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5102 val
* var6
/* : nullable Object */;
5103 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5104 val
* var7
/* : nullable Object */;
5105 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5106 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5107 short int var8
/* : Bool */;
5110 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5111 short int var9
/* : Bool */;
5114 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5115 short int var12
/* : Bool */;
5118 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5119 short int var15
/* : Bool */;
5122 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5123 short int var18
/* : Bool */;
5126 val
* var21
/* : ACallAssignExpr */;
5127 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5128 long var22
/* : Int */;
5129 long var23
/* : Int */;
5132 var_node_list
= var
;
5134 var1
= parser_work__Parser__pop(var_p
);
5136 var_nodearraylist7
= var1
;
5138 var2
= parser_work__Parser__pop(var_p
);
5140 var_nodearraylist6
= var2
;
5142 var3
= parser_work__Parser__pop(var_p
);
5144 var_nodearraylist5
= var3
;
5146 var4
= parser_work__Parser__pop(var_p
);
5148 var_nodearraylist4
= var4
;
5150 var5
= parser_work__Parser__pop(var_p
);
5152 var_nodearraylist3
= var5
;
5154 var6
= parser_work__Parser__pop(var_p
);
5156 var_nodearraylist2
= var6
;
5158 var7
= parser_work__Parser__pop(var_p
);
5160 var_nodearraylist1
= var7
;
5161 var_pexprnode2
= var_nodearraylist1
;
5162 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5163 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5164 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5165 if(var_pexprnode2
== NULL
) {
5168 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5171 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5174 if (unlikely(!var8
)) {
5175 PRINT_ERROR("Runtime error: %s", "Assert failed");
5176 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6221);
5179 var_tidnode3
= var_nodearraylist4
;
5180 /* <var_tidnode3:nullable Object> isa nullable TId */
5181 cltype10
= type_nullable_parser_nodes__TId
.color
;
5182 idtype11
= type_nullable_parser_nodes__TId
.id
;
5183 if(var_tidnode3
== NULL
) {
5186 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5189 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5192 if (unlikely(!var9
)) {
5193 PRINT_ERROR("Runtime error: %s", "Assert failed");
5194 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6223);
5197 var_pexprsnode4
= var_nodearraylist5
;
5198 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5199 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
5200 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
5201 if(var_pexprsnode4
== NULL
) {
5204 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
5207 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
5210 if (unlikely(!var12
)) {
5211 PRINT_ERROR("Runtime error: %s", "Assert failed");
5212 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6225);
5215 var_tassignnode5
= var_nodearraylist6
;
5216 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5217 cltype16
= type_nullable_parser_nodes__TAssign
.color
;
5218 idtype17
= type_nullable_parser_nodes__TAssign
.id
;
5219 if(var_tassignnode5
== NULL
) {
5222 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
5225 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
5228 if (unlikely(!var15
)) {
5229 PRINT_ERROR("Runtime error: %s", "Assert failed");
5230 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6227);
5233 var_pexprnode6
= var_nodearraylist7
;
5234 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5235 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
5236 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
5237 if(var_pexprnode6
== NULL
) {
5240 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
5243 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
5246 if (unlikely(!var18
)) {
5247 PRINT_ERROR("Runtime error: %s", "Assert failed");
5248 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6229);
5251 var21
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5253 parser_prod__ACallAssignExpr__init_acallassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var21:ACallAssignExpr>*/
5255 var_pexprnode1
= var21
;
5256 var_node_list
= var_pexprnode1
;
5257 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction211> */
5259 var23
= parser_work__Parser__go_to(var_p
, var22
);
5262 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5266 /* method parser#ReduceAction211#action for (self: Object, Parser) */
5267 void VIRTUAL_parser__ReduceAction211__action(val
* self
, val
* p0
) {
5268 parser__ReduceAction211__action(self
, p0
); /* Direct call parser#ReduceAction211#action on <self:Object(ReduceAction211)>*/
5271 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
5272 void parser__ReduceAction212__action(val
* self
, val
* p0
) {
5273 val
* var_p
/* var p: Parser */;
5274 val
* var
/* : null */;
5275 val
* var_node_list
/* var node_list: nullable Object */;
5276 val
* var1
/* : nullable Object */;
5277 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5278 val
* var2
/* : nullable Object */;
5279 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5280 val
* var3
/* : nullable Object */;
5281 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5282 val
* var4
/* : nullable Object */;
5283 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5284 val
* var5
/* : nullable Object */;
5285 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5286 val
* var6
/* : nullable Object */;
5287 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5288 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5289 short int var7
/* : Bool */;
5292 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5293 short int var8
/* : Bool */;
5296 val
* var11
/* : Array[Object] */;
5297 val
* var_listnode5
/* var listnode5: Array[Object] */;
5298 val
* var12
/* : AListExprs */;
5299 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5300 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
5301 short int var13
/* : Bool */;
5304 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
5305 short int var16
/* : Bool */;
5308 val
* var19
/* : ACallAssignExpr */;
5309 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5310 long var20
/* : Int */;
5311 long var21
/* : Int */;
5314 var_node_list
= var
;
5316 var1
= parser_work__Parser__pop(var_p
);
5318 var_nodearraylist6
= var1
;
5320 var2
= parser_work__Parser__pop(var_p
);
5322 var_nodearraylist5
= var2
;
5324 var3
= parser_work__Parser__pop(var_p
);
5326 var_nodearraylist4
= var3
;
5328 var4
= parser_work__Parser__pop(var_p
);
5330 var_nodearraylist3
= var4
;
5332 var5
= parser_work__Parser__pop(var_p
);
5334 var_nodearraylist2
= var5
;
5336 var6
= parser_work__Parser__pop(var_p
);
5338 var_nodearraylist1
= var6
;
5339 var_pexprnode2
= var_nodearraylist1
;
5340 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5341 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5342 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5343 if(var_pexprnode2
== NULL
) {
5346 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5349 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5352 if (unlikely(!var7
)) {
5353 PRINT_ERROR("Runtime error: %s", "Assert failed");
5354 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6253);
5357 var_tidnode3
= var_nodearraylist4
;
5358 /* <var_tidnode3:nullable Object> isa nullable TId */
5359 cltype9
= type_nullable_parser_nodes__TId
.color
;
5360 idtype10
= type_nullable_parser_nodes__TId
.id
;
5361 if(var_tidnode3
== NULL
) {
5364 if(cltype9
>= var_tidnode3
->type
->table_size
) {
5367 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
5370 if (unlikely(!var8
)) {
5371 PRINT_ERROR("Runtime error: %s", "Assert failed");
5372 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6255);
5375 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
5377 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
5379 var_listnode5
= var11
;
5380 var12
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5382 parser_prod__AListExprs__init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
5384 var_pexprsnode4
= var12
;
5385 var_tassignnode6
= var_nodearraylist5
;
5386 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
5387 cltype14
= type_nullable_parser_nodes__TAssign
.color
;
5388 idtype15
= type_nullable_parser_nodes__TAssign
.id
;
5389 if(var_tassignnode6
== NULL
) {
5392 if(cltype14
>= var_tassignnode6
->type
->table_size
) {
5395 var13
= var_tassignnode6
->type
->type_table
[cltype14
] == idtype15
;
5398 if (unlikely(!var13
)) {
5399 PRINT_ERROR("Runtime error: %s", "Assert failed");
5400 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6261);
5403 var_pexprnode7
= var_nodearraylist6
;
5404 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
5405 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
5406 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
5407 if(var_pexprnode7
== NULL
) {
5410 if(cltype17
>= var_pexprnode7
->type
->table_size
) {
5413 var16
= var_pexprnode7
->type
->type_table
[cltype17
] == idtype18
;
5416 if (unlikely(!var16
)) {
5417 PRINT_ERROR("Runtime error: %s", "Assert failed");
5418 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6263);
5421 var19
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5423 parser_prod__ACallAssignExpr__init_acallassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var19:ACallAssignExpr>*/
5425 var_pexprnode1
= var19
;
5426 var_node_list
= var_pexprnode1
;
5427 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction212> */
5429 var21
= parser_work__Parser__go_to(var_p
, var20
);
5432 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5436 /* method parser#ReduceAction212#action for (self: Object, Parser) */
5437 void VIRTUAL_parser__ReduceAction212__action(val
* self
, val
* p0
) {
5438 parser__ReduceAction212__action(self
, p0
); /* Direct call parser#ReduceAction212#action on <self:Object(ReduceAction212)>*/
5441 /* method parser#ReduceAction213#action for (self: ReduceAction213, Parser) */
5442 void parser__ReduceAction213__action(val
* self
, val
* p0
) {
5443 val
* var_p
/* var p: Parser */;
5444 val
* var
/* : null */;
5445 val
* var_node_list
/* var node_list: nullable Object */;
5446 val
* var1
/* : nullable Object */;
5447 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5448 val
* var2
/* : nullable Object */;
5449 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5450 val
* var3
/* : nullable Object */;
5451 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5452 val
* var4
/* : nullable Object */;
5453 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5454 val
* var5
/* : nullable Object */;
5455 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5456 val
* var6
/* : nullable Object */;
5457 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5458 val
* var7
/* : nullable Object */;
5459 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5460 val
* var8
/* : nullable Object */;
5461 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5462 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5463 short int var9
/* : Bool */;
5466 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5467 short int var10
/* : Bool */;
5470 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5471 short int var13
/* : Bool */;
5474 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5475 short int var16
/* : Bool */;
5478 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5479 short int var19
/* : Bool */;
5482 val
* var22
/* : ACallAssignExpr */;
5483 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5484 long var23
/* : Int */;
5485 long var24
/* : Int */;
5488 var_node_list
= var
;
5490 var1
= parser_work__Parser__pop(var_p
);
5492 var_nodearraylist8
= var1
;
5494 var2
= parser_work__Parser__pop(var_p
);
5496 var_nodearraylist7
= var2
;
5498 var3
= parser_work__Parser__pop(var_p
);
5500 var_nodearraylist6
= var3
;
5502 var4
= parser_work__Parser__pop(var_p
);
5504 var_nodearraylist5
= var4
;
5506 var5
= parser_work__Parser__pop(var_p
);
5508 var_nodearraylist4
= var5
;
5510 var6
= parser_work__Parser__pop(var_p
);
5512 var_nodearraylist3
= var6
;
5514 var7
= parser_work__Parser__pop(var_p
);
5516 var_nodearraylist2
= var7
;
5518 var8
= parser_work__Parser__pop(var_p
);
5520 var_nodearraylist1
= var8
;
5521 var_pexprnode2
= var_nodearraylist1
;
5522 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5523 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5524 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5525 if(var_pexprnode2
== NULL
) {
5528 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5531 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5534 if (unlikely(!var9
)) {
5535 PRINT_ERROR("Runtime error: %s", "Assert failed");
5536 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6289);
5539 var_tidnode3
= var_nodearraylist5
;
5540 /* <var_tidnode3:nullable Object> isa nullable TId */
5541 cltype11
= type_nullable_parser_nodes__TId
.color
;
5542 idtype12
= type_nullable_parser_nodes__TId
.id
;
5543 if(var_tidnode3
== NULL
) {
5546 if(cltype11
>= var_tidnode3
->type
->table_size
) {
5549 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
5552 if (unlikely(!var10
)) {
5553 PRINT_ERROR("Runtime error: %s", "Assert failed");
5554 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6291);
5557 var_pexprsnode4
= var_nodearraylist6
;
5558 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5559 cltype14
= type_nullable_parser_nodes__AExprs
.color
;
5560 idtype15
= type_nullable_parser_nodes__AExprs
.id
;
5561 if(var_pexprsnode4
== NULL
) {
5564 if(cltype14
>= var_pexprsnode4
->type
->table_size
) {
5567 var13
= var_pexprsnode4
->type
->type_table
[cltype14
] == idtype15
;
5570 if (unlikely(!var13
)) {
5571 PRINT_ERROR("Runtime error: %s", "Assert failed");
5572 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6293);
5575 var_tassignnode5
= var_nodearraylist7
;
5576 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5577 cltype17
= type_nullable_parser_nodes__TAssign
.color
;
5578 idtype18
= type_nullable_parser_nodes__TAssign
.id
;
5579 if(var_tassignnode5
== NULL
) {
5582 if(cltype17
>= var_tassignnode5
->type
->table_size
) {
5585 var16
= var_tassignnode5
->type
->type_table
[cltype17
] == idtype18
;
5588 if (unlikely(!var16
)) {
5589 PRINT_ERROR("Runtime error: %s", "Assert failed");
5590 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6295);
5593 var_pexprnode6
= var_nodearraylist8
;
5594 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5595 cltype20
= type_nullable_parser_nodes__AExpr
.color
;
5596 idtype21
= type_nullable_parser_nodes__AExpr
.id
;
5597 if(var_pexprnode6
== NULL
) {
5600 if(cltype20
>= var_pexprnode6
->type
->table_size
) {
5603 var19
= var_pexprnode6
->type
->type_table
[cltype20
] == idtype21
;
5606 if (unlikely(!var19
)) {
5607 PRINT_ERROR("Runtime error: %s", "Assert failed");
5608 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6297);
5611 var22
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5613 parser_prod__ACallAssignExpr__init_acallassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var22:ACallAssignExpr>*/
5615 var_pexprnode1
= var22
;
5616 var_node_list
= var_pexprnode1
;
5617 var23
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction213> */
5619 var24
= parser_work__Parser__go_to(var_p
, var23
);
5622 parser_work__Parser__push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5626 /* method parser#ReduceAction213#action for (self: Object, Parser) */
5627 void VIRTUAL_parser__ReduceAction213__action(val
* self
, val
* p0
) {
5628 parser__ReduceAction213__action(self
, p0
); /* Direct call parser#ReduceAction213#action on <self:Object(ReduceAction213)>*/
5631 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
5632 void parser__ReduceAction214__action(val
* self
, val
* p0
) {
5633 val
* var_p
/* var p: Parser */;
5634 val
* var
/* : null */;
5635 val
* var_node_list
/* var node_list: nullable Object */;
5636 val
* var1
/* : nullable Object */;
5637 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5638 val
* var2
/* : nullable Object */;
5639 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5640 val
* var3
/* : nullable Object */;
5641 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5642 val
* var4
/* : nullable Object */;
5643 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5644 val
* var5
/* : nullable Object */;
5645 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5646 val
* var6
/* : nullable Object */;
5647 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5648 val
* var7
/* : nullable Object */;
5649 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5650 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5651 short int var8
/* : Bool */;
5654 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5655 short int var9
/* : Bool */;
5658 val
* var12
/* : Array[Object] */;
5659 val
* var_listnode5
/* var listnode5: Array[Object] */;
5660 val
* var13
/* : AListExprs */;
5661 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5662 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
5663 short int var14
/* : Bool */;
5666 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
5667 short int var17
/* : Bool */;
5670 val
* var20
/* : ACallAssignExpr */;
5671 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5672 long var21
/* : Int */;
5673 long var22
/* : Int */;
5676 var_node_list
= var
;
5678 var1
= parser_work__Parser__pop(var_p
);
5680 var_nodearraylist7
= var1
;
5682 var2
= parser_work__Parser__pop(var_p
);
5684 var_nodearraylist6
= var2
;
5686 var3
= parser_work__Parser__pop(var_p
);
5688 var_nodearraylist5
= var3
;
5690 var4
= parser_work__Parser__pop(var_p
);
5692 var_nodearraylist4
= var4
;
5694 var5
= parser_work__Parser__pop(var_p
);
5696 var_nodearraylist3
= var5
;
5698 var6
= parser_work__Parser__pop(var_p
);
5700 var_nodearraylist2
= var6
;
5702 var7
= parser_work__Parser__pop(var_p
);
5704 var_nodearraylist1
= var7
;
5705 var_pexprnode2
= var_nodearraylist1
;
5706 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5707 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5708 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5709 if(var_pexprnode2
== NULL
) {
5712 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5715 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5718 if (unlikely(!var8
)) {
5719 PRINT_ERROR("Runtime error: %s", "Assert failed");
5720 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6322);
5723 var_tidnode3
= var_nodearraylist5
;
5724 /* <var_tidnode3:nullable Object> isa nullable TId */
5725 cltype10
= type_nullable_parser_nodes__TId
.color
;
5726 idtype11
= type_nullable_parser_nodes__TId
.id
;
5727 if(var_tidnode3
== NULL
) {
5730 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5733 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5736 if (unlikely(!var9
)) {
5737 PRINT_ERROR("Runtime error: %s", "Assert failed");
5738 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6324);
5741 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
5743 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
5745 var_listnode5
= var12
;
5746 var13
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5748 parser_prod__AListExprs__init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
5750 var_pexprsnode4
= var13
;
5751 var_tassignnode6
= var_nodearraylist6
;
5752 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
5753 cltype15
= type_nullable_parser_nodes__TAssign
.color
;
5754 idtype16
= type_nullable_parser_nodes__TAssign
.id
;
5755 if(var_tassignnode6
== NULL
) {
5758 if(cltype15
>= var_tassignnode6
->type
->table_size
) {
5761 var14
= var_tassignnode6
->type
->type_table
[cltype15
] == idtype16
;
5764 if (unlikely(!var14
)) {
5765 PRINT_ERROR("Runtime error: %s", "Assert failed");
5766 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6330);
5769 var_pexprnode7
= var_nodearraylist7
;
5770 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
5771 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
5772 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
5773 if(var_pexprnode7
== NULL
) {
5776 if(cltype18
>= var_pexprnode7
->type
->table_size
) {
5779 var17
= var_pexprnode7
->type
->type_table
[cltype18
] == idtype19
;
5782 if (unlikely(!var17
)) {
5783 PRINT_ERROR("Runtime error: %s", "Assert failed");
5784 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6332);
5787 var20
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5789 parser_prod__ACallAssignExpr__init_acallassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var20:ACallAssignExpr>*/
5791 var_pexprnode1
= var20
;
5792 var_node_list
= var_pexprnode1
;
5793 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction214> */
5795 var22
= parser_work__Parser__go_to(var_p
, var21
);
5798 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5802 /* method parser#ReduceAction214#action for (self: Object, Parser) */
5803 void VIRTUAL_parser__ReduceAction214__action(val
* self
, val
* p0
) {
5804 parser__ReduceAction214__action(self
, p0
); /* Direct call parser#ReduceAction214#action on <self:Object(ReduceAction214)>*/
5807 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
5808 void parser__ReduceAction215__action(val
* self
, val
* p0
) {
5809 val
* var_p
/* var p: Parser */;
5810 val
* var
/* : null */;
5811 val
* var_node_list
/* var node_list: nullable Object */;
5812 val
* var1
/* : nullable Object */;
5813 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5814 val
* var2
/* : nullable Object */;
5815 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5816 val
* var3
/* : nullable Object */;
5817 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5818 val
* var4
/* : nullable Object */;
5819 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5820 val
* var5
/* : nullable Object */;
5821 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5822 val
* var6
/* : nullable Object */;
5823 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5824 val
* var7
/* : nullable Object */;
5825 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5826 val
* var8
/* : nullable Object */;
5827 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5828 val
* var9
/* : nullable Object */;
5829 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5830 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5831 short int var10
/* : Bool */;
5834 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5835 short int var11
/* : Bool */;
5838 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5839 short int var14
/* : Bool */;
5842 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5843 short int var17
/* : Bool */;
5846 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5847 short int var20
/* : Bool */;
5850 val
* var23
/* : ACallAssignExpr */;
5851 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5852 long var24
/* : Int */;
5853 long var25
/* : Int */;
5856 var_node_list
= var
;
5858 var1
= parser_work__Parser__pop(var_p
);
5860 var_nodearraylist9
= var1
;
5862 var2
= parser_work__Parser__pop(var_p
);
5864 var_nodearraylist8
= var2
;
5866 var3
= parser_work__Parser__pop(var_p
);
5868 var_nodearraylist7
= var3
;
5870 var4
= parser_work__Parser__pop(var_p
);
5872 var_nodearraylist6
= var4
;
5874 var5
= parser_work__Parser__pop(var_p
);
5876 var_nodearraylist5
= var5
;
5878 var6
= parser_work__Parser__pop(var_p
);
5880 var_nodearraylist4
= var6
;
5882 var7
= parser_work__Parser__pop(var_p
);
5884 var_nodearraylist3
= var7
;
5886 var8
= parser_work__Parser__pop(var_p
);
5888 var_nodearraylist2
= var8
;
5890 var9
= parser_work__Parser__pop(var_p
);
5892 var_nodearraylist1
= var9
;
5893 var_pexprnode2
= var_nodearraylist1
;
5894 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5895 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5896 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5897 if(var_pexprnode2
== NULL
) {
5900 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5903 var10
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5906 if (unlikely(!var10
)) {
5907 PRINT_ERROR("Runtime error: %s", "Assert failed");
5908 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6359);
5911 var_tidnode3
= var_nodearraylist6
;
5912 /* <var_tidnode3:nullable Object> isa nullable TId */
5913 cltype12
= type_nullable_parser_nodes__TId
.color
;
5914 idtype13
= type_nullable_parser_nodes__TId
.id
;
5915 if(var_tidnode3
== NULL
) {
5918 if(cltype12
>= var_tidnode3
->type
->table_size
) {
5921 var11
= var_tidnode3
->type
->type_table
[cltype12
] == idtype13
;
5924 if (unlikely(!var11
)) {
5925 PRINT_ERROR("Runtime error: %s", "Assert failed");
5926 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6361);
5929 var_pexprsnode4
= var_nodearraylist7
;
5930 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5931 cltype15
= type_nullable_parser_nodes__AExprs
.color
;
5932 idtype16
= type_nullable_parser_nodes__AExprs
.id
;
5933 if(var_pexprsnode4
== NULL
) {
5936 if(cltype15
>= var_pexprsnode4
->type
->table_size
) {
5939 var14
= var_pexprsnode4
->type
->type_table
[cltype15
] == idtype16
;
5942 if (unlikely(!var14
)) {
5943 PRINT_ERROR("Runtime error: %s", "Assert failed");
5944 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6363);
5947 var_tassignnode5
= var_nodearraylist8
;
5948 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5949 cltype18
= type_nullable_parser_nodes__TAssign
.color
;
5950 idtype19
= type_nullable_parser_nodes__TAssign
.id
;
5951 if(var_tassignnode5
== NULL
) {
5954 if(cltype18
>= var_tassignnode5
->type
->table_size
) {
5957 var17
= var_tassignnode5
->type
->type_table
[cltype18
] == idtype19
;
5960 if (unlikely(!var17
)) {
5961 PRINT_ERROR("Runtime error: %s", "Assert failed");
5962 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6365);
5965 var_pexprnode6
= var_nodearraylist9
;
5966 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5967 cltype21
= type_nullable_parser_nodes__AExpr
.color
;
5968 idtype22
= type_nullable_parser_nodes__AExpr
.id
;
5969 if(var_pexprnode6
== NULL
) {
5972 if(cltype21
>= var_pexprnode6
->type
->table_size
) {
5975 var20
= var_pexprnode6
->type
->type_table
[cltype21
] == idtype22
;
5978 if (unlikely(!var20
)) {
5979 PRINT_ERROR("Runtime error: %s", "Assert failed");
5980 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6367);
5983 var23
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5985 parser_prod__ACallAssignExpr__init_acallassignexpr(var23
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var23:ACallAssignExpr>*/
5987 var_pexprnode1
= var23
;
5988 var_node_list
= var_pexprnode1
;
5989 var24
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction215> */
5991 var25
= parser_work__Parser__go_to(var_p
, var24
);
5994 parser_work__Parser__push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5998 /* method parser#ReduceAction215#action for (self: Object, Parser) */
5999 void VIRTUAL_parser__ReduceAction215__action(val
* self
, val
* p0
) {
6000 parser__ReduceAction215__action(self
, p0
); /* Direct call parser#ReduceAction215#action on <self:Object(ReduceAction215)>*/
6003 /* method parser#ReduceAction216#action for (self: ReduceAction216, Parser) */
6004 void parser__ReduceAction216__action(val
* self
, val
* p0
) {
6005 val
* var_p
/* var p: Parser */;
6006 val
* var
/* : null */;
6007 val
* var_node_list
/* var node_list: nullable Object */;
6008 val
* var1
/* : nullable Object */;
6009 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6010 val
* var2
/* : nullable Object */;
6011 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6012 val
* var3
/* : nullable Object */;
6013 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6014 val
* var4
/* : nullable Object */;
6015 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6016 val
* var5
/* : nullable Object */;
6017 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6018 val
* var6
/* : nullable Object */;
6019 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6020 val
* var7
/* : nullable Object */;
6021 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6022 val
* var8
/* : nullable Object */;
6023 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6024 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6025 short int var9
/* : Bool */;
6028 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6029 short int var10
/* : Bool */;
6032 val
* var13
/* : Array[Object] */;
6033 val
* var_listnode5
/* var listnode5: Array[Object] */;
6034 val
* var14
/* : AListExprs */;
6035 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6036 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6037 short int var15
/* : Bool */;
6040 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6041 short int var18
/* : Bool */;
6044 val
* var21
/* : ACallAssignExpr */;
6045 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6046 long var22
/* : Int */;
6047 long var23
/* : Int */;
6050 var_node_list
= var
;
6052 var1
= parser_work__Parser__pop(var_p
);
6054 var_nodearraylist8
= var1
;
6056 var2
= parser_work__Parser__pop(var_p
);
6058 var_nodearraylist7
= var2
;
6060 var3
= parser_work__Parser__pop(var_p
);
6062 var_nodearraylist6
= var3
;
6064 var4
= parser_work__Parser__pop(var_p
);
6066 var_nodearraylist5
= var4
;
6068 var5
= parser_work__Parser__pop(var_p
);
6070 var_nodearraylist4
= var5
;
6072 var6
= parser_work__Parser__pop(var_p
);
6074 var_nodearraylist3
= var6
;
6076 var7
= parser_work__Parser__pop(var_p
);
6078 var_nodearraylist2
= var7
;
6080 var8
= parser_work__Parser__pop(var_p
);
6082 var_nodearraylist1
= var8
;
6083 var_pexprnode2
= var_nodearraylist1
;
6084 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6085 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6086 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6087 if(var_pexprnode2
== NULL
) {
6090 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6093 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6096 if (unlikely(!var9
)) {
6097 PRINT_ERROR("Runtime error: %s", "Assert failed");
6098 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6393);
6101 var_tidnode3
= var_nodearraylist6
;
6102 /* <var_tidnode3:nullable Object> isa nullable TId */
6103 cltype11
= type_nullable_parser_nodes__TId
.color
;
6104 idtype12
= type_nullable_parser_nodes__TId
.id
;
6105 if(var_tidnode3
== NULL
) {
6108 if(cltype11
>= var_tidnode3
->type
->table_size
) {
6111 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
6114 if (unlikely(!var10
)) {
6115 PRINT_ERROR("Runtime error: %s", "Assert failed");
6116 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6395);
6119 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
6121 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
6123 var_listnode5
= var13
;
6124 var14
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6126 parser_prod__AListExprs__init_alistexprs(var14
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
6128 var_pexprsnode4
= var14
;
6129 var_tassignnode6
= var_nodearraylist7
;
6130 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6131 cltype16
= type_nullable_parser_nodes__TAssign
.color
;
6132 idtype17
= type_nullable_parser_nodes__TAssign
.id
;
6133 if(var_tassignnode6
== NULL
) {
6136 if(cltype16
>= var_tassignnode6
->type
->table_size
) {
6139 var15
= var_tassignnode6
->type
->type_table
[cltype16
] == idtype17
;
6142 if (unlikely(!var15
)) {
6143 PRINT_ERROR("Runtime error: %s", "Assert failed");
6144 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6401);
6147 var_pexprnode7
= var_nodearraylist8
;
6148 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6149 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
6150 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
6151 if(var_pexprnode7
== NULL
) {
6154 if(cltype19
>= var_pexprnode7
->type
->table_size
) {
6157 var18
= var_pexprnode7
->type
->type_table
[cltype19
] == idtype20
;
6160 if (unlikely(!var18
)) {
6161 PRINT_ERROR("Runtime error: %s", "Assert failed");
6162 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6403);
6165 var21
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6167 parser_prod__ACallAssignExpr__init_acallassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var21:ACallAssignExpr>*/
6169 var_pexprnode1
= var21
;
6170 var_node_list
= var_pexprnode1
;
6171 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction216> */
6173 var23
= parser_work__Parser__go_to(var_p
, var22
);
6176 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6180 /* method parser#ReduceAction216#action for (self: Object, Parser) */
6181 void VIRTUAL_parser__ReduceAction216__action(val
* self
, val
* p0
) {
6182 parser__ReduceAction216__action(self
, p0
); /* Direct call parser#ReduceAction216#action on <self:Object(ReduceAction216)>*/
6185 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
6186 void parser__ReduceAction219__action(val
* self
, val
* p0
) {
6187 val
* var_p
/* var p: Parser */;
6188 val
* var
/* : null */;
6189 val
* var_node_list
/* var node_list: nullable Object */;
6190 val
* var1
/* : nullable Object */;
6191 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6192 val
* var2
/* : nullable Object */;
6193 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6194 val
* var3
/* : nullable Object */;
6195 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6196 val
* var4
/* : nullable Object */;
6197 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6198 val
* var5
/* : AImplicitSelfExpr */;
6199 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6200 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6201 short int var7
/* : Bool */;
6204 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6205 short int var8
/* : Bool */;
6208 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6209 short int var11
/* : Bool */;
6212 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6213 short int var14
/* : Bool */;
6216 val
* var17
/* : ACallAssignExpr */;
6217 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6218 long var18
/* : Int */;
6219 long var19
/* : Int */;
6222 var_node_list
= var
;
6224 var1
= parser_work__Parser__pop(var_p
);
6226 var_nodearraylist4
= var1
;
6228 var2
= parser_work__Parser__pop(var_p
);
6230 var_nodearraylist3
= var2
;
6232 var3
= parser_work__Parser__pop(var_p
);
6234 var_nodearraylist2
= var3
;
6236 var4
= parser_work__Parser__pop(var_p
);
6238 var_nodearraylist1
= var4
;
6239 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6241 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
6245 var_pexprnode2
= var5
;
6246 var_tidnode3
= var_nodearraylist1
;
6247 /* <var_tidnode3:nullable Object> isa nullable TId */
6248 cltype
= type_nullable_parser_nodes__TId
.color
;
6249 idtype
= type_nullable_parser_nodes__TId
.id
;
6250 if(var_tidnode3
== NULL
) {
6253 if(cltype
>= var_tidnode3
->type
->table_size
) {
6256 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6259 if (unlikely(!var7
)) {
6260 PRINT_ERROR("Runtime error: %s", "Assert failed");
6261 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6426);
6264 var_pexprsnode4
= var_nodearraylist2
;
6265 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6266 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
6267 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
6268 if(var_pexprsnode4
== NULL
) {
6271 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
6274 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
6277 if (unlikely(!var8
)) {
6278 PRINT_ERROR("Runtime error: %s", "Assert failed");
6279 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6428);
6282 var_tassignnode5
= var_nodearraylist3
;
6283 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6284 cltype12
= type_nullable_parser_nodes__TAssign
.color
;
6285 idtype13
= type_nullable_parser_nodes__TAssign
.id
;
6286 if(var_tassignnode5
== NULL
) {
6289 if(cltype12
>= var_tassignnode5
->type
->table_size
) {
6292 var11
= var_tassignnode5
->type
->type_table
[cltype12
] == idtype13
;
6295 if (unlikely(!var11
)) {
6296 PRINT_ERROR("Runtime error: %s", "Assert failed");
6297 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6430);
6300 var_pexprnode6
= var_nodearraylist4
;
6301 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6302 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
6303 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
6304 if(var_pexprnode6
== NULL
) {
6307 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
6310 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
6313 if (unlikely(!var14
)) {
6314 PRINT_ERROR("Runtime error: %s", "Assert failed");
6315 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6432);
6318 var17
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6320 parser_prod__ACallAssignExpr__init_acallassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var17:ACallAssignExpr>*/
6322 var_pexprnode1
= var17
;
6323 var_node_list
= var_pexprnode1
;
6324 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction219> */
6326 var19
= parser_work__Parser__go_to(var_p
, var18
);
6329 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6333 /* method parser#ReduceAction219#action for (self: Object, Parser) */
6334 void VIRTUAL_parser__ReduceAction219__action(val
* self
, val
* p0
) {
6335 parser__ReduceAction219__action(self
, p0
); /* Direct call parser#ReduceAction219#action on <self:Object(ReduceAction219)>*/
6338 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
6339 void parser__ReduceAction220__action(val
* self
, val
* p0
) {
6340 val
* var_p
/* var p: Parser */;
6341 val
* var
/* : null */;
6342 val
* var_node_list
/* var node_list: nullable Object */;
6343 val
* var1
/* : nullable Object */;
6344 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6345 val
* var2
/* : nullable Object */;
6346 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6347 val
* var3
/* : nullable Object */;
6348 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6349 val
* var4
/* : AImplicitSelfExpr */;
6350 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6351 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6352 short int var6
/* : Bool */;
6355 val
* var7
/* : Array[Object] */;
6356 val
* var_listnode5
/* var listnode5: Array[Object] */;
6357 val
* var8
/* : AListExprs */;
6358 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6359 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6360 short int var9
/* : Bool */;
6363 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6364 short int var12
/* : Bool */;
6367 val
* var15
/* : ACallAssignExpr */;
6368 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6369 long var16
/* : Int */;
6370 long var17
/* : Int */;
6373 var_node_list
= var
;
6375 var1
= parser_work__Parser__pop(var_p
);
6377 var_nodearraylist3
= var1
;
6379 var2
= parser_work__Parser__pop(var_p
);
6381 var_nodearraylist2
= var2
;
6383 var3
= parser_work__Parser__pop(var_p
);
6385 var_nodearraylist1
= var3
;
6386 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6388 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
6392 var_pexprnode2
= var4
;
6393 var_tidnode3
= var_nodearraylist1
;
6394 /* <var_tidnode3:nullable Object> isa nullable TId */
6395 cltype
= type_nullable_parser_nodes__TId
.color
;
6396 idtype
= type_nullable_parser_nodes__TId
.id
;
6397 if(var_tidnode3
== NULL
) {
6400 if(cltype
>= var_tidnode3
->type
->table_size
) {
6403 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6406 if (unlikely(!var6
)) {
6407 PRINT_ERROR("Runtime error: %s", "Assert failed");
6408 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6454);
6411 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6413 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6415 var_listnode5
= var7
;
6416 var8
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6418 parser_prod__AListExprs__init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6420 var_pexprsnode4
= var8
;
6421 var_tassignnode6
= var_nodearraylist2
;
6422 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6423 cltype10
= type_nullable_parser_nodes__TAssign
.color
;
6424 idtype11
= type_nullable_parser_nodes__TAssign
.id
;
6425 if(var_tassignnode6
== NULL
) {
6428 if(cltype10
>= var_tassignnode6
->type
->table_size
) {
6431 var9
= var_tassignnode6
->type
->type_table
[cltype10
] == idtype11
;
6434 if (unlikely(!var9
)) {
6435 PRINT_ERROR("Runtime error: %s", "Assert failed");
6436 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6460);
6439 var_pexprnode7
= var_nodearraylist3
;
6440 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6441 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
6442 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
6443 if(var_pexprnode7
== NULL
) {
6446 if(cltype13
>= var_pexprnode7
->type
->table_size
) {
6449 var12
= var_pexprnode7
->type
->type_table
[cltype13
] == idtype14
;
6452 if (unlikely(!var12
)) {
6453 PRINT_ERROR("Runtime error: %s", "Assert failed");
6454 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6462);
6457 var15
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6459 parser_prod__ACallAssignExpr__init_acallassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var15:ACallAssignExpr>*/
6461 var_pexprnode1
= var15
;
6462 var_node_list
= var_pexprnode1
;
6463 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction220> */
6465 var17
= parser_work__Parser__go_to(var_p
, var16
);
6468 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6472 /* method parser#ReduceAction220#action for (self: Object, Parser) */
6473 void VIRTUAL_parser__ReduceAction220__action(val
* self
, val
* p0
) {
6474 parser__ReduceAction220__action(self
, p0
); /* Direct call parser#ReduceAction220#action on <self:Object(ReduceAction220)>*/
6477 /* method parser#ReduceAction221#action for (self: ReduceAction221, Parser) */
6478 void parser__ReduceAction221__action(val
* self
, val
* p0
) {
6479 val
* var_p
/* var p: Parser */;
6480 val
* var
/* : null */;
6481 val
* var_node_list
/* var node_list: nullable Object */;
6482 val
* var1
/* : nullable Object */;
6483 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6484 val
* var2
/* : nullable Object */;
6485 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6486 val
* var3
/* : nullable Object */;
6487 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6488 val
* var4
/* : nullable Object */;
6489 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6490 val
* var5
/* : nullable Object */;
6491 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6492 val
* var6
/* : AImplicitSelfExpr */;
6493 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6494 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6495 short int var8
/* : Bool */;
6498 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6499 short int var9
/* : Bool */;
6502 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6503 short int var12
/* : Bool */;
6506 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6507 short int var15
/* : Bool */;
6510 val
* var18
/* : ACallAssignExpr */;
6511 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6512 long var19
/* : Int */;
6513 long var20
/* : Int */;
6516 var_node_list
= var
;
6518 var1
= parser_work__Parser__pop(var_p
);
6520 var_nodearraylist5
= var1
;
6522 var2
= parser_work__Parser__pop(var_p
);
6524 var_nodearraylist4
= var2
;
6526 var3
= parser_work__Parser__pop(var_p
);
6528 var_nodearraylist3
= var3
;
6530 var4
= parser_work__Parser__pop(var_p
);
6532 var_nodearraylist2
= var4
;
6534 var5
= parser_work__Parser__pop(var_p
);
6536 var_nodearraylist1
= var5
;
6537 var6
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6539 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
6543 var_pexprnode2
= var6
;
6544 var_tidnode3
= var_nodearraylist2
;
6545 /* <var_tidnode3:nullable Object> isa nullable TId */
6546 cltype
= type_nullable_parser_nodes__TId
.color
;
6547 idtype
= type_nullable_parser_nodes__TId
.id
;
6548 if(var_tidnode3
== NULL
) {
6551 if(cltype
>= var_tidnode3
->type
->table_size
) {
6554 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6557 if (unlikely(!var8
)) {
6558 PRINT_ERROR("Runtime error: %s", "Assert failed");
6559 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6486);
6562 var_pexprsnode4
= var_nodearraylist3
;
6563 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6564 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
6565 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
6566 if(var_pexprsnode4
== NULL
) {
6569 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
6572 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
6575 if (unlikely(!var9
)) {
6576 PRINT_ERROR("Runtime error: %s", "Assert failed");
6577 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6488);
6580 var_tassignnode5
= var_nodearraylist4
;
6581 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6582 cltype13
= type_nullable_parser_nodes__TAssign
.color
;
6583 idtype14
= type_nullable_parser_nodes__TAssign
.id
;
6584 if(var_tassignnode5
== NULL
) {
6587 if(cltype13
>= var_tassignnode5
->type
->table_size
) {
6590 var12
= var_tassignnode5
->type
->type_table
[cltype13
] == idtype14
;
6593 if (unlikely(!var12
)) {
6594 PRINT_ERROR("Runtime error: %s", "Assert failed");
6595 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6490);
6598 var_pexprnode6
= var_nodearraylist5
;
6599 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6600 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
6601 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
6602 if(var_pexprnode6
== NULL
) {
6605 if(cltype16
>= var_pexprnode6
->type
->table_size
) {
6608 var15
= var_pexprnode6
->type
->type_table
[cltype16
] == idtype17
;
6611 if (unlikely(!var15
)) {
6612 PRINT_ERROR("Runtime error: %s", "Assert failed");
6613 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6492);
6616 var18
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6618 parser_prod__ACallAssignExpr__init_acallassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var18:ACallAssignExpr>*/
6620 var_pexprnode1
= var18
;
6621 var_node_list
= var_pexprnode1
;
6622 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction221> */
6624 var20
= parser_work__Parser__go_to(var_p
, var19
);
6627 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6631 /* method parser#ReduceAction221#action for (self: Object, Parser) */
6632 void VIRTUAL_parser__ReduceAction221__action(val
* self
, val
* p0
) {
6633 parser__ReduceAction221__action(self
, p0
); /* Direct call parser#ReduceAction221#action on <self:Object(ReduceAction221)>*/
6636 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
6637 void parser__ReduceAction222__action(val
* self
, val
* p0
) {
6638 val
* var_p
/* var p: Parser */;
6639 val
* var
/* : null */;
6640 val
* var_node_list
/* var node_list: nullable Object */;
6641 val
* var1
/* : nullable Object */;
6642 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6643 val
* var2
/* : nullable Object */;
6644 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6645 val
* var3
/* : nullable Object */;
6646 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6647 val
* var4
/* : nullable Object */;
6648 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6649 val
* var5
/* : AImplicitSelfExpr */;
6650 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6651 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6652 short int var7
/* : Bool */;
6655 val
* var8
/* : Array[Object] */;
6656 val
* var_listnode5
/* var listnode5: Array[Object] */;
6657 val
* var9
/* : AListExprs */;
6658 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6659 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6660 short int var10
/* : Bool */;
6663 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6664 short int var13
/* : Bool */;
6667 val
* var16
/* : ACallAssignExpr */;
6668 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6669 long var17
/* : Int */;
6670 long var18
/* : Int */;
6673 var_node_list
= var
;
6675 var1
= parser_work__Parser__pop(var_p
);
6677 var_nodearraylist4
= var1
;
6679 var2
= parser_work__Parser__pop(var_p
);
6681 var_nodearraylist3
= var2
;
6683 var3
= parser_work__Parser__pop(var_p
);
6685 var_nodearraylist2
= var3
;
6687 var4
= parser_work__Parser__pop(var_p
);
6689 var_nodearraylist1
= var4
;
6690 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6692 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
6696 var_pexprnode2
= var5
;
6697 var_tidnode3
= var_nodearraylist2
;
6698 /* <var_tidnode3:nullable Object> isa nullable TId */
6699 cltype
= type_nullable_parser_nodes__TId
.color
;
6700 idtype
= type_nullable_parser_nodes__TId
.id
;
6701 if(var_tidnode3
== NULL
) {
6704 if(cltype
>= var_tidnode3
->type
->table_size
) {
6707 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6710 if (unlikely(!var7
)) {
6711 PRINT_ERROR("Runtime error: %s", "Assert failed");
6712 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6515);
6715 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
6717 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[Object]>*/;
6719 var_listnode5
= var8
;
6720 var9
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6722 parser_prod__AListExprs__init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
6724 var_pexprsnode4
= var9
;
6725 var_tassignnode6
= var_nodearraylist3
;
6726 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6727 cltype11
= type_nullable_parser_nodes__TAssign
.color
;
6728 idtype12
= type_nullable_parser_nodes__TAssign
.id
;
6729 if(var_tassignnode6
== NULL
) {
6732 if(cltype11
>= var_tassignnode6
->type
->table_size
) {
6735 var10
= var_tassignnode6
->type
->type_table
[cltype11
] == idtype12
;
6738 if (unlikely(!var10
)) {
6739 PRINT_ERROR("Runtime error: %s", "Assert failed");
6740 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6521);
6743 var_pexprnode7
= var_nodearraylist4
;
6744 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6745 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
6746 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
6747 if(var_pexprnode7
== NULL
) {
6750 if(cltype14
>= var_pexprnode7
->type
->table_size
) {
6753 var13
= var_pexprnode7
->type
->type_table
[cltype14
] == idtype15
;
6756 if (unlikely(!var13
)) {
6757 PRINT_ERROR("Runtime error: %s", "Assert failed");
6758 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6523);
6761 var16
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6763 parser_prod__ACallAssignExpr__init_acallassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var16:ACallAssignExpr>*/
6765 var_pexprnode1
= var16
;
6766 var_node_list
= var_pexprnode1
;
6767 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction222> */
6769 var18
= parser_work__Parser__go_to(var_p
, var17
);
6772 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6776 /* method parser#ReduceAction222#action for (self: Object, Parser) */
6777 void VIRTUAL_parser__ReduceAction222__action(val
* self
, val
* p0
) {
6778 parser__ReduceAction222__action(self
, p0
); /* Direct call parser#ReduceAction222#action on <self:Object(ReduceAction222)>*/
6781 /* method parser#ReduceAction223#action for (self: ReduceAction223, Parser) */
6782 void parser__ReduceAction223__action(val
* self
, val
* p0
) {
6783 val
* var_p
/* var p: Parser */;
6784 val
* var
/* : null */;
6785 val
* var_node_list
/* var node_list: nullable Object */;
6786 val
* var1
/* : nullable Object */;
6787 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6788 val
* var2
/* : nullable Object */;
6789 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6790 val
* var3
/* : nullable Object */;
6791 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6792 val
* var4
/* : nullable Object */;
6793 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6794 val
* var5
/* : nullable Object */;
6795 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6796 val
* var6
/* : nullable Object */;
6797 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6798 val
* var7
/* : AImplicitSelfExpr */;
6799 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6800 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6801 short int var9
/* : Bool */;
6804 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6805 short int var10
/* : Bool */;
6808 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6809 short int var13
/* : Bool */;
6812 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6813 short int var16
/* : Bool */;
6816 val
* var19
/* : ACallAssignExpr */;
6817 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6818 long var20
/* : Int */;
6819 long var21
/* : Int */;
6822 var_node_list
= var
;
6824 var1
= parser_work__Parser__pop(var_p
);
6826 var_nodearraylist6
= var1
;
6828 var2
= parser_work__Parser__pop(var_p
);
6830 var_nodearraylist5
= var2
;
6832 var3
= parser_work__Parser__pop(var_p
);
6834 var_nodearraylist4
= var3
;
6836 var4
= parser_work__Parser__pop(var_p
);
6838 var_nodearraylist3
= var4
;
6840 var5
= parser_work__Parser__pop(var_p
);
6842 var_nodearraylist2
= var5
;
6844 var6
= parser_work__Parser__pop(var_p
);
6846 var_nodearraylist1
= var6
;
6847 var7
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6849 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on <var7:AImplicitSelfExpr> */
6853 var_pexprnode2
= var7
;
6854 var_tidnode3
= var_nodearraylist3
;
6855 /* <var_tidnode3:nullable Object> isa nullable TId */
6856 cltype
= type_nullable_parser_nodes__TId
.color
;
6857 idtype
= type_nullable_parser_nodes__TId
.id
;
6858 if(var_tidnode3
== NULL
) {
6861 if(cltype
>= var_tidnode3
->type
->table_size
) {
6864 var9
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6867 if (unlikely(!var9
)) {
6868 PRINT_ERROR("Runtime error: %s", "Assert failed");
6869 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6548);
6872 var_pexprsnode4
= var_nodearraylist4
;
6873 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6874 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
6875 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
6876 if(var_pexprsnode4
== NULL
) {
6879 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
6882 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
6885 if (unlikely(!var10
)) {
6886 PRINT_ERROR("Runtime error: %s", "Assert failed");
6887 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6550);
6890 var_tassignnode5
= var_nodearraylist5
;
6891 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6892 cltype14
= type_nullable_parser_nodes__TAssign
.color
;
6893 idtype15
= type_nullable_parser_nodes__TAssign
.id
;
6894 if(var_tassignnode5
== NULL
) {
6897 if(cltype14
>= var_tassignnode5
->type
->table_size
) {
6900 var13
= var_tassignnode5
->type
->type_table
[cltype14
] == idtype15
;
6903 if (unlikely(!var13
)) {
6904 PRINT_ERROR("Runtime error: %s", "Assert failed");
6905 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6552);
6908 var_pexprnode6
= var_nodearraylist6
;
6909 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6910 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
6911 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
6912 if(var_pexprnode6
== NULL
) {
6915 if(cltype17
>= var_pexprnode6
->type
->table_size
) {
6918 var16
= var_pexprnode6
->type
->type_table
[cltype17
] == idtype18
;
6921 if (unlikely(!var16
)) {
6922 PRINT_ERROR("Runtime error: %s", "Assert failed");
6923 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6554);
6926 var19
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
6928 parser_prod__ACallAssignExpr__init_acallassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var19:ACallAssignExpr>*/
6930 var_pexprnode1
= var19
;
6931 var_node_list
= var_pexprnode1
;
6932 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction223> */
6934 var21
= parser_work__Parser__go_to(var_p
, var20
);
6937 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6941 /* method parser#ReduceAction223#action for (self: Object, Parser) */
6942 void VIRTUAL_parser__ReduceAction223__action(val
* self
, val
* p0
) {
6943 parser__ReduceAction223__action(self
, p0
); /* Direct call parser#ReduceAction223#action on <self:Object(ReduceAction223)>*/
6946 /* method parser#ReduceAction224#action for (self: ReduceAction224, Parser) */
6947 void parser__ReduceAction224__action(val
* self
, val
* p0
) {
6948 val
* var_p
/* var p: Parser */;
6949 val
* var
/* : null */;
6950 val
* var_node_list
/* var node_list: nullable Object */;
6951 val
* var1
/* : nullable Object */;
6952 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6953 val
* var2
/* : nullable Object */;
6954 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6955 val
* var3
/* : nullable Object */;
6956 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6957 val
* var4
/* : nullable Object */;
6958 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6959 val
* var5
/* : nullable Object */;
6960 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6961 val
* var6
/* : AImplicitSelfExpr */;
6962 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6963 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6964 short int var8
/* : Bool */;
6967 val
* var9
/* : Array[Object] */;
6968 val
* var_listnode5
/* var listnode5: Array[Object] */;
6969 val
* var10
/* : AListExprs */;
6970 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6971 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6972 short int var11
/* : Bool */;
6975 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6976 short int var14
/* : Bool */;
6979 val
* var17
/* : ACallAssignExpr */;
6980 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6981 long var18
/* : Int */;
6982 long var19
/* : Int */;
6985 var_node_list
= var
;
6987 var1
= parser_work__Parser__pop(var_p
);
6989 var_nodearraylist5
= var1
;
6991 var2
= parser_work__Parser__pop(var_p
);
6993 var_nodearraylist4
= var2
;
6995 var3
= parser_work__Parser__pop(var_p
);
6997 var_nodearraylist3
= var3
;
6999 var4
= parser_work__Parser__pop(var_p
);
7001 var_nodearraylist2
= var4
;
7003 var5
= parser_work__Parser__pop(var_p
);
7005 var_nodearraylist1
= var5
;
7006 var6
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
7008 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
7012 var_pexprnode2
= var6
;
7013 var_tidnode3
= var_nodearraylist3
;
7014 /* <var_tidnode3:nullable Object> isa nullable TId */
7015 cltype
= type_nullable_parser_nodes__TId
.color
;
7016 idtype
= type_nullable_parser_nodes__TId
.id
;
7017 if(var_tidnode3
== NULL
) {
7020 if(cltype
>= var_tidnode3
->type
->table_size
) {
7023 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7026 if (unlikely(!var8
)) {
7027 PRINT_ERROR("Runtime error: %s", "Assert failed");
7028 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6578);
7031 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
7033 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[Object]>*/;
7035 var_listnode5
= var9
;
7036 var10
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
7038 parser_prod__AListExprs__init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
7040 var_pexprsnode4
= var10
;
7041 var_tassignnode6
= var_nodearraylist4
;
7042 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
7043 cltype12
= type_nullable_parser_nodes__TAssign
.color
;
7044 idtype13
= type_nullable_parser_nodes__TAssign
.id
;
7045 if(var_tassignnode6
== NULL
) {
7048 if(cltype12
>= var_tassignnode6
->type
->table_size
) {
7051 var11
= var_tassignnode6
->type
->type_table
[cltype12
] == idtype13
;
7054 if (unlikely(!var11
)) {
7055 PRINT_ERROR("Runtime error: %s", "Assert failed");
7056 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6584);
7059 var_pexprnode7
= var_nodearraylist5
;
7060 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7061 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
7062 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
7063 if(var_pexprnode7
== NULL
) {
7066 if(cltype15
>= var_pexprnode7
->type
->table_size
) {
7069 var14
= var_pexprnode7
->type
->type_table
[cltype15
] == idtype16
;
7072 if (unlikely(!var14
)) {
7073 PRINT_ERROR("Runtime error: %s", "Assert failed");
7074 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6586);
7077 var17
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
7079 parser_prod__ACallAssignExpr__init_acallassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var17:ACallAssignExpr>*/
7081 var_pexprnode1
= var17
;
7082 var_node_list
= var_pexprnode1
;
7083 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction224> */
7085 var19
= parser_work__Parser__go_to(var_p
, var18
);
7088 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7092 /* method parser#ReduceAction224#action for (self: Object, Parser) */
7093 void VIRTUAL_parser__ReduceAction224__action(val
* self
, val
* p0
) {
7094 parser__ReduceAction224__action(self
, p0
); /* Direct call parser#ReduceAction224#action on <self:Object(ReduceAction224)>*/
7097 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
7098 void parser__ReduceAction227__action(val
* self
, val
* p0
) {
7099 val
* var_p
/* var p: Parser */;
7100 val
* var
/* : null */;
7101 val
* var_node_list
/* var node_list: nullable Object */;
7102 val
* var1
/* : nullable Object */;
7103 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7104 val
* var2
/* : nullable Object */;
7105 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7106 val
* var3
/* : nullable Object */;
7107 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7108 val
* var4
/* : nullable Object */;
7109 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7110 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7111 short int var5
/* : Bool */;
7114 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
7115 short int var6
/* : Bool */;
7118 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
7119 short int var9
/* : Bool */;
7122 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7123 short int var12
/* : Bool */;
7126 val
* var15
/* : ABraAssignExpr */;
7127 val
* var_pexprnode1
/* var pexprnode1: nullable ABraAssignExpr */;
7128 long var16
/* : Int */;
7129 long var17
/* : Int */;
7132 var_node_list
= var
;
7134 var1
= parser_work__Parser__pop(var_p
);
7136 var_nodearraylist4
= var1
;
7138 var2
= parser_work__Parser__pop(var_p
);
7140 var_nodearraylist3
= var2
;
7142 var3
= parser_work__Parser__pop(var_p
);
7144 var_nodearraylist2
= var3
;
7146 var4
= parser_work__Parser__pop(var_p
);
7148 var_nodearraylist1
= var4
;
7149 var_pexprnode2
= var_nodearraylist1
;
7150 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7151 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7152 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7153 if(var_pexprnode2
== NULL
) {
7156 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7159 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7162 if (unlikely(!var5
)) {
7163 PRINT_ERROR("Runtime error: %s", "Assert failed");
7164 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6608);
7167 var_pexprsnode3
= var_nodearraylist2
;
7168 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
7169 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
7170 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
7171 if(var_pexprsnode3
== NULL
) {
7174 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
7177 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
7180 if (unlikely(!var6
)) {
7181 PRINT_ERROR("Runtime error: %s", "Assert failed");
7182 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6610);
7185 var_tassignnode4
= var_nodearraylist3
;
7186 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
7187 cltype10
= type_nullable_parser_nodes__TAssign
.color
;
7188 idtype11
= type_nullable_parser_nodes__TAssign
.id
;
7189 if(var_tassignnode4
== NULL
) {
7192 if(cltype10
>= var_tassignnode4
->type
->table_size
) {
7195 var9
= var_tassignnode4
->type
->type_table
[cltype10
] == idtype11
;
7198 if (unlikely(!var9
)) {
7199 PRINT_ERROR("Runtime error: %s", "Assert failed");
7200 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6612);
7203 var_pexprnode5
= var_nodearraylist4
;
7204 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7205 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
7206 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
7207 if(var_pexprnode5
== NULL
) {
7210 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
7213 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
7216 if (unlikely(!var12
)) {
7217 PRINT_ERROR("Runtime error: %s", "Assert failed");
7218 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6614);
7221 var15
= NEW_parser_nodes__ABraAssignExpr(&type_parser_nodes__ABraAssignExpr
);
7223 parser_prod__ABraAssignExpr__init_abraassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraAssignExpr#init_abraassignexpr on <var15:ABraAssignExpr>*/
7225 var_pexprnode1
= var15
;
7226 var_node_list
= var_pexprnode1
;
7227 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction227> */
7229 var17
= parser_work__Parser__go_to(var_p
, var16
);
7232 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7236 /* method parser#ReduceAction227#action for (self: Object, Parser) */
7237 void VIRTUAL_parser__ReduceAction227__action(val
* self
, val
* p0
) {
7238 parser__ReduceAction227__action(self
, p0
); /* Direct call parser#ReduceAction227#action on <self:Object(ReduceAction227)>*/
7241 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
7242 void parser__ReduceAction228__action(val
* self
, val
* p0
) {
7243 val
* var_p
/* var p: Parser */;
7244 val
* var
/* : null */;
7245 val
* var_node_list
/* var node_list: nullable Object */;
7246 val
* var1
/* : nullable Object */;
7247 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7248 val
* var2
/* : nullable Object */;
7249 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7250 val
* var3
/* : nullable Object */;
7251 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7252 val
* var4
/* : nullable Object */;
7253 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7254 val
* var5
/* : nullable Object */;
7255 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7256 val
* var6
/* : nullable Object */;
7257 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7258 val
* var7
/* : nullable Object */;
7259 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7260 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7261 short int var8
/* : Bool */;
7264 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7265 short int var9
/* : Bool */;
7268 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
7269 short int var12
/* : Bool */;
7272 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7273 short int var15
/* : Bool */;
7276 val
* var18
/* : AAttrReassignExpr */;
7277 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
7278 long var19
/* : Int */;
7279 long var20
/* : Int */;
7282 var_node_list
= var
;
7284 var1
= parser_work__Parser__pop(var_p
);
7286 var_nodearraylist7
= var1
;
7288 var2
= parser_work__Parser__pop(var_p
);
7290 var_nodearraylist6
= var2
;
7292 var3
= parser_work__Parser__pop(var_p
);
7294 var_nodearraylist5
= var3
;
7296 var4
= parser_work__Parser__pop(var_p
);
7298 var_nodearraylist4
= var4
;
7300 var5
= parser_work__Parser__pop(var_p
);
7302 var_nodearraylist3
= var5
;
7304 var6
= parser_work__Parser__pop(var_p
);
7306 var_nodearraylist2
= var6
;
7308 var7
= parser_work__Parser__pop(var_p
);
7310 var_nodearraylist1
= var7
;
7311 var_pexprnode2
= var_nodearraylist1
;
7312 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7313 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7314 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7315 if(var_pexprnode2
== NULL
) {
7318 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7321 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7324 if (unlikely(!var8
)) {
7325 PRINT_ERROR("Runtime error: %s", "Assert failed");
7326 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6638);
7329 var_tattridnode3
= var_nodearraylist5
;
7330 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
7331 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
7332 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
7333 if(var_tattridnode3
== NULL
) {
7336 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
7339 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
7342 if (unlikely(!var9
)) {
7343 PRINT_ERROR("Runtime error: %s", "Assert failed");
7344 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6640);
7347 var_passignopnode4
= var_nodearraylist6
;
7348 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
7349 cltype13
= type_nullable_parser_nodes__AAssignOp
.color
;
7350 idtype14
= type_nullable_parser_nodes__AAssignOp
.id
;
7351 if(var_passignopnode4
== NULL
) {
7354 if(cltype13
>= var_passignopnode4
->type
->table_size
) {
7357 var12
= var_passignopnode4
->type
->type_table
[cltype13
] == idtype14
;
7360 if (unlikely(!var12
)) {
7361 PRINT_ERROR("Runtime error: %s", "Assert failed");
7362 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6642);
7365 var_pexprnode5
= var_nodearraylist7
;
7366 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7367 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
7368 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
7369 if(var_pexprnode5
== NULL
) {
7372 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
7375 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
7378 if (unlikely(!var15
)) {
7379 PRINT_ERROR("Runtime error: %s", "Assert failed");
7380 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6644);
7383 var18
= NEW_parser_nodes__AAttrReassignExpr(&type_parser_nodes__AAttrReassignExpr
);
7385 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var18:AAttrReassignExpr>*/
7387 var_pexprnode1
= var18
;
7388 var_node_list
= var_pexprnode1
;
7389 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction228> */
7391 var20
= parser_work__Parser__go_to(var_p
, var19
);
7394 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7398 /* method parser#ReduceAction228#action for (self: Object, Parser) */
7399 void VIRTUAL_parser__ReduceAction228__action(val
* self
, val
* p0
) {
7400 parser__ReduceAction228__action(self
, p0
); /* Direct call parser#ReduceAction228#action on <self:Object(ReduceAction228)>*/
7403 /* method parser#ReduceAction229#action for (self: ReduceAction229, Parser) */
7404 void parser__ReduceAction229__action(val
* self
, val
* p0
) {
7405 val
* var_p
/* var p: Parser */;
7406 val
* var
/* : null */;
7407 val
* var_node_list
/* var node_list: nullable Object */;
7408 val
* var1
/* : nullable Object */;
7409 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7410 val
* var2
/* : nullable Object */;
7411 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7412 val
* var3
/* : nullable Object */;
7413 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7414 val
* var4
/* : nullable Object */;
7415 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7416 val
* var5
/* : AImplicitSelfExpr */;
7417 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7418 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7419 short int var7
/* : Bool */;
7422 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
7423 short int var8
/* : Bool */;
7426 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7427 short int var11
/* : Bool */;
7430 val
* var14
/* : AAttrReassignExpr */;
7431 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
7432 long var15
/* : Int */;
7433 long var16
/* : Int */;
7436 var_node_list
= var
;
7438 var1
= parser_work__Parser__pop(var_p
);
7440 var_nodearraylist4
= var1
;
7442 var2
= parser_work__Parser__pop(var_p
);
7444 var_nodearraylist3
= var2
;
7446 var3
= parser_work__Parser__pop(var_p
);
7448 var_nodearraylist2
= var3
;
7450 var4
= parser_work__Parser__pop(var_p
);
7452 var_nodearraylist1
= var4
;
7453 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
7455 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
7459 var_pexprnode2
= var5
;
7460 var_tattridnode3
= var_nodearraylist2
;
7461 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
7462 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
7463 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
7464 if(var_tattridnode3
== NULL
) {
7467 if(cltype
>= var_tattridnode3
->type
->table_size
) {
7470 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
7473 if (unlikely(!var7
)) {
7474 PRINT_ERROR("Runtime error: %s", "Assert failed");
7475 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6666);
7478 var_passignopnode4
= var_nodearraylist3
;
7479 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
7480 cltype9
= type_nullable_parser_nodes__AAssignOp
.color
;
7481 idtype10
= type_nullable_parser_nodes__AAssignOp
.id
;
7482 if(var_passignopnode4
== NULL
) {
7485 if(cltype9
>= var_passignopnode4
->type
->table_size
) {
7488 var8
= var_passignopnode4
->type
->type_table
[cltype9
] == idtype10
;
7491 if (unlikely(!var8
)) {
7492 PRINT_ERROR("Runtime error: %s", "Assert failed");
7493 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6668);
7496 var_pexprnode5
= var_nodearraylist4
;
7497 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7498 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
7499 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
7500 if(var_pexprnode5
== NULL
) {
7503 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
7506 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
7509 if (unlikely(!var11
)) {
7510 PRINT_ERROR("Runtime error: %s", "Assert failed");
7511 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6670);
7514 var14
= NEW_parser_nodes__AAttrReassignExpr(&type_parser_nodes__AAttrReassignExpr
);
7516 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var14:AAttrReassignExpr>*/
7518 var_pexprnode1
= var14
;
7519 var_node_list
= var_pexprnode1
;
7520 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction229> */
7522 var16
= parser_work__Parser__go_to(var_p
, var15
);
7525 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7529 /* method parser#ReduceAction229#action for (self: Object, Parser) */
7530 void VIRTUAL_parser__ReduceAction229__action(val
* self
, val
* p0
) {
7531 parser__ReduceAction229__action(self
, p0
); /* Direct call parser#ReduceAction229#action on <self:Object(ReduceAction229)>*/
7534 /* method parser#ReduceAction230#action for (self: ReduceAction230, Parser) */
7535 void parser__ReduceAction230__action(val
* self
, val
* p0
) {
7536 val
* var_p
/* var p: Parser */;
7537 val
* var
/* : null */;
7538 val
* var_node_list
/* var node_list: nullable Object */;
7539 val
* var1
/* : nullable Object */;
7540 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7541 val
* var2
/* : nullable Object */;
7542 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7543 val
* var3
/* : nullable Object */;
7544 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7545 val
* var4
/* : nullable Object */;
7546 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7547 val
* var5
/* : nullable Object */;
7548 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7549 val
* var6
/* : nullable Object */;
7550 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7551 val
* var7
/* : nullable Object */;
7552 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7553 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7554 short int var8
/* : Bool */;
7557 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7558 short int var9
/* : Bool */;
7561 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7562 short int var12
/* : Bool */;
7565 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
7566 short int var15
/* : Bool */;
7569 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
7570 short int var18
/* : Bool */;
7573 val
* var21
/* : ACallReassignExpr */;
7574 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
7575 long var22
/* : Int */;
7576 long var23
/* : Int */;
7579 var_node_list
= var
;
7581 var1
= parser_work__Parser__pop(var_p
);
7583 var_nodearraylist7
= var1
;
7585 var2
= parser_work__Parser__pop(var_p
);
7587 var_nodearraylist6
= var2
;
7589 var3
= parser_work__Parser__pop(var_p
);
7591 var_nodearraylist5
= var3
;
7593 var4
= parser_work__Parser__pop(var_p
);
7595 var_nodearraylist4
= var4
;
7597 var5
= parser_work__Parser__pop(var_p
);
7599 var_nodearraylist3
= var5
;
7601 var6
= parser_work__Parser__pop(var_p
);
7603 var_nodearraylist2
= var6
;
7605 var7
= parser_work__Parser__pop(var_p
);
7607 var_nodearraylist1
= var7
;
7608 var_pexprnode2
= var_nodearraylist1
;
7609 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7610 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7611 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7612 if(var_pexprnode2
== NULL
) {
7615 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7618 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7621 if (unlikely(!var8
)) {
7622 PRINT_ERROR("Runtime error: %s", "Assert failed");
7623 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6694);
7626 var_tidnode3
= var_nodearraylist4
;
7627 /* <var_tidnode3:nullable Object> isa nullable TId */
7628 cltype10
= type_nullable_parser_nodes__TId
.color
;
7629 idtype11
= type_nullable_parser_nodes__TId
.id
;
7630 if(var_tidnode3
== NULL
) {
7633 if(cltype10
>= var_tidnode3
->type
->table_size
) {
7636 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
7639 if (unlikely(!var9
)) {
7640 PRINT_ERROR("Runtime error: %s", "Assert failed");
7641 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6696);
7644 var_pexprsnode4
= var_nodearraylist5
;
7645 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7646 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
7647 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
7648 if(var_pexprsnode4
== NULL
) {
7651 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
7654 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
7657 if (unlikely(!var12
)) {
7658 PRINT_ERROR("Runtime error: %s", "Assert failed");
7659 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6698);
7662 var_passignopnode5
= var_nodearraylist6
;
7663 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
7664 cltype16
= type_nullable_parser_nodes__AAssignOp
.color
;
7665 idtype17
= type_nullable_parser_nodes__AAssignOp
.id
;
7666 if(var_passignopnode5
== NULL
) {
7669 if(cltype16
>= var_passignopnode5
->type
->table_size
) {
7672 var15
= var_passignopnode5
->type
->type_table
[cltype16
] == idtype17
;
7675 if (unlikely(!var15
)) {
7676 PRINT_ERROR("Runtime error: %s", "Assert failed");
7677 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6700);
7680 var_pexprnode6
= var_nodearraylist7
;
7681 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
7682 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
7683 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
7684 if(var_pexprnode6
== NULL
) {
7687 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
7690 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
7693 if (unlikely(!var18
)) {
7694 PRINT_ERROR("Runtime error: %s", "Assert failed");
7695 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6702);
7698 var21
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
7700 parser_prod__ACallReassignExpr__init_acallreassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var21:ACallReassignExpr>*/
7702 var_pexprnode1
= var21
;
7703 var_node_list
= var_pexprnode1
;
7704 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction230> */
7706 var23
= parser_work__Parser__go_to(var_p
, var22
);
7709 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7713 /* method parser#ReduceAction230#action for (self: Object, Parser) */
7714 void VIRTUAL_parser__ReduceAction230__action(val
* self
, val
* p0
) {
7715 parser__ReduceAction230__action(self
, p0
); /* Direct call parser#ReduceAction230#action on <self:Object(ReduceAction230)>*/
7718 /* method parser#ReduceAction231#action for (self: ReduceAction231, Parser) */
7719 void parser__ReduceAction231__action(val
* self
, val
* p0
) {
7720 val
* var_p
/* var p: Parser */;
7721 val
* var
/* : null */;
7722 val
* var_node_list
/* var node_list: nullable Object */;
7723 val
* var1
/* : nullable Object */;
7724 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7725 val
* var2
/* : nullable Object */;
7726 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7727 val
* var3
/* : nullable Object */;
7728 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7729 val
* var4
/* : nullable Object */;
7730 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7731 val
* var5
/* : nullable Object */;
7732 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7733 val
* var6
/* : nullable Object */;
7734 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7735 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7736 short int var7
/* : Bool */;
7739 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7740 short int var8
/* : Bool */;
7743 val
* var11
/* : Array[Object] */;
7744 val
* var_listnode5
/* var listnode5: Array[Object] */;
7745 val
* var12
/* : AListExprs */;
7746 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7747 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
7748 short int var13
/* : Bool */;
7751 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7752 short int var16
/* : Bool */;
7755 val
* var19
/* : ACallReassignExpr */;
7756 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
7757 long var20
/* : Int */;
7758 long var21
/* : Int */;
7761 var_node_list
= var
;
7763 var1
= parser_work__Parser__pop(var_p
);
7765 var_nodearraylist6
= var1
;
7767 var2
= parser_work__Parser__pop(var_p
);
7769 var_nodearraylist5
= var2
;
7771 var3
= parser_work__Parser__pop(var_p
);
7773 var_nodearraylist4
= var3
;
7775 var4
= parser_work__Parser__pop(var_p
);
7777 var_nodearraylist3
= var4
;
7779 var5
= parser_work__Parser__pop(var_p
);
7781 var_nodearraylist2
= var5
;
7783 var6
= parser_work__Parser__pop(var_p
);
7785 var_nodearraylist1
= var6
;
7786 var_pexprnode2
= var_nodearraylist1
;
7787 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7788 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7789 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7790 if(var_pexprnode2
== NULL
) {
7793 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7796 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7799 if (unlikely(!var7
)) {
7800 PRINT_ERROR("Runtime error: %s", "Assert failed");
7801 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6726);
7804 var_tidnode3
= var_nodearraylist4
;
7805 /* <var_tidnode3:nullable Object> isa nullable TId */
7806 cltype9
= type_nullable_parser_nodes__TId
.color
;
7807 idtype10
= type_nullable_parser_nodes__TId
.id
;
7808 if(var_tidnode3
== NULL
) {
7811 if(cltype9
>= var_tidnode3
->type
->table_size
) {
7814 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
7817 if (unlikely(!var8
)) {
7818 PRINT_ERROR("Runtime error: %s", "Assert failed");
7819 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6728);
7822 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
7824 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:Array[Object]>*/;
7826 var_listnode5
= var11
;
7827 var12
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
7829 parser_prod__AListExprs__init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
7831 var_pexprsnode4
= var12
;
7832 var_passignopnode6
= var_nodearraylist5
;
7833 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
7834 cltype14
= type_nullable_parser_nodes__AAssignOp
.color
;
7835 idtype15
= type_nullable_parser_nodes__AAssignOp
.id
;
7836 if(var_passignopnode6
== NULL
) {
7839 if(cltype14
>= var_passignopnode6
->type
->table_size
) {
7842 var13
= var_passignopnode6
->type
->type_table
[cltype14
] == idtype15
;
7845 if (unlikely(!var13
)) {
7846 PRINT_ERROR("Runtime error: %s", "Assert failed");
7847 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6734);
7850 var_pexprnode7
= var_nodearraylist6
;
7851 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7852 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
7853 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
7854 if(var_pexprnode7
== NULL
) {
7857 if(cltype17
>= var_pexprnode7
->type
->table_size
) {
7860 var16
= var_pexprnode7
->type
->type_table
[cltype17
] == idtype18
;
7863 if (unlikely(!var16
)) {
7864 PRINT_ERROR("Runtime error: %s", "Assert failed");
7865 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6736);
7868 var19
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
7870 parser_prod__ACallReassignExpr__init_acallreassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var19:ACallReassignExpr>*/
7872 var_pexprnode1
= var19
;
7873 var_node_list
= var_pexprnode1
;
7874 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction231> */
7876 var21
= parser_work__Parser__go_to(var_p
, var20
);
7879 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7883 /* method parser#ReduceAction231#action for (self: Object, Parser) */
7884 void VIRTUAL_parser__ReduceAction231__action(val
* self
, val
* p0
) {
7885 parser__ReduceAction231__action(self
, p0
); /* Direct call parser#ReduceAction231#action on <self:Object(ReduceAction231)>*/
7888 /* method parser#ReduceAction232#action for (self: ReduceAction232, Parser) */
7889 void parser__ReduceAction232__action(val
* self
, val
* p0
) {
7890 val
* var_p
/* var p: Parser */;
7891 val
* var
/* : null */;
7892 val
* var_node_list
/* var node_list: nullable Object */;
7893 val
* var1
/* : nullable Object */;
7894 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7895 val
* var2
/* : nullable Object */;
7896 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7897 val
* var3
/* : nullable Object */;
7898 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7899 val
* var4
/* : nullable Object */;
7900 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7901 val
* var5
/* : nullable Object */;
7902 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7903 val
* var6
/* : nullable Object */;
7904 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7905 val
* var7
/* : nullable Object */;
7906 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7907 val
* var8
/* : nullable Object */;
7908 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7909 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7910 short int var9
/* : Bool */;
7913 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7914 short int var10
/* : Bool */;
7917 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7918 short int var13
/* : Bool */;
7921 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
7922 short int var16
/* : Bool */;
7925 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
7926 short int var19
/* : Bool */;
7929 val
* var22
/* : ACallReassignExpr */;
7930 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
7931 long var23
/* : Int */;
7932 long var24
/* : Int */;
7935 var_node_list
= var
;
7937 var1
= parser_work__Parser__pop(var_p
);
7939 var_nodearraylist8
= var1
;
7941 var2
= parser_work__Parser__pop(var_p
);
7943 var_nodearraylist7
= var2
;
7945 var3
= parser_work__Parser__pop(var_p
);
7947 var_nodearraylist6
= var3
;
7949 var4
= parser_work__Parser__pop(var_p
);
7951 var_nodearraylist5
= var4
;
7953 var5
= parser_work__Parser__pop(var_p
);
7955 var_nodearraylist4
= var5
;
7957 var6
= parser_work__Parser__pop(var_p
);
7959 var_nodearraylist3
= var6
;
7961 var7
= parser_work__Parser__pop(var_p
);
7963 var_nodearraylist2
= var7
;
7965 var8
= parser_work__Parser__pop(var_p
);
7967 var_nodearraylist1
= var8
;
7968 var_pexprnode2
= var_nodearraylist1
;
7969 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7970 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7971 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7972 if(var_pexprnode2
== NULL
) {
7975 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7978 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7981 if (unlikely(!var9
)) {
7982 PRINT_ERROR("Runtime error: %s", "Assert failed");
7983 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6762);
7986 var_tidnode3
= var_nodearraylist5
;
7987 /* <var_tidnode3:nullable Object> isa nullable TId */
7988 cltype11
= type_nullable_parser_nodes__TId
.color
;
7989 idtype12
= type_nullable_parser_nodes__TId
.id
;
7990 if(var_tidnode3
== NULL
) {
7993 if(cltype11
>= var_tidnode3
->type
->table_size
) {
7996 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
7999 if (unlikely(!var10
)) {
8000 PRINT_ERROR("Runtime error: %s", "Assert failed");
8001 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6764);
8004 var_pexprsnode4
= var_nodearraylist6
;
8005 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
8006 cltype14
= type_nullable_parser_nodes__AExprs
.color
;
8007 idtype15
= type_nullable_parser_nodes__AExprs
.id
;
8008 if(var_pexprsnode4
== NULL
) {
8011 if(cltype14
>= var_pexprsnode4
->type
->table_size
) {
8014 var13
= var_pexprsnode4
->type
->type_table
[cltype14
] == idtype15
;
8017 if (unlikely(!var13
)) {
8018 PRINT_ERROR("Runtime error: %s", "Assert failed");
8019 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6766);
8022 var_passignopnode5
= var_nodearraylist7
;
8023 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
8024 cltype17
= type_nullable_parser_nodes__AAssignOp
.color
;
8025 idtype18
= type_nullable_parser_nodes__AAssignOp
.id
;
8026 if(var_passignopnode5
== NULL
) {
8029 if(cltype17
>= var_passignopnode5
->type
->table_size
) {
8032 var16
= var_passignopnode5
->type
->type_table
[cltype17
] == idtype18
;
8035 if (unlikely(!var16
)) {
8036 PRINT_ERROR("Runtime error: %s", "Assert failed");
8037 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6768);
8040 var_pexprnode6
= var_nodearraylist8
;
8041 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
8042 cltype20
= type_nullable_parser_nodes__AExpr
.color
;
8043 idtype21
= type_nullable_parser_nodes__AExpr
.id
;
8044 if(var_pexprnode6
== NULL
) {
8047 if(cltype20
>= var_pexprnode6
->type
->table_size
) {
8050 var19
= var_pexprnode6
->type
->type_table
[cltype20
] == idtype21
;
8053 if (unlikely(!var19
)) {
8054 PRINT_ERROR("Runtime error: %s", "Assert failed");
8055 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6770);
8058 var22
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8060 parser_prod__ACallReassignExpr__init_acallreassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var22:ACallReassignExpr>*/
8062 var_pexprnode1
= var22
;
8063 var_node_list
= var_pexprnode1
;
8064 var23
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction232> */
8066 var24
= parser_work__Parser__go_to(var_p
, var23
);
8069 parser_work__Parser__push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8073 /* method parser#ReduceAction232#action for (self: Object, Parser) */
8074 void VIRTUAL_parser__ReduceAction232__action(val
* self
, val
* p0
) {
8075 parser__ReduceAction232__action(self
, p0
); /* Direct call parser#ReduceAction232#action on <self:Object(ReduceAction232)>*/
8078 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
8079 void parser__ReduceAction233__action(val
* self
, val
* p0
) {
8080 val
* var_p
/* var p: Parser */;
8081 val
* var
/* : null */;
8082 val
* var_node_list
/* var node_list: nullable Object */;
8083 val
* var1
/* : nullable Object */;
8084 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8085 val
* var2
/* : nullable Object */;
8086 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8087 val
* var3
/* : nullable Object */;
8088 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8089 val
* var4
/* : nullable Object */;
8090 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8091 val
* var5
/* : nullable Object */;
8092 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8093 val
* var6
/* : nullable Object */;
8094 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8095 val
* var7
/* : nullable Object */;
8096 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8097 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8098 short int var8
/* : Bool */;
8101 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8102 short int var9
/* : Bool */;
8105 val
* var12
/* : Array[Object] */;
8106 val
* var_listnode5
/* var listnode5: Array[Object] */;
8107 val
* var13
/* : AListExprs */;
8108 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
8109 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
8110 short int var14
/* : Bool */;
8113 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8114 short int var17
/* : Bool */;
8117 val
* var20
/* : ACallReassignExpr */;
8118 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8119 long var21
/* : Int */;
8120 long var22
/* : Int */;
8123 var_node_list
= var
;
8125 var1
= parser_work__Parser__pop(var_p
);
8127 var_nodearraylist7
= var1
;
8129 var2
= parser_work__Parser__pop(var_p
);
8131 var_nodearraylist6
= var2
;
8133 var3
= parser_work__Parser__pop(var_p
);
8135 var_nodearraylist5
= var3
;
8137 var4
= parser_work__Parser__pop(var_p
);
8139 var_nodearraylist4
= var4
;
8141 var5
= parser_work__Parser__pop(var_p
);
8143 var_nodearraylist3
= var5
;
8145 var6
= parser_work__Parser__pop(var_p
);
8147 var_nodearraylist2
= var6
;
8149 var7
= parser_work__Parser__pop(var_p
);
8151 var_nodearraylist1
= var7
;
8152 var_pexprnode2
= var_nodearraylist1
;
8153 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8154 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8155 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8156 if(var_pexprnode2
== NULL
) {
8159 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8162 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8165 if (unlikely(!var8
)) {
8166 PRINT_ERROR("Runtime error: %s", "Assert failed");
8167 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6795);
8170 var_tidnode3
= var_nodearraylist5
;
8171 /* <var_tidnode3:nullable Object> isa nullable TId */
8172 cltype10
= type_nullable_parser_nodes__TId
.color
;
8173 idtype11
= type_nullable_parser_nodes__TId
.id
;
8174 if(var_tidnode3
== NULL
) {
8177 if(cltype10
>= var_tidnode3
->type
->table_size
) {
8180 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
8183 if (unlikely(!var9
)) {
8184 PRINT_ERROR("Runtime error: %s", "Assert failed");
8185 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6797);
8188 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
8190 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:Array[Object]>*/;
8192 var_listnode5
= var12
;
8193 var13
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
8195 parser_prod__AListExprs__init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
8197 var_pexprsnode4
= var13
;
8198 var_passignopnode6
= var_nodearraylist6
;
8199 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
8200 cltype15
= type_nullable_parser_nodes__AAssignOp
.color
;
8201 idtype16
= type_nullable_parser_nodes__AAssignOp
.id
;
8202 if(var_passignopnode6
== NULL
) {
8205 if(cltype15
>= var_passignopnode6
->type
->table_size
) {
8208 var14
= var_passignopnode6
->type
->type_table
[cltype15
] == idtype16
;
8211 if (unlikely(!var14
)) {
8212 PRINT_ERROR("Runtime error: %s", "Assert failed");
8213 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6803);
8216 var_pexprnode7
= var_nodearraylist7
;
8217 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8218 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
8219 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
8220 if(var_pexprnode7
== NULL
) {
8223 if(cltype18
>= var_pexprnode7
->type
->table_size
) {
8226 var17
= var_pexprnode7
->type
->type_table
[cltype18
] == idtype19
;
8229 if (unlikely(!var17
)) {
8230 PRINT_ERROR("Runtime error: %s", "Assert failed");
8231 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6805);
8234 var20
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8236 parser_prod__ACallReassignExpr__init_acallreassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var20:ACallReassignExpr>*/
8238 var_pexprnode1
= var20
;
8239 var_node_list
= var_pexprnode1
;
8240 var21
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction233> */
8242 var22
= parser_work__Parser__go_to(var_p
, var21
);
8245 parser_work__Parser__push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8249 /* method parser#ReduceAction233#action for (self: Object, Parser) */
8250 void VIRTUAL_parser__ReduceAction233__action(val
* self
, val
* p0
) {
8251 parser__ReduceAction233__action(self
, p0
); /* Direct call parser#ReduceAction233#action on <self:Object(ReduceAction233)>*/
8254 /* method parser#ReduceAction234#action for (self: ReduceAction234, Parser) */
8255 void parser__ReduceAction234__action(val
* self
, val
* p0
) {
8256 val
* var_p
/* var p: Parser */;
8257 val
* var
/* : null */;
8258 val
* var_node_list
/* var node_list: nullable Object */;
8259 val
* var1
/* : nullable Object */;
8260 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8261 val
* var2
/* : nullable Object */;
8262 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8263 val
* var3
/* : nullable Object */;
8264 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8265 val
* var4
/* : nullable Object */;
8266 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8267 val
* var5
/* : nullable Object */;
8268 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8269 val
* var6
/* : nullable Object */;
8270 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8271 val
* var7
/* : nullable Object */;
8272 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8273 val
* var8
/* : nullable Object */;
8274 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8275 val
* var9
/* : nullable Object */;
8276 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8277 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8278 short int var10
/* : Bool */;
8281 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8282 short int var11
/* : Bool */;
8285 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8286 short int var14
/* : Bool */;
8289 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8290 short int var17
/* : Bool */;
8293 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8294 short int var20
/* : Bool */;
8297 val
* var23
/* : ACallReassignExpr */;
8298 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8299 long var24
/* : Int */;
8300 long var25
/* : Int */;
8303 var_node_list
= var
;
8305 var1
= parser_work__Parser__pop(var_p
);
8307 var_nodearraylist9
= var1
;
8309 var2
= parser_work__Parser__pop(var_p
);
8311 var_nodearraylist8
= var2
;
8313 var3
= parser_work__Parser__pop(var_p
);
8315 var_nodearraylist7
= var3
;
8317 var4
= parser_work__Parser__pop(var_p
);
8319 var_nodearraylist6
= var4
;
8321 var5
= parser_work__Parser__pop(var_p
);
8323 var_nodearraylist5
= var5
;
8325 var6
= parser_work__Parser__pop(var_p
);
8327 var_nodearraylist4
= var6
;
8329 var7
= parser_work__Parser__pop(var_p
);
8331 var_nodearraylist3
= var7
;
8333 var8
= parser_work__Parser__pop(var_p
);
8335 var_nodearraylist2
= var8
;
8337 var9
= parser_work__Parser__pop(var_p
);
8339 var_nodearraylist1
= var9
;
8340 var_pexprnode2
= var_nodearraylist1
;
8341 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8342 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8343 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8344 if(var_pexprnode2
== NULL
) {
8347 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8350 var10
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8353 if (unlikely(!var10
)) {
8354 PRINT_ERROR("Runtime error: %s", "Assert failed");
8355 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6832);
8358 var_tidnode3
= var_nodearraylist6
;
8359 /* <var_tidnode3:nullable Object> isa nullable TId */
8360 cltype12
= type_nullable_parser_nodes__TId
.color
;
8361 idtype13
= type_nullable_parser_nodes__TId
.id
;
8362 if(var_tidnode3
== NULL
) {
8365 if(cltype12
>= var_tidnode3
->type
->table_size
) {
8368 var11
= var_tidnode3
->type
->type_table
[cltype12
] == idtype13
;
8371 if (unlikely(!var11
)) {
8372 PRINT_ERROR("Runtime error: %s", "Assert failed");
8373 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6834);
8376 var_pexprsnode4
= var_nodearraylist7
;
8377 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
8378 cltype15
= type_nullable_parser_nodes__AExprs
.color
;
8379 idtype16
= type_nullable_parser_nodes__AExprs
.id
;
8380 if(var_pexprsnode4
== NULL
) {
8383 if(cltype15
>= var_pexprsnode4
->type
->table_size
) {
8386 var14
= var_pexprsnode4
->type
->type_table
[cltype15
] == idtype16
;
8389 if (unlikely(!var14
)) {
8390 PRINT_ERROR("Runtime error: %s", "Assert failed");
8391 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6836);
8394 var_passignopnode5
= var_nodearraylist8
;
8395 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
8396 cltype18
= type_nullable_parser_nodes__AAssignOp
.color
;
8397 idtype19
= type_nullable_parser_nodes__AAssignOp
.id
;
8398 if(var_passignopnode5
== NULL
) {
8401 if(cltype18
>= var_passignopnode5
->type
->table_size
) {
8404 var17
= var_passignopnode5
->type
->type_table
[cltype18
] == idtype19
;
8407 if (unlikely(!var17
)) {
8408 PRINT_ERROR("Runtime error: %s", "Assert failed");
8409 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6838);
8412 var_pexprnode6
= var_nodearraylist9
;
8413 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
8414 cltype21
= type_nullable_parser_nodes__AExpr
.color
;
8415 idtype22
= type_nullable_parser_nodes__AExpr
.id
;
8416 if(var_pexprnode6
== NULL
) {
8419 if(cltype21
>= var_pexprnode6
->type
->table_size
) {
8422 var20
= var_pexprnode6
->type
->type_table
[cltype21
] == idtype22
;
8425 if (unlikely(!var20
)) {
8426 PRINT_ERROR("Runtime error: %s", "Assert failed");
8427 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6840);
8430 var23
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8432 parser_prod__ACallReassignExpr__init_acallreassignexpr(var23
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var23:ACallReassignExpr>*/
8434 var_pexprnode1
= var23
;
8435 var_node_list
= var_pexprnode1
;
8436 var24
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction234> */
8438 var25
= parser_work__Parser__go_to(var_p
, var24
);
8441 parser_work__Parser__push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8445 /* method parser#ReduceAction234#action for (self: Object, Parser) */
8446 void VIRTUAL_parser__ReduceAction234__action(val
* self
, val
* p0
) {
8447 parser__ReduceAction234__action(self
, p0
); /* Direct call parser#ReduceAction234#action on <self:Object(ReduceAction234)>*/
8450 /* method parser#ReduceAction235#action for (self: ReduceAction235, Parser) */
8451 void parser__ReduceAction235__action(val
* self
, val
* p0
) {
8452 val
* var_p
/* var p: Parser */;
8453 val
* var
/* : null */;
8454 val
* var_node_list
/* var node_list: nullable Object */;
8455 val
* var1
/* : nullable Object */;
8456 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8457 val
* var2
/* : nullable Object */;
8458 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8459 val
* var3
/* : nullable Object */;
8460 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8461 val
* var4
/* : nullable Object */;
8462 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8463 val
* var5
/* : nullable Object */;
8464 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8465 val
* var6
/* : nullable Object */;
8466 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8467 val
* var7
/* : nullable Object */;
8468 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8469 val
* var8
/* : nullable Object */;
8470 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8471 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8472 short int var9
/* : Bool */;
8475 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8476 short int var10
/* : Bool */;
8479 val
* var13
/* : Array[Object] */;
8480 val
* var_listnode5
/* var listnode5: Array[Object] */;
8481 val
* var14
/* : AListExprs */;
8482 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
8483 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
8484 short int var15
/* : Bool */;
8487 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8488 short int var18
/* : Bool */;
8491 val
* var21
/* : ACallReassignExpr */;
8492 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8493 long var22
/* : Int */;
8494 long var23
/* : Int */;
8497 var_node_list
= var
;
8499 var1
= parser_work__Parser__pop(var_p
);
8501 var_nodearraylist8
= var1
;
8503 var2
= parser_work__Parser__pop(var_p
);
8505 var_nodearraylist7
= var2
;
8507 var3
= parser_work__Parser__pop(var_p
);
8509 var_nodearraylist6
= var3
;
8511 var4
= parser_work__Parser__pop(var_p
);
8513 var_nodearraylist5
= var4
;
8515 var5
= parser_work__Parser__pop(var_p
);
8517 var_nodearraylist4
= var5
;
8519 var6
= parser_work__Parser__pop(var_p
);
8521 var_nodearraylist3
= var6
;
8523 var7
= parser_work__Parser__pop(var_p
);
8525 var_nodearraylist2
= var7
;
8527 var8
= parser_work__Parser__pop(var_p
);
8529 var_nodearraylist1
= var8
;
8530 var_pexprnode2
= var_nodearraylist1
;
8531 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8532 cltype
= type_nullable_parser_nodes__AExpr
.color
;
8533 idtype
= type_nullable_parser_nodes__AExpr
.id
;
8534 if(var_pexprnode2
== NULL
) {
8537 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8540 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8543 if (unlikely(!var9
)) {
8544 PRINT_ERROR("Runtime error: %s", "Assert failed");
8545 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6866);
8548 var_tidnode3
= var_nodearraylist6
;
8549 /* <var_tidnode3:nullable Object> isa nullable TId */
8550 cltype11
= type_nullable_parser_nodes__TId
.color
;
8551 idtype12
= type_nullable_parser_nodes__TId
.id
;
8552 if(var_tidnode3
== NULL
) {
8555 if(cltype11
>= var_tidnode3
->type
->table_size
) {
8558 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
8561 if (unlikely(!var10
)) {
8562 PRINT_ERROR("Runtime error: %s", "Assert failed");
8563 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6868);
8566 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
8568 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[Object]>*/;
8570 var_listnode5
= var13
;
8571 var14
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
8573 parser_prod__AListExprs__init_alistexprs(var14
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
8575 var_pexprsnode4
= var14
;
8576 var_passignopnode6
= var_nodearraylist7
;
8577 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
8578 cltype16
= type_nullable_parser_nodes__AAssignOp
.color
;
8579 idtype17
= type_nullable_parser_nodes__AAssignOp
.id
;
8580 if(var_passignopnode6
== NULL
) {
8583 if(cltype16
>= var_passignopnode6
->type
->table_size
) {
8586 var15
= var_passignopnode6
->type
->type_table
[cltype16
] == idtype17
;
8589 if (unlikely(!var15
)) {
8590 PRINT_ERROR("Runtime error: %s", "Assert failed");
8591 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6874);
8594 var_pexprnode7
= var_nodearraylist8
;
8595 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8596 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
8597 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
8598 if(var_pexprnode7
== NULL
) {
8601 if(cltype19
>= var_pexprnode7
->type
->table_size
) {
8604 var18
= var_pexprnode7
->type
->type_table
[cltype19
] == idtype20
;
8607 if (unlikely(!var18
)) {
8608 PRINT_ERROR("Runtime error: %s", "Assert failed");
8609 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6876);
8612 var21
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8614 parser_prod__ACallReassignExpr__init_acallreassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var21:ACallReassignExpr>*/
8616 var_pexprnode1
= var21
;
8617 var_node_list
= var_pexprnode1
;
8618 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction235> */
8620 var23
= parser_work__Parser__go_to(var_p
, var22
);
8623 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8627 /* method parser#ReduceAction235#action for (self: Object, Parser) */
8628 void VIRTUAL_parser__ReduceAction235__action(val
* self
, val
* p0
) {
8629 parser__ReduceAction235__action(self
, p0
); /* Direct call parser#ReduceAction235#action on <self:Object(ReduceAction235)>*/
8632 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
8633 void parser__ReduceAction238__action(val
* self
, val
* p0
) {
8634 val
* var_p
/* var p: Parser */;
8635 val
* var
/* : null */;
8636 val
* var_node_list
/* var node_list: nullable Object */;
8637 val
* var1
/* : nullable Object */;
8638 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8639 val
* var2
/* : nullable Object */;
8640 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8641 val
* var3
/* : nullable Object */;
8642 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8643 val
* var4
/* : nullable Object */;
8644 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8645 val
* var5
/* : AImplicitSelfExpr */;
8646 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
8647 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8648 short int var7
/* : Bool */;
8651 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8652 short int var8
/* : Bool */;
8655 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8656 short int var11
/* : Bool */;
8659 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8660 short int var14
/* : Bool */;
8663 val
* var17
/* : ACallReassignExpr */;
8664 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8665 long var18
/* : Int */;
8666 long var19
/* : Int */;
8669 var_node_list
= var
;
8671 var1
= parser_work__Parser__pop(var_p
);
8673 var_nodearraylist4
= var1
;
8675 var2
= parser_work__Parser__pop(var_p
);
8677 var_nodearraylist3
= var2
;
8679 var3
= parser_work__Parser__pop(var_p
);
8681 var_nodearraylist2
= var3
;
8683 var4
= parser_work__Parser__pop(var_p
);
8685 var_nodearraylist1
= var4
;
8686 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
8688 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
8692 var_pexprnode2
= var5
;
8693 var_tidnode3
= var_nodearraylist1
;
8694 /* <var_tidnode3:nullable Object> isa nullable TId */
8695 cltype
= type_nullable_parser_nodes__TId
.color
;
8696 idtype
= type_nullable_parser_nodes__TId
.id
;
8697 if(var_tidnode3
== NULL
) {
8700 if(cltype
>= var_tidnode3
->type
->table_size
) {
8703 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
8706 if (unlikely(!var7
)) {
8707 PRINT_ERROR("Runtime error: %s", "Assert failed");
8708 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6899);
8711 var_pexprsnode4
= var_nodearraylist2
;
8712 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
8713 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
8714 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
8715 if(var_pexprsnode4
== NULL
) {
8718 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
8721 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
8724 if (unlikely(!var8
)) {
8725 PRINT_ERROR("Runtime error: %s", "Assert failed");
8726 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6901);
8729 var_passignopnode5
= var_nodearraylist3
;
8730 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
8731 cltype12
= type_nullable_parser_nodes__AAssignOp
.color
;
8732 idtype13
= type_nullable_parser_nodes__AAssignOp
.id
;
8733 if(var_passignopnode5
== NULL
) {
8736 if(cltype12
>= var_passignopnode5
->type
->table_size
) {
8739 var11
= var_passignopnode5
->type
->type_table
[cltype12
] == idtype13
;
8742 if (unlikely(!var11
)) {
8743 PRINT_ERROR("Runtime error: %s", "Assert failed");
8744 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6903);
8747 var_pexprnode6
= var_nodearraylist4
;
8748 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
8749 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
8750 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
8751 if(var_pexprnode6
== NULL
) {
8754 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
8757 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
8760 if (unlikely(!var14
)) {
8761 PRINT_ERROR("Runtime error: %s", "Assert failed");
8762 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6905);
8765 var17
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8767 parser_prod__ACallReassignExpr__init_acallreassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var17:ACallReassignExpr>*/
8769 var_pexprnode1
= var17
;
8770 var_node_list
= var_pexprnode1
;
8771 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction238> */
8773 var19
= parser_work__Parser__go_to(var_p
, var18
);
8776 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8780 /* method parser#ReduceAction238#action for (self: Object, Parser) */
8781 void VIRTUAL_parser__ReduceAction238__action(val
* self
, val
* p0
) {
8782 parser__ReduceAction238__action(self
, p0
); /* Direct call parser#ReduceAction238#action on <self:Object(ReduceAction238)>*/
8785 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
8786 void parser__ReduceAction239__action(val
* self
, val
* p0
) {
8787 val
* var_p
/* var p: Parser */;
8788 val
* var
/* : null */;
8789 val
* var_node_list
/* var node_list: nullable Object */;
8790 val
* var1
/* : nullable Object */;
8791 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8792 val
* var2
/* : nullable Object */;
8793 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8794 val
* var3
/* : nullable Object */;
8795 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8796 val
* var4
/* : AImplicitSelfExpr */;
8797 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
8798 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8799 short int var6
/* : Bool */;
8802 val
* var7
/* : Array[Object] */;
8803 val
* var_listnode5
/* var listnode5: Array[Object] */;
8804 val
* var8
/* : AListExprs */;
8805 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
8806 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
8807 short int var9
/* : Bool */;
8810 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8811 short int var12
/* : Bool */;
8814 val
* var15
/* : ACallReassignExpr */;
8815 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8816 long var16
/* : Int */;
8817 long var17
/* : Int */;
8820 var_node_list
= var
;
8822 var1
= parser_work__Parser__pop(var_p
);
8824 var_nodearraylist3
= var1
;
8826 var2
= parser_work__Parser__pop(var_p
);
8828 var_nodearraylist2
= var2
;
8830 var3
= parser_work__Parser__pop(var_p
);
8832 var_nodearraylist1
= var3
;
8833 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
8835 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
8839 var_pexprnode2
= var4
;
8840 var_tidnode3
= var_nodearraylist1
;
8841 /* <var_tidnode3:nullable Object> isa nullable TId */
8842 cltype
= type_nullable_parser_nodes__TId
.color
;
8843 idtype
= type_nullable_parser_nodes__TId
.id
;
8844 if(var_tidnode3
== NULL
) {
8847 if(cltype
>= var_tidnode3
->type
->table_size
) {
8850 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
8853 if (unlikely(!var6
)) {
8854 PRINT_ERROR("Runtime error: %s", "Assert failed");
8855 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6927);
8858 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8860 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8862 var_listnode5
= var7
;
8863 var8
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
8865 parser_prod__AListExprs__init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
8867 var_pexprsnode4
= var8
;
8868 var_passignopnode6
= var_nodearraylist2
;
8869 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
8870 cltype10
= type_nullable_parser_nodes__AAssignOp
.color
;
8871 idtype11
= type_nullable_parser_nodes__AAssignOp
.id
;
8872 if(var_passignopnode6
== NULL
) {
8875 if(cltype10
>= var_passignopnode6
->type
->table_size
) {
8878 var9
= var_passignopnode6
->type
->type_table
[cltype10
] == idtype11
;
8881 if (unlikely(!var9
)) {
8882 PRINT_ERROR("Runtime error: %s", "Assert failed");
8883 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6933);
8886 var_pexprnode7
= var_nodearraylist3
;
8887 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8888 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
8889 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
8890 if(var_pexprnode7
== NULL
) {
8893 if(cltype13
>= var_pexprnode7
->type
->table_size
) {
8896 var12
= var_pexprnode7
->type
->type_table
[cltype13
] == idtype14
;
8899 if (unlikely(!var12
)) {
8900 PRINT_ERROR("Runtime error: %s", "Assert failed");
8901 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6935);
8904 var15
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
8906 parser_prod__ACallReassignExpr__init_acallreassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var15:ACallReassignExpr>*/
8908 var_pexprnode1
= var15
;
8909 var_node_list
= var_pexprnode1
;
8910 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction239> */
8912 var17
= parser_work__Parser__go_to(var_p
, var16
);
8915 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8919 /* method parser#ReduceAction239#action for (self: Object, Parser) */
8920 void VIRTUAL_parser__ReduceAction239__action(val
* self
, val
* p0
) {
8921 parser__ReduceAction239__action(self
, p0
); /* Direct call parser#ReduceAction239#action on <self:Object(ReduceAction239)>*/
8924 /* method parser#ReduceAction240#action for (self: ReduceAction240, Parser) */
8925 void parser__ReduceAction240__action(val
* self
, val
* p0
) {
8926 val
* var_p
/* var p: Parser */;
8927 val
* var
/* : null */;
8928 val
* var_node_list
/* var node_list: nullable Object */;
8929 val
* var1
/* : nullable Object */;
8930 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8931 val
* var2
/* : nullable Object */;
8932 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8933 val
* var3
/* : nullable Object */;
8934 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8935 val
* var4
/* : nullable Object */;
8936 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8937 val
* var5
/* : nullable Object */;
8938 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8939 val
* var6
/* : AImplicitSelfExpr */;
8940 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
8941 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8942 short int var8
/* : Bool */;
8945 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8946 short int var9
/* : Bool */;
8949 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8950 short int var12
/* : Bool */;
8953 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8954 short int var15
/* : Bool */;
8957 val
* var18
/* : ACallReassignExpr */;
8958 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8959 long var19
/* : Int */;
8960 long var20
/* : Int */;
8963 var_node_list
= var
;
8965 var1
= parser_work__Parser__pop(var_p
);
8967 var_nodearraylist5
= var1
;
8969 var2
= parser_work__Parser__pop(var_p
);
8971 var_nodearraylist4
= var2
;
8973 var3
= parser_work__Parser__pop(var_p
);
8975 var_nodearraylist3
= var3
;
8977 var4
= parser_work__Parser__pop(var_p
);
8979 var_nodearraylist2
= var4
;
8981 var5
= parser_work__Parser__pop(var_p
);
8983 var_nodearraylist1
= var5
;
8984 var6
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
8986 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
8990 var_pexprnode2
= var6
;
8991 var_tidnode3
= var_nodearraylist2
;
8992 /* <var_tidnode3:nullable Object> isa nullable TId */
8993 cltype
= type_nullable_parser_nodes__TId
.color
;
8994 idtype
= type_nullable_parser_nodes__TId
.id
;
8995 if(var_tidnode3
== NULL
) {
8998 if(cltype
>= var_tidnode3
->type
->table_size
) {
9001 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9004 if (unlikely(!var8
)) {
9005 PRINT_ERROR("Runtime error: %s", "Assert failed");
9006 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6959);
9009 var_pexprsnode4
= var_nodearraylist3
;
9010 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
9011 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
9012 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
9013 if(var_pexprsnode4
== NULL
) {
9016 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
9019 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
9022 if (unlikely(!var9
)) {
9023 PRINT_ERROR("Runtime error: %s", "Assert failed");
9024 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6961);
9027 var_passignopnode5
= var_nodearraylist4
;
9028 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
9029 cltype13
= type_nullable_parser_nodes__AAssignOp
.color
;
9030 idtype14
= type_nullable_parser_nodes__AAssignOp
.id
;
9031 if(var_passignopnode5
== NULL
) {
9034 if(cltype13
>= var_passignopnode5
->type
->table_size
) {
9037 var12
= var_passignopnode5
->type
->type_table
[cltype13
] == idtype14
;
9040 if (unlikely(!var12
)) {
9041 PRINT_ERROR("Runtime error: %s", "Assert failed");
9042 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6963);
9045 var_pexprnode6
= var_nodearraylist5
;
9046 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9047 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
9048 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
9049 if(var_pexprnode6
== NULL
) {
9052 if(cltype16
>= var_pexprnode6
->type
->table_size
) {
9055 var15
= var_pexprnode6
->type
->type_table
[cltype16
] == idtype17
;
9058 if (unlikely(!var15
)) {
9059 PRINT_ERROR("Runtime error: %s", "Assert failed");
9060 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6965);
9063 var18
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
9065 parser_prod__ACallReassignExpr__init_acallreassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var18:ACallReassignExpr>*/
9067 var_pexprnode1
= var18
;
9068 var_node_list
= var_pexprnode1
;
9069 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction240> */
9071 var20
= parser_work__Parser__go_to(var_p
, var19
);
9074 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9078 /* method parser#ReduceAction240#action for (self: Object, Parser) */
9079 void VIRTUAL_parser__ReduceAction240__action(val
* self
, val
* p0
) {
9080 parser__ReduceAction240__action(self
, p0
); /* Direct call parser#ReduceAction240#action on <self:Object(ReduceAction240)>*/
9083 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
9084 void parser__ReduceAction241__action(val
* self
, val
* p0
) {
9085 val
* var_p
/* var p: Parser */;
9086 val
* var
/* : null */;
9087 val
* var_node_list
/* var node_list: nullable Object */;
9088 val
* var1
/* : nullable Object */;
9089 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9090 val
* var2
/* : nullable Object */;
9091 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9092 val
* var3
/* : nullable Object */;
9093 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9094 val
* var4
/* : nullable Object */;
9095 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9096 val
* var5
/* : AImplicitSelfExpr */;
9097 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9098 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9099 short int var7
/* : Bool */;
9102 val
* var8
/* : Array[Object] */;
9103 val
* var_listnode5
/* var listnode5: Array[Object] */;
9104 val
* var9
/* : AListExprs */;
9105 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
9106 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
9107 short int var10
/* : Bool */;
9110 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9111 short int var13
/* : Bool */;
9114 val
* var16
/* : ACallReassignExpr */;
9115 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9116 long var17
/* : Int */;
9117 long var18
/* : Int */;
9120 var_node_list
= var
;
9122 var1
= parser_work__Parser__pop(var_p
);
9124 var_nodearraylist4
= var1
;
9126 var2
= parser_work__Parser__pop(var_p
);
9128 var_nodearraylist3
= var2
;
9130 var3
= parser_work__Parser__pop(var_p
);
9132 var_nodearraylist2
= var3
;
9134 var4
= parser_work__Parser__pop(var_p
);
9136 var_nodearraylist1
= var4
;
9137 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
9139 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
9143 var_pexprnode2
= var5
;
9144 var_tidnode3
= var_nodearraylist2
;
9145 /* <var_tidnode3:nullable Object> isa nullable TId */
9146 cltype
= type_nullable_parser_nodes__TId
.color
;
9147 idtype
= type_nullable_parser_nodes__TId
.id
;
9148 if(var_tidnode3
== NULL
) {
9151 if(cltype
>= var_tidnode3
->type
->table_size
) {
9154 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9157 if (unlikely(!var7
)) {
9158 PRINT_ERROR("Runtime error: %s", "Assert failed");
9159 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6988);
9162 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9164 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9166 var_listnode5
= var8
;
9167 var9
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
9169 parser_prod__AListExprs__init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
9171 var_pexprsnode4
= var9
;
9172 var_passignopnode6
= var_nodearraylist3
;
9173 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
9174 cltype11
= type_nullable_parser_nodes__AAssignOp
.color
;
9175 idtype12
= type_nullable_parser_nodes__AAssignOp
.id
;
9176 if(var_passignopnode6
== NULL
) {
9179 if(cltype11
>= var_passignopnode6
->type
->table_size
) {
9182 var10
= var_passignopnode6
->type
->type_table
[cltype11
] == idtype12
;
9185 if (unlikely(!var10
)) {
9186 PRINT_ERROR("Runtime error: %s", "Assert failed");
9187 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6994);
9190 var_pexprnode7
= var_nodearraylist4
;
9191 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9192 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
9193 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
9194 if(var_pexprnode7
== NULL
) {
9197 if(cltype14
>= var_pexprnode7
->type
->table_size
) {
9200 var13
= var_pexprnode7
->type
->type_table
[cltype14
] == idtype15
;
9203 if (unlikely(!var13
)) {
9204 PRINT_ERROR("Runtime error: %s", "Assert failed");
9205 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 6996);
9208 var16
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
9210 parser_prod__ACallReassignExpr__init_acallreassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var16:ACallReassignExpr>*/
9212 var_pexprnode1
= var16
;
9213 var_node_list
= var_pexprnode1
;
9214 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction241> */
9216 var18
= parser_work__Parser__go_to(var_p
, var17
);
9219 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9223 /* method parser#ReduceAction241#action for (self: Object, Parser) */
9224 void VIRTUAL_parser__ReduceAction241__action(val
* self
, val
* p0
) {
9225 parser__ReduceAction241__action(self
, p0
); /* Direct call parser#ReduceAction241#action on <self:Object(ReduceAction241)>*/
9228 /* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */
9229 void parser__ReduceAction242__action(val
* self
, val
* p0
) {
9230 val
* var_p
/* var p: Parser */;
9231 val
* var
/* : null */;
9232 val
* var_node_list
/* var node_list: nullable Object */;
9233 val
* var1
/* : nullable Object */;
9234 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9235 val
* var2
/* : nullable Object */;
9236 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9237 val
* var3
/* : nullable Object */;
9238 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9239 val
* var4
/* : nullable Object */;
9240 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9241 val
* var5
/* : nullable Object */;
9242 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9243 val
* var6
/* : nullable Object */;
9244 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9245 val
* var7
/* : AImplicitSelfExpr */;
9246 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9247 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9248 short int var9
/* : Bool */;
9251 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
9252 short int var10
/* : Bool */;
9255 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
9256 short int var13
/* : Bool */;
9259 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
9260 short int var16
/* : Bool */;
9263 val
* var19
/* : ACallReassignExpr */;
9264 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9265 long var20
/* : Int */;
9266 long var21
/* : Int */;
9269 var_node_list
= var
;
9271 var1
= parser_work__Parser__pop(var_p
);
9273 var_nodearraylist6
= var1
;
9275 var2
= parser_work__Parser__pop(var_p
);
9277 var_nodearraylist5
= var2
;
9279 var3
= parser_work__Parser__pop(var_p
);
9281 var_nodearraylist4
= var3
;
9283 var4
= parser_work__Parser__pop(var_p
);
9285 var_nodearraylist3
= var4
;
9287 var5
= parser_work__Parser__pop(var_p
);
9289 var_nodearraylist2
= var5
;
9291 var6
= parser_work__Parser__pop(var_p
);
9293 var_nodearraylist1
= var6
;
9294 var7
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
9296 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on <var7:AImplicitSelfExpr> */
9300 var_pexprnode2
= var7
;
9301 var_tidnode3
= var_nodearraylist3
;
9302 /* <var_tidnode3:nullable Object> isa nullable TId */
9303 cltype
= type_nullable_parser_nodes__TId
.color
;
9304 idtype
= type_nullable_parser_nodes__TId
.id
;
9305 if(var_tidnode3
== NULL
) {
9308 if(cltype
>= var_tidnode3
->type
->table_size
) {
9311 var9
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9314 if (unlikely(!var9
)) {
9315 PRINT_ERROR("Runtime error: %s", "Assert failed");
9316 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7021);
9319 var_pexprsnode4
= var_nodearraylist4
;
9320 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
9321 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
9322 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
9323 if(var_pexprsnode4
== NULL
) {
9326 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
9329 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
9332 if (unlikely(!var10
)) {
9333 PRINT_ERROR("Runtime error: %s", "Assert failed");
9334 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7023);
9337 var_passignopnode5
= var_nodearraylist5
;
9338 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
9339 cltype14
= type_nullable_parser_nodes__AAssignOp
.color
;
9340 idtype15
= type_nullable_parser_nodes__AAssignOp
.id
;
9341 if(var_passignopnode5
== NULL
) {
9344 if(cltype14
>= var_passignopnode5
->type
->table_size
) {
9347 var13
= var_passignopnode5
->type
->type_table
[cltype14
] == idtype15
;
9350 if (unlikely(!var13
)) {
9351 PRINT_ERROR("Runtime error: %s", "Assert failed");
9352 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7025);
9355 var_pexprnode6
= var_nodearraylist6
;
9356 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9357 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
9358 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
9359 if(var_pexprnode6
== NULL
) {
9362 if(cltype17
>= var_pexprnode6
->type
->table_size
) {
9365 var16
= var_pexprnode6
->type
->type_table
[cltype17
] == idtype18
;
9368 if (unlikely(!var16
)) {
9369 PRINT_ERROR("Runtime error: %s", "Assert failed");
9370 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7027);
9373 var19
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
9375 parser_prod__ACallReassignExpr__init_acallreassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var19:ACallReassignExpr>*/
9377 var_pexprnode1
= var19
;
9378 var_node_list
= var_pexprnode1
;
9379 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction242> */
9381 var21
= parser_work__Parser__go_to(var_p
, var20
);
9384 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9388 /* method parser#ReduceAction242#action for (self: Object, Parser) */
9389 void VIRTUAL_parser__ReduceAction242__action(val
* self
, val
* p0
) {
9390 parser__ReduceAction242__action(self
, p0
); /* Direct call parser#ReduceAction242#action on <self:Object(ReduceAction242)>*/
9393 /* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */
9394 void parser__ReduceAction243__action(val
* self
, val
* p0
) {
9395 val
* var_p
/* var p: Parser */;
9396 val
* var
/* : null */;
9397 val
* var_node_list
/* var node_list: nullable Object */;
9398 val
* var1
/* : nullable Object */;
9399 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9400 val
* var2
/* : nullable Object */;
9401 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9402 val
* var3
/* : nullable Object */;
9403 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9404 val
* var4
/* : nullable Object */;
9405 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9406 val
* var5
/* : nullable Object */;
9407 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9408 val
* var6
/* : AImplicitSelfExpr */;
9409 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9410 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9411 short int var8
/* : Bool */;
9414 val
* var9
/* : Array[Object] */;
9415 val
* var_listnode5
/* var listnode5: Array[Object] */;
9416 val
* var10
/* : AListExprs */;
9417 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
9418 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
9419 short int var11
/* : Bool */;
9422 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9423 short int var14
/* : Bool */;
9426 val
* var17
/* : ACallReassignExpr */;
9427 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9428 long var18
/* : Int */;
9429 long var19
/* : Int */;
9432 var_node_list
= var
;
9434 var1
= parser_work__Parser__pop(var_p
);
9436 var_nodearraylist5
= var1
;
9438 var2
= parser_work__Parser__pop(var_p
);
9440 var_nodearraylist4
= var2
;
9442 var3
= parser_work__Parser__pop(var_p
);
9444 var_nodearraylist3
= var3
;
9446 var4
= parser_work__Parser__pop(var_p
);
9448 var_nodearraylist2
= var4
;
9450 var5
= parser_work__Parser__pop(var_p
);
9452 var_nodearraylist1
= var5
;
9453 var6
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
9455 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
9459 var_pexprnode2
= var6
;
9460 var_tidnode3
= var_nodearraylist3
;
9461 /* <var_tidnode3:nullable Object> isa nullable TId */
9462 cltype
= type_nullable_parser_nodes__TId
.color
;
9463 idtype
= type_nullable_parser_nodes__TId
.id
;
9464 if(var_tidnode3
== NULL
) {
9467 if(cltype
>= var_tidnode3
->type
->table_size
) {
9470 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9473 if (unlikely(!var8
)) {
9474 PRINT_ERROR("Runtime error: %s", "Assert failed");
9475 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7051);
9478 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
9480 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[Object]>*/;
9482 var_listnode5
= var9
;
9483 var10
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
9485 parser_prod__AListExprs__init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
9487 var_pexprsnode4
= var10
;
9488 var_passignopnode6
= var_nodearraylist4
;
9489 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
9490 cltype12
= type_nullable_parser_nodes__AAssignOp
.color
;
9491 idtype13
= type_nullable_parser_nodes__AAssignOp
.id
;
9492 if(var_passignopnode6
== NULL
) {
9495 if(cltype12
>= var_passignopnode6
->type
->table_size
) {
9498 var11
= var_passignopnode6
->type
->type_table
[cltype12
] == idtype13
;
9501 if (unlikely(!var11
)) {
9502 PRINT_ERROR("Runtime error: %s", "Assert failed");
9503 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7057);
9506 var_pexprnode7
= var_nodearraylist5
;
9507 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9508 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
9509 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
9510 if(var_pexprnode7
== NULL
) {
9513 if(cltype15
>= var_pexprnode7
->type
->table_size
) {
9516 var14
= var_pexprnode7
->type
->type_table
[cltype15
] == idtype16
;
9519 if (unlikely(!var14
)) {
9520 PRINT_ERROR("Runtime error: %s", "Assert failed");
9521 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7059);
9524 var17
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
9526 parser_prod__ACallReassignExpr__init_acallreassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var17:ACallReassignExpr>*/
9528 var_pexprnode1
= var17
;
9529 var_node_list
= var_pexprnode1
;
9530 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction243> */
9532 var19
= parser_work__Parser__go_to(var_p
, var18
);
9535 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9539 /* method parser#ReduceAction243#action for (self: Object, Parser) */
9540 void VIRTUAL_parser__ReduceAction243__action(val
* self
, val
* p0
) {
9541 parser__ReduceAction243__action(self
, p0
); /* Direct call parser#ReduceAction243#action on <self:Object(ReduceAction243)>*/
9544 /* method parser#ReduceAction246#action for (self: ReduceAction246, Parser) */
9545 void parser__ReduceAction246__action(val
* self
, val
* p0
) {
9546 val
* var_p
/* var p: Parser */;
9547 val
* var
/* : null */;
9548 val
* var_node_list
/* var node_list: nullable Object */;
9549 val
* var1
/* : nullable Object */;
9550 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9551 val
* var2
/* : nullable Object */;
9552 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9553 val
* var3
/* : nullable Object */;
9554 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9555 val
* var4
/* : nullable Object */;
9556 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9557 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9558 short int var5
/* : Bool */;
9561 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
9562 short int var6
/* : Bool */;
9565 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
9566 short int var9
/* : Bool */;
9569 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9570 short int var12
/* : Bool */;
9573 val
* var15
/* : ABraReassignExpr */;
9574 val
* var_pexprnode1
/* var pexprnode1: nullable ABraReassignExpr */;
9575 long var16
/* : Int */;
9576 long var17
/* : Int */;
9579 var_node_list
= var
;
9581 var1
= parser_work__Parser__pop(var_p
);
9583 var_nodearraylist4
= var1
;
9585 var2
= parser_work__Parser__pop(var_p
);
9587 var_nodearraylist3
= var2
;
9589 var3
= parser_work__Parser__pop(var_p
);
9591 var_nodearraylist2
= var3
;
9593 var4
= parser_work__Parser__pop(var_p
);
9595 var_nodearraylist1
= var4
;
9596 var_pexprnode2
= var_nodearraylist1
;
9597 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9598 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9599 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9600 if(var_pexprnode2
== NULL
) {
9603 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9606 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9609 if (unlikely(!var5
)) {
9610 PRINT_ERROR("Runtime error: %s", "Assert failed");
9611 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7081);
9614 var_pexprsnode3
= var_nodearraylist2
;
9615 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
9616 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
9617 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
9618 if(var_pexprsnode3
== NULL
) {
9621 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
9624 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
9627 if (unlikely(!var6
)) {
9628 PRINT_ERROR("Runtime error: %s", "Assert failed");
9629 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7083);
9632 var_passignopnode4
= var_nodearraylist3
;
9633 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
9634 cltype10
= type_nullable_parser_nodes__AAssignOp
.color
;
9635 idtype11
= type_nullable_parser_nodes__AAssignOp
.id
;
9636 if(var_passignopnode4
== NULL
) {
9639 if(cltype10
>= var_passignopnode4
->type
->table_size
) {
9642 var9
= var_passignopnode4
->type
->type_table
[cltype10
] == idtype11
;
9645 if (unlikely(!var9
)) {
9646 PRINT_ERROR("Runtime error: %s", "Assert failed");
9647 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7085);
9650 var_pexprnode5
= var_nodearraylist4
;
9651 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9652 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
9653 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
9654 if(var_pexprnode5
== NULL
) {
9657 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
9660 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
9663 if (unlikely(!var12
)) {
9664 PRINT_ERROR("Runtime error: %s", "Assert failed");
9665 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7087);
9668 var15
= NEW_parser_nodes__ABraReassignExpr(&type_parser_nodes__ABraReassignExpr
);
9670 parser_prod__ABraReassignExpr__init_abrareassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on <var15:ABraReassignExpr>*/
9672 var_pexprnode1
= var15
;
9673 var_node_list
= var_pexprnode1
;
9674 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction246> */
9676 var17
= parser_work__Parser__go_to(var_p
, var16
);
9679 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9683 /* method parser#ReduceAction246#action for (self: Object, Parser) */
9684 void VIRTUAL_parser__ReduceAction246__action(val
* self
, val
* p0
) {
9685 parser__ReduceAction246__action(self
, p0
); /* Direct call parser#ReduceAction246#action on <self:Object(ReduceAction246)>*/
9688 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
9689 void parser__ReduceAction247__action(val
* self
, val
* p0
) {
9690 val
* var_p
/* var p: Parser */;
9691 val
* var
/* : null */;
9692 val
* var_node_list
/* var node_list: nullable Object */;
9693 val
* var1
/* : nullable Object */;
9694 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9695 val
* var_tpluseqnode2
/* var tpluseqnode2: nullable Object */;
9696 short int var2
/* : Bool */;
9699 val
* var3
/* : APlusAssignOp */;
9700 val
* var_passignopnode1
/* var passignopnode1: nullable APlusAssignOp */;
9701 long var4
/* : Int */;
9702 long var5
/* : Int */;
9705 var_node_list
= var
;
9707 var1
= parser_work__Parser__pop(var_p
);
9709 var_nodearraylist1
= var1
;
9710 var_tpluseqnode2
= var_nodearraylist1
;
9711 /* <var_tpluseqnode2:nullable Object> isa nullable TPluseq */
9712 cltype
= type_nullable_parser_nodes__TPluseq
.color
;
9713 idtype
= type_nullable_parser_nodes__TPluseq
.id
;
9714 if(var_tpluseqnode2
== NULL
) {
9717 if(cltype
>= var_tpluseqnode2
->type
->table_size
) {
9720 var2
= var_tpluseqnode2
->type
->type_table
[cltype
] == idtype
;
9723 if (unlikely(!var2
)) {
9724 PRINT_ERROR("Runtime error: %s", "Assert failed");
9725 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7105);
9728 var3
= NEW_parser_nodes__APlusAssignOp(&type_parser_nodes__APlusAssignOp
);
9730 parser_prod__APlusAssignOp__init_aplusassignop(var3
, var_tpluseqnode2
); /* Direct call parser_prod#APlusAssignOp#init_aplusassignop on <var3:APlusAssignOp>*/
9732 var_passignopnode1
= var3
;
9733 var_node_list
= var_passignopnode1
;
9734 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction247> */
9736 var5
= parser_work__Parser__go_to(var_p
, var4
);
9739 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9743 /* method parser#ReduceAction247#action for (self: Object, Parser) */
9744 void VIRTUAL_parser__ReduceAction247__action(val
* self
, val
* p0
) {
9745 parser__ReduceAction247__action(self
, p0
); /* Direct call parser#ReduceAction247#action on <self:Object(ReduceAction247)>*/
9748 /* method parser#ReduceAction248#action for (self: ReduceAction248, Parser) */
9749 void parser__ReduceAction248__action(val
* self
, val
* p0
) {
9750 val
* var_p
/* var p: Parser */;
9751 val
* var
/* : null */;
9752 val
* var_node_list
/* var node_list: nullable Object */;
9753 val
* var1
/* : nullable Object */;
9754 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9755 val
* var_tminuseqnode2
/* var tminuseqnode2: nullable Object */;
9756 short int var2
/* : Bool */;
9759 val
* var3
/* : AMinusAssignOp */;
9760 val
* var_passignopnode1
/* var passignopnode1: nullable AMinusAssignOp */;
9761 long var4
/* : Int */;
9762 long var5
/* : Int */;
9765 var_node_list
= var
;
9767 var1
= parser_work__Parser__pop(var_p
);
9769 var_nodearraylist1
= var1
;
9770 var_tminuseqnode2
= var_nodearraylist1
;
9771 /* <var_tminuseqnode2:nullable Object> isa nullable TMinuseq */
9772 cltype
= type_nullable_parser_nodes__TMinuseq
.color
;
9773 idtype
= type_nullable_parser_nodes__TMinuseq
.id
;
9774 if(var_tminuseqnode2
== NULL
) {
9777 if(cltype
>= var_tminuseqnode2
->type
->table_size
) {
9780 var2
= var_tminuseqnode2
->type
->type_table
[cltype
] == idtype
;
9783 if (unlikely(!var2
)) {
9784 PRINT_ERROR("Runtime error: %s", "Assert failed");
9785 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7120);
9788 var3
= NEW_parser_nodes__AMinusAssignOp(&type_parser_nodes__AMinusAssignOp
);
9790 parser_prod__AMinusAssignOp__init_aminusassignop(var3
, var_tminuseqnode2
); /* Direct call parser_prod#AMinusAssignOp#init_aminusassignop on <var3:AMinusAssignOp>*/
9792 var_passignopnode1
= var3
;
9793 var_node_list
= var_passignopnode1
;
9794 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction248> */
9796 var5
= parser_work__Parser__go_to(var_p
, var4
);
9799 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9803 /* method parser#ReduceAction248#action for (self: Object, Parser) */
9804 void VIRTUAL_parser__ReduceAction248__action(val
* self
, val
* p0
) {
9805 parser__ReduceAction248__action(self
, p0
); /* Direct call parser#ReduceAction248#action on <self:Object(ReduceAction248)>*/
9808 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
9809 void parser__ReduceAction249__action(val
* self
, val
* p0
) {
9810 val
* var_p
/* var p: Parser */;
9811 val
* var
/* : null */;
9812 val
* var_node_list
/* var node_list: nullable Object */;
9813 val
* var1
/* : nullable Object */;
9814 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9815 val
* var2
/* : nullable Object */;
9816 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9817 val
* var3
/* : nullable Object */;
9818 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9819 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
9820 short int var4
/* : Bool */;
9823 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9824 short int var5
/* : Bool */;
9827 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
9828 short int var8
/* : Bool */;
9831 val
* var11
/* : ADoExpr */;
9832 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
9833 long var12
/* : Int */;
9834 long var13
/* : Int */;
9837 var_node_list
= var
;
9839 var1
= parser_work__Parser__pop(var_p
);
9841 var_nodearraylist3
= var1
;
9843 var2
= parser_work__Parser__pop(var_p
);
9845 var_nodearraylist2
= var2
;
9847 var3
= parser_work__Parser__pop(var_p
);
9849 var_nodearraylist1
= var3
;
9850 var_tkwdonode2
= var_nodearraylist1
;
9851 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
9852 cltype
= type_nullable_parser_nodes__TKwdo
.color
;
9853 idtype
= type_nullable_parser_nodes__TKwdo
.id
;
9854 if(var_tkwdonode2
== NULL
) {
9857 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
9860 var4
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
9863 if (unlikely(!var4
)) {
9864 PRINT_ERROR("Runtime error: %s", "Assert failed");
9865 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7137);
9868 var_pexprnode3
= var_nodearraylist2
;
9869 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9870 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
9871 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
9872 if(var_pexprnode3
== NULL
) {
9875 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
9878 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
9881 if (unlikely(!var5
)) {
9882 PRINT_ERROR("Runtime error: %s", "Assert failed");
9883 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7139);
9886 var_plabelnode4
= var_nodearraylist3
;
9887 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
9888 cltype9
= type_nullable_parser_nodes__ALabel
.color
;
9889 idtype10
= type_nullable_parser_nodes__ALabel
.id
;
9890 if(var_plabelnode4
== NULL
) {
9893 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
9896 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
9899 if (unlikely(!var8
)) {
9900 PRINT_ERROR("Runtime error: %s", "Assert failed");
9901 PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 7141);
9904 var11
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
9906 parser_prod__ADoExpr__init_adoexpr(var11
, var_tkwdonode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var11:ADoExpr>*/
9908 var_pexprnode1
= var11
;
9909 var_node_list
= var_pexprnode1
;
9910 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction249> */
9912 var13
= parser_work__Parser__go_to(var_p
, var12
);
9915 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9919 /* method parser#ReduceAction249#action for (self: Object, Parser) */
9920 void VIRTUAL_parser__ReduceAction249__action(val
* self
, val
* p0
) {
9921 parser__ReduceAction249__action(self
, p0
); /* Direct call parser#ReduceAction249#action on <self:Object(ReduceAction249)>*/