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_nodearraylist7
/* var nodearraylist7: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
19 val
* var7
/* : nullable Object */;
20 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
21 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
22 short int var8
/* : Bool */;
25 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
26 short int var9
/* : Bool */;
29 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
30 short int var12
/* : Bool */;
33 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
34 short int var15
/* : Bool */;
37 val
* var18
/* : AAsNotNullableExternCall */;
38 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
39 long var19
/* : Int */;
40 long var20
/* : Int */;
45 var1
= parser_work__Parser__pop(var_p
);
47 var_nodearraylist7
= var1
;
49 var2
= parser_work__Parser__pop(var_p
);
51 var_nodearraylist6
= var2
;
53 var3
= parser_work__Parser__pop(var_p
);
55 var_nodearraylist5
= var3
;
57 var4
= parser_work__Parser__pop(var_p
);
59 var_nodearraylist4
= var4
;
61 var5
= parser_work__Parser__pop(var_p
);
63 var_nodearraylist3
= var5
;
65 var6
= parser_work__Parser__pop(var_p
);
67 var_nodearraylist2
= var6
;
69 var7
= parser_work__Parser__pop(var_p
);
71 var_nodearraylist1
= var7
;
72 var_ptypenode2
= var_nodearraylist1
;
73 /* <var_ptypenode2:nullable Object> isa nullable AType */
74 cltype
= type_nullable_parser_nodes__AType
.color
;
75 idtype
= type_nullable_parser_nodes__AType
.id
;
76 if(var_ptypenode2
== NULL
) {
79 if(cltype
>= var_ptypenode2
->type
->table_size
) {
82 var8
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
85 if (unlikely(!var8
)) {
86 PRINT_ERROR("Runtime error: %s", "Assert failed");
87 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5192);
90 var_tkwasnode3
= var_nodearraylist3
;
91 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
92 cltype10
= type_nullable_parser_nodes__TKwas
.color
;
93 idtype11
= type_nullable_parser_nodes__TKwas
.id
;
94 if(var_tkwasnode3
== NULL
) {
97 if(cltype10
>= var_tkwasnode3
->type
->table_size
) {
100 var9
= var_tkwasnode3
->type
->type_table
[cltype10
] == idtype11
;
103 if (unlikely(!var9
)) {
104 PRINT_ERROR("Runtime error: %s", "Assert failed");
105 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5194);
108 var_tkwnotnode4
= var_nodearraylist5
;
109 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
110 cltype13
= type_nullable_parser_nodes__TKwnot
.color
;
111 idtype14
= type_nullable_parser_nodes__TKwnot
.id
;
112 if(var_tkwnotnode4
== NULL
) {
115 if(cltype13
>= var_tkwnotnode4
->type
->table_size
) {
118 var12
= var_tkwnotnode4
->type
->type_table
[cltype13
] == idtype14
;
121 if (unlikely(!var12
)) {
122 PRINT_ERROR("Runtime error: %s", "Assert failed");
123 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5196);
126 var_tkwnullablenode5
= var_nodearraylist7
;
127 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
128 cltype16
= type_nullable_parser_nodes__TKwnullable
.color
;
129 idtype17
= type_nullable_parser_nodes__TKwnullable
.id
;
130 if(var_tkwnullablenode5
== NULL
) {
133 if(cltype16
>= var_tkwnullablenode5
->type
->table_size
) {
136 var15
= var_tkwnullablenode5
->type
->type_table
[cltype16
] == idtype17
;
139 if (unlikely(!var15
)) {
140 PRINT_ERROR("Runtime error: %s", "Assert failed");
141 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5198);
144 var18
= NEW_parser_nodes__AAsNotNullableExternCall(&type_parser_nodes__AAsNotNullableExternCall
);
146 parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(var18
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var18:AAsNotNullableExternCall>*/
148 var_pexterncallnode1
= var18
;
149 var_node_list
= var_pexterncallnode1
;
150 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction148> */
152 var20
= parser_work__Parser__go_to(var_p
, var19
);
155 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
159 /* method parser#ReduceAction148#action for (self: Object, Parser) */
160 void VIRTUAL_parser__ReduceAction148__action(val
* self
, val
* p0
) {
161 parser__ReduceAction148__action(self
, p0
); /* Direct call parser#ReduceAction148#action on <self:Object(ReduceAction148)>*/
164 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
165 void parser__ReduceAction150__action(val
* self
, val
* p0
) {
166 val
* var_p
/* var p: Parser */;
167 val
* var
/* : null */;
168 val
* var_node_list
/* var node_list: nullable Object */;
169 val
* var1
/* : nullable Object */;
170 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
171 val
* var_tstringnode1
/* var tstringnode1: nullable Object */;
172 long var2
/* : Int */;
173 long var3
/* : Int */;
178 var1
= parser_work__Parser__pop(var_p
);
180 var_nodearraylist1
= var1
;
181 var_tstringnode1
= var_nodearraylist1
;
182 var_node_list
= var_tstringnode1
;
183 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction150> */
185 var3
= parser_work__Parser__go_to(var_p
, var2
);
188 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
192 /* method parser#ReduceAction150#action for (self: Object, Parser) */
193 void VIRTUAL_parser__ReduceAction150__action(val
* self
, val
* p0
) {
194 parser__ReduceAction150__action(self
, p0
); /* Direct call parser#ReduceAction150#action on <self:Object(ReduceAction150)>*/
197 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
198 void parser__ReduceAction151__action(val
* self
, val
* p0
) {
199 val
* var_p
/* var p: Parser */;
200 val
* var
/* : null */;
201 val
* var_node_list
/* var node_list: nullable Object */;
202 val
* var1
/* : nullable Object */;
203 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
204 val
* var2
/* : nullable Object */;
205 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
206 val
* var3
/* : nullable Object */;
207 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
208 val
* var4
/* : nullable Object */;
209 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
210 val
* var_tkwinnode2
/* var tkwinnode2: nullable Object */;
211 short int var5
/* : Bool */;
214 val
* var_tstringnode3
/* var tstringnode3: nullable Object */;
215 short int var6
/* : Bool */;
218 val
* var9
/* : AInLanguage */;
219 val
* var_pinlanguagenode1
/* var pinlanguagenode1: nullable AInLanguage */;
220 long var10
/* : Int */;
221 long var11
/* : Int */;
226 var1
= parser_work__Parser__pop(var_p
);
228 var_nodearraylist4
= var1
;
230 var2
= parser_work__Parser__pop(var_p
);
232 var_nodearraylist3
= var2
;
234 var3
= parser_work__Parser__pop(var_p
);
236 var_nodearraylist2
= var3
;
238 var4
= parser_work__Parser__pop(var_p
);
240 var_nodearraylist1
= var4
;
241 var_tkwinnode2
= var_nodearraylist1
;
242 /* <var_tkwinnode2:nullable Object> isa nullable TKwin */
243 cltype
= type_nullable_parser_nodes__TKwin
.color
;
244 idtype
= type_nullable_parser_nodes__TKwin
.id
;
245 if(var_tkwinnode2
== NULL
) {
248 if(cltype
>= var_tkwinnode2
->type
->table_size
) {
251 var5
= var_tkwinnode2
->type
->type_table
[cltype
] == idtype
;
254 if (unlikely(!var5
)) {
255 PRINT_ERROR("Runtime error: %s", "Assert failed");
256 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5230);
259 var_tstringnode3
= var_nodearraylist3
;
260 /* <var_tstringnode3:nullable Object> isa nullable TString */
261 cltype7
= type_nullable_parser_nodes__TString
.color
;
262 idtype8
= type_nullable_parser_nodes__TString
.id
;
263 if(var_tstringnode3
== NULL
) {
266 if(cltype7
>= var_tstringnode3
->type
->table_size
) {
269 var6
= var_tstringnode3
->type
->type_table
[cltype7
] == idtype8
;
272 if (unlikely(!var6
)) {
273 PRINT_ERROR("Runtime error: %s", "Assert failed");
274 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5232);
277 var9
= NEW_parser_nodes__AInLanguage(&type_parser_nodes__AInLanguage
);
279 parser_prod__AInLanguage__init_ainlanguage(var9
, var_tkwinnode2
, var_tstringnode3
); /* Direct call parser_prod#AInLanguage#init_ainlanguage on <var9:AInLanguage>*/
281 var_pinlanguagenode1
= var9
;
282 var_node_list
= var_pinlanguagenode1
;
283 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction151> */
285 var11
= parser_work__Parser__go_to(var_p
, var10
);
288 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
292 /* method parser#ReduceAction151#action for (self: Object, Parser) */
293 void VIRTUAL_parser__ReduceAction151__action(val
* self
, val
* p0
) {
294 parser__ReduceAction151__action(self
, p0
); /* Direct call parser#ReduceAction151#action on <self:Object(ReduceAction151)>*/
297 /* method parser#ReduceAction152#action for (self: ReduceAction152, Parser) */
298 void parser__ReduceAction152__action(val
* self
, val
* p0
) {
299 val
* var_p
/* var p: Parser */;
300 val
* var
/* : null */;
301 val
* var_node_list
/* var node_list: nullable Object */;
302 val
* var1
/* : nullable Object */;
303 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
304 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
305 short int var2
/* : Bool */;
308 val
* var3
/* : AExternCodeBlock */;
309 val
* var4
/* : null */;
310 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
311 long var5
/* : Int */;
312 long var6
/* : Int */;
317 var1
= parser_work__Parser__pop(var_p
);
319 var_nodearraylist1
= var1
;
320 var_texterncodesegmentnode3
= var_nodearraylist1
;
321 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
322 cltype
= type_nullable_parser_nodes__TExternCodeSegment
.color
;
323 idtype
= type_nullable_parser_nodes__TExternCodeSegment
.id
;
324 if(var_texterncodesegmentnode3
== NULL
) {
327 if(cltype
>= var_texterncodesegmentnode3
->type
->table_size
) {
330 var2
= var_texterncodesegmentnode3
->type
->type_table
[cltype
] == idtype
;
333 if (unlikely(!var2
)) {
334 PRINT_ERROR("Runtime error: %s", "Assert failed");
335 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5248);
338 var3
= NEW_parser_nodes__AExternCodeBlock(&type_parser_nodes__AExternCodeBlock
);
341 parser_prod__AExternCodeBlock__init_aexterncodeblock(var3
, var4
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var3:AExternCodeBlock>*/
343 var_pexterncodeblocknode1
= var3
;
344 var_node_list
= var_pexterncodeblocknode1
;
345 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction152> */
347 var6
= parser_work__Parser__go_to(var_p
, var5
);
350 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
354 /* method parser#ReduceAction152#action for (self: Object, Parser) */
355 void VIRTUAL_parser__ReduceAction152__action(val
* self
, val
* p0
) {
356 parser__ReduceAction152__action(self
, p0
); /* Direct call parser#ReduceAction152#action on <self:Object(ReduceAction152)>*/
359 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
360 void parser__ReduceAction153__action(val
* self
, val
* p0
) {
361 val
* var_p
/* var p: Parser */;
362 val
* var
/* : null */;
363 val
* var_node_list
/* var node_list: nullable Object */;
364 val
* var1
/* : nullable Object */;
365 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
366 val
* var2
/* : nullable Object */;
367 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
368 val
* var_pinlanguagenode2
/* var pinlanguagenode2: nullable Object */;
369 short int var3
/* : Bool */;
372 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
373 short int var4
/* : Bool */;
376 val
* var7
/* : AExternCodeBlock */;
377 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
378 long var8
/* : Int */;
379 long var9
/* : Int */;
384 var1
= parser_work__Parser__pop(var_p
);
386 var_nodearraylist2
= var1
;
388 var2
= parser_work__Parser__pop(var_p
);
390 var_nodearraylist1
= var2
;
391 var_pinlanguagenode2
= var_nodearraylist1
;
392 /* <var_pinlanguagenode2:nullable Object> isa nullable AInLanguage */
393 cltype
= type_nullable_parser_nodes__AInLanguage
.color
;
394 idtype
= type_nullable_parser_nodes__AInLanguage
.id
;
395 if(var_pinlanguagenode2
== NULL
) {
398 if(cltype
>= var_pinlanguagenode2
->type
->table_size
) {
401 var3
= var_pinlanguagenode2
->type
->type_table
[cltype
] == idtype
;
404 if (unlikely(!var3
)) {
405 PRINT_ERROR("Runtime error: %s", "Assert failed");
406 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5265);
409 var_texterncodesegmentnode3
= var_nodearraylist2
;
410 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
411 cltype5
= type_nullable_parser_nodes__TExternCodeSegment
.color
;
412 idtype6
= type_nullable_parser_nodes__TExternCodeSegment
.id
;
413 if(var_texterncodesegmentnode3
== NULL
) {
416 if(cltype5
>= var_texterncodesegmentnode3
->type
->table_size
) {
419 var4
= var_texterncodesegmentnode3
->type
->type_table
[cltype5
] == idtype6
;
422 if (unlikely(!var4
)) {
423 PRINT_ERROR("Runtime error: %s", "Assert failed");
424 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5267);
427 var7
= NEW_parser_nodes__AExternCodeBlock(&type_parser_nodes__AExternCodeBlock
);
429 parser_prod__AExternCodeBlock__init_aexterncodeblock(var7
, var_pinlanguagenode2
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var7:AExternCodeBlock>*/
431 var_pexterncodeblocknode1
= var7
;
432 var_node_list
= var_pexterncodeblocknode1
;
433 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction153> */
435 var9
= parser_work__Parser__go_to(var_p
, var8
);
438 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
442 /* method parser#ReduceAction153#action for (self: Object, Parser) */
443 void VIRTUAL_parser__ReduceAction153__action(val
* self
, val
* p0
) {
444 parser__ReduceAction153__action(self
, p0
); /* Direct call parser#ReduceAction153#action on <self:Object(ReduceAction153)>*/
447 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
448 void parser__ReduceAction154__action(val
* self
, val
* p0
) {
449 val
* var_p
/* var p: Parser */;
450 val
* var
/* : null */;
451 val
* var_node_list
/* var node_list: nullable Object */;
452 val
* var1
/* : nullable Object */;
453 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
454 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
455 long var2
/* : Int */;
456 long var3
/* : Int */;
461 var1
= parser_work__Parser__pop(var_p
);
463 var_nodearraylist1
= var1
;
464 var_pexterncodeblocknode1
= var_nodearraylist1
;
465 var_node_list
= var_pexterncodeblocknode1
;
466 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction154> */
468 var3
= parser_work__Parser__go_to(var_p
, var2
);
471 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
475 /* method parser#ReduceAction154#action for (self: Object, Parser) */
476 void VIRTUAL_parser__ReduceAction154__action(val
* self
, val
* p0
) {
477 parser__ReduceAction154__action(self
, p0
); /* Direct call parser#ReduceAction154#action on <self:Object(ReduceAction154)>*/
480 /* method parser#ReduceAction156#action for (self: ReduceAction156, Parser) */
481 void parser__ReduceAction156__action(val
* self
, val
* p0
) {
482 val
* var_p
/* var p: Parser */;
483 val
* var
/* : null */;
484 val
* var_node_list
/* var node_list: nullable Object */;
485 val
* var1
/* : nullable Object */;
486 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
487 val
* var2
/* : nullable Object */;
488 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
489 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
490 long var3
/* : Int */;
491 long var4
/* : Int */;
496 var1
= parser_work__Parser__pop(var_p
);
498 var_nodearraylist2
= var1
;
500 var2
= parser_work__Parser__pop(var_p
);
502 var_nodearraylist1
= var2
;
503 var_pexterncodeblocknode1
= var_nodearraylist2
;
504 var_node_list
= var_pexterncodeblocknode1
;
505 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction156> */
507 var4
= parser_work__Parser__go_to(var_p
, var3
);
510 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
514 /* method parser#ReduceAction156#action for (self: Object, Parser) */
515 void VIRTUAL_parser__ReduceAction156__action(val
* self
, val
* p0
) {
516 parser__ReduceAction156__action(self
, p0
); /* Direct call parser#ReduceAction156#action on <self:Object(ReduceAction156)>*/
519 /* method parser#ReduceAction157#action for (self: ReduceAction157, Parser) */
520 void parser__ReduceAction157__action(val
* self
, val
* p0
) {
521 val
* var_p
/* var p: Parser */;
522 val
* var
/* : null */;
523 val
* var_node_list
/* var node_list: nullable Object */;
524 val
* var1
/* : nullable Object */;
525 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
526 val
* var2
/* : nullable Object */;
527 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
528 val
* var3
/* : Array[Object] */;
529 val
* var_listnode4
/* var listnode4: Array[Object] */;
530 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
531 short int var4
/* : Bool */;
534 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
535 short int var5
/* : Bool */;
538 val
* var8
/* : AType */;
539 val
* var9
/* : null */;
540 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
541 long var10
/* : Int */;
542 long var11
/* : Int */;
547 var1
= parser_work__Parser__pop(var_p
);
549 var_nodearraylist2
= var1
;
551 var2
= parser_work__Parser__pop(var_p
);
553 var_nodearraylist1
= var2
;
554 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
556 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
558 var_listnode4
= var3
;
559 var_tclassidnode3
= var_nodearraylist1
;
560 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
561 cltype
= type_nullable_parser_nodes__TClassid
.color
;
562 idtype
= type_nullable_parser_nodes__TClassid
.id
;
563 if(var_tclassidnode3
== NULL
) {
566 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
569 var4
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
572 if (unlikely(!var4
)) {
573 PRINT_ERROR("Runtime error: %s", "Assert failed");
574 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5308);
577 var_pannotationsnode5
= var_nodearraylist2
;
578 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
579 cltype6
= type_nullable_parser_nodes__AAnnotations
.color
;
580 idtype7
= type_nullable_parser_nodes__AAnnotations
.id
;
581 if(var_pannotationsnode5
== NULL
) {
584 if(cltype6
>= var_pannotationsnode5
->type
->table_size
) {
587 var5
= var_pannotationsnode5
->type
->type_table
[cltype6
] == idtype7
;
590 if (unlikely(!var5
)) {
591 PRINT_ERROR("Runtime error: %s", "Assert failed");
592 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5310);
595 var8
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
598 parser_prod__AType__init_atype(var8
, var9
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var8:AType>*/
600 var_ptypenode1
= var8
;
601 var_node_list
= var_ptypenode1
;
602 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction157> */
604 var11
= parser_work__Parser__go_to(var_p
, var10
);
607 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
611 /* method parser#ReduceAction157#action for (self: Object, Parser) */
612 void VIRTUAL_parser__ReduceAction157__action(val
* self
, val
* p0
) {
613 parser__ReduceAction157__action(self
, p0
); /* Direct call parser#ReduceAction157#action on <self:Object(ReduceAction157)>*/
616 /* method parser#ReduceAction158#action for (self: ReduceAction158, Parser) */
617 void parser__ReduceAction158__action(val
* self
, val
* p0
) {
618 val
* var_p
/* var p: Parser */;
619 val
* var
/* : null */;
620 val
* var_node_list
/* var node_list: nullable Object */;
621 val
* var1
/* : nullable Object */;
622 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
623 val
* var2
/* : nullable Object */;
624 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
625 val
* var3
/* : nullable Object */;
626 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
627 val
* var4
/* : Array[Object] */;
628 val
* var_listnode4
/* var listnode4: Array[Object] */;
629 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
630 short int var5
/* : Bool */;
633 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
634 short int var6
/* : Bool */;
637 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
638 short int var9
/* : Bool */;
641 val
* var12
/* : AType */;
642 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
643 long var13
/* : Int */;
644 long var14
/* : Int */;
649 var1
= parser_work__Parser__pop(var_p
);
651 var_nodearraylist3
= var1
;
653 var2
= parser_work__Parser__pop(var_p
);
655 var_nodearraylist2
= var2
;
657 var3
= parser_work__Parser__pop(var_p
);
659 var_nodearraylist1
= var3
;
660 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
662 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
664 var_listnode4
= var4
;
665 var_tkwnullablenode2
= var_nodearraylist1
;
666 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
667 cltype
= type_nullable_parser_nodes__TKwnullable
.color
;
668 idtype
= type_nullable_parser_nodes__TKwnullable
.id
;
669 if(var_tkwnullablenode2
== NULL
) {
672 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
675 var5
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
678 if (unlikely(!var5
)) {
679 PRINT_ERROR("Runtime error: %s", "Assert failed");
680 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5331);
683 var_tclassidnode3
= var_nodearraylist2
;
684 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
685 cltype7
= type_nullable_parser_nodes__TClassid
.color
;
686 idtype8
= type_nullable_parser_nodes__TClassid
.id
;
687 if(var_tclassidnode3
== NULL
) {
690 if(cltype7
>= var_tclassidnode3
->type
->table_size
) {
693 var6
= var_tclassidnode3
->type
->type_table
[cltype7
] == idtype8
;
696 if (unlikely(!var6
)) {
697 PRINT_ERROR("Runtime error: %s", "Assert failed");
698 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5333);
701 var_pannotationsnode5
= var_nodearraylist3
;
702 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
703 cltype10
= type_nullable_parser_nodes__AAnnotations
.color
;
704 idtype11
= type_nullable_parser_nodes__AAnnotations
.id
;
705 if(var_pannotationsnode5
== NULL
) {
708 if(cltype10
>= var_pannotationsnode5
->type
->table_size
) {
711 var9
= var_pannotationsnode5
->type
->type_table
[cltype10
] == idtype11
;
714 if (unlikely(!var9
)) {
715 PRINT_ERROR("Runtime error: %s", "Assert failed");
716 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5335);
719 var12
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
721 parser_prod__AType__init_atype(var12
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var12:AType>*/
723 var_ptypenode1
= var12
;
724 var_node_list
= var_ptypenode1
;
725 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction158> */
727 var14
= parser_work__Parser__go_to(var_p
, var13
);
730 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
734 /* method parser#ReduceAction158#action for (self: Object, Parser) */
735 void VIRTUAL_parser__ReduceAction158__action(val
* self
, val
* p0
) {
736 parser__ReduceAction158__action(self
, p0
); /* Direct call parser#ReduceAction158#action on <self:Object(ReduceAction158)>*/
739 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
740 void parser__ReduceAction159__action(val
* self
, val
* p0
) {
741 val
* var_p
/* var p: Parser */;
742 val
* var
/* : null */;
743 val
* var_node_list
/* var node_list: nullable Object */;
744 val
* var1
/* : nullable Object */;
745 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
746 val
* var2
/* : nullable Object */;
747 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
748 val
* var3
/* : nullable Object */;
749 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
750 val
* var4
/* : nullable Object */;
751 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
752 val
* var5
/* : nullable Object */;
753 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
754 val
* var6
/* : nullable Object */;
755 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
756 val
* var7
/* : nullable Object */;
757 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
758 val
* var8
/* : Array[Object] */;
759 val
* var_listnode5
/* var listnode5: Array[Object] */;
760 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
761 short int var9
/* : Bool */;
764 val
* var_listnode4
/* var listnode4: nullable Object */;
765 short int var10
/* : Bool */;
768 val
* var13
/* : Array[Object] */;
769 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
770 short int var14
/* : Bool */;
773 val
* var17
/* : AType */;
774 val
* var18
/* : null */;
775 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
776 long var19
/* : Int */;
777 long var20
/* : Int */;
782 var1
= parser_work__Parser__pop(var_p
);
784 var_nodearraylist7
= var1
;
786 var2
= parser_work__Parser__pop(var_p
);
788 var_nodearraylist6
= var2
;
790 var3
= parser_work__Parser__pop(var_p
);
792 var_nodearraylist5
= var3
;
794 var4
= parser_work__Parser__pop(var_p
);
796 var_nodearraylist4
= var4
;
798 var5
= parser_work__Parser__pop(var_p
);
800 var_nodearraylist3
= var5
;
802 var6
= parser_work__Parser__pop(var_p
);
804 var_nodearraylist2
= var6
;
806 var7
= parser_work__Parser__pop(var_p
);
808 var_nodearraylist1
= var7
;
809 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
811 array__Array__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
813 var_listnode5
= var8
;
814 var_tclassidnode3
= var_nodearraylist1
;
815 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
816 cltype
= type_nullable_parser_nodes__TClassid
.color
;
817 idtype
= type_nullable_parser_nodes__TClassid
.id
;
818 if(var_tclassidnode3
== NULL
) {
821 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
824 var9
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
827 if (unlikely(!var9
)) {
828 PRINT_ERROR("Runtime error: %s", "Assert failed");
829 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5360);
832 var_listnode4
= var_nodearraylist4
;
833 /* <var_listnode4:nullable Object> isa Array[Object] */
834 cltype11
= type_array__Arraykernel__Object
.color
;
835 idtype12
= type_array__Arraykernel__Object
.id
;
836 if(var_listnode4
== NULL
) {
839 if(cltype11
>= var_listnode4
->type
->table_size
) {
842 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
845 if (unlikely(!var10
)) {
846 PRINT_ERROR("Runtime error: %s", "Assert failed");
847 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5362);
851 var13
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
853 var_listnode5
= var13
;
854 var_pannotationsnode6
= var_nodearraylist7
;
855 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
856 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
857 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
858 if(var_pannotationsnode6
== NULL
) {
861 if(cltype15
>= var_pannotationsnode6
->type
->table_size
) {
864 var14
= var_pannotationsnode6
->type
->type_table
[cltype15
] == idtype16
;
867 if (unlikely(!var14
)) {
868 PRINT_ERROR("Runtime error: %s", "Assert failed");
869 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5365);
872 var17
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
875 parser_prod__AType__init_atype(var17
, var18
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var17:AType>*/
877 var_ptypenode1
= var17
;
878 var_node_list
= var_ptypenode1
;
879 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction159> */
881 var20
= parser_work__Parser__go_to(var_p
, var19
);
884 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
888 /* method parser#ReduceAction159#action for (self: Object, Parser) */
889 void VIRTUAL_parser__ReduceAction159__action(val
* self
, val
* p0
) {
890 parser__ReduceAction159__action(self
, p0
); /* Direct call parser#ReduceAction159#action on <self:Object(ReduceAction159)>*/
893 /* method parser#ReduceAction160#action for (self: ReduceAction160, Parser) */
894 void parser__ReduceAction160__action(val
* self
, val
* p0
) {
895 val
* var_p
/* var p: Parser */;
896 val
* var
/* : null */;
897 val
* var_node_list
/* var node_list: nullable Object */;
898 val
* var1
/* : nullable Object */;
899 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
900 val
* var2
/* : nullable Object */;
901 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
902 val
* var3
/* : nullable Object */;
903 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
904 val
* var4
/* : nullable Object */;
905 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
906 val
* var5
/* : nullable Object */;
907 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
908 val
* var6
/* : nullable Object */;
909 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
910 val
* var7
/* : nullable Object */;
911 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
912 val
* var8
/* : nullable Object */;
913 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
914 val
* var9
/* : Array[Object] */;
915 val
* var_listnode5
/* var listnode5: Array[Object] */;
916 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
917 short int var10
/* : Bool */;
920 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
921 short int var11
/* : Bool */;
924 val
* var_listnode4
/* var listnode4: nullable Object */;
925 short int var14
/* : Bool */;
928 val
* var17
/* : Array[Object] */;
929 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
930 short int var18
/* : Bool */;
933 val
* var21
/* : AType */;
934 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
935 long var22
/* : Int */;
936 long var23
/* : Int */;
941 var1
= parser_work__Parser__pop(var_p
);
943 var_nodearraylist8
= var1
;
945 var2
= parser_work__Parser__pop(var_p
);
947 var_nodearraylist7
= var2
;
949 var3
= parser_work__Parser__pop(var_p
);
951 var_nodearraylist6
= var3
;
953 var4
= parser_work__Parser__pop(var_p
);
955 var_nodearraylist5
= var4
;
957 var5
= parser_work__Parser__pop(var_p
);
959 var_nodearraylist4
= var5
;
961 var6
= parser_work__Parser__pop(var_p
);
963 var_nodearraylist3
= var6
;
965 var7
= parser_work__Parser__pop(var_p
);
967 var_nodearraylist2
= var7
;
969 var8
= parser_work__Parser__pop(var_p
);
971 var_nodearraylist1
= var8
;
972 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
974 array__Array__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
976 var_listnode5
= var9
;
977 var_tkwnullablenode2
= var_nodearraylist1
;
978 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
979 cltype
= type_nullable_parser_nodes__TKwnullable
.color
;
980 idtype
= type_nullable_parser_nodes__TKwnullable
.id
;
981 if(var_tkwnullablenode2
== NULL
) {
984 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
987 var10
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
990 if (unlikely(!var10
)) {
991 PRINT_ERROR("Runtime error: %s", "Assert failed");
992 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5391);
995 var_tclassidnode3
= var_nodearraylist2
;
996 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
997 cltype12
= type_nullable_parser_nodes__TClassid
.color
;
998 idtype13
= type_nullable_parser_nodes__TClassid
.id
;
999 if(var_tclassidnode3
== NULL
) {
1002 if(cltype12
>= var_tclassidnode3
->type
->table_size
) {
1005 var11
= var_tclassidnode3
->type
->type_table
[cltype12
] == idtype13
;
1008 if (unlikely(!var11
)) {
1009 PRINT_ERROR("Runtime error: %s", "Assert failed");
1010 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5393);
1013 var_listnode4
= var_nodearraylist5
;
1014 /* <var_listnode4:nullable Object> isa Array[Object] */
1015 cltype15
= type_array__Arraykernel__Object
.color
;
1016 idtype16
= type_array__Arraykernel__Object
.id
;
1017 if(var_listnode4
== NULL
) {
1020 if(cltype15
>= var_listnode4
->type
->table_size
) {
1023 var14
= var_listnode4
->type
->type_table
[cltype15
] == idtype16
;
1026 if (unlikely(!var14
)) {
1027 PRINT_ERROR("Runtime error: %s", "Assert failed");
1028 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5395);
1032 var17
= parser_work__ReduceAction__concat(self
, var_listnode5
, var_listnode4
);
1034 var_listnode5
= var17
;
1035 var_pannotationsnode6
= var_nodearraylist8
;
1036 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
1037 cltype19
= type_nullable_parser_nodes__AAnnotations
.color
;
1038 idtype20
= type_nullable_parser_nodes__AAnnotations
.id
;
1039 if(var_pannotationsnode6
== NULL
) {
1042 if(cltype19
>= var_pannotationsnode6
->type
->table_size
) {
1045 var18
= var_pannotationsnode6
->type
->type_table
[cltype19
] == idtype20
;
1048 if (unlikely(!var18
)) {
1049 PRINT_ERROR("Runtime error: %s", "Assert failed");
1050 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5398);
1053 var21
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
1055 parser_prod__AType__init_atype(var21
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var21:AType>*/
1057 var_ptypenode1
= var21
;
1058 var_node_list
= var_ptypenode1
;
1059 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction160> */
1061 var23
= parser_work__Parser__go_to(var_p
, var22
);
1064 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1068 /* method parser#ReduceAction160#action for (self: Object, Parser) */
1069 void VIRTUAL_parser__ReduceAction160__action(val
* self
, val
* p0
) {
1070 parser__ReduceAction160__action(self
, p0
); /* Direct call parser#ReduceAction160#action on <self:Object(ReduceAction160)>*/
1073 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
1074 void parser__ReduceAction161__action(val
* self
, val
* p0
) {
1075 val
* var_p
/* var p: Parser */;
1076 val
* var
/* : null */;
1077 val
* var_node_list
/* var node_list: nullable Object */;
1078 val
* var1
/* : nullable Object */;
1079 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1080 val
* var2
/* : Array[Object] */;
1081 val
* var_listnode2
/* var listnode2: Array[Object] */;
1082 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1083 val
* var3
/* : null */;
1084 short int var4
/* : Bool */;
1085 short int var5
/* : Bool */;
1086 long var6
/* : Int */;
1087 long var7
/* : Int */;
1090 var_node_list
= var
;
1092 var1
= parser_work__Parser__pop(var_p
);
1094 var_nodearraylist1
= var1
;
1095 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1097 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1099 var_listnode2
= var2
;
1100 var_ptypenode1
= var_nodearraylist1
;
1102 if (var_ptypenode1
== NULL
) {
1103 var4
= 0; /* is null */
1105 var4
= 1; /* arg is null and recv is not */
1108 var5
= ((short int (*)(val
*, val
*))(var_ptypenode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ptypenode1
, var3
) /* != on <var_ptypenode1:nullable Object>*/;
1113 array__Array__add(var_listnode2
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
1117 var_node_list
= var_listnode2
;
1118 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction161> */
1120 var7
= parser_work__Parser__go_to(var_p
, var6
);
1123 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1127 /* method parser#ReduceAction161#action for (self: Object, Parser) */
1128 void VIRTUAL_parser__ReduceAction161__action(val
* self
, val
* p0
) {
1129 parser__ReduceAction161__action(self
, p0
); /* Direct call parser#ReduceAction161#action on <self:Object(ReduceAction161)>*/
1132 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
1133 void parser__ReduceAction162__action(val
* self
, val
* p0
) {
1134 val
* var_p
/* var p: Parser */;
1135 val
* var
/* : null */;
1136 val
* var_node_list
/* var node_list: nullable Object */;
1137 val
* var1
/* : nullable Object */;
1138 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1139 val
* var2
/* : nullable Object */;
1140 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1141 val
* var3
/* : Array[Object] */;
1142 val
* var_listnode3
/* var listnode3: Array[Object] */;
1143 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1144 val
* var_listnode2
/* var listnode2: nullable Object */;
1145 short int var4
/* : Bool */;
1148 val
* var5
/* : null */;
1149 short int var6
/* : Bool */;
1150 short int var7
/* : Bool */;
1151 val
* var8
/* : Array[Object] */;
1152 long var9
/* : Int */;
1153 long var10
/* : Int */;
1156 var_node_list
= var
;
1158 var1
= parser_work__Parser__pop(var_p
);
1160 var_nodearraylist2
= var1
;
1162 var2
= parser_work__Parser__pop(var_p
);
1164 var_nodearraylist1
= var2
;
1165 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1167 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1169 var_listnode3
= var3
;
1170 var_ptypenode1
= var_nodearraylist1
;
1171 var_listnode2
= var_nodearraylist2
;
1172 /* <var_listnode2:nullable Object> isa Array[Object] */
1173 cltype
= type_array__Arraykernel__Object
.color
;
1174 idtype
= type_array__Arraykernel__Object
.id
;
1175 if(var_listnode2
== NULL
) {
1178 if(cltype
>= var_listnode2
->type
->table_size
) {
1181 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
1184 if (unlikely(!var4
)) {
1185 PRINT_ERROR("Runtime error: %s", "Assert failed");
1186 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5434);
1190 if (var_ptypenode1
== NULL
) {
1191 var6
= 0; /* is null */
1193 var6
= 1; /* arg is null and recv is not */
1196 var7
= ((short int (*)(val
*, val
*))(var_ptypenode1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ptypenode1
, var5
) /* != on <var_ptypenode1:nullable Object>*/;
1201 array__Array__add(var_listnode3
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1206 var8
= parser_work__ReduceAction__concat(self
, var_listnode3
, var_listnode2
);
1208 var_listnode3
= var8
;
1209 var_node_list
= var_listnode3
;
1210 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction162> */
1212 var10
= parser_work__Parser__go_to(var_p
, var9
);
1215 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1219 /* method parser#ReduceAction162#action for (self: Object, Parser) */
1220 void VIRTUAL_parser__ReduceAction162__action(val
* self
, val
* p0
) {
1221 parser__ReduceAction162__action(self
, p0
); /* Direct call parser#ReduceAction162#action on <self:Object(ReduceAction162)>*/
1224 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
1225 void parser__ReduceAction163__action(val
* self
, val
* p0
) {
1226 val
* var_p
/* var p: Parser */;
1227 val
* var
/* : null */;
1228 val
* var_node_list
/* var node_list: nullable Object */;
1229 val
* var1
/* : nullable Object */;
1230 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1231 val
* var2
/* : nullable Object */;
1232 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1233 val
* var3
/* : nullable Object */;
1234 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1235 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1236 long var4
/* : Int */;
1237 long var5
/* : Int */;
1240 var_node_list
= var
;
1242 var1
= parser_work__Parser__pop(var_p
);
1244 var_nodearraylist3
= var1
;
1246 var2
= parser_work__Parser__pop(var_p
);
1248 var_nodearraylist2
= var2
;
1250 var3
= parser_work__Parser__pop(var_p
);
1252 var_nodearraylist1
= var3
;
1253 var_ptypenode1
= var_nodearraylist3
;
1254 var_node_list
= var_ptypenode1
;
1255 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction163> */
1257 var5
= parser_work__Parser__go_to(var_p
, var4
);
1260 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1264 /* method parser#ReduceAction163#action for (self: Object, Parser) */
1265 void VIRTUAL_parser__ReduceAction163__action(val
* self
, val
* p0
) {
1266 parser__ReduceAction163__action(self
, p0
); /* Direct call parser#ReduceAction163#action on <self:Object(ReduceAction163)>*/
1269 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
1270 void parser__ReduceAction167__action(val
* self
, val
* p0
) {
1271 val
* var_p
/* var p: Parser */;
1272 val
* var
/* : null */;
1273 val
* var_node_list
/* var node_list: nullable Object */;
1274 val
* var1
/* : nullable Object */;
1275 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1276 val
* var2
/* : nullable Object */;
1277 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1278 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1279 long var3
/* : Int */;
1280 long var4
/* : Int */;
1283 var_node_list
= var
;
1285 var1
= parser_work__Parser__pop(var_p
);
1287 var_nodearraylist2
= var1
;
1289 var2
= parser_work__Parser__pop(var_p
);
1291 var_nodearraylist1
= var2
;
1292 var_pexprnode1
= var_nodearraylist2
;
1293 var_node_list
= var_pexprnode1
;
1294 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction167> */
1296 var4
= parser_work__Parser__go_to(var_p
, var3
);
1299 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1303 /* method parser#ReduceAction167#action for (self: Object, Parser) */
1304 void VIRTUAL_parser__ReduceAction167__action(val
* self
, val
* p0
) {
1305 parser__ReduceAction167__action(self
, p0
); /* Direct call parser#ReduceAction167#action on <self:Object(ReduceAction167)>*/
1308 /* method parser#ReduceAction168#action for (self: ReduceAction168, Parser) */
1309 void parser__ReduceAction168__action(val
* self
, val
* p0
) {
1310 val
* var_p
/* var p: Parser */;
1311 val
* var
/* : null */;
1312 val
* var_node_list
/* var node_list: nullable Object */;
1313 val
* var1
/* : nullable Object */;
1314 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1315 val
* var2
/* : nullable Object */;
1316 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1317 val
* var3
/* : Array[Object] */;
1318 val
* var_listnode2
/* var listnode2: Array[Object] */;
1319 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
1320 short int var4
/* : Bool */;
1323 val
* var5
/* : ABlockExpr */;
1324 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1325 long var6
/* : Int */;
1326 long var7
/* : Int */;
1329 var_node_list
= var
;
1331 var1
= parser_work__Parser__pop(var_p
);
1333 var_nodearraylist2
= var1
;
1335 var2
= parser_work__Parser__pop(var_p
);
1337 var_nodearraylist1
= var2
;
1338 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1340 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1342 var_listnode2
= var3
;
1343 var_tkwendnode3
= var_nodearraylist2
;
1344 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
1345 cltype
= type_nullable_parser_nodes__TKwend
.color
;
1346 idtype
= type_nullable_parser_nodes__TKwend
.id
;
1347 if(var_tkwendnode3
== NULL
) {
1350 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
1353 var4
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
1356 if (unlikely(!var4
)) {
1357 PRINT_ERROR("Runtime error: %s", "Assert failed");
1358 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5477);
1361 var5
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1363 parser_prod__ABlockExpr__init_ablockexpr(var5
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var5:ABlockExpr>*/
1365 var_pexprnode1
= var5
;
1366 var_node_list
= var_pexprnode1
;
1367 var6
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction168> */
1369 var7
= parser_work__Parser__go_to(var_p
, var6
);
1372 parser_work__Parser__push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1376 /* method parser#ReduceAction168#action for (self: Object, Parser) */
1377 void VIRTUAL_parser__ReduceAction168__action(val
* self
, val
* p0
) {
1378 parser__ReduceAction168__action(self
, p0
); /* Direct call parser#ReduceAction168#action on <self:Object(ReduceAction168)>*/
1381 /* method parser#ReduceAction169#action for (self: ReduceAction169, Parser) */
1382 void parser__ReduceAction169__action(val
* self
, val
* p0
) {
1383 val
* var_p
/* var p: Parser */;
1384 val
* var
/* : null */;
1385 val
* var_node_list
/* var node_list: nullable Object */;
1386 val
* var1
/* : nullable Object */;
1387 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1388 val
* var2
/* : Array[Object] */;
1389 val
* var_listnode2
/* var listnode2: Array[Object] */;
1390 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
1391 short int var3
/* : Bool */;
1394 val
* var4
/* : ABlockExpr */;
1395 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1396 long var5
/* : Int */;
1397 long var6
/* : Int */;
1400 var_node_list
= var
;
1402 var1
= parser_work__Parser__pop(var_p
);
1404 var_nodearraylist1
= var1
;
1405 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1407 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1409 var_listnode2
= var2
;
1410 var_tkwendnode3
= var_nodearraylist1
;
1411 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
1412 cltype
= type_nullable_parser_nodes__TKwend
.color
;
1413 idtype
= type_nullable_parser_nodes__TKwend
.id
;
1414 if(var_tkwendnode3
== NULL
) {
1417 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
1420 var3
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
1423 if (unlikely(!var3
)) {
1424 PRINT_ERROR("Runtime error: %s", "Assert failed");
1425 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5494);
1428 var4
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1430 parser_prod__ABlockExpr__init_ablockexpr(var4
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var4:ABlockExpr>*/
1432 var_pexprnode1
= var4
;
1433 var_node_list
= var_pexprnode1
;
1434 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction169> */
1436 var6
= parser_work__Parser__go_to(var_p
, var5
);
1439 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1443 /* method parser#ReduceAction169#action for (self: Object, Parser) */
1444 void VIRTUAL_parser__ReduceAction169__action(val
* self
, val
* p0
) {
1445 parser__ReduceAction169__action(self
, p0
); /* Direct call parser#ReduceAction169#action on <self:Object(ReduceAction169)>*/
1448 /* method parser#ReduceAction170#action for (self: ReduceAction170, Parser) */
1449 void parser__ReduceAction170__action(val
* self
, val
* p0
) {
1450 val
* var_p
/* var p: Parser */;
1451 val
* var
/* : null */;
1452 val
* var_node_list
/* var node_list: nullable Object */;
1453 val
* var1
/* : nullable Object */;
1454 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1455 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1456 long var2
/* : Int */;
1457 long var3
/* : Int */;
1460 var_node_list
= var
;
1462 var1
= parser_work__Parser__pop(var_p
);
1464 var_nodearraylist1
= var1
;
1465 var_pexprnode1
= var_nodearraylist1
;
1466 var_node_list
= var_pexprnode1
;
1467 var2
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction170> */
1469 var3
= parser_work__Parser__go_to(var_p
, var2
);
1472 parser_work__Parser__push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1476 /* method parser#ReduceAction170#action for (self: Object, Parser) */
1477 void VIRTUAL_parser__ReduceAction170__action(val
* self
, val
* p0
) {
1478 parser__ReduceAction170__action(self
, p0
); /* Direct call parser#ReduceAction170#action on <self:Object(ReduceAction170)>*/
1481 /* method parser#ReduceAction171#action for (self: ReduceAction171, Parser) */
1482 void parser__ReduceAction171__action(val
* self
, val
* p0
) {
1483 val
* var_p
/* var p: Parser */;
1484 val
* var
/* : null */;
1485 val
* var_node_list
/* var node_list: nullable Object */;
1486 val
* var1
/* : nullable Object */;
1487 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1488 val
* var2
/* : Array[Object] */;
1489 val
* var_listnode3
/* var listnode3: Array[Object] */;
1490 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1491 short int var3
/* : Bool */;
1494 val
* var4
/* : null */;
1495 short int var5
/* : Bool */;
1496 short int var6
/* : Bool */;
1497 val
* var_other
/* var other: nullable Object */;
1498 short int var8
/* : Bool */;
1499 short int var9
/* : Bool */;
1500 short int var10
/* : Bool */;
1501 val
* var11
/* : ABlockExpr */;
1502 val
* var12
/* : null */;
1503 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1504 long var13
/* : Int */;
1505 long var14
/* : Int */;
1508 var_node_list
= var
;
1510 var1
= parser_work__Parser__pop(var_p
);
1512 var_nodearraylist1
= var1
;
1513 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1515 array__Array__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1517 var_listnode3
= var2
;
1518 var_pexprnode2
= var_nodearraylist1
;
1519 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1520 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1521 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1522 if(var_pexprnode2
== NULL
) {
1525 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1528 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1531 if (unlikely(!var3
)) {
1532 PRINT_ERROR("Runtime error: %s", "Assert failed");
1533 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5522);
1537 if (var_pexprnode2
== NULL
) {
1538 var5
= 0; /* is null */
1540 var5
= 1; /* arg is null and recv is not */
1543 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1546 var9
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1558 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1562 var11
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1565 parser_prod__ABlockExpr__init_ablockexpr(var11
, var_listnode3
, var12
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var11:ABlockExpr>*/
1567 var_pexprnode1
= var11
;
1568 var_node_list
= var_pexprnode1
;
1569 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction171> */
1571 var14
= parser_work__Parser__go_to(var_p
, var13
);
1574 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1578 /* method parser#ReduceAction171#action for (self: Object, Parser) */
1579 void VIRTUAL_parser__ReduceAction171__action(val
* self
, val
* p0
) {
1580 parser__ReduceAction171__action(self
, p0
); /* Direct call parser#ReduceAction171#action on <self:Object(ReduceAction171)>*/
1583 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
1584 void parser__ReduceAction172__action(val
* self
, val
* p0
) {
1585 val
* var_p
/* var p: Parser */;
1586 val
* var
/* : null */;
1587 val
* var_node_list
/* var node_list: nullable Object */;
1588 val
* var1
/* : nullable Object */;
1589 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1590 val
* var2
/* : nullable Object */;
1591 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1592 val
* var3
/* : Array[Object] */;
1593 val
* var_listnode4
/* var listnode4: Array[Object] */;
1594 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1595 short int var4
/* : Bool */;
1598 val
* var_listnode3
/* var listnode3: nullable Object */;
1599 short int var5
/* : Bool */;
1602 val
* var8
/* : null */;
1603 short int var9
/* : Bool */;
1604 short int var10
/* : Bool */;
1605 val
* var_other
/* var other: nullable Object */;
1606 short int var12
/* : Bool */;
1607 short int var13
/* : Bool */;
1608 short int var14
/* : Bool */;
1609 val
* var15
/* : Array[Object] */;
1610 val
* var16
/* : ABlockExpr */;
1611 val
* var17
/* : null */;
1612 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1613 long var18
/* : Int */;
1614 long var19
/* : Int */;
1617 var_node_list
= var
;
1619 var1
= parser_work__Parser__pop(var_p
);
1621 var_nodearraylist2
= var1
;
1623 var2
= parser_work__Parser__pop(var_p
);
1625 var_nodearraylist1
= var2
;
1626 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1628 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1630 var_listnode4
= var3
;
1631 var_pexprnode2
= var_nodearraylist1
;
1632 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1633 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1634 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1635 if(var_pexprnode2
== NULL
) {
1638 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1641 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1644 if (unlikely(!var4
)) {
1645 PRINT_ERROR("Runtime error: %s", "Assert failed");
1646 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5543);
1649 var_listnode3
= var_nodearraylist2
;
1650 /* <var_listnode3:nullable Object> isa Array[Object] */
1651 cltype6
= type_array__Arraykernel__Object
.color
;
1652 idtype7
= type_array__Arraykernel__Object
.id
;
1653 if(var_listnode3
== NULL
) {
1656 if(cltype6
>= var_listnode3
->type
->table_size
) {
1659 var5
= var_listnode3
->type
->type_table
[cltype6
] == idtype7
;
1662 if (unlikely(!var5
)) {
1663 PRINT_ERROR("Runtime error: %s", "Assert failed");
1664 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5545);
1668 if (var_pexprnode2
== NULL
) {
1669 var9
= 0; /* is null */
1671 var9
= 1; /* arg is null and recv is not */
1674 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1677 var13
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1683 RET_LABEL11
:(void)0;
1689 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
1694 var15
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1696 var_listnode4
= var15
;
1697 var16
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1700 parser_prod__ABlockExpr__init_ablockexpr(var16
, var_listnode4
, var17
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
1702 var_pexprnode1
= var16
;
1703 var_node_list
= var_pexprnode1
;
1704 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction172> */
1706 var19
= parser_work__Parser__go_to(var_p
, var18
);
1709 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1713 /* method parser#ReduceAction172#action for (self: Object, Parser) */
1714 void VIRTUAL_parser__ReduceAction172__action(val
* self
, val
* p0
) {
1715 parser__ReduceAction172__action(self
, p0
); /* Direct call parser#ReduceAction172#action on <self:Object(ReduceAction172)>*/
1718 /* method parser#ReduceAction173#action for (self: ReduceAction173, Parser) */
1719 void parser__ReduceAction173__action(val
* self
, val
* p0
) {
1720 val
* var_p
/* var p: Parser */;
1721 val
* var
/* : null */;
1722 val
* var_node_list
/* var node_list: nullable Object */;
1723 val
* var1
/* : nullable Object */;
1724 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1725 val
* var2
/* : nullable Object */;
1726 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1727 val
* var3
/* : Array[Object] */;
1728 val
* var_listnode3
/* var listnode3: Array[Object] */;
1729 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1730 short int var4
/* : Bool */;
1733 val
* var5
/* : null */;
1734 short int var6
/* : Bool */;
1735 short int var7
/* : Bool */;
1736 val
* var_other
/* var other: nullable Object */;
1737 short int var9
/* : Bool */;
1738 short int var10
/* : Bool */;
1739 short int var11
/* : Bool */;
1740 val
* var12
/* : ABlockExpr */;
1741 val
* var13
/* : null */;
1742 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1743 long var14
/* : Int */;
1744 long var15
/* : Int */;
1747 var_node_list
= var
;
1749 var1
= parser_work__Parser__pop(var_p
);
1751 var_nodearraylist2
= var1
;
1753 var2
= parser_work__Parser__pop(var_p
);
1755 var_nodearraylist1
= var2
;
1756 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1758 array__Array__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1760 var_listnode3
= var3
;
1761 var_pexprnode2
= var_nodearraylist1
;
1762 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1763 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1764 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1765 if(var_pexprnode2
== NULL
) {
1768 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1771 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1774 if (unlikely(!var4
)) {
1775 PRINT_ERROR("Runtime error: %s", "Assert failed");
1776 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5567);
1780 if (var_pexprnode2
== NULL
) {
1781 var6
= 0; /* is null */
1783 var6
= 1; /* arg is null and recv is not */
1786 { /* Inline kernel#Object#!= (var_pexprnode2,var5) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1789 var10
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1801 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1805 var12
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1808 parser_prod__ABlockExpr__init_ablockexpr(var12
, var_listnode3
, var13
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var12:ABlockExpr>*/
1810 var_pexprnode1
= var12
;
1811 var_node_list
= var_pexprnode1
;
1812 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction173> */
1814 var15
= parser_work__Parser__go_to(var_p
, var14
);
1817 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1821 /* method parser#ReduceAction173#action for (self: Object, Parser) */
1822 void VIRTUAL_parser__ReduceAction173__action(val
* self
, val
* p0
) {
1823 parser__ReduceAction173__action(self
, p0
); /* Direct call parser#ReduceAction173#action on <self:Object(ReduceAction173)>*/
1826 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
1827 void parser__ReduceAction174__action(val
* self
, val
* p0
) {
1828 val
* var_p
/* var p: Parser */;
1829 val
* var
/* : null */;
1830 val
* var_node_list
/* var node_list: nullable Object */;
1831 val
* var1
/* : nullable Object */;
1832 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1833 val
* var2
/* : nullable Object */;
1834 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1835 val
* var3
/* : nullable Object */;
1836 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1837 val
* var4
/* : Array[Object] */;
1838 val
* var_listnode4
/* var listnode4: Array[Object] */;
1839 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1840 short int var5
/* : Bool */;
1843 val
* var_listnode3
/* var listnode3: nullable Object */;
1844 short int var6
/* : Bool */;
1847 val
* var9
/* : null */;
1848 short int var10
/* : Bool */;
1849 short int var11
/* : Bool */;
1850 val
* var_other
/* var other: nullable Object */;
1851 short int var13
/* : Bool */;
1852 short int var14
/* : Bool */;
1853 short int var15
/* : Bool */;
1854 val
* var16
/* : Array[Object] */;
1855 val
* var17
/* : ABlockExpr */;
1856 val
* var18
/* : null */;
1857 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1858 long var19
/* : Int */;
1859 long var20
/* : Int */;
1862 var_node_list
= var
;
1864 var1
= parser_work__Parser__pop(var_p
);
1866 var_nodearraylist3
= var1
;
1868 var2
= parser_work__Parser__pop(var_p
);
1870 var_nodearraylist2
= var2
;
1872 var3
= parser_work__Parser__pop(var_p
);
1874 var_nodearraylist1
= var3
;
1875 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1877 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
1879 var_listnode4
= var4
;
1880 var_pexprnode2
= var_nodearraylist1
;
1881 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1882 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1883 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1884 if(var_pexprnode2
== NULL
) {
1887 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1890 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1893 if (unlikely(!var5
)) {
1894 PRINT_ERROR("Runtime error: %s", "Assert failed");
1895 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5589);
1898 var_listnode3
= var_nodearraylist2
;
1899 /* <var_listnode3:nullable Object> isa Array[Object] */
1900 cltype7
= type_array__Arraykernel__Object
.color
;
1901 idtype8
= type_array__Arraykernel__Object
.id
;
1902 if(var_listnode3
== NULL
) {
1905 if(cltype7
>= var_listnode3
->type
->table_size
) {
1908 var6
= var_listnode3
->type
->type_table
[cltype7
] == idtype8
;
1911 if (unlikely(!var6
)) {
1912 PRINT_ERROR("Runtime error: %s", "Assert failed");
1913 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5591);
1917 if (var_pexprnode2
== NULL
) {
1918 var10
= 0; /* is null */
1920 var10
= 1; /* arg is null and recv is not */
1923 { /* Inline kernel#Object#!= (var_pexprnode2,var9) on <var_pexprnode2:nullable Object(nullable AExpr)> */
1926 var14
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
1932 RET_LABEL12
:(void)0;
1938 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
1943 var16
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
1945 var_listnode4
= var16
;
1946 var17
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1949 parser_prod__ABlockExpr__init_ablockexpr(var17
, var_listnode4
, var18
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var17:ABlockExpr>*/
1951 var_pexprnode1
= var17
;
1952 var_node_list
= var_pexprnode1
;
1953 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction174> */
1955 var20
= parser_work__Parser__go_to(var_p
, var19
);
1958 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1962 /* method parser#ReduceAction174#action for (self: Object, Parser) */
1963 void VIRTUAL_parser__ReduceAction174__action(val
* self
, val
* p0
) {
1964 parser__ReduceAction174__action(self
, p0
); /* Direct call parser#ReduceAction174#action on <self:Object(ReduceAction174)>*/
1967 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
1968 void parser__ReduceAction175__action(val
* self
, val
* p0
) {
1969 val
* var_p
/* var p: Parser */;
1970 val
* var
/* : null */;
1971 val
* var_node_list
/* var node_list: nullable Object */;
1972 val
* var1
/* : nullable Object */;
1973 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1974 val
* var2
/* : nullable Object */;
1975 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1976 val
* var3
/* : nullable Object */;
1977 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1978 val
* var4
/* : Array[Object] */;
1979 val
* var_listnode3
/* var listnode3: Array[Object] */;
1980 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1981 short int var5
/* : Bool */;
1984 val
* var6
/* : null */;
1985 short int var7
/* : Bool */;
1986 short int var8
/* : Bool */;
1987 val
* var_other
/* var other: nullable Object */;
1988 short int var10
/* : Bool */;
1989 short int var11
/* : Bool */;
1990 short int var12
/* : Bool */;
1991 val
* var_tkwendnode4
/* var tkwendnode4: nullable Object */;
1992 short int var13
/* : Bool */;
1995 val
* var16
/* : ABlockExpr */;
1996 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1997 long var17
/* : Int */;
1998 long var18
/* : Int */;
2001 var_node_list
= var
;
2003 var1
= parser_work__Parser__pop(var_p
);
2005 var_nodearraylist3
= var1
;
2007 var2
= parser_work__Parser__pop(var_p
);
2009 var_nodearraylist2
= var2
;
2011 var3
= parser_work__Parser__pop(var_p
);
2013 var_nodearraylist1
= var3
;
2014 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2016 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
2018 var_listnode3
= var4
;
2019 var_pexprnode2
= var_nodearraylist1
;
2020 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2021 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2022 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2023 if(var_pexprnode2
== NULL
) {
2026 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2029 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2032 if (unlikely(!var5
)) {
2033 PRINT_ERROR("Runtime error: %s", "Assert failed");
2034 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5614);
2038 if (var_pexprnode2
== NULL
) {
2039 var7
= 0; /* is null */
2041 var7
= 1; /* arg is null and recv is not */
2044 { /* Inline kernel#Object#!= (var_pexprnode2,var6) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2047 var11
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2059 array__Array__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2063 var_tkwendnode4
= var_nodearraylist3
;
2064 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
2065 cltype14
= type_nullable_parser_nodes__TKwend
.color
;
2066 idtype15
= type_nullable_parser_nodes__TKwend
.id
;
2067 if(var_tkwendnode4
== NULL
) {
2070 if(cltype14
>= var_tkwendnode4
->type
->table_size
) {
2073 var13
= var_tkwendnode4
->type
->type_table
[cltype14
] == idtype15
;
2076 if (unlikely(!var13
)) {
2077 PRINT_ERROR("Runtime error: %s", "Assert failed");
2078 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5619);
2081 var16
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
2083 parser_prod__ABlockExpr__init_ablockexpr(var16
, var_listnode3
, var_tkwendnode4
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
2085 var_pexprnode1
= var16
;
2086 var_node_list
= var_pexprnode1
;
2087 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction175> */
2089 var18
= parser_work__Parser__go_to(var_p
, var17
);
2092 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2096 /* method parser#ReduceAction175#action for (self: Object, Parser) */
2097 void VIRTUAL_parser__ReduceAction175__action(val
* self
, val
* p0
) {
2098 parser__ReduceAction175__action(self
, p0
); /* Direct call parser#ReduceAction175#action on <self:Object(ReduceAction175)>*/
2101 /* method parser#ReduceAction176#action for (self: ReduceAction176, Parser) */
2102 void parser__ReduceAction176__action(val
* self
, val
* p0
) {
2103 val
* var_p
/* var p: Parser */;
2104 val
* var
/* : null */;
2105 val
* var_node_list
/* var node_list: nullable Object */;
2106 val
* var1
/* : nullable Object */;
2107 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2108 val
* var2
/* : nullable Object */;
2109 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2110 val
* var3
/* : nullable Object */;
2111 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2112 val
* var4
/* : nullable Object */;
2113 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2114 val
* var5
/* : Array[Object] */;
2115 val
* var_listnode4
/* var listnode4: Array[Object] */;
2116 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2117 short int var6
/* : Bool */;
2120 val
* var_listnode3
/* var listnode3: nullable Object */;
2121 short int var7
/* : Bool */;
2124 val
* var10
/* : null */;
2125 short int var11
/* : Bool */;
2126 short int var12
/* : Bool */;
2127 val
* var_other
/* var other: nullable Object */;
2128 short int var14
/* : Bool */;
2129 short int var15
/* : Bool */;
2130 short int var16
/* : Bool */;
2131 val
* var17
/* : Array[Object] */;
2132 val
* var_tkwendnode5
/* var tkwendnode5: nullable Object */;
2133 short int var18
/* : Bool */;
2136 val
* var21
/* : ABlockExpr */;
2137 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2138 long var22
/* : Int */;
2139 long var23
/* : Int */;
2142 var_node_list
= var
;
2144 var1
= parser_work__Parser__pop(var_p
);
2146 var_nodearraylist4
= var1
;
2148 var2
= parser_work__Parser__pop(var_p
);
2150 var_nodearraylist3
= var2
;
2152 var3
= parser_work__Parser__pop(var_p
);
2154 var_nodearraylist2
= var3
;
2156 var4
= parser_work__Parser__pop(var_p
);
2158 var_nodearraylist1
= var4
;
2159 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2161 array__Array__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
2163 var_listnode4
= var5
;
2164 var_pexprnode2
= var_nodearraylist1
;
2165 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2166 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2167 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2168 if(var_pexprnode2
== NULL
) {
2171 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2174 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2177 if (unlikely(!var6
)) {
2178 PRINT_ERROR("Runtime error: %s", "Assert failed");
2179 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5639);
2182 var_listnode3
= var_nodearraylist2
;
2183 /* <var_listnode3:nullable Object> isa Array[Object] */
2184 cltype8
= type_array__Arraykernel__Object
.color
;
2185 idtype9
= type_array__Arraykernel__Object
.id
;
2186 if(var_listnode3
== NULL
) {
2189 if(cltype8
>= var_listnode3
->type
->table_size
) {
2192 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
2195 if (unlikely(!var7
)) {
2196 PRINT_ERROR("Runtime error: %s", "Assert failed");
2197 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5641);
2201 if (var_pexprnode2
== NULL
) {
2202 var11
= 0; /* is null */
2204 var11
= 1; /* arg is null and recv is not */
2207 { /* Inline kernel#Object#!= (var_pexprnode2,var10) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2210 var15
= ((short int (*)(val
*, val
*))(var_pexprnode2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2216 RET_LABEL13
:(void)0;
2222 array__Array__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2227 var17
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
2229 var_listnode4
= var17
;
2230 var_tkwendnode5
= var_nodearraylist4
;
2231 /* <var_tkwendnode5:nullable Object> isa nullable TKwend */
2232 cltype19
= type_nullable_parser_nodes__TKwend
.color
;
2233 idtype20
= type_nullable_parser_nodes__TKwend
.id
;
2234 if(var_tkwendnode5
== NULL
) {
2237 if(cltype19
>= var_tkwendnode5
->type
->table_size
) {
2240 var18
= var_tkwendnode5
->type
->type_table
[cltype19
] == idtype20
;
2243 if (unlikely(!var18
)) {
2244 PRINT_ERROR("Runtime error: %s", "Assert failed");
2245 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5647);
2248 var21
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
2250 parser_prod__ABlockExpr__init_ablockexpr(var21
, var_listnode4
, var_tkwendnode5
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var21:ABlockExpr>*/
2252 var_pexprnode1
= var21
;
2253 var_node_list
= var_pexprnode1
;
2254 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction176> */
2256 var23
= parser_work__Parser__go_to(var_p
, var22
);
2259 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2263 /* method parser#ReduceAction176#action for (self: Object, Parser) */
2264 void VIRTUAL_parser__ReduceAction176__action(val
* self
, val
* p0
) {
2265 parser__ReduceAction176__action(self
, p0
); /* Direct call parser#ReduceAction176#action on <self:Object(ReduceAction176)>*/
2268 /* method parser#ReduceAction180#action for (self: ReduceAction180, Parser) */
2269 void parser__ReduceAction180__action(val
* self
, val
* p0
) {
2270 val
* var_p
/* var p: Parser */;
2271 val
* var
/* : null */;
2272 val
* var_node_list
/* var node_list: nullable Object */;
2273 val
* var1
/* : nullable Object */;
2274 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2275 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
2276 short int var2
/* : Bool */;
2279 val
* var3
/* : AReturnExpr */;
2280 val
* var4
/* : null */;
2281 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
2282 long var5
/* : Int */;
2283 long var6
/* : Int */;
2286 var_node_list
= var
;
2288 var1
= parser_work__Parser__pop(var_p
);
2290 var_nodearraylist1
= var1
;
2291 var_tkwreturnnode2
= var_nodearraylist1
;
2292 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
2293 cltype
= type_nullable_parser_nodes__TKwreturn
.color
;
2294 idtype
= type_nullable_parser_nodes__TKwreturn
.id
;
2295 if(var_tkwreturnnode2
== NULL
) {
2298 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
2301 var2
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
2304 if (unlikely(!var2
)) {
2305 PRINT_ERROR("Runtime error: %s", "Assert failed");
2306 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5663);
2309 var3
= NEW_parser_nodes__AReturnExpr(&type_parser_nodes__AReturnExpr
);
2312 parser_prod__AReturnExpr__init_areturnexpr(var3
, var_tkwreturnnode2
, var4
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var3:AReturnExpr>*/
2314 var_pexprnode1
= var3
;
2315 var_node_list
= var_pexprnode1
;
2316 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction180> */
2318 var6
= parser_work__Parser__go_to(var_p
, var5
);
2321 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2325 /* method parser#ReduceAction180#action for (self: Object, Parser) */
2326 void VIRTUAL_parser__ReduceAction180__action(val
* self
, val
* p0
) {
2327 parser__ReduceAction180__action(self
, p0
); /* Direct call parser#ReduceAction180#action on <self:Object(ReduceAction180)>*/
2330 /* method parser#ReduceAction181#action for (self: ReduceAction181, Parser) */
2331 void parser__ReduceAction181__action(val
* self
, val
* p0
) {
2332 val
* var_p
/* var p: Parser */;
2333 val
* var
/* : null */;
2334 val
* var_node_list
/* var node_list: nullable Object */;
2335 val
* var1
/* : nullable Object */;
2336 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2337 val
* var2
/* : nullable Object */;
2338 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2339 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
2340 short int var3
/* : Bool */;
2343 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2344 short int var4
/* : Bool */;
2347 val
* var7
/* : AReturnExpr */;
2348 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
2349 long var8
/* : Int */;
2350 long var9
/* : Int */;
2353 var_node_list
= var
;
2355 var1
= parser_work__Parser__pop(var_p
);
2357 var_nodearraylist2
= var1
;
2359 var2
= parser_work__Parser__pop(var_p
);
2361 var_nodearraylist1
= var2
;
2362 var_tkwreturnnode2
= var_nodearraylist1
;
2363 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
2364 cltype
= type_nullable_parser_nodes__TKwreturn
.color
;
2365 idtype
= type_nullable_parser_nodes__TKwreturn
.id
;
2366 if(var_tkwreturnnode2
== NULL
) {
2369 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
2372 var3
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
2375 if (unlikely(!var3
)) {
2376 PRINT_ERROR("Runtime error: %s", "Assert failed");
2377 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5680);
2380 var_pexprnode3
= var_nodearraylist2
;
2381 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2382 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
2383 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
2384 if(var_pexprnode3
== NULL
) {
2387 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
2390 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
2393 if (unlikely(!var4
)) {
2394 PRINT_ERROR("Runtime error: %s", "Assert failed");
2395 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5682);
2398 var7
= NEW_parser_nodes__AReturnExpr(&type_parser_nodes__AReturnExpr
);
2400 parser_prod__AReturnExpr__init_areturnexpr(var7
, var_tkwreturnnode2
, var_pexprnode3
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var7:AReturnExpr>*/
2402 var_pexprnode1
= var7
;
2403 var_node_list
= var_pexprnode1
;
2404 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction181> */
2406 var9
= parser_work__Parser__go_to(var_p
, var8
);
2409 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2413 /* method parser#ReduceAction181#action for (self: Object, Parser) */
2414 void VIRTUAL_parser__ReduceAction181__action(val
* self
, val
* p0
) {
2415 parser__ReduceAction181__action(self
, p0
); /* Direct call parser#ReduceAction181#action on <self:Object(ReduceAction181)>*/
2418 /* method parser#ReduceAction182#action for (self: ReduceAction182, Parser) */
2419 void parser__ReduceAction182__action(val
* self
, val
* p0
) {
2420 val
* var_p
/* var p: Parser */;
2421 val
* var
/* : null */;
2422 val
* var_node_list
/* var node_list: nullable Object */;
2423 val
* var1
/* : nullable Object */;
2424 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2425 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
2426 short int var2
/* : Bool */;
2429 val
* var3
/* : ABreakExpr */;
2430 val
* var4
/* : null */;
2431 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
2432 long var5
/* : Int */;
2433 long var6
/* : Int */;
2436 var_node_list
= var
;
2438 var1
= parser_work__Parser__pop(var_p
);
2440 var_nodearraylist1
= var1
;
2441 var_tkwbreaknode2
= var_nodearraylist1
;
2442 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
2443 cltype
= type_nullable_parser_nodes__TKwbreak
.color
;
2444 idtype
= type_nullable_parser_nodes__TKwbreak
.id
;
2445 if(var_tkwbreaknode2
== NULL
) {
2448 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
2451 var2
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
2454 if (unlikely(!var2
)) {
2455 PRINT_ERROR("Runtime error: %s", "Assert failed");
2456 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5698);
2459 var3
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
2462 parser_prod__ABreakExpr__init_abreakexpr(var3
, var_tkwbreaknode2
, var4
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var3:ABreakExpr>*/
2464 var_pexprnode1
= var3
;
2465 var_node_list
= var_pexprnode1
;
2466 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction182> */
2468 var6
= parser_work__Parser__go_to(var_p
, var5
);
2471 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2475 /* method parser#ReduceAction182#action for (self: Object, Parser) */
2476 void VIRTUAL_parser__ReduceAction182__action(val
* self
, val
* p0
) {
2477 parser__ReduceAction182__action(self
, p0
); /* Direct call parser#ReduceAction182#action on <self:Object(ReduceAction182)>*/
2480 /* method parser#ReduceAction183#action for (self: ReduceAction183, Parser) */
2481 void parser__ReduceAction183__action(val
* self
, val
* p0
) {
2482 val
* var_p
/* var p: Parser */;
2483 val
* var
/* : null */;
2484 val
* var_node_list
/* var node_list: nullable Object */;
2485 val
* var1
/* : nullable Object */;
2486 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2487 val
* var2
/* : nullable Object */;
2488 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2489 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
2490 short int var3
/* : Bool */;
2493 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
2494 short int var4
/* : Bool */;
2497 val
* var7
/* : ABreakExpr */;
2498 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
2499 long var8
/* : Int */;
2500 long var9
/* : Int */;
2503 var_node_list
= var
;
2505 var1
= parser_work__Parser__pop(var_p
);
2507 var_nodearraylist2
= var1
;
2509 var2
= parser_work__Parser__pop(var_p
);
2511 var_nodearraylist1
= var2
;
2512 var_tkwbreaknode2
= var_nodearraylist1
;
2513 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
2514 cltype
= type_nullable_parser_nodes__TKwbreak
.color
;
2515 idtype
= type_nullable_parser_nodes__TKwbreak
.id
;
2516 if(var_tkwbreaknode2
== NULL
) {
2519 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
2522 var3
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
2525 if (unlikely(!var3
)) {
2526 PRINT_ERROR("Runtime error: %s", "Assert failed");
2527 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5715);
2530 var_plabelnode3
= var_nodearraylist2
;
2531 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
2532 cltype5
= type_nullable_parser_nodes__ALabel
.color
;
2533 idtype6
= type_nullable_parser_nodes__ALabel
.id
;
2534 if(var_plabelnode3
== NULL
) {
2537 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
2540 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
2543 if (unlikely(!var4
)) {
2544 PRINT_ERROR("Runtime error: %s", "Assert failed");
2545 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5717);
2548 var7
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
2550 parser_prod__ABreakExpr__init_abreakexpr(var7
, var_tkwbreaknode2
, var_plabelnode3
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var7:ABreakExpr>*/
2552 var_pexprnode1
= var7
;
2553 var_node_list
= var_pexprnode1
;
2554 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction183> */
2556 var9
= parser_work__Parser__go_to(var_p
, var8
);
2559 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2563 /* method parser#ReduceAction183#action for (self: Object, Parser) */
2564 void VIRTUAL_parser__ReduceAction183__action(val
* self
, val
* p0
) {
2565 parser__ReduceAction183__action(self
, p0
); /* Direct call parser#ReduceAction183#action on <self:Object(ReduceAction183)>*/
2568 /* method parser#ReduceAction184#action for (self: ReduceAction184, Parser) */
2569 void parser__ReduceAction184__action(val
* self
, val
* p0
) {
2570 val
* var_p
/* var p: Parser */;
2571 val
* var
/* : null */;
2572 val
* var_node_list
/* var node_list: nullable Object */;
2573 val
* var1
/* : nullable Object */;
2574 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2575 val
* var_tkwabortnode2
/* var tkwabortnode2: nullable Object */;
2576 short int var2
/* : Bool */;
2579 val
* var3
/* : AAbortExpr */;
2580 val
* var_pexprnode1
/* var pexprnode1: nullable AAbortExpr */;
2581 long var4
/* : Int */;
2582 long var5
/* : Int */;
2585 var_node_list
= var
;
2587 var1
= parser_work__Parser__pop(var_p
);
2589 var_nodearraylist1
= var1
;
2590 var_tkwabortnode2
= var_nodearraylist1
;
2591 /* <var_tkwabortnode2:nullable Object> isa nullable TKwabort */
2592 cltype
= type_nullable_parser_nodes__TKwabort
.color
;
2593 idtype
= type_nullable_parser_nodes__TKwabort
.id
;
2594 if(var_tkwabortnode2
== NULL
) {
2597 if(cltype
>= var_tkwabortnode2
->type
->table_size
) {
2600 var2
= var_tkwabortnode2
->type
->type_table
[cltype
] == idtype
;
2603 if (unlikely(!var2
)) {
2604 PRINT_ERROR("Runtime error: %s", "Assert failed");
2605 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5733);
2608 var3
= NEW_parser_nodes__AAbortExpr(&type_parser_nodes__AAbortExpr
);
2610 parser_prod__AAbortExpr__init_aabortexpr(var3
, var_tkwabortnode2
); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on <var3:AAbortExpr>*/
2612 var_pexprnode1
= var3
;
2613 var_node_list
= var_pexprnode1
;
2614 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction184> */
2616 var5
= parser_work__Parser__go_to(var_p
, var4
);
2619 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2623 /* method parser#ReduceAction184#action for (self: Object, Parser) */
2624 void VIRTUAL_parser__ReduceAction184__action(val
* self
, val
* p0
) {
2625 parser__ReduceAction184__action(self
, p0
); /* Direct call parser#ReduceAction184#action on <self:Object(ReduceAction184)>*/
2628 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
2629 void parser__ReduceAction185__action(val
* self
, val
* p0
) {
2630 val
* var_p
/* var p: Parser */;
2631 val
* var
/* : null */;
2632 val
* var_node_list
/* var node_list: nullable Object */;
2633 val
* var1
/* : nullable Object */;
2634 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2635 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
2636 short int var2
/* : Bool */;
2639 val
* var3
/* : AContinueExpr */;
2640 val
* var4
/* : null */;
2641 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
2642 long var5
/* : Int */;
2643 long var6
/* : Int */;
2646 var_node_list
= var
;
2648 var1
= parser_work__Parser__pop(var_p
);
2650 var_nodearraylist1
= var1
;
2651 var_tkwcontinuenode2
= var_nodearraylist1
;
2652 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
2653 cltype
= type_nullable_parser_nodes__TKwcontinue
.color
;
2654 idtype
= type_nullable_parser_nodes__TKwcontinue
.id
;
2655 if(var_tkwcontinuenode2
== NULL
) {
2658 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
2661 var2
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
2664 if (unlikely(!var2
)) {
2665 PRINT_ERROR("Runtime error: %s", "Assert failed");
2666 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5748);
2669 var3
= NEW_parser_nodes__AContinueExpr(&type_parser_nodes__AContinueExpr
);
2672 parser_prod__AContinueExpr__init_acontinueexpr(var3
, var_tkwcontinuenode2
, var4
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var3:AContinueExpr>*/
2674 var_pexprnode1
= var3
;
2675 var_node_list
= var_pexprnode1
;
2676 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction185> */
2678 var6
= parser_work__Parser__go_to(var_p
, var5
);
2681 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2685 /* method parser#ReduceAction185#action for (self: Object, Parser) */
2686 void VIRTUAL_parser__ReduceAction185__action(val
* self
, val
* p0
) {
2687 parser__ReduceAction185__action(self
, p0
); /* Direct call parser#ReduceAction185#action on <self:Object(ReduceAction185)>*/
2690 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
2691 void parser__ReduceAction186__action(val
* self
, val
* p0
) {
2692 val
* var_p
/* var p: Parser */;
2693 val
* var
/* : null */;
2694 val
* var_node_list
/* var node_list: nullable Object */;
2695 val
* var1
/* : nullable Object */;
2696 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2697 val
* var2
/* : nullable Object */;
2698 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2699 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
2700 short int var3
/* : Bool */;
2703 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
2704 short int var4
/* : Bool */;
2707 val
* var7
/* : AContinueExpr */;
2708 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
2709 long var8
/* : Int */;
2710 long var9
/* : Int */;
2713 var_node_list
= var
;
2715 var1
= parser_work__Parser__pop(var_p
);
2717 var_nodearraylist2
= var1
;
2719 var2
= parser_work__Parser__pop(var_p
);
2721 var_nodearraylist1
= var2
;
2722 var_tkwcontinuenode2
= var_nodearraylist1
;
2723 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
2724 cltype
= type_nullable_parser_nodes__TKwcontinue
.color
;
2725 idtype
= type_nullable_parser_nodes__TKwcontinue
.id
;
2726 if(var_tkwcontinuenode2
== NULL
) {
2729 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
2732 var3
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
2735 if (unlikely(!var3
)) {
2736 PRINT_ERROR("Runtime error: %s", "Assert failed");
2737 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5765);
2740 var_plabelnode3
= var_nodearraylist2
;
2741 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
2742 cltype5
= type_nullable_parser_nodes__ALabel
.color
;
2743 idtype6
= type_nullable_parser_nodes__ALabel
.id
;
2744 if(var_plabelnode3
== NULL
) {
2747 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
2750 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
2753 if (unlikely(!var4
)) {
2754 PRINT_ERROR("Runtime error: %s", "Assert failed");
2755 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5767);
2758 var7
= NEW_parser_nodes__AContinueExpr(&type_parser_nodes__AContinueExpr
);
2760 parser_prod__AContinueExpr__init_acontinueexpr(var7
, var_tkwcontinuenode2
, var_plabelnode3
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var7:AContinueExpr>*/
2762 var_pexprnode1
= var7
;
2763 var_node_list
= var_pexprnode1
;
2764 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction186> */
2766 var9
= parser_work__Parser__go_to(var_p
, var8
);
2769 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2773 /* method parser#ReduceAction186#action for (self: Object, Parser) */
2774 void VIRTUAL_parser__ReduceAction186__action(val
* self
, val
* p0
) {
2775 parser__ReduceAction186__action(self
, p0
); /* Direct call parser#ReduceAction186#action on <self:Object(ReduceAction186)>*/
2778 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
2779 void parser__ReduceAction193__action(val
* self
, val
* p0
) {
2780 val
* var_p
/* var p: Parser */;
2781 val
* var
/* : null */;
2782 val
* var_node_list
/* var node_list: nullable Object */;
2783 val
* var1
/* : nullable Object */;
2784 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2785 val
* var2
/* : nullable Object */;
2786 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2787 val
* var3
/* : nullable Object */;
2788 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2789 val
* var4
/* : nullable Object */;
2790 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2791 val
* var5
/* : nullable Object */;
2792 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2793 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2794 short int var6
/* : Bool */;
2797 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2798 short int var7
/* : Bool */;
2801 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2802 short int var10
/* : Bool */;
2805 val
* var13
/* : ACallExpr */;
2806 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2807 long var14
/* : Int */;
2808 long var15
/* : Int */;
2811 var_node_list
= var
;
2813 var1
= parser_work__Parser__pop(var_p
);
2815 var_nodearraylist5
= var1
;
2817 var2
= parser_work__Parser__pop(var_p
);
2819 var_nodearraylist4
= var2
;
2821 var3
= parser_work__Parser__pop(var_p
);
2823 var_nodearraylist3
= var3
;
2825 var4
= parser_work__Parser__pop(var_p
);
2827 var_nodearraylist2
= var4
;
2829 var5
= parser_work__Parser__pop(var_p
);
2831 var_nodearraylist1
= var5
;
2832 var_pexprnode2
= var_nodearraylist1
;
2833 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2834 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2835 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2836 if(var_pexprnode2
== NULL
) {
2839 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2842 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2845 if (unlikely(!var6
)) {
2846 PRINT_ERROR("Runtime error: %s", "Assert failed");
2847 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5787);
2850 var_tidnode3
= var_nodearraylist4
;
2851 /* <var_tidnode3:nullable Object> isa nullable TId */
2852 cltype8
= type_nullable_parser_nodes__TId
.color
;
2853 idtype9
= type_nullable_parser_nodes__TId
.id
;
2854 if(var_tidnode3
== NULL
) {
2857 if(cltype8
>= var_tidnode3
->type
->table_size
) {
2860 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
2863 if (unlikely(!var7
)) {
2864 PRINT_ERROR("Runtime error: %s", "Assert failed");
2865 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5789);
2868 var_pexprsnode4
= var_nodearraylist5
;
2869 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2870 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
2871 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
2872 if(var_pexprsnode4
== NULL
) {
2875 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
2878 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
2881 if (unlikely(!var10
)) {
2882 PRINT_ERROR("Runtime error: %s", "Assert failed");
2883 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5791);
2886 var13
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2888 parser_prod__ACallExpr__init_acallexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
2890 var_pexprnode1
= var13
;
2891 var_node_list
= var_pexprnode1
;
2892 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction193> */
2894 var15
= parser_work__Parser__go_to(var_p
, var14
);
2897 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2901 /* method parser#ReduceAction193#action for (self: Object, Parser) */
2902 void VIRTUAL_parser__ReduceAction193__action(val
* self
, val
* p0
) {
2903 parser__ReduceAction193__action(self
, p0
); /* Direct call parser#ReduceAction193#action on <self:Object(ReduceAction193)>*/
2906 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
2907 void parser__ReduceAction194__action(val
* self
, val
* p0
) {
2908 val
* var_p
/* var p: Parser */;
2909 val
* var
/* : null */;
2910 val
* var_node_list
/* var node_list: nullable Object */;
2911 val
* var1
/* : nullable Object */;
2912 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2913 val
* var2
/* : nullable Object */;
2914 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2915 val
* var3
/* : AImplicitSelfExpr */;
2916 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2917 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2918 short int var5
/* : Bool */;
2921 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2922 short int var6
/* : Bool */;
2925 val
* var9
/* : ACallExpr */;
2926 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2927 long var10
/* : Int */;
2928 long var11
/* : Int */;
2931 var_node_list
= var
;
2933 var1
= parser_work__Parser__pop(var_p
);
2935 var_nodearraylist2
= var1
;
2937 var2
= parser_work__Parser__pop(var_p
);
2939 var_nodearraylist1
= var2
;
2940 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
2942 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
2946 var_pexprnode2
= var3
;
2947 var_tidnode3
= var_nodearraylist1
;
2948 /* <var_tidnode3:nullable Object> isa nullable TId */
2949 cltype
= type_nullable_parser_nodes__TId
.color
;
2950 idtype
= type_nullable_parser_nodes__TId
.id
;
2951 if(var_tidnode3
== NULL
) {
2954 if(cltype
>= var_tidnode3
->type
->table_size
) {
2957 var5
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
2960 if (unlikely(!var5
)) {
2961 PRINT_ERROR("Runtime error: %s", "Assert failed");
2962 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5810);
2965 var_pexprsnode4
= var_nodearraylist2
;
2966 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2967 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
2968 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
2969 if(var_pexprsnode4
== NULL
) {
2972 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
2975 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
2978 if (unlikely(!var6
)) {
2979 PRINT_ERROR("Runtime error: %s", "Assert failed");
2980 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5812);
2983 var9
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2985 parser_prod__ACallExpr__init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
2987 var_pexprnode1
= var9
;
2988 var_node_list
= var_pexprnode1
;
2989 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction194> */
2991 var11
= parser_work__Parser__go_to(var_p
, var10
);
2994 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2998 /* method parser#ReduceAction194#action for (self: Object, Parser) */
2999 void VIRTUAL_parser__ReduceAction194__action(val
* self
, val
* p0
) {
3000 parser__ReduceAction194__action(self
, p0
); /* Direct call parser#ReduceAction194#action on <self:Object(ReduceAction194)>*/
3003 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
3004 void parser__ReduceAction195__action(val
* self
, val
* p0
) {
3005 val
* var_p
/* var p: Parser */;
3006 val
* var
/* : null */;
3007 val
* var_node_list
/* var node_list: nullable Object */;
3008 val
* var1
/* : nullable Object */;
3009 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3010 val
* var2
/* : nullable Object */;
3011 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3012 val
* var3
/* : nullable Object */;
3013 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3014 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
3015 short int var4
/* : Bool */;
3018 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
3019 short int var5
/* : Bool */;
3022 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3023 short int var8
/* : Bool */;
3026 val
* var11
/* : ASuperExpr */;
3027 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
3028 long var12
/* : Int */;
3029 long var13
/* : Int */;
3032 var_node_list
= var
;
3034 var1
= parser_work__Parser__pop(var_p
);
3036 var_nodearraylist3
= var1
;
3038 var2
= parser_work__Parser__pop(var_p
);
3040 var_nodearraylist2
= var2
;
3042 var3
= parser_work__Parser__pop(var_p
);
3044 var_nodearraylist1
= var3
;
3045 var_pqualifiednode2
= var_nodearraylist1
;
3046 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
3047 cltype
= type_nullable_parser_nodes__AQualified
.color
;
3048 idtype
= type_nullable_parser_nodes__AQualified
.id
;
3049 if(var_pqualifiednode2
== NULL
) {
3052 if(cltype
>= var_pqualifiednode2
->type
->table_size
) {
3055 var4
= var_pqualifiednode2
->type
->type_table
[cltype
] == idtype
;
3058 if (unlikely(!var4
)) {
3059 PRINT_ERROR("Runtime error: %s", "Assert failed");
3060 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5831);
3063 var_tkwsupernode3
= var_nodearraylist2
;
3064 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
3065 cltype6
= type_nullable_parser_nodes__TKwsuper
.color
;
3066 idtype7
= type_nullable_parser_nodes__TKwsuper
.id
;
3067 if(var_tkwsupernode3
== NULL
) {
3070 if(cltype6
>= var_tkwsupernode3
->type
->table_size
) {
3073 var5
= var_tkwsupernode3
->type
->type_table
[cltype6
] == idtype7
;
3076 if (unlikely(!var5
)) {
3077 PRINT_ERROR("Runtime error: %s", "Assert failed");
3078 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5833);
3081 var_pexprsnode4
= var_nodearraylist3
;
3082 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3083 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
3084 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
3085 if(var_pexprsnode4
== NULL
) {
3088 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3091 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3094 if (unlikely(!var8
)) {
3095 PRINT_ERROR("Runtime error: %s", "Assert failed");
3096 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5835);
3099 var11
= NEW_parser_nodes__ASuperExpr(&type_parser_nodes__ASuperExpr
);
3101 parser_prod__ASuperExpr__init_asuperexpr(var11
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var11:ASuperExpr>*/
3103 var_pexprnode1
= var11
;
3104 var_node_list
= var_pexprnode1
;
3105 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction195> */
3107 var13
= parser_work__Parser__go_to(var_p
, var12
);
3110 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3114 /* method parser#ReduceAction195#action for (self: Object, Parser) */
3115 void VIRTUAL_parser__ReduceAction195__action(val
* self
, val
* p0
) {
3116 parser__ReduceAction195__action(self
, p0
); /* Direct call parser#ReduceAction195#action on <self:Object(ReduceAction195)>*/
3119 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
3120 void parser__ReduceAction196__action(val
* self
, val
* p0
) {
3121 val
* var_p
/* var p: Parser */;
3122 val
* var
/* : null */;
3123 val
* var_node_list
/* var node_list: nullable Object */;
3124 val
* var1
/* : nullable Object */;
3125 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3126 val
* var2
/* : nullable Object */;
3127 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3128 val
* var3
/* : nullable Object */;
3129 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3130 val
* var4
/* : nullable Object */;
3131 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3132 val
* var5
/* : nullable Object */;
3133 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3134 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3135 short int var6
/* : Bool */;
3138 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3139 short int var7
/* : Bool */;
3142 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3143 short int var10
/* : Bool */;
3146 val
* var13
/* : AInitExpr */;
3147 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3148 long var14
/* : Int */;
3149 long var15
/* : Int */;
3152 var_node_list
= var
;
3154 var1
= parser_work__Parser__pop(var_p
);
3156 var_nodearraylist5
= var1
;
3158 var2
= parser_work__Parser__pop(var_p
);
3160 var_nodearraylist4
= var2
;
3162 var3
= parser_work__Parser__pop(var_p
);
3164 var_nodearraylist3
= var3
;
3166 var4
= parser_work__Parser__pop(var_p
);
3168 var_nodearraylist2
= var4
;
3170 var5
= parser_work__Parser__pop(var_p
);
3172 var_nodearraylist1
= var5
;
3173 var_pexprnode2
= var_nodearraylist1
;
3174 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3175 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3176 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3177 if(var_pexprnode2
== NULL
) {
3180 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3183 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3186 if (unlikely(!var6
)) {
3187 PRINT_ERROR("Runtime error: %s", "Assert failed");
3188 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5856);
3191 var_tkwinitnode3
= var_nodearraylist4
;
3192 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3193 cltype8
= type_nullable_parser_nodes__TKwinit
.color
;
3194 idtype9
= type_nullable_parser_nodes__TKwinit
.id
;
3195 if(var_tkwinitnode3
== NULL
) {
3198 if(cltype8
>= var_tkwinitnode3
->type
->table_size
) {
3201 var7
= var_tkwinitnode3
->type
->type_table
[cltype8
] == idtype9
;
3204 if (unlikely(!var7
)) {
3205 PRINT_ERROR("Runtime error: %s", "Assert failed");
3206 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5858);
3209 var_pexprsnode4
= var_nodearraylist5
;
3210 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3211 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
3212 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
3213 if(var_pexprsnode4
== NULL
) {
3216 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
3219 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
3222 if (unlikely(!var10
)) {
3223 PRINT_ERROR("Runtime error: %s", "Assert failed");
3224 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5860);
3227 var13
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3229 parser_prod__AInitExpr__init_ainitexpr(var13
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var13:AInitExpr>*/
3231 var_pexprnode1
= var13
;
3232 var_node_list
= var_pexprnode1
;
3233 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction196> */
3235 var15
= parser_work__Parser__go_to(var_p
, var14
);
3238 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3242 /* method parser#ReduceAction196#action for (self: Object, Parser) */
3243 void VIRTUAL_parser__ReduceAction196__action(val
* self
, val
* p0
) {
3244 parser__ReduceAction196__action(self
, p0
); /* Direct call parser#ReduceAction196#action on <self:Object(ReduceAction196)>*/
3247 /* method parser#ReduceAction197#action for (self: ReduceAction197, Parser) */
3248 void parser__ReduceAction197__action(val
* self
, val
* p0
) {
3249 val
* var_p
/* var p: Parser */;
3250 val
* var
/* : null */;
3251 val
* var_node_list
/* var node_list: nullable Object */;
3252 val
* var1
/* : nullable Object */;
3253 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3254 val
* var2
/* : nullable Object */;
3255 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3256 val
* var3
/* : AImplicitSelfExpr */;
3257 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3258 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3259 short int var5
/* : Bool */;
3262 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3263 short int var6
/* : Bool */;
3266 val
* var9
/* : AInitExpr */;
3267 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3268 long var10
/* : Int */;
3269 long var11
/* : Int */;
3272 var_node_list
= var
;
3274 var1
= parser_work__Parser__pop(var_p
);
3276 var_nodearraylist2
= var1
;
3278 var2
= parser_work__Parser__pop(var_p
);
3280 var_nodearraylist1
= var2
;
3281 var3
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3283 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
3287 var_pexprnode2
= var3
;
3288 var_tkwinitnode3
= var_nodearraylist1
;
3289 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3290 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3291 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3292 if(var_tkwinitnode3
== NULL
) {
3295 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3298 var5
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3301 if (unlikely(!var5
)) {
3302 PRINT_ERROR("Runtime error: %s", "Assert failed");
3303 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5879);
3306 var_pexprsnode4
= var_nodearraylist2
;
3307 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3308 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
3309 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
3310 if(var_pexprsnode4
== NULL
) {
3313 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
3316 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
3319 if (unlikely(!var6
)) {
3320 PRINT_ERROR("Runtime error: %s", "Assert failed");
3321 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5881);
3324 var9
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3326 parser_prod__AInitExpr__init_ainitexpr(var9
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
3328 var_pexprnode1
= var9
;
3329 var_node_list
= var_pexprnode1
;
3330 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction197> */
3332 var11
= parser_work__Parser__go_to(var_p
, var10
);
3335 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3339 /* method parser#ReduceAction197#action for (self: Object, Parser) */
3340 void VIRTUAL_parser__ReduceAction197__action(val
* self
, val
* p0
) {
3341 parser__ReduceAction197__action(self
, p0
); /* Direct call parser#ReduceAction197#action on <self:Object(ReduceAction197)>*/
3344 /* method parser#ReduceAction198#action for (self: ReduceAction198, Parser) */
3345 void parser__ReduceAction198__action(val
* self
, val
* p0
) {
3346 val
* var_p
/* var p: Parser */;
3347 val
* var
/* : null */;
3348 val
* var_node_list
/* var node_list: nullable Object */;
3349 val
* var1
/* : nullable Object */;
3350 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3351 val
* var2
/* : nullable Object */;
3352 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3353 val
* var3
/* : nullable Object */;
3354 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3355 val
* var4
/* : nullable Object */;
3356 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3357 val
* var5
/* : nullable Object */;
3358 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3359 val
* var6
/* : nullable Object */;
3360 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3361 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3362 short int var7
/* : Bool */;
3365 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3366 short int var8
/* : Bool */;
3369 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3370 short int var11
/* : Bool */;
3373 val
* var14
/* : AInitExpr */;
3374 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3375 long var15
/* : Int */;
3376 long var16
/* : Int */;
3379 var_node_list
= var
;
3381 var1
= parser_work__Parser__pop(var_p
);
3383 var_nodearraylist6
= var1
;
3385 var2
= parser_work__Parser__pop(var_p
);
3387 var_nodearraylist5
= var2
;
3389 var3
= parser_work__Parser__pop(var_p
);
3391 var_nodearraylist4
= var3
;
3393 var4
= parser_work__Parser__pop(var_p
);
3395 var_nodearraylist3
= var4
;
3397 var5
= parser_work__Parser__pop(var_p
);
3399 var_nodearraylist2
= var5
;
3401 var6
= parser_work__Parser__pop(var_p
);
3403 var_nodearraylist1
= var6
;
3404 var_pexprnode2
= var_nodearraylist1
;
3405 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3406 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3407 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3408 if(var_pexprnode2
== NULL
) {
3411 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3414 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3417 if (unlikely(!var7
)) {
3418 PRINT_ERROR("Runtime error: %s", "Assert failed");
3419 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5903);
3422 var_tkwinitnode3
= var_nodearraylist5
;
3423 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3424 cltype9
= type_nullable_parser_nodes__TKwinit
.color
;
3425 idtype10
= type_nullable_parser_nodes__TKwinit
.id
;
3426 if(var_tkwinitnode3
== NULL
) {
3429 if(cltype9
>= var_tkwinitnode3
->type
->table_size
) {
3432 var8
= var_tkwinitnode3
->type
->type_table
[cltype9
] == idtype10
;
3435 if (unlikely(!var8
)) {
3436 PRINT_ERROR("Runtime error: %s", "Assert failed");
3437 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5905);
3440 var_pexprsnode4
= var_nodearraylist6
;
3441 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3442 cltype12
= type_nullable_parser_nodes__AExprs
.color
;
3443 idtype13
= type_nullable_parser_nodes__AExprs
.id
;
3444 if(var_pexprsnode4
== NULL
) {
3447 if(cltype12
>= var_pexprsnode4
->type
->table_size
) {
3450 var11
= var_pexprsnode4
->type
->type_table
[cltype12
] == idtype13
;
3453 if (unlikely(!var11
)) {
3454 PRINT_ERROR("Runtime error: %s", "Assert failed");
3455 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5907);
3458 var14
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3460 parser_prod__AInitExpr__init_ainitexpr(var14
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var14:AInitExpr>*/
3462 var_pexprnode1
= var14
;
3463 var_node_list
= var_pexprnode1
;
3464 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction198> */
3466 var16
= parser_work__Parser__go_to(var_p
, var15
);
3469 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3473 /* method parser#ReduceAction198#action for (self: Object, Parser) */
3474 void VIRTUAL_parser__ReduceAction198__action(val
* self
, val
* p0
) {
3475 parser__ReduceAction198__action(self
, p0
); /* Direct call parser#ReduceAction198#action on <self:Object(ReduceAction198)>*/
3478 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
3479 void parser__ReduceAction199__action(val
* self
, val
* p0
) {
3480 val
* var_p
/* var p: Parser */;
3481 val
* var
/* : null */;
3482 val
* var_node_list
/* var node_list: nullable Object */;
3483 val
* var1
/* : nullable Object */;
3484 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3485 val
* var2
/* : nullable Object */;
3486 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3487 val
* var3
/* : nullable Object */;
3488 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3489 val
* var4
/* : nullable Object */;
3490 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3491 val
* var5
/* : nullable Object */;
3492 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3493 val
* var6
/* : nullable Object */;
3494 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3495 val
* var7
/* : nullable Object */;
3496 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3497 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3498 short int var8
/* : Bool */;
3501 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3502 short int var9
/* : Bool */;
3505 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3506 short int var12
/* : Bool */;
3509 val
* var15
/* : AInitExpr */;
3510 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3511 long var16
/* : Int */;
3512 long var17
/* : Int */;
3515 var_node_list
= var
;
3517 var1
= parser_work__Parser__pop(var_p
);
3519 var_nodearraylist7
= var1
;
3521 var2
= parser_work__Parser__pop(var_p
);
3523 var_nodearraylist6
= var2
;
3525 var3
= parser_work__Parser__pop(var_p
);
3527 var_nodearraylist5
= var3
;
3529 var4
= parser_work__Parser__pop(var_p
);
3531 var_nodearraylist4
= var4
;
3533 var5
= parser_work__Parser__pop(var_p
);
3535 var_nodearraylist3
= var5
;
3537 var6
= parser_work__Parser__pop(var_p
);
3539 var_nodearraylist2
= var6
;
3541 var7
= parser_work__Parser__pop(var_p
);
3543 var_nodearraylist1
= var7
;
3544 var_pexprnode2
= var_nodearraylist1
;
3545 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3546 cltype
= type_nullable_parser_nodes__AExpr
.color
;
3547 idtype
= type_nullable_parser_nodes__AExpr
.id
;
3548 if(var_pexprnode2
== NULL
) {
3551 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3554 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3557 if (unlikely(!var8
)) {
3558 PRINT_ERROR("Runtime error: %s", "Assert failed");
3559 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5930);
3562 var_tkwinitnode3
= var_nodearraylist6
;
3563 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3564 cltype10
= type_nullable_parser_nodes__TKwinit
.color
;
3565 idtype11
= type_nullable_parser_nodes__TKwinit
.id
;
3566 if(var_tkwinitnode3
== NULL
) {
3569 if(cltype10
>= var_tkwinitnode3
->type
->table_size
) {
3572 var9
= var_tkwinitnode3
->type
->type_table
[cltype10
] == idtype11
;
3575 if (unlikely(!var9
)) {
3576 PRINT_ERROR("Runtime error: %s", "Assert failed");
3577 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5932);
3580 var_pexprsnode4
= var_nodearraylist7
;
3581 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3582 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
3583 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
3584 if(var_pexprsnode4
== NULL
) {
3587 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
3590 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
3593 if (unlikely(!var12
)) {
3594 PRINT_ERROR("Runtime error: %s", "Assert failed");
3595 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5934);
3598 var15
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3600 parser_prod__AInitExpr__init_ainitexpr(var15
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var15:AInitExpr>*/
3602 var_pexprnode1
= var15
;
3603 var_node_list
= var_pexprnode1
;
3604 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction199> */
3606 var17
= parser_work__Parser__go_to(var_p
, var16
);
3609 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3613 /* method parser#ReduceAction199#action for (self: Object, Parser) */
3614 void VIRTUAL_parser__ReduceAction199__action(val
* self
, val
* p0
) {
3615 parser__ReduceAction199__action(self
, p0
); /* Direct call parser#ReduceAction199#action on <self:Object(ReduceAction199)>*/
3618 /* method parser#ReduceAction201#action for (self: ReduceAction201, Parser) */
3619 void parser__ReduceAction201__action(val
* self
, val
* p0
) {
3620 val
* var_p
/* var p: Parser */;
3621 val
* var
/* : null */;
3622 val
* var_node_list
/* var node_list: nullable Object */;
3623 val
* var1
/* : nullable Object */;
3624 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3625 val
* var2
/* : nullable Object */;
3626 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3627 val
* var3
/* : nullable Object */;
3628 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3629 val
* var4
/* : AImplicitSelfExpr */;
3630 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3631 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3632 short int var6
/* : Bool */;
3635 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3636 short int var7
/* : Bool */;
3639 val
* var10
/* : AInitExpr */;
3640 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3641 long var11
/* : Int */;
3642 long var12
/* : Int */;
3645 var_node_list
= var
;
3647 var1
= parser_work__Parser__pop(var_p
);
3649 var_nodearraylist3
= var1
;
3651 var2
= parser_work__Parser__pop(var_p
);
3653 var_nodearraylist2
= var2
;
3655 var3
= parser_work__Parser__pop(var_p
);
3657 var_nodearraylist1
= var3
;
3658 var4
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3660 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
3664 var_pexprnode2
= var4
;
3665 var_tkwinitnode3
= var_nodearraylist2
;
3666 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3667 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3668 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3669 if(var_tkwinitnode3
== NULL
) {
3672 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3675 var6
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3678 if (unlikely(!var6
)) {
3679 PRINT_ERROR("Runtime error: %s", "Assert failed");
3680 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5954);
3683 var_pexprsnode4
= var_nodearraylist3
;
3684 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3685 cltype8
= type_nullable_parser_nodes__AExprs
.color
;
3686 idtype9
= type_nullable_parser_nodes__AExprs
.id
;
3687 if(var_pexprsnode4
== NULL
) {
3690 if(cltype8
>= var_pexprsnode4
->type
->table_size
) {
3693 var7
= var_pexprsnode4
->type
->type_table
[cltype8
] == idtype9
;
3696 if (unlikely(!var7
)) {
3697 PRINT_ERROR("Runtime error: %s", "Assert failed");
3698 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5956);
3701 var10
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3703 parser_prod__AInitExpr__init_ainitexpr(var10
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
3705 var_pexprnode1
= var10
;
3706 var_node_list
= var_pexprnode1
;
3707 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction201> */
3709 var12
= parser_work__Parser__go_to(var_p
, var11
);
3712 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3716 /* method parser#ReduceAction201#action for (self: Object, Parser) */
3717 void VIRTUAL_parser__ReduceAction201__action(val
* self
, val
* p0
) {
3718 parser__ReduceAction201__action(self
, p0
); /* Direct call parser#ReduceAction201#action on <self:Object(ReduceAction201)>*/
3721 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
3722 void parser__ReduceAction202__action(val
* self
, val
* p0
) {
3723 val
* var_p
/* var p: Parser */;
3724 val
* var
/* : null */;
3725 val
* var_node_list
/* var node_list: nullable Object */;
3726 val
* var1
/* : nullable Object */;
3727 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3728 val
* var2
/* : nullable Object */;
3729 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3730 val
* var3
/* : nullable Object */;
3731 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3732 val
* var4
/* : nullable Object */;
3733 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3734 val
* var5
/* : AImplicitSelfExpr */;
3735 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3736 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
3737 short int var7
/* : Bool */;
3740 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3741 short int var8
/* : Bool */;
3744 val
* var11
/* : AInitExpr */;
3745 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
3746 long var12
/* : Int */;
3747 long var13
/* : Int */;
3750 var_node_list
= var
;
3752 var1
= parser_work__Parser__pop(var_p
);
3754 var_nodearraylist4
= var1
;
3756 var2
= parser_work__Parser__pop(var_p
);
3758 var_nodearraylist3
= var2
;
3760 var3
= parser_work__Parser__pop(var_p
);
3762 var_nodearraylist2
= var3
;
3764 var4
= parser_work__Parser__pop(var_p
);
3766 var_nodearraylist1
= var4
;
3767 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3769 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
3773 var_pexprnode2
= var5
;
3774 var_tkwinitnode3
= var_nodearraylist3
;
3775 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3776 cltype
= type_nullable_parser_nodes__TKwinit
.color
;
3777 idtype
= type_nullable_parser_nodes__TKwinit
.id
;
3778 if(var_tkwinitnode3
== NULL
) {
3781 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
3784 var7
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
3787 if (unlikely(!var7
)) {
3788 PRINT_ERROR("Runtime error: %s", "Assert failed");
3789 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5977);
3792 var_pexprsnode4
= var_nodearraylist4
;
3793 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3794 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
3795 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
3796 if(var_pexprsnode4
== NULL
) {
3799 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3802 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3805 if (unlikely(!var8
)) {
3806 PRINT_ERROR("Runtime error: %s", "Assert failed");
3807 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 5979);
3810 var11
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
3812 parser_prod__AInitExpr__init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
3814 var_pexprnode1
= var11
;
3815 var_node_list
= var_pexprnode1
;
3816 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction202> */
3818 var13
= parser_work__Parser__go_to(var_p
, var12
);
3821 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3825 /* method parser#ReduceAction202#action for (self: Object, Parser) */
3826 void VIRTUAL_parser__ReduceAction202__action(val
* self
, val
* p0
) {
3827 parser__ReduceAction202__action(self
, p0
); /* Direct call parser#ReduceAction202#action on <self:Object(ReduceAction202)>*/
3830 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
3831 void parser__ReduceAction204__action(val
* self
, val
* p0
) {
3832 val
* var_p
/* var p: Parser */;
3833 val
* var
/* : null */;
3834 val
* var_node_list
/* var node_list: nullable Object */;
3835 val
* var1
/* : nullable Object */;
3836 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3837 val
* var2
/* : nullable Object */;
3838 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3839 val
* var3
/* : nullable Object */;
3840 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3841 val
* var4
/* : nullable Object */;
3842 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3843 val
* var5
/* : nullable Object */;
3844 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3845 val
* var_tkwdebugnode2
/* var tkwdebugnode2: nullable Object */;
3846 short int var6
/* : Bool */;
3849 val
* var_tkwtypenode3
/* var tkwtypenode3: nullable Object */;
3850 short int var7
/* : Bool */;
3853 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3854 short int var10
/* : Bool */;
3857 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
3858 short int var13
/* : Bool */;
3861 val
* var16
/* : ADebugTypeExpr */;
3862 val
* var_pexprnode1
/* var pexprnode1: nullable ADebugTypeExpr */;
3863 long var17
/* : Int */;
3864 long var18
/* : Int */;
3867 var_node_list
= var
;
3869 var1
= parser_work__Parser__pop(var_p
);
3871 var_nodearraylist5
= var1
;
3873 var2
= parser_work__Parser__pop(var_p
);
3875 var_nodearraylist4
= var2
;
3877 var3
= parser_work__Parser__pop(var_p
);
3879 var_nodearraylist3
= var3
;
3881 var4
= parser_work__Parser__pop(var_p
);
3883 var_nodearraylist2
= var4
;
3885 var5
= parser_work__Parser__pop(var_p
);
3887 var_nodearraylist1
= var5
;
3888 var_tkwdebugnode2
= var_nodearraylist1
;
3889 /* <var_tkwdebugnode2:nullable Object> isa nullable TKwdebug */
3890 cltype
= type_nullable_parser_nodes__TKwdebug
.color
;
3891 idtype
= type_nullable_parser_nodes__TKwdebug
.id
;
3892 if(var_tkwdebugnode2
== NULL
) {
3895 if(cltype
>= var_tkwdebugnode2
->type
->table_size
) {
3898 var6
= var_tkwdebugnode2
->type
->type_table
[cltype
] == idtype
;
3901 if (unlikely(!var6
)) {
3902 PRINT_ERROR("Runtime error: %s", "Assert failed");
3903 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6000);
3906 var_tkwtypenode3
= var_nodearraylist2
;
3907 /* <var_tkwtypenode3:nullable Object> isa nullable TKwtype */
3908 cltype8
= type_nullable_parser_nodes__TKwtype
.color
;
3909 idtype9
= type_nullable_parser_nodes__TKwtype
.id
;
3910 if(var_tkwtypenode3
== NULL
) {
3913 if(cltype8
>= var_tkwtypenode3
->type
->table_size
) {
3916 var7
= var_tkwtypenode3
->type
->type_table
[cltype8
] == idtype9
;
3919 if (unlikely(!var7
)) {
3920 PRINT_ERROR("Runtime error: %s", "Assert failed");
3921 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6002);
3924 var_pexprnode4
= var_nodearraylist5
;
3925 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3926 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
3927 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
3928 if(var_pexprnode4
== NULL
) {
3931 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
3934 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
3937 if (unlikely(!var10
)) {
3938 PRINT_ERROR("Runtime error: %s", "Assert failed");
3939 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6004);
3942 var_ptypenode5
= var_nodearraylist3
;
3943 /* <var_ptypenode5:nullable Object> isa nullable AType */
3944 cltype14
= type_nullable_parser_nodes__AType
.color
;
3945 idtype15
= type_nullable_parser_nodes__AType
.id
;
3946 if(var_ptypenode5
== NULL
) {
3949 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
3952 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
3955 if (unlikely(!var13
)) {
3956 PRINT_ERROR("Runtime error: %s", "Assert failed");
3957 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6006);
3960 var16
= NEW_parser_nodes__ADebugTypeExpr(&type_parser_nodes__ADebugTypeExpr
);
3962 parser_prod__ADebugTypeExpr__init_adebugtypeexpr(var16
, var_tkwdebugnode2
, var_tkwtypenode3
, var_pexprnode4
, var_ptypenode5
); /* Direct call parser_prod#ADebugTypeExpr#init_adebugtypeexpr on <var16:ADebugTypeExpr>*/
3964 var_pexprnode1
= var16
;
3965 var_node_list
= var_pexprnode1
;
3966 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction204> */
3968 var18
= parser_work__Parser__go_to(var_p
, var17
);
3971 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3975 /* method parser#ReduceAction204#action for (self: Object, Parser) */
3976 void VIRTUAL_parser__ReduceAction204__action(val
* self
, val
* p0
) {
3977 parser__ReduceAction204__action(self
, p0
); /* Direct call parser#ReduceAction204#action on <self:Object(ReduceAction204)>*/
3980 /* method parser#ReduceAction205#action for (self: ReduceAction205, Parser) */
3981 void parser__ReduceAction205__action(val
* self
, val
* p0
) {
3982 val
* var_p
/* var p: Parser */;
3983 val
* var
/* : null */;
3984 val
* var_node_list
/* var node_list: nullable Object */;
3985 val
* var1
/* : nullable Object */;
3986 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3987 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
3988 short int var2
/* : Bool */;
3991 val
* var3
/* : ALabel */;
3992 val
* var4
/* : null */;
3993 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
3994 long var5
/* : Int */;
3995 long var6
/* : Int */;
3998 var_node_list
= var
;
4000 var1
= parser_work__Parser__pop(var_p
);
4002 var_nodearraylist1
= var1
;
4003 var_tkwlabelnode2
= var_nodearraylist1
;
4004 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4005 cltype
= type_nullable_parser_nodes__TKwlabel
.color
;
4006 idtype
= type_nullable_parser_nodes__TKwlabel
.id
;
4007 if(var_tkwlabelnode2
== NULL
) {
4010 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4013 var2
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4016 if (unlikely(!var2
)) {
4017 PRINT_ERROR("Runtime error: %s", "Assert failed");
4018 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6024);
4021 var3
= NEW_parser_nodes__ALabel(&type_parser_nodes__ALabel
);
4024 parser_prod__ALabel__init_alabel(var3
, var_tkwlabelnode2
, var4
); /* Direct call parser_prod#ALabel#init_alabel on <var3:ALabel>*/
4026 var_plabelnode1
= var3
;
4027 var_node_list
= var_plabelnode1
;
4028 var5
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction205> */
4030 var6
= parser_work__Parser__go_to(var_p
, var5
);
4033 parser_work__Parser__push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4037 /* method parser#ReduceAction205#action for (self: Object, Parser) */
4038 void VIRTUAL_parser__ReduceAction205__action(val
* self
, val
* p0
) {
4039 parser__ReduceAction205__action(self
, p0
); /* Direct call parser#ReduceAction205#action on <self:Object(ReduceAction205)>*/
4042 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
4043 void parser__ReduceAction206__action(val
* self
, val
* p0
) {
4044 val
* var_p
/* var p: Parser */;
4045 val
* var
/* : null */;
4046 val
* var_node_list
/* var node_list: nullable Object */;
4047 val
* var1
/* : nullable Object */;
4048 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4049 val
* var2
/* : nullable Object */;
4050 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4051 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
4052 short int var3
/* : Bool */;
4055 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4056 short int var4
/* : Bool */;
4059 val
* var7
/* : ALabel */;
4060 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
4061 long var8
/* : Int */;
4062 long var9
/* : Int */;
4065 var_node_list
= var
;
4067 var1
= parser_work__Parser__pop(var_p
);
4069 var_nodearraylist2
= var1
;
4071 var2
= parser_work__Parser__pop(var_p
);
4073 var_nodearraylist1
= var2
;
4074 var_tkwlabelnode2
= var_nodearraylist1
;
4075 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4076 cltype
= type_nullable_parser_nodes__TKwlabel
.color
;
4077 idtype
= type_nullable_parser_nodes__TKwlabel
.id
;
4078 if(var_tkwlabelnode2
== NULL
) {
4081 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4084 var3
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4087 if (unlikely(!var3
)) {
4088 PRINT_ERROR("Runtime error: %s", "Assert failed");
4089 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6041);
4092 var_tidnode3
= var_nodearraylist2
;
4093 /* <var_tidnode3:nullable Object> isa nullable TId */
4094 cltype5
= type_nullable_parser_nodes__TId
.color
;
4095 idtype6
= type_nullable_parser_nodes__TId
.id
;
4096 if(var_tidnode3
== NULL
) {
4099 if(cltype5
>= var_tidnode3
->type
->table_size
) {
4102 var4
= var_tidnode3
->type
->type_table
[cltype5
] == idtype6
;
4105 if (unlikely(!var4
)) {
4106 PRINT_ERROR("Runtime error: %s", "Assert failed");
4107 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6043);
4110 var7
= NEW_parser_nodes__ALabel(&type_parser_nodes__ALabel
);
4112 parser_prod__ALabel__init_alabel(var7
, var_tkwlabelnode2
, var_tidnode3
); /* Direct call parser_prod#ALabel#init_alabel on <var7:ALabel>*/
4114 var_plabelnode1
= var7
;
4115 var_node_list
= var_plabelnode1
;
4116 var8
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction206> */
4118 var9
= parser_work__Parser__go_to(var_p
, var8
);
4121 parser_work__Parser__push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4125 /* method parser#ReduceAction206#action for (self: Object, Parser) */
4126 void VIRTUAL_parser__ReduceAction206__action(val
* self
, val
* p0
) {
4127 parser__ReduceAction206__action(self
, p0
); /* Direct call parser#ReduceAction206#action on <self:Object(ReduceAction206)>*/
4130 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
4131 void parser__ReduceAction207__action(val
* self
, val
* p0
) {
4132 val
* var_p
/* var p: Parser */;
4133 val
* var
/* : null */;
4134 val
* var_node_list
/* var node_list: nullable Object */;
4135 val
* var1
/* : nullable Object */;
4136 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4137 val
* var2
/* : nullable Object */;
4138 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4139 val
* var3
/* : nullable Object */;
4140 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4141 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4142 short int var4
/* : Bool */;
4145 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4146 short int var5
/* : Bool */;
4149 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4150 short int var8
/* : Bool */;
4153 val
* var11
/* : AVardeclExpr */;
4154 val
* var12
/* : null */;
4155 val
* var13
/* : null */;
4156 val
* var14
/* : null */;
4157 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4158 long var15
/* : Int */;
4159 long var16
/* : Int */;
4162 var_node_list
= var
;
4164 var1
= parser_work__Parser__pop(var_p
);
4166 var_nodearraylist3
= var1
;
4168 var2
= parser_work__Parser__pop(var_p
);
4170 var_nodearraylist2
= var2
;
4172 var3
= parser_work__Parser__pop(var_p
);
4174 var_nodearraylist1
= var3
;
4175 var_tkwvarnode2
= var_nodearraylist1
;
4176 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4177 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4178 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4179 if(var_tkwvarnode2
== NULL
) {
4182 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4185 var4
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4188 if (unlikely(!var4
)) {
4189 PRINT_ERROR("Runtime error: %s", "Assert failed");
4190 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6061);
4193 var_tidnode3
= var_nodearraylist2
;
4194 /* <var_tidnode3:nullable Object> isa nullable TId */
4195 cltype6
= type_nullable_parser_nodes__TId
.color
;
4196 idtype7
= type_nullable_parser_nodes__TId
.id
;
4197 if(var_tidnode3
== NULL
) {
4200 if(cltype6
>= var_tidnode3
->type
->table_size
) {
4203 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
4206 if (unlikely(!var5
)) {
4207 PRINT_ERROR("Runtime error: %s", "Assert failed");
4208 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6063);
4211 var_ptypenode4
= var_nodearraylist3
;
4212 /* <var_ptypenode4:nullable Object> isa nullable AType */
4213 cltype9
= type_nullable_parser_nodes__AType
.color
;
4214 idtype10
= type_nullable_parser_nodes__AType
.id
;
4215 if(var_ptypenode4
== NULL
) {
4218 if(cltype9
>= var_ptypenode4
->type
->table_size
) {
4221 var8
= var_ptypenode4
->type
->type_table
[cltype9
] == idtype10
;
4224 if (unlikely(!var8
)) {
4225 PRINT_ERROR("Runtime error: %s", "Assert failed");
4226 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6065);
4229 var11
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4234 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>*/
4236 var_pexprnode1
= var11
;
4237 var_node_list
= var_pexprnode1
;
4238 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction207> */
4240 var16
= parser_work__Parser__go_to(var_p
, var15
);
4243 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4247 /* method parser#ReduceAction207#action for (self: Object, Parser) */
4248 void VIRTUAL_parser__ReduceAction207__action(val
* self
, val
* p0
) {
4249 parser__ReduceAction207__action(self
, p0
); /* Direct call parser#ReduceAction207#action on <self:Object(ReduceAction207)>*/
4252 /* method parser#ReduceAction208#action for (self: ReduceAction208, Parser) */
4253 void parser__ReduceAction208__action(val
* self
, val
* p0
) {
4254 val
* var_p
/* var p: Parser */;
4255 val
* var
/* : null */;
4256 val
* var_node_list
/* var node_list: nullable Object */;
4257 val
* var1
/* : nullable Object */;
4258 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4259 val
* var2
/* : nullable Object */;
4260 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4261 val
* var3
/* : nullable Object */;
4262 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4263 val
* var4
/* : nullable Object */;
4264 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4265 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4266 short int var5
/* : Bool */;
4269 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4270 short int var6
/* : Bool */;
4273 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4274 short int var9
/* : Bool */;
4277 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4278 short int var12
/* : Bool */;
4281 val
* var15
/* : AVardeclExpr */;
4282 val
* var16
/* : null */;
4283 val
* var17
/* : null */;
4284 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4285 long var18
/* : Int */;
4286 long var19
/* : Int */;
4289 var_node_list
= var
;
4291 var1
= parser_work__Parser__pop(var_p
);
4293 var_nodearraylist4
= var1
;
4295 var2
= parser_work__Parser__pop(var_p
);
4297 var_nodearraylist3
= var2
;
4299 var3
= parser_work__Parser__pop(var_p
);
4301 var_nodearraylist2
= var3
;
4303 var4
= parser_work__Parser__pop(var_p
);
4305 var_nodearraylist1
= var4
;
4306 var_tkwvarnode2
= var_nodearraylist1
;
4307 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4308 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4309 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4310 if(var_tkwvarnode2
== NULL
) {
4313 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4316 var5
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4319 if (unlikely(!var5
)) {
4320 PRINT_ERROR("Runtime error: %s", "Assert failed");
4321 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6088);
4324 var_tidnode3
= var_nodearraylist2
;
4325 /* <var_tidnode3:nullable Object> isa nullable TId */
4326 cltype7
= type_nullable_parser_nodes__TId
.color
;
4327 idtype8
= type_nullable_parser_nodes__TId
.id
;
4328 if(var_tidnode3
== NULL
) {
4331 if(cltype7
>= var_tidnode3
->type
->table_size
) {
4334 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
4337 if (unlikely(!var6
)) {
4338 PRINT_ERROR("Runtime error: %s", "Assert failed");
4339 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6090);
4342 var_ptypenode4
= var_nodearraylist4
;
4343 /* <var_ptypenode4:nullable Object> isa nullable AType */
4344 cltype10
= type_nullable_parser_nodes__AType
.color
;
4345 idtype11
= type_nullable_parser_nodes__AType
.id
;
4346 if(var_ptypenode4
== NULL
) {
4349 if(cltype10
>= var_ptypenode4
->type
->table_size
) {
4352 var9
= var_ptypenode4
->type
->type_table
[cltype10
] == idtype11
;
4355 if (unlikely(!var9
)) {
4356 PRINT_ERROR("Runtime error: %s", "Assert failed");
4357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6092);
4360 var_pannotationsnode7
= var_nodearraylist3
;
4361 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4362 cltype13
= type_nullable_parser_nodes__AAnnotations
.color
;
4363 idtype14
= type_nullable_parser_nodes__AAnnotations
.id
;
4364 if(var_pannotationsnode7
== NULL
) {
4367 if(cltype13
>= var_pannotationsnode7
->type
->table_size
) {
4370 var12
= var_pannotationsnode7
->type
->type_table
[cltype13
] == idtype14
;
4373 if (unlikely(!var12
)) {
4374 PRINT_ERROR("Runtime error: %s", "Assert failed");
4375 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6094);
4378 var15
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4382 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>*/
4384 var_pexprnode1
= var15
;
4385 var_node_list
= var_pexprnode1
;
4386 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction208> */
4388 var19
= parser_work__Parser__go_to(var_p
, var18
);
4391 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4395 /* method parser#ReduceAction208#action for (self: Object, Parser) */
4396 void VIRTUAL_parser__ReduceAction208__action(val
* self
, val
* p0
) {
4397 parser__ReduceAction208__action(self
, p0
); /* Direct call parser#ReduceAction208#action on <self:Object(ReduceAction208)>*/
4400 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
4401 void parser__ReduceAction209__action(val
* self
, val
* p0
) {
4402 val
* var_p
/* var p: Parser */;
4403 val
* var
/* : null */;
4404 val
* var_node_list
/* var node_list: nullable Object */;
4405 val
* var1
/* : nullable Object */;
4406 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4407 val
* var2
/* : nullable Object */;
4408 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4409 val
* var3
/* : nullable Object */;
4410 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4411 val
* var4
/* : nullable Object */;
4412 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4413 val
* var5
/* : nullable Object */;
4414 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4415 val
* var6
/* : nullable Object */;
4416 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4417 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4418 short int var7
/* : Bool */;
4421 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4422 short int var8
/* : Bool */;
4425 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4426 short int var11
/* : Bool */;
4429 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
4430 short int var14
/* : Bool */;
4433 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4434 short int var17
/* : Bool */;
4437 val
* var20
/* : AVardeclExpr */;
4438 val
* var21
/* : null */;
4439 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4440 long var22
/* : Int */;
4441 long var23
/* : Int */;
4444 var_node_list
= var
;
4446 var1
= parser_work__Parser__pop(var_p
);
4448 var_nodearraylist6
= var1
;
4450 var2
= parser_work__Parser__pop(var_p
);
4452 var_nodearraylist5
= var2
;
4454 var3
= parser_work__Parser__pop(var_p
);
4456 var_nodearraylist4
= var3
;
4458 var4
= parser_work__Parser__pop(var_p
);
4460 var_nodearraylist3
= var4
;
4462 var5
= parser_work__Parser__pop(var_p
);
4464 var_nodearraylist2
= var5
;
4466 var6
= parser_work__Parser__pop(var_p
);
4468 var_nodearraylist1
= var6
;
4469 var_tkwvarnode2
= var_nodearraylist1
;
4470 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4471 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4472 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4473 if(var_tkwvarnode2
== NULL
) {
4476 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4479 var7
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4482 if (unlikely(!var7
)) {
4483 PRINT_ERROR("Runtime error: %s", "Assert failed");
4484 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6119);
4487 var_tidnode3
= var_nodearraylist2
;
4488 /* <var_tidnode3:nullable Object> isa nullable TId */
4489 cltype9
= type_nullable_parser_nodes__TId
.color
;
4490 idtype10
= type_nullable_parser_nodes__TId
.id
;
4491 if(var_tidnode3
== NULL
) {
4494 if(cltype9
>= var_tidnode3
->type
->table_size
) {
4497 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
4500 if (unlikely(!var8
)) {
4501 PRINT_ERROR("Runtime error: %s", "Assert failed");
4502 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6121);
4505 var_ptypenode4
= var_nodearraylist3
;
4506 /* <var_ptypenode4:nullable Object> isa nullable AType */
4507 cltype12
= type_nullable_parser_nodes__AType
.color
;
4508 idtype13
= type_nullable_parser_nodes__AType
.id
;
4509 if(var_ptypenode4
== NULL
) {
4512 if(cltype12
>= var_ptypenode4
->type
->table_size
) {
4515 var11
= var_ptypenode4
->type
->type_table
[cltype12
] == idtype13
;
4518 if (unlikely(!var11
)) {
4519 PRINT_ERROR("Runtime error: %s", "Assert failed");
4520 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6123);
4523 var_tassignnode5
= var_nodearraylist4
;
4524 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4525 cltype15
= type_nullable_parser_nodes__TAssign
.color
;
4526 idtype16
= type_nullable_parser_nodes__TAssign
.id
;
4527 if(var_tassignnode5
== NULL
) {
4530 if(cltype15
>= var_tassignnode5
->type
->table_size
) {
4533 var14
= var_tassignnode5
->type
->type_table
[cltype15
] == idtype16
;
4536 if (unlikely(!var14
)) {
4537 PRINT_ERROR("Runtime error: %s", "Assert failed");
4538 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6125);
4541 var_pexprnode6
= var_nodearraylist6
;
4542 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4543 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
4544 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
4545 if(var_pexprnode6
== NULL
) {
4548 if(cltype18
>= var_pexprnode6
->type
->table_size
) {
4551 var17
= var_pexprnode6
->type
->type_table
[cltype18
] == idtype19
;
4554 if (unlikely(!var17
)) {
4555 PRINT_ERROR("Runtime error: %s", "Assert failed");
4556 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6127);
4559 var20
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4562 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>*/
4564 var_pexprnode1
= var20
;
4565 var_node_list
= var_pexprnode1
;
4566 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction209> */
4568 var23
= parser_work__Parser__go_to(var_p
, var22
);
4571 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4575 /* method parser#ReduceAction209#action for (self: Object, Parser) */
4576 void VIRTUAL_parser__ReduceAction209__action(val
* self
, val
* p0
) {
4577 parser__ReduceAction209__action(self
, p0
); /* Direct call parser#ReduceAction209#action on <self:Object(ReduceAction209)>*/
4580 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
4581 void parser__ReduceAction210__action(val
* self
, val
* p0
) {
4582 val
* var_p
/* var p: Parser */;
4583 val
* var
/* : null */;
4584 val
* var_node_list
/* var node_list: nullable Object */;
4585 val
* var1
/* : nullable Object */;
4586 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4587 val
* var2
/* : nullable Object */;
4588 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4589 val
* var3
/* : nullable Object */;
4590 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4591 val
* var4
/* : nullable Object */;
4592 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4593 val
* var5
/* : nullable Object */;
4594 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4595 val
* var6
/* : nullable Object */;
4596 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4597 val
* var7
/* : nullable Object */;
4598 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4599 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4600 short int var8
/* : Bool */;
4603 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4604 short int var9
/* : Bool */;
4607 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4608 short int var12
/* : Bool */;
4611 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
4612 short int var15
/* : Bool */;
4615 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4616 short int var18
/* : Bool */;
4619 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4620 short int var21
/* : Bool */;
4623 val
* var24
/* : AVardeclExpr */;
4624 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4625 long var25
/* : Int */;
4626 long var26
/* : Int */;
4629 var_node_list
= var
;
4631 var1
= parser_work__Parser__pop(var_p
);
4633 var_nodearraylist7
= var1
;
4635 var2
= parser_work__Parser__pop(var_p
);
4637 var_nodearraylist6
= var2
;
4639 var3
= parser_work__Parser__pop(var_p
);
4641 var_nodearraylist5
= var3
;
4643 var4
= parser_work__Parser__pop(var_p
);
4645 var_nodearraylist4
= var4
;
4647 var5
= parser_work__Parser__pop(var_p
);
4649 var_nodearraylist3
= var5
;
4651 var6
= parser_work__Parser__pop(var_p
);
4653 var_nodearraylist2
= var6
;
4655 var7
= parser_work__Parser__pop(var_p
);
4657 var_nodearraylist1
= var7
;
4658 var_tkwvarnode2
= var_nodearraylist1
;
4659 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4660 cltype
= type_nullable_parser_nodes__TKwvar
.color
;
4661 idtype
= type_nullable_parser_nodes__TKwvar
.id
;
4662 if(var_tkwvarnode2
== NULL
) {
4665 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
4668 var8
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
4671 if (unlikely(!var8
)) {
4672 PRINT_ERROR("Runtime error: %s", "Assert failed");
4673 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6153);
4676 var_tidnode3
= var_nodearraylist2
;
4677 /* <var_tidnode3:nullable Object> isa nullable TId */
4678 cltype10
= type_nullable_parser_nodes__TId
.color
;
4679 idtype11
= type_nullable_parser_nodes__TId
.id
;
4680 if(var_tidnode3
== NULL
) {
4683 if(cltype10
>= var_tidnode3
->type
->table_size
) {
4686 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
4689 if (unlikely(!var9
)) {
4690 PRINT_ERROR("Runtime error: %s", "Assert failed");
4691 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6155);
4694 var_ptypenode4
= var_nodearraylist4
;
4695 /* <var_ptypenode4:nullable Object> isa nullable AType */
4696 cltype13
= type_nullable_parser_nodes__AType
.color
;
4697 idtype14
= type_nullable_parser_nodes__AType
.id
;
4698 if(var_ptypenode4
== NULL
) {
4701 if(cltype13
>= var_ptypenode4
->type
->table_size
) {
4704 var12
= var_ptypenode4
->type
->type_table
[cltype13
] == idtype14
;
4707 if (unlikely(!var12
)) {
4708 PRINT_ERROR("Runtime error: %s", "Assert failed");
4709 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6157);
4712 var_tassignnode5
= var_nodearraylist5
;
4713 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4714 cltype16
= type_nullable_parser_nodes__TAssign
.color
;
4715 idtype17
= type_nullable_parser_nodes__TAssign
.id
;
4716 if(var_tassignnode5
== NULL
) {
4719 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
4722 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
4725 if (unlikely(!var15
)) {
4726 PRINT_ERROR("Runtime error: %s", "Assert failed");
4727 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6159);
4730 var_pexprnode6
= var_nodearraylist7
;
4731 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4732 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
4733 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
4734 if(var_pexprnode6
== NULL
) {
4737 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
4740 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
4743 if (unlikely(!var18
)) {
4744 PRINT_ERROR("Runtime error: %s", "Assert failed");
4745 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6161);
4748 var_pannotationsnode7
= var_nodearraylist3
;
4749 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4750 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
4751 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
4752 if(var_pannotationsnode7
== NULL
) {
4755 if(cltype22
>= var_pannotationsnode7
->type
->table_size
) {
4758 var21
= var_pannotationsnode7
->type
->type_table
[cltype22
] == idtype23
;
4761 if (unlikely(!var21
)) {
4762 PRINT_ERROR("Runtime error: %s", "Assert failed");
4763 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6163);
4766 var24
= NEW_parser_nodes__AVardeclExpr(&type_parser_nodes__AVardeclExpr
);
4768 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>*/
4770 var_pexprnode1
= var24
;
4771 var_node_list
= var_pexprnode1
;
4772 var25
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction210> */
4774 var26
= parser_work__Parser__go_to(var_p
, var25
);
4777 parser_work__Parser__push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4781 /* method parser#ReduceAction210#action for (self: Object, Parser) */
4782 void VIRTUAL_parser__ReduceAction210__action(val
* self
, val
* p0
) {
4783 parser__ReduceAction210__action(self
, p0
); /* Direct call parser#ReduceAction210#action on <self:Object(ReduceAction210)>*/
4786 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
4787 void parser__ReduceAction211__action(val
* self
, val
* p0
) {
4788 val
* var_p
/* var p: Parser */;
4789 val
* var
/* : null */;
4790 val
* var_node_list
/* var node_list: nullable Object */;
4791 val
* var1
/* : nullable Object */;
4792 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4793 val
* var2
/* : nullable Object */;
4794 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4795 val
* var3
/* : nullable Object */;
4796 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4797 val
* var4
/* : nullable Object */;
4798 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4799 val
* var5
/* : nullable Object */;
4800 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4801 val
* var6
/* : nullable Object */;
4802 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4803 val
* var7
/* : nullable Object */;
4804 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4805 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4806 short int var8
/* : Bool */;
4809 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4810 short int var9
/* : Bool */;
4813 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
4814 short int var12
/* : Bool */;
4817 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4818 short int var15
/* : Bool */;
4821 val
* var18
/* : AAttrAssignExpr */;
4822 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
4823 long var19
/* : Int */;
4824 long var20
/* : Int */;
4827 var_node_list
= var
;
4829 var1
= parser_work__Parser__pop(var_p
);
4831 var_nodearraylist7
= var1
;
4833 var2
= parser_work__Parser__pop(var_p
);
4835 var_nodearraylist6
= var2
;
4837 var3
= parser_work__Parser__pop(var_p
);
4839 var_nodearraylist5
= var3
;
4841 var4
= parser_work__Parser__pop(var_p
);
4843 var_nodearraylist4
= var4
;
4845 var5
= parser_work__Parser__pop(var_p
);
4847 var_nodearraylist3
= var5
;
4849 var6
= parser_work__Parser__pop(var_p
);
4851 var_nodearraylist2
= var6
;
4853 var7
= parser_work__Parser__pop(var_p
);
4855 var_nodearraylist1
= var7
;
4856 var_pexprnode2
= var_nodearraylist1
;
4857 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4858 cltype
= type_nullable_parser_nodes__AExpr
.color
;
4859 idtype
= type_nullable_parser_nodes__AExpr
.id
;
4860 if(var_pexprnode2
== NULL
) {
4863 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4866 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4869 if (unlikely(!var8
)) {
4870 PRINT_ERROR("Runtime error: %s", "Assert failed");
4871 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6189);
4874 var_tattridnode3
= var_nodearraylist5
;
4875 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4876 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
4877 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
4878 if(var_tattridnode3
== NULL
) {
4881 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
4884 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
4887 if (unlikely(!var9
)) {
4888 PRINT_ERROR("Runtime error: %s", "Assert failed");
4889 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6191);
4892 var_tassignnode4
= var_nodearraylist6
;
4893 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
4894 cltype13
= type_nullable_parser_nodes__TAssign
.color
;
4895 idtype14
= type_nullable_parser_nodes__TAssign
.id
;
4896 if(var_tassignnode4
== NULL
) {
4899 if(cltype13
>= var_tassignnode4
->type
->table_size
) {
4902 var12
= var_tassignnode4
->type
->type_table
[cltype13
] == idtype14
;
4905 if (unlikely(!var12
)) {
4906 PRINT_ERROR("Runtime error: %s", "Assert failed");
4907 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6193);
4910 var_pexprnode5
= var_nodearraylist7
;
4911 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4912 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
4913 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
4914 if(var_pexprnode5
== NULL
) {
4917 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
4920 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
4923 if (unlikely(!var15
)) {
4924 PRINT_ERROR("Runtime error: %s", "Assert failed");
4925 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6195);
4928 var18
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
4930 parser_prod__AAttrAssignExpr__init_aattrassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var18:AAttrAssignExpr>*/
4932 var_pexprnode1
= var18
;
4933 var_node_list
= var_pexprnode1
;
4934 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction211> */
4936 var20
= parser_work__Parser__go_to(var_p
, var19
);
4939 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4943 /* method parser#ReduceAction211#action for (self: Object, Parser) */
4944 void VIRTUAL_parser__ReduceAction211__action(val
* self
, val
* p0
) {
4945 parser__ReduceAction211__action(self
, p0
); /* Direct call parser#ReduceAction211#action on <self:Object(ReduceAction211)>*/
4948 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
4949 void parser__ReduceAction212__action(val
* self
, val
* p0
) {
4950 val
* var_p
/* var p: Parser */;
4951 val
* var
/* : null */;
4952 val
* var_node_list
/* var node_list: nullable Object */;
4953 val
* var1
/* : nullable Object */;
4954 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4955 val
* var2
/* : nullable Object */;
4956 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4957 val
* var3
/* : nullable Object */;
4958 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4959 val
* var4
/* : nullable Object */;
4960 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4961 val
* var5
/* : AImplicitSelfExpr */;
4962 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4963 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4964 short int var7
/* : Bool */;
4967 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
4968 short int var8
/* : Bool */;
4971 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4972 short int var11
/* : Bool */;
4975 val
* var14
/* : AAttrAssignExpr */;
4976 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
4977 long var15
/* : Int */;
4978 long var16
/* : Int */;
4981 var_node_list
= var
;
4983 var1
= parser_work__Parser__pop(var_p
);
4985 var_nodearraylist4
= var1
;
4987 var2
= parser_work__Parser__pop(var_p
);
4989 var_nodearraylist3
= var2
;
4991 var3
= parser_work__Parser__pop(var_p
);
4993 var_nodearraylist2
= var3
;
4995 var4
= parser_work__Parser__pop(var_p
);
4997 var_nodearraylist1
= var4
;
4998 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5000 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5004 var_pexprnode2
= var5
;
5005 var_tattridnode3
= var_nodearraylist2
;
5006 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5007 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
5008 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
5009 if(var_tattridnode3
== NULL
) {
5012 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5015 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5018 if (unlikely(!var7
)) {
5019 PRINT_ERROR("Runtime error: %s", "Assert failed");
5020 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6217);
5023 var_tassignnode4
= var_nodearraylist3
;
5024 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
5025 cltype9
= type_nullable_parser_nodes__TAssign
.color
;
5026 idtype10
= type_nullable_parser_nodes__TAssign
.id
;
5027 if(var_tassignnode4
== NULL
) {
5030 if(cltype9
>= var_tassignnode4
->type
->table_size
) {
5033 var8
= var_tassignnode4
->type
->type_table
[cltype9
] == idtype10
;
5036 if (unlikely(!var8
)) {
5037 PRINT_ERROR("Runtime error: %s", "Assert failed");
5038 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6219);
5041 var_pexprnode5
= var_nodearraylist4
;
5042 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5043 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
5044 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
5045 if(var_pexprnode5
== NULL
) {
5048 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
5051 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
5054 if (unlikely(!var11
)) {
5055 PRINT_ERROR("Runtime error: %s", "Assert failed");
5056 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6221);
5059 var14
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
5061 parser_prod__AAttrAssignExpr__init_aattrassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var14:AAttrAssignExpr>*/
5063 var_pexprnode1
= var14
;
5064 var_node_list
= var_pexprnode1
;
5065 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction212> */
5067 var16
= parser_work__Parser__go_to(var_p
, var15
);
5070 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5074 /* method parser#ReduceAction212#action for (self: Object, Parser) */
5075 void VIRTUAL_parser__ReduceAction212__action(val
* self
, val
* p0
) {
5076 parser__ReduceAction212__action(self
, p0
); /* Direct call parser#ReduceAction212#action on <self:Object(ReduceAction212)>*/
5079 /* method parser#ReduceAction213#action for (self: ReduceAction213, Parser) */
5080 void parser__ReduceAction213__action(val
* self
, val
* p0
) {
5081 val
* var_p
/* var p: Parser */;
5082 val
* var
/* : null */;
5083 val
* var_node_list
/* var node_list: nullable Object */;
5084 val
* var1
/* : nullable Object */;
5085 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5086 val
* var2
/* : nullable Object */;
5087 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5088 val
* var3
/* : nullable Object */;
5089 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5090 val
* var4
/* : nullable Object */;
5091 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5092 val
* var5
/* : nullable Object */;
5093 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5094 val
* var6
/* : nullable Object */;
5095 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5096 val
* var7
/* : nullable Object */;
5097 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5098 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5099 short int var8
/* : Bool */;
5102 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5103 short int var9
/* : Bool */;
5106 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5107 short int var12
/* : Bool */;
5110 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5111 short int var15
/* : Bool */;
5114 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5115 short int var18
/* : Bool */;
5118 val
* var21
/* : ACallAssignExpr */;
5119 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5120 long var22
/* : Int */;
5121 long var23
/* : Int */;
5124 var_node_list
= var
;
5126 var1
= parser_work__Parser__pop(var_p
);
5128 var_nodearraylist7
= var1
;
5130 var2
= parser_work__Parser__pop(var_p
);
5132 var_nodearraylist6
= var2
;
5134 var3
= parser_work__Parser__pop(var_p
);
5136 var_nodearraylist5
= var3
;
5138 var4
= parser_work__Parser__pop(var_p
);
5140 var_nodearraylist4
= var4
;
5142 var5
= parser_work__Parser__pop(var_p
);
5144 var_nodearraylist3
= var5
;
5146 var6
= parser_work__Parser__pop(var_p
);
5148 var_nodearraylist2
= var6
;
5150 var7
= parser_work__Parser__pop(var_p
);
5152 var_nodearraylist1
= var7
;
5153 var_pexprnode2
= var_nodearraylist1
;
5154 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5155 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5156 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5157 if(var_pexprnode2
== NULL
) {
5160 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5163 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5166 if (unlikely(!var8
)) {
5167 PRINT_ERROR("Runtime error: %s", "Assert failed");
5168 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6245);
5171 var_tidnode3
= var_nodearraylist4
;
5172 /* <var_tidnode3:nullable Object> isa nullable TId */
5173 cltype10
= type_nullable_parser_nodes__TId
.color
;
5174 idtype11
= type_nullable_parser_nodes__TId
.id
;
5175 if(var_tidnode3
== NULL
) {
5178 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5181 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5184 if (unlikely(!var9
)) {
5185 PRINT_ERROR("Runtime error: %s", "Assert failed");
5186 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6247);
5189 var_pexprsnode4
= var_nodearraylist5
;
5190 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5191 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
5192 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
5193 if(var_pexprsnode4
== NULL
) {
5196 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
5199 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
5202 if (unlikely(!var12
)) {
5203 PRINT_ERROR("Runtime error: %s", "Assert failed");
5204 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6249);
5207 var_tassignnode5
= var_nodearraylist6
;
5208 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5209 cltype16
= type_nullable_parser_nodes__TAssign
.color
;
5210 idtype17
= type_nullable_parser_nodes__TAssign
.id
;
5211 if(var_tassignnode5
== NULL
) {
5214 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
5217 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
5220 if (unlikely(!var15
)) {
5221 PRINT_ERROR("Runtime error: %s", "Assert failed");
5222 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6251);
5225 var_pexprnode6
= var_nodearraylist7
;
5226 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5227 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
5228 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
5229 if(var_pexprnode6
== NULL
) {
5232 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
5235 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
5238 if (unlikely(!var18
)) {
5239 PRINT_ERROR("Runtime error: %s", "Assert failed");
5240 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6253);
5243 var21
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5245 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>*/
5247 var_pexprnode1
= var21
;
5248 var_node_list
= var_pexprnode1
;
5249 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction213> */
5251 var23
= parser_work__Parser__go_to(var_p
, var22
);
5254 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5258 /* method parser#ReduceAction213#action for (self: Object, Parser) */
5259 void VIRTUAL_parser__ReduceAction213__action(val
* self
, val
* p0
) {
5260 parser__ReduceAction213__action(self
, p0
); /* Direct call parser#ReduceAction213#action on <self:Object(ReduceAction213)>*/
5263 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
5264 void parser__ReduceAction214__action(val
* self
, val
* p0
) {
5265 val
* var_p
/* var p: Parser */;
5266 val
* var
/* : null */;
5267 val
* var_node_list
/* var node_list: nullable Object */;
5268 val
* var1
/* : nullable Object */;
5269 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5270 val
* var2
/* : nullable Object */;
5271 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5272 val
* var3
/* : nullable Object */;
5273 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5274 val
* var4
/* : nullable Object */;
5275 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5276 val
* var5
/* : AImplicitSelfExpr */;
5277 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5278 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5279 short int var7
/* : Bool */;
5282 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5283 short int var8
/* : Bool */;
5286 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5287 short int var11
/* : Bool */;
5290 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5291 short int var14
/* : Bool */;
5294 val
* var17
/* : ACallAssignExpr */;
5295 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5296 long var18
/* : Int */;
5297 long var19
/* : Int */;
5300 var_node_list
= var
;
5302 var1
= parser_work__Parser__pop(var_p
);
5304 var_nodearraylist4
= var1
;
5306 var2
= parser_work__Parser__pop(var_p
);
5308 var_nodearraylist3
= var2
;
5310 var3
= parser_work__Parser__pop(var_p
);
5312 var_nodearraylist2
= var3
;
5314 var4
= parser_work__Parser__pop(var_p
);
5316 var_nodearraylist1
= var4
;
5317 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5319 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5323 var_pexprnode2
= var5
;
5324 var_tidnode3
= var_nodearraylist1
;
5325 /* <var_tidnode3:nullable Object> isa nullable TId */
5326 cltype
= type_nullable_parser_nodes__TId
.color
;
5327 idtype
= type_nullable_parser_nodes__TId
.id
;
5328 if(var_tidnode3
== NULL
) {
5331 if(cltype
>= var_tidnode3
->type
->table_size
) {
5334 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
5337 if (unlikely(!var7
)) {
5338 PRINT_ERROR("Runtime error: %s", "Assert failed");
5339 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6276);
5342 var_pexprsnode4
= var_nodearraylist2
;
5343 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5344 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
5345 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
5346 if(var_pexprsnode4
== NULL
) {
5349 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
5352 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
5355 if (unlikely(!var8
)) {
5356 PRINT_ERROR("Runtime error: %s", "Assert failed");
5357 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6278);
5360 var_tassignnode5
= var_nodearraylist3
;
5361 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5362 cltype12
= type_nullable_parser_nodes__TAssign
.color
;
5363 idtype13
= type_nullable_parser_nodes__TAssign
.id
;
5364 if(var_tassignnode5
== NULL
) {
5367 if(cltype12
>= var_tassignnode5
->type
->table_size
) {
5370 var11
= var_tassignnode5
->type
->type_table
[cltype12
] == idtype13
;
5373 if (unlikely(!var11
)) {
5374 PRINT_ERROR("Runtime error: %s", "Assert failed");
5375 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6280);
5378 var_pexprnode6
= var_nodearraylist4
;
5379 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5380 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
5381 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
5382 if(var_pexprnode6
== NULL
) {
5385 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
5388 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
5391 if (unlikely(!var14
)) {
5392 PRINT_ERROR("Runtime error: %s", "Assert failed");
5393 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6282);
5396 var17
= NEW_parser_nodes__ACallAssignExpr(&type_parser_nodes__ACallAssignExpr
);
5398 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>*/
5400 var_pexprnode1
= var17
;
5401 var_node_list
= var_pexprnode1
;
5402 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction214> */
5404 var19
= parser_work__Parser__go_to(var_p
, var18
);
5407 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5411 /* method parser#ReduceAction214#action for (self: Object, Parser) */
5412 void VIRTUAL_parser__ReduceAction214__action(val
* self
, val
* p0
) {
5413 parser__ReduceAction214__action(self
, p0
); /* Direct call parser#ReduceAction214#action on <self:Object(ReduceAction214)>*/
5416 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
5417 void parser__ReduceAction215__action(val
* self
, val
* p0
) {
5418 val
* var_p
/* var p: Parser */;
5419 val
* var
/* : null */;
5420 val
* var_node_list
/* var node_list: nullable Object */;
5421 val
* var1
/* : nullable Object */;
5422 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5423 val
* var2
/* : nullable Object */;
5424 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5425 val
* var3
/* : nullable Object */;
5426 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5427 val
* var4
/* : nullable Object */;
5428 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5429 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5430 short int var5
/* : Bool */;
5433 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
5434 short int var6
/* : Bool */;
5437 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
5438 short int var9
/* : Bool */;
5441 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
5442 short int var12
/* : Bool */;
5445 val
* var15
/* : ABraAssignExpr */;
5446 val
* var_pexprnode1
/* var pexprnode1: nullable ABraAssignExpr */;
5447 long var16
/* : Int */;
5448 long var17
/* : Int */;
5451 var_node_list
= var
;
5453 var1
= parser_work__Parser__pop(var_p
);
5455 var_nodearraylist4
= var1
;
5457 var2
= parser_work__Parser__pop(var_p
);
5459 var_nodearraylist3
= var2
;
5461 var3
= parser_work__Parser__pop(var_p
);
5463 var_nodearraylist2
= var3
;
5465 var4
= parser_work__Parser__pop(var_p
);
5467 var_nodearraylist1
= var4
;
5468 var_pexprnode2
= var_nodearraylist1
;
5469 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5470 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5471 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5472 if(var_pexprnode2
== NULL
) {
5475 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5478 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5481 if (unlikely(!var5
)) {
5482 PRINT_ERROR("Runtime error: %s", "Assert failed");
5483 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6304);
5486 var_pexprsnode3
= var_nodearraylist2
;
5487 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
5488 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
5489 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
5490 if(var_pexprsnode3
== NULL
) {
5493 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
5496 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
5499 if (unlikely(!var6
)) {
5500 PRINT_ERROR("Runtime error: %s", "Assert failed");
5501 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6306);
5504 var_tassignnode4
= var_nodearraylist3
;
5505 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
5506 cltype10
= type_nullable_parser_nodes__TAssign
.color
;
5507 idtype11
= type_nullable_parser_nodes__TAssign
.id
;
5508 if(var_tassignnode4
== NULL
) {
5511 if(cltype10
>= var_tassignnode4
->type
->table_size
) {
5514 var9
= var_tassignnode4
->type
->type_table
[cltype10
] == idtype11
;
5517 if (unlikely(!var9
)) {
5518 PRINT_ERROR("Runtime error: %s", "Assert failed");
5519 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6308);
5522 var_pexprnode5
= var_nodearraylist4
;
5523 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5524 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
5525 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
5526 if(var_pexprnode5
== NULL
) {
5529 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
5532 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
5535 if (unlikely(!var12
)) {
5536 PRINT_ERROR("Runtime error: %s", "Assert failed");
5537 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6310);
5540 var15
= NEW_parser_nodes__ABraAssignExpr(&type_parser_nodes__ABraAssignExpr
);
5542 parser_prod__ABraAssignExpr__init_abraassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraAssignExpr#init_abraassignexpr on <var15:ABraAssignExpr>*/
5544 var_pexprnode1
= var15
;
5545 var_node_list
= var_pexprnode1
;
5546 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction215> */
5548 var17
= parser_work__Parser__go_to(var_p
, var16
);
5551 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5555 /* method parser#ReduceAction215#action for (self: Object, Parser) */
5556 void VIRTUAL_parser__ReduceAction215__action(val
* self
, val
* p0
) {
5557 parser__ReduceAction215__action(self
, p0
); /* Direct call parser#ReduceAction215#action on <self:Object(ReduceAction215)>*/
5560 /* method parser#ReduceAction216#action for (self: ReduceAction216, Parser) */
5561 void parser__ReduceAction216__action(val
* self
, val
* p0
) {
5562 val
* var_p
/* var p: Parser */;
5563 val
* var
/* : null */;
5564 val
* var_node_list
/* var node_list: nullable Object */;
5565 val
* var1
/* : nullable Object */;
5566 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5567 val
* var2
/* : nullable Object */;
5568 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5569 val
* var3
/* : nullable Object */;
5570 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5571 val
* var4
/* : nullable Object */;
5572 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5573 val
* var5
/* : nullable Object */;
5574 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5575 val
* var6
/* : nullable Object */;
5576 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5577 val
* var7
/* : nullable Object */;
5578 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5579 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5580 short int var8
/* : Bool */;
5583 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5584 short int var9
/* : Bool */;
5587 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
5588 short int var12
/* : Bool */;
5591 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
5592 short int var15
/* : Bool */;
5595 val
* var18
/* : AAttrReassignExpr */;
5596 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
5597 long var19
/* : Int */;
5598 long var20
/* : Int */;
5601 var_node_list
= var
;
5603 var1
= parser_work__Parser__pop(var_p
);
5605 var_nodearraylist7
= var1
;
5607 var2
= parser_work__Parser__pop(var_p
);
5609 var_nodearraylist6
= var2
;
5611 var3
= parser_work__Parser__pop(var_p
);
5613 var_nodearraylist5
= var3
;
5615 var4
= parser_work__Parser__pop(var_p
);
5617 var_nodearraylist4
= var4
;
5619 var5
= parser_work__Parser__pop(var_p
);
5621 var_nodearraylist3
= var5
;
5623 var6
= parser_work__Parser__pop(var_p
);
5625 var_nodearraylist2
= var6
;
5627 var7
= parser_work__Parser__pop(var_p
);
5629 var_nodearraylist1
= var7
;
5630 var_pexprnode2
= var_nodearraylist1
;
5631 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5632 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5633 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5634 if(var_pexprnode2
== NULL
) {
5637 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5640 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5643 if (unlikely(!var8
)) {
5644 PRINT_ERROR("Runtime error: %s", "Assert failed");
5645 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6334);
5648 var_tattridnode3
= var_nodearraylist5
;
5649 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5650 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
5651 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
5652 if(var_tattridnode3
== NULL
) {
5655 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
5658 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
5661 if (unlikely(!var9
)) {
5662 PRINT_ERROR("Runtime error: %s", "Assert failed");
5663 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6336);
5666 var_passignopnode4
= var_nodearraylist6
;
5667 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
5668 cltype13
= type_nullable_parser_nodes__AAssignOp
.color
;
5669 idtype14
= type_nullable_parser_nodes__AAssignOp
.id
;
5670 if(var_passignopnode4
== NULL
) {
5673 if(cltype13
>= var_passignopnode4
->type
->table_size
) {
5676 var12
= var_passignopnode4
->type
->type_table
[cltype13
] == idtype14
;
5679 if (unlikely(!var12
)) {
5680 PRINT_ERROR("Runtime error: %s", "Assert failed");
5681 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6338);
5684 var_pexprnode5
= var_nodearraylist7
;
5685 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5686 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
5687 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
5688 if(var_pexprnode5
== NULL
) {
5691 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
5694 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
5697 if (unlikely(!var15
)) {
5698 PRINT_ERROR("Runtime error: %s", "Assert failed");
5699 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6340);
5702 var18
= NEW_parser_nodes__AAttrReassignExpr(&type_parser_nodes__AAttrReassignExpr
);
5704 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var18:AAttrReassignExpr>*/
5706 var_pexprnode1
= var18
;
5707 var_node_list
= var_pexprnode1
;
5708 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction216> */
5710 var20
= parser_work__Parser__go_to(var_p
, var19
);
5713 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5717 /* method parser#ReduceAction216#action for (self: Object, Parser) */
5718 void VIRTUAL_parser__ReduceAction216__action(val
* self
, val
* p0
) {
5719 parser__ReduceAction216__action(self
, p0
); /* Direct call parser#ReduceAction216#action on <self:Object(ReduceAction216)>*/
5722 /* method parser#ReduceAction217#action for (self: ReduceAction217, Parser) */
5723 void parser__ReduceAction217__action(val
* self
, val
* p0
) {
5724 val
* var_p
/* var p: Parser */;
5725 val
* var
/* : null */;
5726 val
* var_node_list
/* var node_list: nullable Object */;
5727 val
* var1
/* : nullable Object */;
5728 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5729 val
* var2
/* : nullable Object */;
5730 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5731 val
* var3
/* : nullable Object */;
5732 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5733 val
* var4
/* : nullable Object */;
5734 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5735 val
* var5
/* : AImplicitSelfExpr */;
5736 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5737 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5738 short int var7
/* : Bool */;
5741 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
5742 short int var8
/* : Bool */;
5745 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
5746 short int var11
/* : Bool */;
5749 val
* var14
/* : AAttrReassignExpr */;
5750 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
5751 long var15
/* : Int */;
5752 long var16
/* : Int */;
5755 var_node_list
= var
;
5757 var1
= parser_work__Parser__pop(var_p
);
5759 var_nodearraylist4
= var1
;
5761 var2
= parser_work__Parser__pop(var_p
);
5763 var_nodearraylist3
= var2
;
5765 var3
= parser_work__Parser__pop(var_p
);
5767 var_nodearraylist2
= var3
;
5769 var4
= parser_work__Parser__pop(var_p
);
5771 var_nodearraylist1
= var4
;
5772 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
5774 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5778 var_pexprnode2
= var5
;
5779 var_tattridnode3
= var_nodearraylist2
;
5780 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5781 cltype
= type_nullable_parser_nodes__TAttrid
.color
;
5782 idtype
= type_nullable_parser_nodes__TAttrid
.id
;
5783 if(var_tattridnode3
== NULL
) {
5786 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5789 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5792 if (unlikely(!var7
)) {
5793 PRINT_ERROR("Runtime error: %s", "Assert failed");
5794 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6362);
5797 var_passignopnode4
= var_nodearraylist3
;
5798 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
5799 cltype9
= type_nullable_parser_nodes__AAssignOp
.color
;
5800 idtype10
= type_nullable_parser_nodes__AAssignOp
.id
;
5801 if(var_passignopnode4
== NULL
) {
5804 if(cltype9
>= var_passignopnode4
->type
->table_size
) {
5807 var8
= var_passignopnode4
->type
->type_table
[cltype9
] == idtype10
;
5810 if (unlikely(!var8
)) {
5811 PRINT_ERROR("Runtime error: %s", "Assert failed");
5812 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6364);
5815 var_pexprnode5
= var_nodearraylist4
;
5816 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5817 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
5818 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
5819 if(var_pexprnode5
== NULL
) {
5822 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
5825 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
5828 if (unlikely(!var11
)) {
5829 PRINT_ERROR("Runtime error: %s", "Assert failed");
5830 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6366);
5833 var14
= NEW_parser_nodes__AAttrReassignExpr(&type_parser_nodes__AAttrReassignExpr
);
5835 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var14:AAttrReassignExpr>*/
5837 var_pexprnode1
= var14
;
5838 var_node_list
= var_pexprnode1
;
5839 var15
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction217> */
5841 var16
= parser_work__Parser__go_to(var_p
, var15
);
5844 parser_work__Parser__push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5848 /* method parser#ReduceAction217#action for (self: Object, Parser) */
5849 void VIRTUAL_parser__ReduceAction217__action(val
* self
, val
* p0
) {
5850 parser__ReduceAction217__action(self
, p0
); /* Direct call parser#ReduceAction217#action on <self:Object(ReduceAction217)>*/
5853 /* method parser#ReduceAction218#action for (self: ReduceAction218, Parser) */
5854 void parser__ReduceAction218__action(val
* self
, val
* p0
) {
5855 val
* var_p
/* var p: Parser */;
5856 val
* var
/* : null */;
5857 val
* var_node_list
/* var node_list: nullable Object */;
5858 val
* var1
/* : nullable Object */;
5859 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5860 val
* var2
/* : nullable Object */;
5861 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5862 val
* var3
/* : nullable Object */;
5863 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5864 val
* var4
/* : nullable Object */;
5865 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5866 val
* var5
/* : nullable Object */;
5867 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5868 val
* var6
/* : nullable Object */;
5869 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5870 val
* var7
/* : nullable Object */;
5871 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5872 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5873 short int var8
/* : Bool */;
5876 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5877 short int var9
/* : Bool */;
5880 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5881 short int var12
/* : Bool */;
5884 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
5885 short int var15
/* : Bool */;
5888 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5889 short int var18
/* : Bool */;
5892 val
* var21
/* : ACallReassignExpr */;
5893 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5894 long var22
/* : Int */;
5895 long var23
/* : Int */;
5898 var_node_list
= var
;
5900 var1
= parser_work__Parser__pop(var_p
);
5902 var_nodearraylist7
= var1
;
5904 var2
= parser_work__Parser__pop(var_p
);
5906 var_nodearraylist6
= var2
;
5908 var3
= parser_work__Parser__pop(var_p
);
5910 var_nodearraylist5
= var3
;
5912 var4
= parser_work__Parser__pop(var_p
);
5914 var_nodearraylist4
= var4
;
5916 var5
= parser_work__Parser__pop(var_p
);
5918 var_nodearraylist3
= var5
;
5920 var6
= parser_work__Parser__pop(var_p
);
5922 var_nodearraylist2
= var6
;
5924 var7
= parser_work__Parser__pop(var_p
);
5926 var_nodearraylist1
= var7
;
5927 var_pexprnode2
= var_nodearraylist1
;
5928 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5929 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5930 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5931 if(var_pexprnode2
== NULL
) {
5934 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5937 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5940 if (unlikely(!var8
)) {
5941 PRINT_ERROR("Runtime error: %s", "Assert failed");
5942 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6390);
5945 var_tidnode3
= var_nodearraylist4
;
5946 /* <var_tidnode3:nullable Object> isa nullable TId */
5947 cltype10
= type_nullable_parser_nodes__TId
.color
;
5948 idtype11
= type_nullable_parser_nodes__TId
.id
;
5949 if(var_tidnode3
== NULL
) {
5952 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5955 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5958 if (unlikely(!var9
)) {
5959 PRINT_ERROR("Runtime error: %s", "Assert failed");
5960 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6392);
5963 var_pexprsnode4
= var_nodearraylist5
;
5964 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5965 cltype13
= type_nullable_parser_nodes__AExprs
.color
;
5966 idtype14
= type_nullable_parser_nodes__AExprs
.id
;
5967 if(var_pexprsnode4
== NULL
) {
5970 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
5973 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
5976 if (unlikely(!var12
)) {
5977 PRINT_ERROR("Runtime error: %s", "Assert failed");
5978 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6394);
5981 var_passignopnode5
= var_nodearraylist6
;
5982 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
5983 cltype16
= type_nullable_parser_nodes__AAssignOp
.color
;
5984 idtype17
= type_nullable_parser_nodes__AAssignOp
.id
;
5985 if(var_passignopnode5
== NULL
) {
5988 if(cltype16
>= var_passignopnode5
->type
->table_size
) {
5991 var15
= var_passignopnode5
->type
->type_table
[cltype16
] == idtype17
;
5994 if (unlikely(!var15
)) {
5995 PRINT_ERROR("Runtime error: %s", "Assert failed");
5996 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6396);
5999 var_pexprnode6
= var_nodearraylist7
;
6000 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6001 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
6002 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
6003 if(var_pexprnode6
== NULL
) {
6006 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
6009 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
6012 if (unlikely(!var18
)) {
6013 PRINT_ERROR("Runtime error: %s", "Assert failed");
6014 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6398);
6017 var21
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
6019 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>*/
6021 var_pexprnode1
= var21
;
6022 var_node_list
= var_pexprnode1
;
6023 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction218> */
6025 var23
= parser_work__Parser__go_to(var_p
, var22
);
6028 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6032 /* method parser#ReduceAction218#action for (self: Object, Parser) */
6033 void VIRTUAL_parser__ReduceAction218__action(val
* self
, val
* p0
) {
6034 parser__ReduceAction218__action(self
, p0
); /* Direct call parser#ReduceAction218#action on <self:Object(ReduceAction218)>*/
6037 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
6038 void parser__ReduceAction219__action(val
* self
, val
* p0
) {
6039 val
* var_p
/* var p: Parser */;
6040 val
* var
/* : null */;
6041 val
* var_node_list
/* var node_list: nullable Object */;
6042 val
* var1
/* : nullable Object */;
6043 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6044 val
* var2
/* : nullable Object */;
6045 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6046 val
* var3
/* : nullable Object */;
6047 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6048 val
* var4
/* : nullable Object */;
6049 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6050 val
* var5
/* : AImplicitSelfExpr */;
6051 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6052 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6053 short int var7
/* : Bool */;
6056 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6057 short int var8
/* : Bool */;
6060 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
6061 short int var11
/* : Bool */;
6064 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6065 short int var14
/* : Bool */;
6068 val
* var17
/* : ACallReassignExpr */;
6069 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
6070 long var18
/* : Int */;
6071 long var19
/* : Int */;
6074 var_node_list
= var
;
6076 var1
= parser_work__Parser__pop(var_p
);
6078 var_nodearraylist4
= var1
;
6080 var2
= parser_work__Parser__pop(var_p
);
6082 var_nodearraylist3
= var2
;
6084 var3
= parser_work__Parser__pop(var_p
);
6086 var_nodearraylist2
= var3
;
6088 var4
= parser_work__Parser__pop(var_p
);
6090 var_nodearraylist1
= var4
;
6091 var5
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
6093 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
6097 var_pexprnode2
= var5
;
6098 var_tidnode3
= var_nodearraylist1
;
6099 /* <var_tidnode3:nullable Object> isa nullable TId */
6100 cltype
= type_nullable_parser_nodes__TId
.color
;
6101 idtype
= type_nullable_parser_nodes__TId
.id
;
6102 if(var_tidnode3
== NULL
) {
6105 if(cltype
>= var_tidnode3
->type
->table_size
) {
6108 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6111 if (unlikely(!var7
)) {
6112 PRINT_ERROR("Runtime error: %s", "Assert failed");
6113 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6421);
6116 var_pexprsnode4
= var_nodearraylist2
;
6117 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6118 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
6119 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
6120 if(var_pexprsnode4
== NULL
) {
6123 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
6126 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
6129 if (unlikely(!var8
)) {
6130 PRINT_ERROR("Runtime error: %s", "Assert failed");
6131 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6423);
6134 var_passignopnode5
= var_nodearraylist3
;
6135 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
6136 cltype12
= type_nullable_parser_nodes__AAssignOp
.color
;
6137 idtype13
= type_nullable_parser_nodes__AAssignOp
.id
;
6138 if(var_passignopnode5
== NULL
) {
6141 if(cltype12
>= var_passignopnode5
->type
->table_size
) {
6144 var11
= var_passignopnode5
->type
->type_table
[cltype12
] == idtype13
;
6147 if (unlikely(!var11
)) {
6148 PRINT_ERROR("Runtime error: %s", "Assert failed");
6149 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6425);
6152 var_pexprnode6
= var_nodearraylist4
;
6153 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6154 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
6155 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
6156 if(var_pexprnode6
== NULL
) {
6159 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
6162 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
6165 if (unlikely(!var14
)) {
6166 PRINT_ERROR("Runtime error: %s", "Assert failed");
6167 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6427);
6170 var17
= NEW_parser_nodes__ACallReassignExpr(&type_parser_nodes__ACallReassignExpr
);
6172 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>*/
6174 var_pexprnode1
= var17
;
6175 var_node_list
= var_pexprnode1
;
6176 var18
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction219> */
6178 var19
= parser_work__Parser__go_to(var_p
, var18
);
6181 parser_work__Parser__push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6185 /* method parser#ReduceAction219#action for (self: Object, Parser) */
6186 void VIRTUAL_parser__ReduceAction219__action(val
* self
, val
* p0
) {
6187 parser__ReduceAction219__action(self
, p0
); /* Direct call parser#ReduceAction219#action on <self:Object(ReduceAction219)>*/
6190 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
6191 void parser__ReduceAction220__action(val
* self
, val
* p0
) {
6192 val
* var_p
/* var p: Parser */;
6193 val
* var
/* : null */;
6194 val
* var_node_list
/* var node_list: nullable Object */;
6195 val
* var1
/* : nullable Object */;
6196 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6197 val
* var2
/* : nullable Object */;
6198 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6199 val
* var3
/* : nullable Object */;
6200 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6201 val
* var4
/* : nullable Object */;
6202 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6203 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6204 short int var5
/* : Bool */;
6207 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
6208 short int var6
/* : Bool */;
6211 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
6212 short int var9
/* : Bool */;
6215 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
6216 short int var12
/* : Bool */;
6219 val
* var15
/* : ABraReassignExpr */;
6220 val
* var_pexprnode1
/* var pexprnode1: nullable ABraReassignExpr */;
6221 long var16
/* : Int */;
6222 long var17
/* : Int */;
6225 var_node_list
= var
;
6227 var1
= parser_work__Parser__pop(var_p
);
6229 var_nodearraylist4
= var1
;
6231 var2
= parser_work__Parser__pop(var_p
);
6233 var_nodearraylist3
= var2
;
6235 var3
= parser_work__Parser__pop(var_p
);
6237 var_nodearraylist2
= var3
;
6239 var4
= parser_work__Parser__pop(var_p
);
6241 var_nodearraylist1
= var4
;
6242 var_pexprnode2
= var_nodearraylist1
;
6243 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6244 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6245 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6246 if(var_pexprnode2
== NULL
) {
6249 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6252 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6255 if (unlikely(!var5
)) {
6256 PRINT_ERROR("Runtime error: %s", "Assert failed");
6257 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6449);
6260 var_pexprsnode3
= var_nodearraylist2
;
6261 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
6262 cltype7
= type_nullable_parser_nodes__AExprs
.color
;
6263 idtype8
= type_nullable_parser_nodes__AExprs
.id
;
6264 if(var_pexprsnode3
== NULL
) {
6267 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
6270 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
6273 if (unlikely(!var6
)) {
6274 PRINT_ERROR("Runtime error: %s", "Assert failed");
6275 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6451);
6278 var_passignopnode4
= var_nodearraylist3
;
6279 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
6280 cltype10
= type_nullable_parser_nodes__AAssignOp
.color
;
6281 idtype11
= type_nullable_parser_nodes__AAssignOp
.id
;
6282 if(var_passignopnode4
== NULL
) {
6285 if(cltype10
>= var_passignopnode4
->type
->table_size
) {
6288 var9
= var_passignopnode4
->type
->type_table
[cltype10
] == idtype11
;
6291 if (unlikely(!var9
)) {
6292 PRINT_ERROR("Runtime error: %s", "Assert failed");
6293 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6453);
6296 var_pexprnode5
= var_nodearraylist4
;
6297 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
6298 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
6299 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
6300 if(var_pexprnode5
== NULL
) {
6303 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
6306 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
6309 if (unlikely(!var12
)) {
6310 PRINT_ERROR("Runtime error: %s", "Assert failed");
6311 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6455);
6314 var15
= NEW_parser_nodes__ABraReassignExpr(&type_parser_nodes__ABraReassignExpr
);
6316 parser_prod__ABraReassignExpr__init_abrareassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on <var15:ABraReassignExpr>*/
6318 var_pexprnode1
= var15
;
6319 var_node_list
= var_pexprnode1
;
6320 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction220> */
6322 var17
= parser_work__Parser__go_to(var_p
, var16
);
6325 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6329 /* method parser#ReduceAction220#action for (self: Object, Parser) */
6330 void VIRTUAL_parser__ReduceAction220__action(val
* self
, val
* p0
) {
6331 parser__ReduceAction220__action(self
, p0
); /* Direct call parser#ReduceAction220#action on <self:Object(ReduceAction220)>*/
6334 /* method parser#ReduceAction221#action for (self: ReduceAction221, Parser) */
6335 void parser__ReduceAction221__action(val
* self
, val
* p0
) {
6336 val
* var_p
/* var p: Parser */;
6337 val
* var
/* : null */;
6338 val
* var_node_list
/* var node_list: nullable Object */;
6339 val
* var1
/* : nullable Object */;
6340 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6341 val
* var_tpluseqnode2
/* var tpluseqnode2: nullable Object */;
6342 short int var2
/* : Bool */;
6345 val
* var3
/* : APlusAssignOp */;
6346 val
* var_passignopnode1
/* var passignopnode1: nullable APlusAssignOp */;
6347 long var4
/* : Int */;
6348 long var5
/* : Int */;
6351 var_node_list
= var
;
6353 var1
= parser_work__Parser__pop(var_p
);
6355 var_nodearraylist1
= var1
;
6356 var_tpluseqnode2
= var_nodearraylist1
;
6357 /* <var_tpluseqnode2:nullable Object> isa nullable TPluseq */
6358 cltype
= type_nullable_parser_nodes__TPluseq
.color
;
6359 idtype
= type_nullable_parser_nodes__TPluseq
.id
;
6360 if(var_tpluseqnode2
== NULL
) {
6363 if(cltype
>= var_tpluseqnode2
->type
->table_size
) {
6366 var2
= var_tpluseqnode2
->type
->type_table
[cltype
] == idtype
;
6369 if (unlikely(!var2
)) {
6370 PRINT_ERROR("Runtime error: %s", "Assert failed");
6371 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6473);
6374 var3
= NEW_parser_nodes__APlusAssignOp(&type_parser_nodes__APlusAssignOp
);
6376 parser_prod__APlusAssignOp__init_aplusassignop(var3
, var_tpluseqnode2
); /* Direct call parser_prod#APlusAssignOp#init_aplusassignop on <var3:APlusAssignOp>*/
6378 var_passignopnode1
= var3
;
6379 var_node_list
= var_passignopnode1
;
6380 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction221> */
6382 var5
= parser_work__Parser__go_to(var_p
, var4
);
6385 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6389 /* method parser#ReduceAction221#action for (self: Object, Parser) */
6390 void VIRTUAL_parser__ReduceAction221__action(val
* self
, val
* p0
) {
6391 parser__ReduceAction221__action(self
, p0
); /* Direct call parser#ReduceAction221#action on <self:Object(ReduceAction221)>*/
6394 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
6395 void parser__ReduceAction222__action(val
* self
, val
* p0
) {
6396 val
* var_p
/* var p: Parser */;
6397 val
* var
/* : null */;
6398 val
* var_node_list
/* var node_list: nullable Object */;
6399 val
* var1
/* : nullable Object */;
6400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6401 val
* var_tminuseqnode2
/* var tminuseqnode2: nullable Object */;
6402 short int var2
/* : Bool */;
6405 val
* var3
/* : AMinusAssignOp */;
6406 val
* var_passignopnode1
/* var passignopnode1: nullable AMinusAssignOp */;
6407 long var4
/* : Int */;
6408 long var5
/* : Int */;
6411 var_node_list
= var
;
6413 var1
= parser_work__Parser__pop(var_p
);
6415 var_nodearraylist1
= var1
;
6416 var_tminuseqnode2
= var_nodearraylist1
;
6417 /* <var_tminuseqnode2:nullable Object> isa nullable TMinuseq */
6418 cltype
= type_nullable_parser_nodes__TMinuseq
.color
;
6419 idtype
= type_nullable_parser_nodes__TMinuseq
.id
;
6420 if(var_tminuseqnode2
== NULL
) {
6423 if(cltype
>= var_tminuseqnode2
->type
->table_size
) {
6426 var2
= var_tminuseqnode2
->type
->type_table
[cltype
] == idtype
;
6429 if (unlikely(!var2
)) {
6430 PRINT_ERROR("Runtime error: %s", "Assert failed");
6431 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6488);
6434 var3
= NEW_parser_nodes__AMinusAssignOp(&type_parser_nodes__AMinusAssignOp
);
6436 parser_prod__AMinusAssignOp__init_aminusassignop(var3
, var_tminuseqnode2
); /* Direct call parser_prod#AMinusAssignOp#init_aminusassignop on <var3:AMinusAssignOp>*/
6438 var_passignopnode1
= var3
;
6439 var_node_list
= var_passignopnode1
;
6440 var4
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction222> */
6442 var5
= parser_work__Parser__go_to(var_p
, var4
);
6445 parser_work__Parser__push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6449 /* method parser#ReduceAction222#action for (self: Object, Parser) */
6450 void VIRTUAL_parser__ReduceAction222__action(val
* self
, val
* p0
) {
6451 parser__ReduceAction222__action(self
, p0
); /* Direct call parser#ReduceAction222#action on <self:Object(ReduceAction222)>*/
6454 /* method parser#ReduceAction223#action for (self: ReduceAction223, Parser) */
6455 void parser__ReduceAction223__action(val
* self
, val
* p0
) {
6456 val
* var_p
/* var p: Parser */;
6457 val
* var
/* : null */;
6458 val
* var_node_list
/* var node_list: nullable Object */;
6459 val
* var1
/* : nullable Object */;
6460 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6461 val
* var2
/* : nullable Object */;
6462 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6463 val
* var3
/* : nullable Object */;
6464 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6465 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
6466 short int var4
/* : Bool */;
6469 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6470 short int var5
/* : Bool */;
6473 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
6474 short int var8
/* : Bool */;
6477 val
* var11
/* : ADoExpr */;
6478 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
6479 long var12
/* : Int */;
6480 long var13
/* : Int */;
6483 var_node_list
= var
;
6485 var1
= parser_work__Parser__pop(var_p
);
6487 var_nodearraylist3
= var1
;
6489 var2
= parser_work__Parser__pop(var_p
);
6491 var_nodearraylist2
= var2
;
6493 var3
= parser_work__Parser__pop(var_p
);
6495 var_nodearraylist1
= var3
;
6496 var_tkwdonode2
= var_nodearraylist1
;
6497 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
6498 cltype
= type_nullable_parser_nodes__TKwdo
.color
;
6499 idtype
= type_nullable_parser_nodes__TKwdo
.id
;
6500 if(var_tkwdonode2
== NULL
) {
6503 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
6506 var4
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
6509 if (unlikely(!var4
)) {
6510 PRINT_ERROR("Runtime error: %s", "Assert failed");
6511 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6505);
6514 var_pexprnode3
= var_nodearraylist2
;
6515 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6516 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
6517 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
6518 if(var_pexprnode3
== NULL
) {
6521 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
6524 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
6527 if (unlikely(!var5
)) {
6528 PRINT_ERROR("Runtime error: %s", "Assert failed");
6529 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6507);
6532 var_plabelnode4
= var_nodearraylist3
;
6533 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
6534 cltype9
= type_nullable_parser_nodes__ALabel
.color
;
6535 idtype10
= type_nullable_parser_nodes__ALabel
.id
;
6536 if(var_plabelnode4
== NULL
) {
6539 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
6542 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
6545 if (unlikely(!var8
)) {
6546 PRINT_ERROR("Runtime error: %s", "Assert failed");
6547 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6509);
6550 var11
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
6552 parser_prod__ADoExpr__init_adoexpr(var11
, var_tkwdonode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var11:ADoExpr>*/
6554 var_pexprnode1
= var11
;
6555 var_node_list
= var_pexprnode1
;
6556 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction223> */
6558 var13
= parser_work__Parser__go_to(var_p
, var12
);
6561 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6565 /* method parser#ReduceAction223#action for (self: Object, Parser) */
6566 void VIRTUAL_parser__ReduceAction223__action(val
* self
, val
* p0
) {
6567 parser__ReduceAction223__action(self
, p0
); /* Direct call parser#ReduceAction223#action on <self:Object(ReduceAction223)>*/
6570 /* method parser#ReduceAction224#action for (self: ReduceAction224, Parser) */
6571 void parser__ReduceAction224__action(val
* self
, val
* p0
) {
6572 val
* var_p
/* var p: Parser */;
6573 val
* var
/* : null */;
6574 val
* var_node_list
/* var node_list: nullable Object */;
6575 val
* var1
/* : nullable Object */;
6576 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6577 val
* var2
/* : nullable Object */;
6578 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6579 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
6580 short int var3
/* : Bool */;
6583 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6584 short int var4
/* : Bool */;
6587 val
* var7
/* : ADoExpr */;
6588 val
* var8
/* : null */;
6589 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
6590 long var9
/* : Int */;
6591 long var10
/* : Int */;
6594 var_node_list
= var
;
6596 var1
= parser_work__Parser__pop(var_p
);
6598 var_nodearraylist2
= var1
;
6600 var2
= parser_work__Parser__pop(var_p
);
6602 var_nodearraylist1
= var2
;
6603 var_tkwdonode2
= var_nodearraylist1
;
6604 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
6605 cltype
= type_nullable_parser_nodes__TKwdo
.color
;
6606 idtype
= type_nullable_parser_nodes__TKwdo
.id
;
6607 if(var_tkwdonode2
== NULL
) {
6610 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
6613 var3
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
6616 if (unlikely(!var3
)) {
6617 PRINT_ERROR("Runtime error: %s", "Assert failed");
6618 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6527);
6621 var_pexprnode3
= var_nodearraylist2
;
6622 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6623 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
6624 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
6625 if(var_pexprnode3
== NULL
) {
6628 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
6631 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
6634 if (unlikely(!var4
)) {
6635 PRINT_ERROR("Runtime error: %s", "Assert failed");
6636 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6529);
6639 var7
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
6642 parser_prod__ADoExpr__init_adoexpr(var7
, var_tkwdonode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var7:ADoExpr>*/
6644 var_pexprnode1
= var7
;
6645 var_node_list
= var_pexprnode1
;
6646 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction224> */
6648 var10
= parser_work__Parser__go_to(var_p
, var9
);
6651 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6655 /* method parser#ReduceAction224#action for (self: Object, Parser) */
6656 void VIRTUAL_parser__ReduceAction224__action(val
* self
, val
* p0
) {
6657 parser__ReduceAction224__action(self
, p0
); /* Direct call parser#ReduceAction224#action on <self:Object(ReduceAction224)>*/
6660 /* method parser#ReduceAction225#action for (self: ReduceAction225, Parser) */
6661 void parser__ReduceAction225__action(val
* self
, val
* p0
) {
6662 val
* var_p
/* var p: Parser */;
6663 val
* var
/* : null */;
6664 val
* var_node_list
/* var node_list: nullable Object */;
6665 val
* var1
/* : nullable Object */;
6666 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6667 val
* var2
/* : nullable Object */;
6668 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6669 val
* var3
/* : nullable Object */;
6670 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6671 val
* var4
/* : nullable Object */;
6672 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6673 val
* var5
/* : nullable Object */;
6674 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6675 val
* var6
/* : nullable Object */;
6676 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6677 val
* var7
/* : nullable Object */;
6678 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6679 val
* var8
/* : nullable Object */;
6680 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6681 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
6682 short int var9
/* : Bool */;
6685 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6686 short int var10
/* : Bool */;
6689 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
6690 short int var13
/* : Bool */;
6693 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
6694 short int var16
/* : Bool */;
6697 val
* var19
/* : AIfExpr */;
6698 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
6699 long var20
/* : Int */;
6700 long var21
/* : Int */;
6703 var_node_list
= var
;
6705 var1
= parser_work__Parser__pop(var_p
);
6707 var_nodearraylist8
= var1
;
6709 var2
= parser_work__Parser__pop(var_p
);
6711 var_nodearraylist7
= var2
;
6713 var3
= parser_work__Parser__pop(var_p
);
6715 var_nodearraylist6
= var3
;
6717 var4
= parser_work__Parser__pop(var_p
);
6719 var_nodearraylist5
= var4
;
6721 var5
= parser_work__Parser__pop(var_p
);
6723 var_nodearraylist4
= var5
;
6725 var6
= parser_work__Parser__pop(var_p
);
6727 var_nodearraylist3
= var6
;
6729 var7
= parser_work__Parser__pop(var_p
);
6731 var_nodearraylist2
= var7
;
6733 var8
= parser_work__Parser__pop(var_p
);
6735 var_nodearraylist1
= var8
;
6736 var_tkwifnode2
= var_nodearraylist1
;
6737 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
6738 cltype
= type_nullable_parser_nodes__TKwif
.color
;
6739 idtype
= type_nullable_parser_nodes__TKwif
.id
;
6740 if(var_tkwifnode2
== NULL
) {
6743 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
6746 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
6749 if (unlikely(!var9
)) {
6750 PRINT_ERROR("Runtime error: %s", "Assert failed");
6751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6553);
6754 var_pexprnode3
= var_nodearraylist3
;
6755 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6756 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
6757 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
6758 if(var_pexprnode3
== NULL
) {
6761 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
6764 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
6767 if (unlikely(!var10
)) {
6768 PRINT_ERROR("Runtime error: %s", "Assert failed");
6769 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6555);
6772 var_pexprnode4
= var_nodearraylist6
;
6773 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
6774 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
6775 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
6776 if(var_pexprnode4
== NULL
) {
6779 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
6782 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
6785 if (unlikely(!var13
)) {
6786 PRINT_ERROR("Runtime error: %s", "Assert failed");
6787 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6557);
6790 var_pexprnode5
= var_nodearraylist8
;
6791 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
6792 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
6793 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
6794 if(var_pexprnode5
== NULL
) {
6797 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
6800 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
6803 if (unlikely(!var16
)) {
6804 PRINT_ERROR("Runtime error: %s", "Assert failed");
6805 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6559);
6808 var19
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
6810 parser_prod__AIfExpr__init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
6812 var_pexprnode1
= var19
;
6813 var_node_list
= var_pexprnode1
;
6814 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction225> */
6816 var21
= parser_work__Parser__go_to(var_p
, var20
);
6819 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6823 /* method parser#ReduceAction225#action for (self: Object, Parser) */
6824 void VIRTUAL_parser__ReduceAction225__action(val
* self
, val
* p0
) {
6825 parser__ReduceAction225__action(self
, p0
); /* Direct call parser#ReduceAction225#action on <self:Object(ReduceAction225)>*/
6828 /* method parser#ReduceAction226#action for (self: ReduceAction226, Parser) */
6829 void parser__ReduceAction226__action(val
* self
, val
* p0
) {
6830 val
* var_p
/* var p: Parser */;
6831 val
* var
/* : null */;
6832 val
* var_node_list
/* var node_list: nullable Object */;
6833 val
* var1
/* : nullable Object */;
6834 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6835 val
* var2
/* : nullable Object */;
6836 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6837 val
* var3
/* : nullable Object */;
6838 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6839 val
* var4
/* : nullable Object */;
6840 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6841 val
* var5
/* : nullable Object */;
6842 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6843 val
* var6
/* : nullable Object */;
6844 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6845 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
6846 short int var7
/* : Bool */;
6849 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6850 short int var8
/* : Bool */;
6853 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
6854 short int var11
/* : Bool */;
6857 val
* var14
/* : AIfExpr */;
6858 val
* var15
/* : null */;
6859 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
6860 long var16
/* : Int */;
6861 long var17
/* : Int */;
6864 var_node_list
= var
;
6866 var1
= parser_work__Parser__pop(var_p
);
6868 var_nodearraylist6
= var1
;
6870 var2
= parser_work__Parser__pop(var_p
);
6872 var_nodearraylist5
= var2
;
6874 var3
= parser_work__Parser__pop(var_p
);
6876 var_nodearraylist4
= var3
;
6878 var4
= parser_work__Parser__pop(var_p
);
6880 var_nodearraylist3
= var4
;
6882 var5
= parser_work__Parser__pop(var_p
);
6884 var_nodearraylist2
= var5
;
6886 var6
= parser_work__Parser__pop(var_p
);
6888 var_nodearraylist1
= var6
;
6889 var_tkwifnode2
= var_nodearraylist1
;
6890 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
6891 cltype
= type_nullable_parser_nodes__TKwif
.color
;
6892 idtype
= type_nullable_parser_nodes__TKwif
.id
;
6893 if(var_tkwifnode2
== NULL
) {
6896 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
6899 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
6902 if (unlikely(!var7
)) {
6903 PRINT_ERROR("Runtime error: %s", "Assert failed");
6904 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6582);
6907 var_pexprnode3
= var_nodearraylist3
;
6908 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6909 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
6910 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
6911 if(var_pexprnode3
== NULL
) {
6914 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
6917 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
6920 if (unlikely(!var8
)) {
6921 PRINT_ERROR("Runtime error: %s", "Assert failed");
6922 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6584);
6925 var_pexprnode4
= var_nodearraylist6
;
6926 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
6927 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
6928 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
6929 if(var_pexprnode4
== NULL
) {
6932 if(cltype12
>= var_pexprnode4
->type
->table_size
) {
6935 var11
= var_pexprnode4
->type
->type_table
[cltype12
] == idtype13
;
6938 if (unlikely(!var11
)) {
6939 PRINT_ERROR("Runtime error: %s", "Assert failed");
6940 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6586);
6943 var14
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
6946 parser_prod__AIfExpr__init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var15
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
6948 var_pexprnode1
= var14
;
6949 var_node_list
= var_pexprnode1
;
6950 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction226> */
6952 var17
= parser_work__Parser__go_to(var_p
, var16
);
6955 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6959 /* method parser#ReduceAction226#action for (self: Object, Parser) */
6960 void VIRTUAL_parser__ReduceAction226__action(val
* self
, val
* p0
) {
6961 parser__ReduceAction226__action(self
, p0
); /* Direct call parser#ReduceAction226#action on <self:Object(ReduceAction226)>*/
6964 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
6965 void parser__ReduceAction227__action(val
* self
, val
* p0
) {
6966 val
* var_p
/* var p: Parser */;
6967 val
* var
/* : null */;
6968 val
* var_node_list
/* var node_list: nullable Object */;
6969 val
* var1
/* : nullable Object */;
6970 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6971 val
* var2
/* : nullable Object */;
6972 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6973 val
* var3
/* : nullable Object */;
6974 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6975 val
* var4
/* : nullable Object */;
6976 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6977 val
* var5
/* : nullable Object */;
6978 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6979 val
* var6
/* : nullable Object */;
6980 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6981 val
* var7
/* : nullable Object */;
6982 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6983 val
* var8
/* : nullable Object */;
6984 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6985 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
6986 short int var9
/* : Bool */;
6989 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6990 short int var10
/* : Bool */;
6993 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
6994 short int var13
/* : Bool */;
6997 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
6998 short int var16
/* : Bool */;
7001 val
* var19
/* : AIfExpr */;
7002 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7003 long var20
/* : Int */;
7004 long var21
/* : Int */;
7007 var_node_list
= var
;
7009 var1
= parser_work__Parser__pop(var_p
);
7011 var_nodearraylist8
= var1
;
7013 var2
= parser_work__Parser__pop(var_p
);
7015 var_nodearraylist7
= var2
;
7017 var3
= parser_work__Parser__pop(var_p
);
7019 var_nodearraylist6
= var3
;
7021 var4
= parser_work__Parser__pop(var_p
);
7023 var_nodearraylist5
= var4
;
7025 var5
= parser_work__Parser__pop(var_p
);
7027 var_nodearraylist4
= var5
;
7029 var6
= parser_work__Parser__pop(var_p
);
7031 var_nodearraylist3
= var6
;
7033 var7
= parser_work__Parser__pop(var_p
);
7035 var_nodearraylist2
= var7
;
7037 var8
= parser_work__Parser__pop(var_p
);
7039 var_nodearraylist1
= var8
;
7040 var_tkwifnode2
= var_nodearraylist1
;
7041 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7042 cltype
= type_nullable_parser_nodes__TKwif
.color
;
7043 idtype
= type_nullable_parser_nodes__TKwif
.id
;
7044 if(var_tkwifnode2
== NULL
) {
7047 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
7050 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
7053 if (unlikely(!var9
)) {
7054 PRINT_ERROR("Runtime error: %s", "Assert failed");
7055 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6611);
7058 var_pexprnode3
= var_nodearraylist3
;
7059 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7060 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
7061 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
7062 if(var_pexprnode3
== NULL
) {
7065 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
7068 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
7071 if (unlikely(!var10
)) {
7072 PRINT_ERROR("Runtime error: %s", "Assert failed");
7073 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6613);
7076 var_pexprnode4
= var_nodearraylist7
;
7077 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
7078 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
7079 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
7080 if(var_pexprnode4
== NULL
) {
7083 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
7086 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
7089 if (unlikely(!var13
)) {
7090 PRINT_ERROR("Runtime error: %s", "Assert failed");
7091 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6615);
7094 var_pexprnode5
= var_nodearraylist8
;
7095 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7096 cltype17
= type_nullable_parser_nodes__AExpr
.color
;
7097 idtype18
= type_nullable_parser_nodes__AExpr
.id
;
7098 if(var_pexprnode5
== NULL
) {
7101 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
7104 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
7107 if (unlikely(!var16
)) {
7108 PRINT_ERROR("Runtime error: %s", "Assert failed");
7109 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6617);
7112 var19
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
7114 parser_prod__AIfExpr__init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
7116 var_pexprnode1
= var19
;
7117 var_node_list
= var_pexprnode1
;
7118 var20
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction227> */
7120 var21
= parser_work__Parser__go_to(var_p
, var20
);
7123 parser_work__Parser__push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7127 /* method parser#ReduceAction227#action for (self: Object, Parser) */
7128 void VIRTUAL_parser__ReduceAction227__action(val
* self
, val
* p0
) {
7129 parser__ReduceAction227__action(self
, p0
); /* Direct call parser#ReduceAction227#action on <self:Object(ReduceAction227)>*/
7132 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
7133 void parser__ReduceAction228__action(val
* self
, val
* p0
) {
7134 val
* var_p
/* var p: Parser */;
7135 val
* var
/* : null */;
7136 val
* var_node_list
/* var node_list: nullable Object */;
7137 val
* var1
/* : nullable Object */;
7138 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7139 val
* var2
/* : nullable Object */;
7140 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7141 val
* var3
/* : nullable Object */;
7142 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7143 val
* var4
/* : nullable Object */;
7144 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7145 val
* var5
/* : nullable Object */;
7146 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7147 val
* var6
/* : nullable Object */;
7148 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7149 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
7150 short int var7
/* : Bool */;
7153 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7154 short int var8
/* : Bool */;
7157 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7158 short int var11
/* : Bool */;
7161 val
* var14
/* : AIfExpr */;
7162 val
* var15
/* : null */;
7163 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7164 long var16
/* : Int */;
7165 long var17
/* : Int */;
7168 var_node_list
= var
;
7170 var1
= parser_work__Parser__pop(var_p
);
7172 var_nodearraylist6
= var1
;
7174 var2
= parser_work__Parser__pop(var_p
);
7176 var_nodearraylist5
= var2
;
7178 var3
= parser_work__Parser__pop(var_p
);
7180 var_nodearraylist4
= var3
;
7182 var4
= parser_work__Parser__pop(var_p
);
7184 var_nodearraylist3
= var4
;
7186 var5
= parser_work__Parser__pop(var_p
);
7188 var_nodearraylist2
= var5
;
7190 var6
= parser_work__Parser__pop(var_p
);
7192 var_nodearraylist1
= var6
;
7193 var_tkwifnode2
= var_nodearraylist1
;
7194 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7195 cltype
= type_nullable_parser_nodes__TKwif
.color
;
7196 idtype
= type_nullable_parser_nodes__TKwif
.id
;
7197 if(var_tkwifnode2
== NULL
) {
7200 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
7203 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
7206 if (unlikely(!var7
)) {
7207 PRINT_ERROR("Runtime error: %s", "Assert failed");
7208 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6640);
7211 var_pexprnode3
= var_nodearraylist3
;
7212 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7213 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
7214 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
7215 if(var_pexprnode3
== NULL
) {
7218 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
7221 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
7224 if (unlikely(!var8
)) {
7225 PRINT_ERROR("Runtime error: %s", "Assert failed");
7226 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6642);
7229 var_pexprnode5
= var_nodearraylist6
;
7230 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7231 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
7232 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
7233 if(var_pexprnode5
== NULL
) {
7236 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
7239 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
7242 if (unlikely(!var11
)) {
7243 PRINT_ERROR("Runtime error: %s", "Assert failed");
7244 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6644);
7247 var14
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
7250 parser_prod__AIfExpr__init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var15
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
7252 var_pexprnode1
= var14
;
7253 var_node_list
= var_pexprnode1
;
7254 var16
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction228> */
7256 var17
= parser_work__Parser__go_to(var_p
, var16
);
7259 parser_work__Parser__push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7263 /* method parser#ReduceAction228#action for (self: Object, Parser) */
7264 void VIRTUAL_parser__ReduceAction228__action(val
* self
, val
* p0
) {
7265 parser__ReduceAction228__action(self
, p0
); /* Direct call parser#ReduceAction228#action on <self:Object(ReduceAction228)>*/
7268 /* method parser#ReduceAction229#action for (self: ReduceAction229, Parser) */
7269 void parser__ReduceAction229__action(val
* self
, val
* p0
) {
7270 val
* var_p
/* var p: Parser */;
7271 val
* var
/* : null */;
7272 val
* var_node_list
/* var node_list: nullable Object */;
7273 val
* var1
/* : nullable Object */;
7274 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7275 val
* var2
/* : nullable Object */;
7276 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7277 val
* var3
/* : nullable Object */;
7278 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7279 val
* var4
/* : nullable Object */;
7280 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7281 val
* var5
/* : nullable Object */;
7282 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7283 val
* var6
/* : nullable Object */;
7284 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7285 val
* var7
/* : nullable Object */;
7286 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7287 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
7288 short int var8
/* : Bool */;
7291 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7292 short int var9
/* : Bool */;
7295 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7296 short int var12
/* : Bool */;
7299 val
* var15
/* : AIfExpr */;
7300 val
* var16
/* : null */;
7301 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7302 long var17
/* : Int */;
7303 long var18
/* : Int */;
7306 var_node_list
= var
;
7308 var1
= parser_work__Parser__pop(var_p
);
7310 var_nodearraylist7
= var1
;
7312 var2
= parser_work__Parser__pop(var_p
);
7314 var_nodearraylist6
= var2
;
7316 var3
= parser_work__Parser__pop(var_p
);
7318 var_nodearraylist5
= var3
;
7320 var4
= parser_work__Parser__pop(var_p
);
7322 var_nodearraylist4
= var4
;
7324 var5
= parser_work__Parser__pop(var_p
);
7326 var_nodearraylist3
= var5
;
7328 var6
= parser_work__Parser__pop(var_p
);
7330 var_nodearraylist2
= var6
;
7332 var7
= parser_work__Parser__pop(var_p
);
7334 var_nodearraylist1
= var7
;
7335 var_tkwifnode2
= var_nodearraylist1
;
7336 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7337 cltype
= type_nullable_parser_nodes__TKwif
.color
;
7338 idtype
= type_nullable_parser_nodes__TKwif
.id
;
7339 if(var_tkwifnode2
== NULL
) {
7342 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
7345 var8
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
7348 if (unlikely(!var8
)) {
7349 PRINT_ERROR("Runtime error: %s", "Assert failed");
7350 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6668);
7353 var_pexprnode3
= var_nodearraylist3
;
7354 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7355 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
7356 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
7357 if(var_pexprnode3
== NULL
) {
7360 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
7363 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
7366 if (unlikely(!var9
)) {
7367 PRINT_ERROR("Runtime error: %s", "Assert failed");
7368 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6670);
7371 var_pexprnode5
= var_nodearraylist7
;
7372 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7373 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
7374 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
7375 if(var_pexprnode5
== NULL
) {
7378 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
7381 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
7384 if (unlikely(!var12
)) {
7385 PRINT_ERROR("Runtime error: %s", "Assert failed");
7386 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6672);
7389 var15
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
7392 parser_prod__AIfExpr__init_aifexpr(var15
, var_tkwifnode2
, var_pexprnode3
, var16
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var15:AIfExpr>*/
7394 var_pexprnode1
= var15
;
7395 var_node_list
= var_pexprnode1
;
7396 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction229> */
7398 var18
= parser_work__Parser__go_to(var_p
, var17
);
7401 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7405 /* method parser#ReduceAction229#action for (self: Object, Parser) */
7406 void VIRTUAL_parser__ReduceAction229__action(val
* self
, val
* p0
) {
7407 parser__ReduceAction229__action(self
, p0
); /* Direct call parser#ReduceAction229#action on <self:Object(ReduceAction229)>*/
7410 /* method parser#ReduceAction232#action for (self: ReduceAction232, Parser) */
7411 void parser__ReduceAction232__action(val
* self
, val
* p0
) {
7412 val
* var_p
/* var p: Parser */;
7413 val
* var
/* : null */;
7414 val
* var_node_list
/* var node_list: nullable Object */;
7415 val
* var1
/* : nullable Object */;
7416 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7417 val
* var2
/* : nullable Object */;
7418 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7419 val
* var3
/* : nullable Object */;
7420 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7421 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
7422 short int var4
/* : Bool */;
7425 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7426 short int var5
/* : Bool */;
7429 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
7430 short int var8
/* : Bool */;
7433 val
* var11
/* : ALoopExpr */;
7434 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
7435 long var12
/* : Int */;
7436 long var13
/* : Int */;
7439 var_node_list
= var
;
7441 var1
= parser_work__Parser__pop(var_p
);
7443 var_nodearraylist3
= var1
;
7445 var2
= parser_work__Parser__pop(var_p
);
7447 var_nodearraylist2
= var2
;
7449 var3
= parser_work__Parser__pop(var_p
);
7451 var_nodearraylist1
= var3
;
7452 var_tkwloopnode2
= var_nodearraylist1
;
7453 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
7454 cltype
= type_nullable_parser_nodes__TKwloop
.color
;
7455 idtype
= type_nullable_parser_nodes__TKwloop
.id
;
7456 if(var_tkwloopnode2
== NULL
) {
7459 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
7462 var4
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
7465 if (unlikely(!var4
)) {
7466 PRINT_ERROR("Runtime error: %s", "Assert failed");
7467 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6692);
7470 var_pexprnode3
= var_nodearraylist2
;
7471 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7472 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
7473 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
7474 if(var_pexprnode3
== NULL
) {
7477 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
7480 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
7483 if (unlikely(!var5
)) {
7484 PRINT_ERROR("Runtime error: %s", "Assert failed");
7485 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6694);
7488 var_plabelnode4
= var_nodearraylist3
;
7489 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
7490 cltype9
= type_nullable_parser_nodes__ALabel
.color
;
7491 idtype10
= type_nullable_parser_nodes__ALabel
.id
;
7492 if(var_plabelnode4
== NULL
) {
7495 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
7498 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
7501 if (unlikely(!var8
)) {
7502 PRINT_ERROR("Runtime error: %s", "Assert failed");
7503 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6696);
7506 var11
= NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr
);
7508 parser_prod__ALoopExpr__init_aloopexpr(var11
, var_tkwloopnode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var11:ALoopExpr>*/
7510 var_pexprnode1
= var11
;
7511 var_node_list
= var_pexprnode1
;
7512 var12
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction232> */
7514 var13
= parser_work__Parser__go_to(var_p
, var12
);
7517 parser_work__Parser__push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7521 /* method parser#ReduceAction232#action for (self: Object, Parser) */
7522 void VIRTUAL_parser__ReduceAction232__action(val
* self
, val
* p0
) {
7523 parser__ReduceAction232__action(self
, p0
); /* Direct call parser#ReduceAction232#action on <self:Object(ReduceAction232)>*/
7526 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
7527 void parser__ReduceAction233__action(val
* self
, val
* p0
) {
7528 val
* var_p
/* var p: Parser */;
7529 val
* var
/* : null */;
7530 val
* var_node_list
/* var node_list: nullable Object */;
7531 val
* var1
/* : nullable Object */;
7532 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7533 val
* var2
/* : nullable Object */;
7534 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7535 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
7536 short int var3
/* : Bool */;
7539 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7540 short int var4
/* : Bool */;
7543 val
* var7
/* : ALoopExpr */;
7544 val
* var8
/* : null */;
7545 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
7546 long var9
/* : Int */;
7547 long var10
/* : Int */;
7550 var_node_list
= var
;
7552 var1
= parser_work__Parser__pop(var_p
);
7554 var_nodearraylist2
= var1
;
7556 var2
= parser_work__Parser__pop(var_p
);
7558 var_nodearraylist1
= var2
;
7559 var_tkwloopnode2
= var_nodearraylist1
;
7560 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
7561 cltype
= type_nullable_parser_nodes__TKwloop
.color
;
7562 idtype
= type_nullable_parser_nodes__TKwloop
.id
;
7563 if(var_tkwloopnode2
== NULL
) {
7566 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
7569 var3
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
7572 if (unlikely(!var3
)) {
7573 PRINT_ERROR("Runtime error: %s", "Assert failed");
7574 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6714);
7577 var_pexprnode3
= var_nodearraylist2
;
7578 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7579 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
7580 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
7581 if(var_pexprnode3
== NULL
) {
7584 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
7587 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
7590 if (unlikely(!var4
)) {
7591 PRINT_ERROR("Runtime error: %s", "Assert failed");
7592 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6716);
7595 var7
= NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr
);
7598 parser_prod__ALoopExpr__init_aloopexpr(var7
, var_tkwloopnode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var7:ALoopExpr>*/
7600 var_pexprnode1
= var7
;
7601 var_node_list
= var_pexprnode1
;
7602 var9
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction233> */
7604 var10
= parser_work__Parser__go_to(var_p
, var9
);
7607 parser_work__Parser__push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7611 /* method parser#ReduceAction233#action for (self: Object, Parser) */
7612 void VIRTUAL_parser__ReduceAction233__action(val
* self
, val
* p0
) {
7613 parser__ReduceAction233__action(self
, p0
); /* Direct call parser#ReduceAction233#action on <self:Object(ReduceAction233)>*/
7616 /* method parser#ReduceAction234#action for (self: ReduceAction234, Parser) */
7617 void parser__ReduceAction234__action(val
* self
, val
* p0
) {
7618 val
* var_p
/* var p: Parser */;
7619 val
* var
/* : null */;
7620 val
* var_node_list
/* var node_list: nullable Object */;
7621 val
* var1
/* : nullable Object */;
7622 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7623 val
* var2
/* : nullable Object */;
7624 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7625 val
* var3
/* : nullable Object */;
7626 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7627 val
* var4
/* : nullable Object */;
7628 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7629 val
* var5
/* : nullable Object */;
7630 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7631 val
* var6
/* : nullable Object */;
7632 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7633 val
* var7
/* : nullable Object */;
7634 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7635 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
7636 short int var8
/* : Bool */;
7639 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7640 short int var9
/* : Bool */;
7643 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
7644 short int var12
/* : Bool */;
7647 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7648 short int var15
/* : Bool */;
7651 val
* var_plabelnode6
/* var plabelnode6: nullable Object */;
7652 short int var18
/* : Bool */;
7655 val
* var21
/* : AWhileExpr */;
7656 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
7657 long var22
/* : Int */;
7658 long var23
/* : Int */;
7661 var_node_list
= var
;
7663 var1
= parser_work__Parser__pop(var_p
);
7665 var_nodearraylist7
= var1
;
7667 var2
= parser_work__Parser__pop(var_p
);
7669 var_nodearraylist6
= var2
;
7671 var3
= parser_work__Parser__pop(var_p
);
7673 var_nodearraylist5
= var3
;
7675 var4
= parser_work__Parser__pop(var_p
);
7677 var_nodearraylist4
= var4
;
7679 var5
= parser_work__Parser__pop(var_p
);
7681 var_nodearraylist3
= var5
;
7683 var6
= parser_work__Parser__pop(var_p
);
7685 var_nodearraylist2
= var6
;
7687 var7
= parser_work__Parser__pop(var_p
);
7689 var_nodearraylist1
= var7
;
7690 var_tkwwhilenode2
= var_nodearraylist1
;
7691 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
7692 cltype
= type_nullable_parser_nodes__TKwwhile
.color
;
7693 idtype
= type_nullable_parser_nodes__TKwwhile
.id
;
7694 if(var_tkwwhilenode2
== NULL
) {
7697 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
7700 var8
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
7703 if (unlikely(!var8
)) {
7704 PRINT_ERROR("Runtime error: %s", "Assert failed");
7705 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6739);
7708 var_pexprnode3
= var_nodearraylist3
;
7709 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7710 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
7711 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
7712 if(var_pexprnode3
== NULL
) {
7715 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
7718 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
7721 if (unlikely(!var9
)) {
7722 PRINT_ERROR("Runtime error: %s", "Assert failed");
7723 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6741);
7726 var_tkwdonode4
= var_nodearraylist5
;
7727 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
7728 cltype13
= type_nullable_parser_nodes__TKwdo
.color
;
7729 idtype14
= type_nullable_parser_nodes__TKwdo
.id
;
7730 if(var_tkwdonode4
== NULL
) {
7733 if(cltype13
>= var_tkwdonode4
->type
->table_size
) {
7736 var12
= var_tkwdonode4
->type
->type_table
[cltype13
] == idtype14
;
7739 if (unlikely(!var12
)) {
7740 PRINT_ERROR("Runtime error: %s", "Assert failed");
7741 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6743);
7744 var_pexprnode5
= var_nodearraylist6
;
7745 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7746 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
7747 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
7748 if(var_pexprnode5
== NULL
) {
7751 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
7754 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
7757 if (unlikely(!var15
)) {
7758 PRINT_ERROR("Runtime error: %s", "Assert failed");
7759 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6745);
7762 var_plabelnode6
= var_nodearraylist7
;
7763 /* <var_plabelnode6:nullable Object> isa nullable ALabel */
7764 cltype19
= type_nullable_parser_nodes__ALabel
.color
;
7765 idtype20
= type_nullable_parser_nodes__ALabel
.id
;
7766 if(var_plabelnode6
== NULL
) {
7769 if(cltype19
>= var_plabelnode6
->type
->table_size
) {
7772 var18
= var_plabelnode6
->type
->type_table
[cltype19
] == idtype20
;
7775 if (unlikely(!var18
)) {
7776 PRINT_ERROR("Runtime error: %s", "Assert failed");
7777 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6747);
7780 var21
= NEW_parser_nodes__AWhileExpr(&type_parser_nodes__AWhileExpr
);
7782 parser_prod__AWhileExpr__init_awhileexpr(var21
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var_plabelnode6
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var21:AWhileExpr>*/
7784 var_pexprnode1
= var21
;
7785 var_node_list
= var_pexprnode1
;
7786 var22
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction234> */
7788 var23
= parser_work__Parser__go_to(var_p
, var22
);
7791 parser_work__Parser__push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7795 /* method parser#ReduceAction234#action for (self: Object, Parser) */
7796 void VIRTUAL_parser__ReduceAction234__action(val
* self
, val
* p0
) {
7797 parser__ReduceAction234__action(self
, p0
); /* Direct call parser#ReduceAction234#action on <self:Object(ReduceAction234)>*/
7800 /* method parser#ReduceAction235#action for (self: ReduceAction235, Parser) */
7801 void parser__ReduceAction235__action(val
* self
, val
* p0
) {
7802 val
* var_p
/* var p: Parser */;
7803 val
* var
/* : null */;
7804 val
* var_node_list
/* var node_list: nullable Object */;
7805 val
* var1
/* : nullable Object */;
7806 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7807 val
* var2
/* : nullable Object */;
7808 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7809 val
* var3
/* : nullable Object */;
7810 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7811 val
* var4
/* : nullable Object */;
7812 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7813 val
* var5
/* : nullable Object */;
7814 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7815 val
* var6
/* : nullable Object */;
7816 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7817 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
7818 short int var7
/* : Bool */;
7821 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7822 short int var8
/* : Bool */;
7825 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
7826 short int var11
/* : Bool */;
7829 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7830 short int var14
/* : Bool */;
7833 val
* var17
/* : AWhileExpr */;
7834 val
* var18
/* : null */;
7835 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
7836 long var19
/* : Int */;
7837 long var20
/* : Int */;
7840 var_node_list
= var
;
7842 var1
= parser_work__Parser__pop(var_p
);
7844 var_nodearraylist6
= var1
;
7846 var2
= parser_work__Parser__pop(var_p
);
7848 var_nodearraylist5
= var2
;
7850 var3
= parser_work__Parser__pop(var_p
);
7852 var_nodearraylist4
= var3
;
7854 var4
= parser_work__Parser__pop(var_p
);
7856 var_nodearraylist3
= var4
;
7858 var5
= parser_work__Parser__pop(var_p
);
7860 var_nodearraylist2
= var5
;
7862 var6
= parser_work__Parser__pop(var_p
);
7864 var_nodearraylist1
= var6
;
7865 var_tkwwhilenode2
= var_nodearraylist1
;
7866 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
7867 cltype
= type_nullable_parser_nodes__TKwwhile
.color
;
7868 idtype
= type_nullable_parser_nodes__TKwwhile
.id
;
7869 if(var_tkwwhilenode2
== NULL
) {
7872 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
7875 var7
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
7878 if (unlikely(!var7
)) {
7879 PRINT_ERROR("Runtime error: %s", "Assert failed");
7880 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6771);
7883 var_pexprnode3
= var_nodearraylist3
;
7884 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7885 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
7886 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
7887 if(var_pexprnode3
== NULL
) {
7890 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
7893 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
7896 if (unlikely(!var8
)) {
7897 PRINT_ERROR("Runtime error: %s", "Assert failed");
7898 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6773);
7901 var_tkwdonode4
= var_nodearraylist5
;
7902 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
7903 cltype12
= type_nullable_parser_nodes__TKwdo
.color
;
7904 idtype13
= type_nullable_parser_nodes__TKwdo
.id
;
7905 if(var_tkwdonode4
== NULL
) {
7908 if(cltype12
>= var_tkwdonode4
->type
->table_size
) {
7911 var11
= var_tkwdonode4
->type
->type_table
[cltype12
] == idtype13
;
7914 if (unlikely(!var11
)) {
7915 PRINT_ERROR("Runtime error: %s", "Assert failed");
7916 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6775);
7919 var_pexprnode5
= var_nodearraylist6
;
7920 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7921 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
7922 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
7923 if(var_pexprnode5
== NULL
) {
7926 if(cltype15
>= var_pexprnode5
->type
->table_size
) {
7929 var14
= var_pexprnode5
->type
->type_table
[cltype15
] == idtype16
;
7932 if (unlikely(!var14
)) {
7933 PRINT_ERROR("Runtime error: %s", "Assert failed");
7934 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6777);
7937 var17
= NEW_parser_nodes__AWhileExpr(&type_parser_nodes__AWhileExpr
);
7940 parser_prod__AWhileExpr__init_awhileexpr(var17
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var18
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var17:AWhileExpr>*/
7942 var_pexprnode1
= var17
;
7943 var_node_list
= var_pexprnode1
;
7944 var19
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction235> */
7946 var20
= parser_work__Parser__go_to(var_p
, var19
);
7949 parser_work__Parser__push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7953 /* method parser#ReduceAction235#action for (self: Object, Parser) */
7954 void VIRTUAL_parser__ReduceAction235__action(val
* self
, val
* p0
) {
7955 parser__ReduceAction235__action(self
, p0
); /* Direct call parser#ReduceAction235#action on <self:Object(ReduceAction235)>*/
7958 /* method parser#ReduceAction236#action for (self: ReduceAction236, Parser) */
7959 void parser__ReduceAction236__action(val
* self
, val
* p0
) {
7960 val
* var_p
/* var p: Parser */;
7961 val
* var
/* : null */;
7962 val
* var_node_list
/* var node_list: nullable Object */;
7963 val
* var1
/* : nullable Object */;
7964 val
* var_nodearraylist15
/* var nodearraylist15: nullable Object */;
7965 val
* var2
/* : nullable Object */;
7966 val
* var_nodearraylist14
/* var nodearraylist14: nullable Object */;
7967 val
* var3
/* : nullable Object */;
7968 val
* var_nodearraylist13
/* var nodearraylist13: nullable Object */;
7969 val
* var4
/* : nullable Object */;
7970 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
7971 val
* var5
/* : nullable Object */;
7972 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
7973 val
* var6
/* : nullable Object */;
7974 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7975 val
* var7
/* : nullable Object */;
7976 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7977 val
* var8
/* : nullable Object */;
7978 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7979 val
* var9
/* : nullable Object */;
7980 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7981 val
* var10
/* : nullable Object */;
7982 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7983 val
* var11
/* : nullable Object */;
7984 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7985 val
* var12
/* : nullable Object */;
7986 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7987 val
* var13
/* : nullable Object */;
7988 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7989 val
* var14
/* : nullable Object */;
7990 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7991 val
* var15
/* : nullable Object */;
7992 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7993 val
* var16
/* : Array[Object] */;
7994 val
* var_listnode4
/* var listnode4: Array[Object] */;
7995 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
7996 short int var17
/* : Bool */;
7999 val
* var_listnode3
/* var listnode3: nullable Object */;
8000 short int var18
/* : Bool */;
8003 val
* var21
/* : Array[Object] */;
8004 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8005 short int var22
/* : Bool */;
8008 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
8009 short int var25
/* : Bool */;
8012 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8013 short int var28
/* : Bool */;
8016 val
* var_plabelnode8
/* var plabelnode8: nullable Object */;
8017 short int var31
/* : Bool */;
8020 val
* var34
/* : AForExpr */;
8021 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
8022 long var35
/* : Int */;
8023 long var36
/* : Int */;
8026 var_node_list
= var
;
8028 var1
= parser_work__Parser__pop(var_p
);
8030 var_nodearraylist15
= var1
;
8032 var2
= parser_work__Parser__pop(var_p
);
8034 var_nodearraylist14
= var2
;
8036 var3
= parser_work__Parser__pop(var_p
);
8038 var_nodearraylist13
= var3
;
8040 var4
= parser_work__Parser__pop(var_p
);
8042 var_nodearraylist12
= var4
;
8044 var5
= parser_work__Parser__pop(var_p
);
8046 var_nodearraylist11
= var5
;
8048 var6
= parser_work__Parser__pop(var_p
);
8050 var_nodearraylist10
= var6
;
8052 var7
= parser_work__Parser__pop(var_p
);
8054 var_nodearraylist9
= var7
;
8056 var8
= parser_work__Parser__pop(var_p
);
8058 var_nodearraylist8
= var8
;
8060 var9
= parser_work__Parser__pop(var_p
);
8062 var_nodearraylist7
= var9
;
8064 var10
= parser_work__Parser__pop(var_p
);
8066 var_nodearraylist6
= var10
;
8068 var11
= parser_work__Parser__pop(var_p
);
8070 var_nodearraylist5
= var11
;
8072 var12
= parser_work__Parser__pop(var_p
);
8074 var_nodearraylist4
= var12
;
8076 var13
= parser_work__Parser__pop(var_p
);
8078 var_nodearraylist3
= var13
;
8080 var14
= parser_work__Parser__pop(var_p
);
8082 var_nodearraylist2
= var14
;
8084 var15
= parser_work__Parser__pop(var_p
);
8086 var_nodearraylist1
= var15
;
8087 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
8089 array__Array__init(var16
); /* Direct call array#Array#init on <var16:Array[Object]>*/
8091 var_listnode4
= var16
;
8092 var_tkwfornode2
= var_nodearraylist1
;
8093 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
8094 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
8095 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
8096 if(var_tkwfornode2
== NULL
) {
8099 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
8102 var17
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
8105 if (unlikely(!var17
)) {
8106 PRINT_ERROR("Runtime error: %s", "Assert failed");
8107 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6811);
8110 var_listnode3
= var_nodearraylist5
;
8111 /* <var_listnode3:nullable Object> isa Array[Object] */
8112 cltype19
= type_array__Arraykernel__Object
.color
;
8113 idtype20
= type_array__Arraykernel__Object
.id
;
8114 if(var_listnode3
== NULL
) {
8117 if(cltype19
>= var_listnode3
->type
->table_size
) {
8120 var18
= var_listnode3
->type
->type_table
[cltype19
] == idtype20
;
8123 if (unlikely(!var18
)) {
8124 PRINT_ERROR("Runtime error: %s", "Assert failed");
8125 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6813);
8129 var21
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
8131 var_listnode4
= var21
;
8132 var_pexprnode5
= var_nodearraylist11
;
8133 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8134 cltype23
= type_nullable_parser_nodes__AExpr
.color
;
8135 idtype24
= type_nullable_parser_nodes__AExpr
.id
;
8136 if(var_pexprnode5
== NULL
) {
8139 if(cltype23
>= var_pexprnode5
->type
->table_size
) {
8142 var22
= var_pexprnode5
->type
->type_table
[cltype23
] == idtype24
;
8145 if (unlikely(!var22
)) {
8146 PRINT_ERROR("Runtime error: %s", "Assert failed");
8147 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6816);
8150 var_tkwdonode6
= var_nodearraylist13
;
8151 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
8152 cltype26
= type_nullable_parser_nodes__TKwdo
.color
;
8153 idtype27
= type_nullable_parser_nodes__TKwdo
.id
;
8154 if(var_tkwdonode6
== NULL
) {
8157 if(cltype26
>= var_tkwdonode6
->type
->table_size
) {
8160 var25
= var_tkwdonode6
->type
->type_table
[cltype26
] == idtype27
;
8163 if (unlikely(!var25
)) {
8164 PRINT_ERROR("Runtime error: %s", "Assert failed");
8165 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6818);
8168 var_pexprnode7
= var_nodearraylist14
;
8169 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8170 cltype29
= type_nullable_parser_nodes__AExpr
.color
;
8171 idtype30
= type_nullable_parser_nodes__AExpr
.id
;
8172 if(var_pexprnode7
== NULL
) {
8175 if(cltype29
>= var_pexprnode7
->type
->table_size
) {
8178 var28
= var_pexprnode7
->type
->type_table
[cltype29
] == idtype30
;
8181 if (unlikely(!var28
)) {
8182 PRINT_ERROR("Runtime error: %s", "Assert failed");
8183 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6820);
8186 var_plabelnode8
= var_nodearraylist15
;
8187 /* <var_plabelnode8:nullable Object> isa nullable ALabel */
8188 cltype32
= type_nullable_parser_nodes__ALabel
.color
;
8189 idtype33
= type_nullable_parser_nodes__ALabel
.id
;
8190 if(var_plabelnode8
== NULL
) {
8193 if(cltype32
>= var_plabelnode8
->type
->table_size
) {
8196 var31
= var_plabelnode8
->type
->type_table
[cltype32
] == idtype33
;
8199 if (unlikely(!var31
)) {
8200 PRINT_ERROR("Runtime error: %s", "Assert failed");
8201 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6822);
8204 var34
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
8206 parser_prod__AForExpr__init_aforexpr(var34
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var_plabelnode8
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var34:AForExpr>*/
8208 var_pexprnode1
= var34
;
8209 var_node_list
= var_pexprnode1
;
8210 var35
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction236> */
8212 var36
= parser_work__Parser__go_to(var_p
, var35
);
8215 parser_work__Parser__push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8219 /* method parser#ReduceAction236#action for (self: Object, Parser) */
8220 void VIRTUAL_parser__ReduceAction236__action(val
* self
, val
* p0
) {
8221 parser__ReduceAction236__action(self
, p0
); /* Direct call parser#ReduceAction236#action on <self:Object(ReduceAction236)>*/
8224 /* method parser#ReduceAction237#action for (self: ReduceAction237, Parser) */
8225 void parser__ReduceAction237__action(val
* self
, val
* p0
) {
8226 val
* var_p
/* var p: Parser */;
8227 val
* var
/* : null */;
8228 val
* var_node_list
/* var node_list: nullable Object */;
8229 val
* var1
/* : nullable Object */;
8230 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
8231 val
* var2
/* : nullable Object */;
8232 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8233 val
* var3
/* : nullable Object */;
8234 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8235 val
* var4
/* : nullable Object */;
8236 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8237 val
* var5
/* : nullable Object */;
8238 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8239 val
* var6
/* : nullable Object */;
8240 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8241 val
* var7
/* : nullable Object */;
8242 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8243 val
* var8
/* : nullable Object */;
8244 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8245 val
* var9
/* : nullable Object */;
8246 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8247 val
* var10
/* : nullable Object */;
8248 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8249 val
* var11
/* : nullable Object */;
8250 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8251 val
* var12
/* : Array[Object] */;
8252 val
* var_listnode4
/* var listnode4: Array[Object] */;
8253 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
8254 short int var13
/* : Bool */;
8257 val
* var_listnode3
/* var listnode3: nullable Object */;
8258 short int var14
/* : Bool */;
8261 val
* var17
/* : Array[Object] */;
8262 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8263 short int var18
/* : Bool */;
8266 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
8267 short int var21
/* : Bool */;
8270 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8271 short int var24
/* : Bool */;
8274 val
* var_plabelnode8
/* var plabelnode8: nullable Object */;
8275 short int var27
/* : Bool */;
8278 val
* var30
/* : AForExpr */;
8279 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
8280 long var31
/* : Int */;
8281 long var32
/* : Int */;
8284 var_node_list
= var
;
8286 var1
= parser_work__Parser__pop(var_p
);
8288 var_nodearraylist11
= var1
;
8290 var2
= parser_work__Parser__pop(var_p
);
8292 var_nodearraylist10
= var2
;
8294 var3
= parser_work__Parser__pop(var_p
);
8296 var_nodearraylist9
= var3
;
8298 var4
= parser_work__Parser__pop(var_p
);
8300 var_nodearraylist8
= var4
;
8302 var5
= parser_work__Parser__pop(var_p
);
8304 var_nodearraylist7
= var5
;
8306 var6
= parser_work__Parser__pop(var_p
);
8308 var_nodearraylist6
= var6
;
8310 var7
= parser_work__Parser__pop(var_p
);
8312 var_nodearraylist5
= var7
;
8314 var8
= parser_work__Parser__pop(var_p
);
8316 var_nodearraylist4
= var8
;
8318 var9
= parser_work__Parser__pop(var_p
);
8320 var_nodearraylist3
= var9
;
8322 var10
= parser_work__Parser__pop(var_p
);
8324 var_nodearraylist2
= var10
;
8326 var11
= parser_work__Parser__pop(var_p
);
8328 var_nodearraylist1
= var11
;
8329 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
8331 array__Array__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
8333 var_listnode4
= var12
;
8334 var_tkwfornode2
= var_nodearraylist1
;
8335 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
8336 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
8337 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
8338 if(var_tkwfornode2
== NULL
) {
8341 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
8344 var13
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
8347 if (unlikely(!var13
)) {
8348 PRINT_ERROR("Runtime error: %s", "Assert failed");
8349 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6853);
8352 var_listnode3
= var_nodearraylist3
;
8353 /* <var_listnode3:nullable Object> isa Array[Object] */
8354 cltype15
= type_array__Arraykernel__Object
.color
;
8355 idtype16
= type_array__Arraykernel__Object
.id
;
8356 if(var_listnode3
== NULL
) {
8359 if(cltype15
>= var_listnode3
->type
->table_size
) {
8362 var14
= var_listnode3
->type
->type_table
[cltype15
] == idtype16
;
8365 if (unlikely(!var14
)) {
8366 PRINT_ERROR("Runtime error: %s", "Assert failed");
8367 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6855);
8371 var17
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
8373 var_listnode4
= var17
;
8374 var_pexprnode5
= var_nodearraylist7
;
8375 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8376 cltype19
= type_nullable_parser_nodes__AExpr
.color
;
8377 idtype20
= type_nullable_parser_nodes__AExpr
.id
;
8378 if(var_pexprnode5
== NULL
) {
8381 if(cltype19
>= var_pexprnode5
->type
->table_size
) {
8384 var18
= var_pexprnode5
->type
->type_table
[cltype19
] == idtype20
;
8387 if (unlikely(!var18
)) {
8388 PRINT_ERROR("Runtime error: %s", "Assert failed");
8389 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6858);
8392 var_tkwdonode6
= var_nodearraylist9
;
8393 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
8394 cltype22
= type_nullable_parser_nodes__TKwdo
.color
;
8395 idtype23
= type_nullable_parser_nodes__TKwdo
.id
;
8396 if(var_tkwdonode6
== NULL
) {
8399 if(cltype22
>= var_tkwdonode6
->type
->table_size
) {
8402 var21
= var_tkwdonode6
->type
->type_table
[cltype22
] == idtype23
;
8405 if (unlikely(!var21
)) {
8406 PRINT_ERROR("Runtime error: %s", "Assert failed");
8407 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6860);
8410 var_pexprnode7
= var_nodearraylist10
;
8411 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8412 cltype25
= type_nullable_parser_nodes__AExpr
.color
;
8413 idtype26
= type_nullable_parser_nodes__AExpr
.id
;
8414 if(var_pexprnode7
== NULL
) {
8417 if(cltype25
>= var_pexprnode7
->type
->table_size
) {
8420 var24
= var_pexprnode7
->type
->type_table
[cltype25
] == idtype26
;
8423 if (unlikely(!var24
)) {
8424 PRINT_ERROR("Runtime error: %s", "Assert failed");
8425 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6862);
8428 var_plabelnode8
= var_nodearraylist11
;
8429 /* <var_plabelnode8:nullable Object> isa nullable ALabel */
8430 cltype28
= type_nullable_parser_nodes__ALabel
.color
;
8431 idtype29
= type_nullable_parser_nodes__ALabel
.id
;
8432 if(var_plabelnode8
== NULL
) {
8435 if(cltype28
>= var_plabelnode8
->type
->table_size
) {
8438 var27
= var_plabelnode8
->type
->type_table
[cltype28
] == idtype29
;
8441 if (unlikely(!var27
)) {
8442 PRINT_ERROR("Runtime error: %s", "Assert failed");
8443 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6864);
8446 var30
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
8448 parser_prod__AForExpr__init_aforexpr(var30
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var_plabelnode8
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var30:AForExpr>*/
8450 var_pexprnode1
= var30
;
8451 var_node_list
= var_pexprnode1
;
8452 var31
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction237> */
8454 var32
= parser_work__Parser__go_to(var_p
, var31
);
8457 parser_work__Parser__push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8461 /* method parser#ReduceAction237#action for (self: Object, Parser) */
8462 void VIRTUAL_parser__ReduceAction237__action(val
* self
, val
* p0
) {
8463 parser__ReduceAction237__action(self
, p0
); /* Direct call parser#ReduceAction237#action on <self:Object(ReduceAction237)>*/
8466 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
8467 void parser__ReduceAction238__action(val
* self
, val
* p0
) {
8468 val
* var_p
/* var p: Parser */;
8469 val
* var
/* : null */;
8470 val
* var_node_list
/* var node_list: nullable Object */;
8471 val
* var1
/* : nullable Object */;
8472 val
* var_nodearraylist14
/* var nodearraylist14: nullable Object */;
8473 val
* var2
/* : nullable Object */;
8474 val
* var_nodearraylist13
/* var nodearraylist13: nullable Object */;
8475 val
* var3
/* : nullable Object */;
8476 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
8477 val
* var4
/* : nullable Object */;
8478 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
8479 val
* var5
/* : nullable Object */;
8480 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8481 val
* var6
/* : nullable Object */;
8482 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8483 val
* var7
/* : nullable Object */;
8484 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8485 val
* var8
/* : nullable Object */;
8486 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8487 val
* var9
/* : nullable Object */;
8488 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8489 val
* var10
/* : nullable Object */;
8490 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8491 val
* var11
/* : nullable Object */;
8492 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8493 val
* var12
/* : nullable Object */;
8494 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8495 val
* var13
/* : nullable Object */;
8496 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8497 val
* var14
/* : nullable Object */;
8498 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8499 val
* var15
/* : Array[Object] */;
8500 val
* var_listnode4
/* var listnode4: Array[Object] */;
8501 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
8502 short int var16
/* : Bool */;
8505 val
* var_listnode3
/* var listnode3: nullable Object */;
8506 short int var17
/* : Bool */;
8509 val
* var20
/* : Array[Object] */;
8510 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8511 short int var21
/* : Bool */;
8514 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
8515 short int var24
/* : Bool */;
8518 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8519 short int var27
/* : Bool */;
8522 val
* var30
/* : AForExpr */;
8523 val
* var31
/* : null */;
8524 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
8525 long var32
/* : Int */;
8526 long var33
/* : Int */;
8529 var_node_list
= var
;
8531 var1
= parser_work__Parser__pop(var_p
);
8533 var_nodearraylist14
= var1
;
8535 var2
= parser_work__Parser__pop(var_p
);
8537 var_nodearraylist13
= var2
;
8539 var3
= parser_work__Parser__pop(var_p
);
8541 var_nodearraylist12
= var3
;
8543 var4
= parser_work__Parser__pop(var_p
);
8545 var_nodearraylist11
= var4
;
8547 var5
= parser_work__Parser__pop(var_p
);
8549 var_nodearraylist10
= var5
;
8551 var6
= parser_work__Parser__pop(var_p
);
8553 var_nodearraylist9
= var6
;
8555 var7
= parser_work__Parser__pop(var_p
);
8557 var_nodearraylist8
= var7
;
8559 var8
= parser_work__Parser__pop(var_p
);
8561 var_nodearraylist7
= var8
;
8563 var9
= parser_work__Parser__pop(var_p
);
8565 var_nodearraylist6
= var9
;
8567 var10
= parser_work__Parser__pop(var_p
);
8569 var_nodearraylist5
= var10
;
8571 var11
= parser_work__Parser__pop(var_p
);
8573 var_nodearraylist4
= var11
;
8575 var12
= parser_work__Parser__pop(var_p
);
8577 var_nodearraylist3
= var12
;
8579 var13
= parser_work__Parser__pop(var_p
);
8581 var_nodearraylist2
= var13
;
8583 var14
= parser_work__Parser__pop(var_p
);
8585 var_nodearraylist1
= var14
;
8586 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
8588 array__Array__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
8590 var_listnode4
= var15
;
8591 var_tkwfornode2
= var_nodearraylist1
;
8592 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
8593 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
8594 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
8595 if(var_tkwfornode2
== NULL
) {
8598 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
8601 var16
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
8604 if (unlikely(!var16
)) {
8605 PRINT_ERROR("Runtime error: %s", "Assert failed");
8606 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6898);
8609 var_listnode3
= var_nodearraylist5
;
8610 /* <var_listnode3:nullable Object> isa Array[Object] */
8611 cltype18
= type_array__Arraykernel__Object
.color
;
8612 idtype19
= type_array__Arraykernel__Object
.id
;
8613 if(var_listnode3
== NULL
) {
8616 if(cltype18
>= var_listnode3
->type
->table_size
) {
8619 var17
= var_listnode3
->type
->type_table
[cltype18
] == idtype19
;
8622 if (unlikely(!var17
)) {
8623 PRINT_ERROR("Runtime error: %s", "Assert failed");
8624 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6900);
8628 var20
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
8630 var_listnode4
= var20
;
8631 var_pexprnode5
= var_nodearraylist11
;
8632 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8633 cltype22
= type_nullable_parser_nodes__AExpr
.color
;
8634 idtype23
= type_nullable_parser_nodes__AExpr
.id
;
8635 if(var_pexprnode5
== NULL
) {
8638 if(cltype22
>= var_pexprnode5
->type
->table_size
) {
8641 var21
= var_pexprnode5
->type
->type_table
[cltype22
] == idtype23
;
8644 if (unlikely(!var21
)) {
8645 PRINT_ERROR("Runtime error: %s", "Assert failed");
8646 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6903);
8649 var_tkwdonode6
= var_nodearraylist13
;
8650 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
8651 cltype25
= type_nullable_parser_nodes__TKwdo
.color
;
8652 idtype26
= type_nullable_parser_nodes__TKwdo
.id
;
8653 if(var_tkwdonode6
== NULL
) {
8656 if(cltype25
>= var_tkwdonode6
->type
->table_size
) {
8659 var24
= var_tkwdonode6
->type
->type_table
[cltype25
] == idtype26
;
8662 if (unlikely(!var24
)) {
8663 PRINT_ERROR("Runtime error: %s", "Assert failed");
8664 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6905);
8667 var_pexprnode7
= var_nodearraylist14
;
8668 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8669 cltype28
= type_nullable_parser_nodes__AExpr
.color
;
8670 idtype29
= type_nullable_parser_nodes__AExpr
.id
;
8671 if(var_pexprnode7
== NULL
) {
8674 if(cltype28
>= var_pexprnode7
->type
->table_size
) {
8677 var27
= var_pexprnode7
->type
->type_table
[cltype28
] == idtype29
;
8680 if (unlikely(!var27
)) {
8681 PRINT_ERROR("Runtime error: %s", "Assert failed");
8682 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6907);
8685 var30
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
8688 parser_prod__AForExpr__init_aforexpr(var30
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var31
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var30:AForExpr>*/
8690 var_pexprnode1
= var30
;
8691 var_node_list
= var_pexprnode1
;
8692 var32
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction238> */
8694 var33
= parser_work__Parser__go_to(var_p
, var32
);
8697 parser_work__Parser__push(var_p
, var33
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8701 /* method parser#ReduceAction238#action for (self: Object, Parser) */
8702 void VIRTUAL_parser__ReduceAction238__action(val
* self
, val
* p0
) {
8703 parser__ReduceAction238__action(self
, p0
); /* Direct call parser#ReduceAction238#action on <self:Object(ReduceAction238)>*/
8706 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
8707 void parser__ReduceAction239__action(val
* self
, val
* p0
) {
8708 val
* var_p
/* var p: Parser */;
8709 val
* var
/* : null */;
8710 val
* var_node_list
/* var node_list: nullable Object */;
8711 val
* var1
/* : nullable Object */;
8712 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8713 val
* var2
/* : nullable Object */;
8714 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8715 val
* var3
/* : nullable Object */;
8716 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8717 val
* var4
/* : nullable Object */;
8718 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8719 val
* var5
/* : nullable Object */;
8720 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8721 val
* var6
/* : nullable Object */;
8722 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8723 val
* var7
/* : nullable Object */;
8724 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8725 val
* var8
/* : nullable Object */;
8726 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8727 val
* var9
/* : nullable Object */;
8728 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8729 val
* var10
/* : nullable Object */;
8730 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8731 val
* var11
/* : Array[Object] */;
8732 val
* var_listnode4
/* var listnode4: Array[Object] */;
8733 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
8734 short int var12
/* : Bool */;
8737 val
* var_listnode3
/* var listnode3: nullable Object */;
8738 short int var13
/* : Bool */;
8741 val
* var16
/* : Array[Object] */;
8742 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8743 short int var17
/* : Bool */;
8746 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
8747 short int var20
/* : Bool */;
8750 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8751 short int var23
/* : Bool */;
8754 val
* var26
/* : AForExpr */;
8755 val
* var27
/* : null */;
8756 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
8757 long var28
/* : Int */;
8758 long var29
/* : Int */;
8761 var_node_list
= var
;
8763 var1
= parser_work__Parser__pop(var_p
);
8765 var_nodearraylist10
= var1
;
8767 var2
= parser_work__Parser__pop(var_p
);
8769 var_nodearraylist9
= var2
;
8771 var3
= parser_work__Parser__pop(var_p
);
8773 var_nodearraylist8
= var3
;
8775 var4
= parser_work__Parser__pop(var_p
);
8777 var_nodearraylist7
= var4
;
8779 var5
= parser_work__Parser__pop(var_p
);
8781 var_nodearraylist6
= var5
;
8783 var6
= parser_work__Parser__pop(var_p
);
8785 var_nodearraylist5
= var6
;
8787 var7
= parser_work__Parser__pop(var_p
);
8789 var_nodearraylist4
= var7
;
8791 var8
= parser_work__Parser__pop(var_p
);
8793 var_nodearraylist3
= var8
;
8795 var9
= parser_work__Parser__pop(var_p
);
8797 var_nodearraylist2
= var9
;
8799 var10
= parser_work__Parser__pop(var_p
);
8801 var_nodearraylist1
= var10
;
8802 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
8804 array__Array__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
8806 var_listnode4
= var11
;
8807 var_tkwfornode2
= var_nodearraylist1
;
8808 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
8809 cltype
= type_nullable_parser_nodes__TKwfor
.color
;
8810 idtype
= type_nullable_parser_nodes__TKwfor
.id
;
8811 if(var_tkwfornode2
== NULL
) {
8814 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
8817 var12
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
8820 if (unlikely(!var12
)) {
8821 PRINT_ERROR("Runtime error: %s", "Assert failed");
8822 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6937);
8825 var_listnode3
= var_nodearraylist3
;
8826 /* <var_listnode3:nullable Object> isa Array[Object] */
8827 cltype14
= type_array__Arraykernel__Object
.color
;
8828 idtype15
= type_array__Arraykernel__Object
.id
;
8829 if(var_listnode3
== NULL
) {
8832 if(cltype14
>= var_listnode3
->type
->table_size
) {
8835 var13
= var_listnode3
->type
->type_table
[cltype14
] == idtype15
;
8838 if (unlikely(!var13
)) {
8839 PRINT_ERROR("Runtime error: %s", "Assert failed");
8840 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6939);
8844 var16
= parser_work__ReduceAction__concat(self
, var_listnode4
, var_listnode3
);
8846 var_listnode4
= var16
;
8847 var_pexprnode5
= var_nodearraylist7
;
8848 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8849 cltype18
= type_nullable_parser_nodes__AExpr
.color
;
8850 idtype19
= type_nullable_parser_nodes__AExpr
.id
;
8851 if(var_pexprnode5
== NULL
) {
8854 if(cltype18
>= var_pexprnode5
->type
->table_size
) {
8857 var17
= var_pexprnode5
->type
->type_table
[cltype18
] == idtype19
;
8860 if (unlikely(!var17
)) {
8861 PRINT_ERROR("Runtime error: %s", "Assert failed");
8862 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6942);
8865 var_tkwdonode6
= var_nodearraylist9
;
8866 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
8867 cltype21
= type_nullable_parser_nodes__TKwdo
.color
;
8868 idtype22
= type_nullable_parser_nodes__TKwdo
.id
;
8869 if(var_tkwdonode6
== NULL
) {
8872 if(cltype21
>= var_tkwdonode6
->type
->table_size
) {
8875 var20
= var_tkwdonode6
->type
->type_table
[cltype21
] == idtype22
;
8878 if (unlikely(!var20
)) {
8879 PRINT_ERROR("Runtime error: %s", "Assert failed");
8880 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6944);
8883 var_pexprnode7
= var_nodearraylist10
;
8884 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8885 cltype24
= type_nullable_parser_nodes__AExpr
.color
;
8886 idtype25
= type_nullable_parser_nodes__AExpr
.id
;
8887 if(var_pexprnode7
== NULL
) {
8890 if(cltype24
>= var_pexprnode7
->type
->table_size
) {
8893 var23
= var_pexprnode7
->type
->type_table
[cltype24
] == idtype25
;
8896 if (unlikely(!var23
)) {
8897 PRINT_ERROR("Runtime error: %s", "Assert failed");
8898 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6946);
8901 var26
= NEW_parser_nodes__AForExpr(&type_parser_nodes__AForExpr
);
8904 parser_prod__AForExpr__init_aforexpr(var26
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var27
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var26:AForExpr>*/
8906 var_pexprnode1
= var26
;
8907 var_node_list
= var_pexprnode1
;
8908 var28
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction239> */
8910 var29
= parser_work__Parser__go_to(var_p
, var28
);
8913 parser_work__Parser__push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8917 /* method parser#ReduceAction239#action for (self: Object, Parser) */
8918 void VIRTUAL_parser__ReduceAction239__action(val
* self
, val
* p0
) {
8919 parser__ReduceAction239__action(self
, p0
); /* Direct call parser#ReduceAction239#action on <self:Object(ReduceAction239)>*/
8922 /* method parser#ReduceAction240#action for (self: ReduceAction240, Parser) */
8923 void parser__ReduceAction240__action(val
* self
, val
* p0
) {
8924 val
* var_p
/* var p: Parser */;
8925 val
* var
/* : null */;
8926 val
* var_node_list
/* var node_list: nullable Object */;
8927 val
* var1
/* : nullable Object */;
8928 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8929 val
* var2
/* : nullable Object */;
8930 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8931 val
* var3
/* : nullable Object */;
8932 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8933 val
* var4
/* : nullable Object */;
8934 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8935 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
8936 short int var5
/* : Bool */;
8939 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
8940 short int var6
/* : Bool */;
8943 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8944 short int var9
/* : Bool */;
8947 val
* var12
/* : AAssertExpr */;
8948 val
* var13
/* : null */;
8949 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
8950 long var14
/* : Int */;
8951 long var15
/* : Int */;
8954 var_node_list
= var
;
8956 var1
= parser_work__Parser__pop(var_p
);
8958 var_nodearraylist4
= var1
;
8960 var2
= parser_work__Parser__pop(var_p
);
8962 var_nodearraylist3
= var2
;
8964 var3
= parser_work__Parser__pop(var_p
);
8966 var_nodearraylist2
= var3
;
8968 var4
= parser_work__Parser__pop(var_p
);
8970 var_nodearraylist1
= var4
;
8971 var_tkwassertnode2
= var_nodearraylist1
;
8972 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
8973 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
8974 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
8975 if(var_tkwassertnode2
== NULL
) {
8978 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
8981 var5
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
8984 if (unlikely(!var5
)) {
8985 PRINT_ERROR("Runtime error: %s", "Assert failed");
8986 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6969);
8989 var_pexprnode4
= var_nodearraylist2
;
8990 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
8991 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
8992 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
8993 if(var_pexprnode4
== NULL
) {
8996 if(cltype7
>= var_pexprnode4
->type
->table_size
) {
8999 var6
= var_pexprnode4
->type
->type_table
[cltype7
] == idtype8
;
9002 if (unlikely(!var6
)) {
9003 PRINT_ERROR("Runtime error: %s", "Assert failed");
9004 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6971);
9007 var_pexprnode5
= var_nodearraylist4
;
9008 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9009 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
9010 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
9011 if(var_pexprnode5
== NULL
) {
9014 if(cltype10
>= var_pexprnode5
->type
->table_size
) {
9017 var9
= var_pexprnode5
->type
->type_table
[cltype10
] == idtype11
;
9020 if (unlikely(!var9
)) {
9021 PRINT_ERROR("Runtime error: %s", "Assert failed");
9022 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6973);
9025 var12
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
9028 parser_prod__AAssertExpr__init_aassertexpr(var12
, var_tkwassertnode2
, var13
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var12:AAssertExpr>*/
9030 var_pexprnode1
= var12
;
9031 var_node_list
= var_pexprnode1
;
9032 var14
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction240> */
9034 var15
= parser_work__Parser__go_to(var_p
, var14
);
9037 parser_work__Parser__push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9041 /* method parser#ReduceAction240#action for (self: Object, Parser) */
9042 void VIRTUAL_parser__ReduceAction240__action(val
* self
, val
* p0
) {
9043 parser__ReduceAction240__action(self
, p0
); /* Direct call parser#ReduceAction240#action on <self:Object(ReduceAction240)>*/
9046 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
9047 void parser__ReduceAction241__action(val
* self
, val
* p0
) {
9048 val
* var_p
/* var p: Parser */;
9049 val
* var
/* : null */;
9050 val
* var_node_list
/* var node_list: nullable Object */;
9051 val
* var1
/* : nullable Object */;
9052 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9053 val
* var2
/* : nullable Object */;
9054 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9055 val
* var3
/* : nullable Object */;
9056 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9057 val
* var4
/* : nullable Object */;
9058 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9059 val
* var5
/* : nullable Object */;
9060 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9061 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
9062 short int var6
/* : Bool */;
9065 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9066 short int var7
/* : Bool */;
9069 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9070 short int var10
/* : Bool */;
9073 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9074 short int var13
/* : Bool */;
9077 val
* var16
/* : AAssertExpr */;
9078 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
9079 long var17
/* : Int */;
9080 long var18
/* : Int */;
9083 var_node_list
= var
;
9085 var1
= parser_work__Parser__pop(var_p
);
9087 var_nodearraylist5
= var1
;
9089 var2
= parser_work__Parser__pop(var_p
);
9091 var_nodearraylist4
= var2
;
9093 var3
= parser_work__Parser__pop(var_p
);
9095 var_nodearraylist3
= var3
;
9097 var4
= parser_work__Parser__pop(var_p
);
9099 var_nodearraylist2
= var4
;
9101 var5
= parser_work__Parser__pop(var_p
);
9103 var_nodearraylist1
= var5
;
9104 var_tkwassertnode2
= var_nodearraylist1
;
9105 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
9106 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
9107 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
9108 if(var_tkwassertnode2
== NULL
) {
9111 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
9114 var6
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
9117 if (unlikely(!var6
)) {
9118 PRINT_ERROR("Runtime error: %s", "Assert failed");
9119 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6995);
9122 var_tidnode3
= var_nodearraylist2
;
9123 /* <var_tidnode3:nullable Object> isa nullable TId */
9124 cltype8
= type_nullable_parser_nodes__TId
.color
;
9125 idtype9
= type_nullable_parser_nodes__TId
.id
;
9126 if(var_tidnode3
== NULL
) {
9129 if(cltype8
>= var_tidnode3
->type
->table_size
) {
9132 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
9135 if (unlikely(!var7
)) {
9136 PRINT_ERROR("Runtime error: %s", "Assert failed");
9137 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6997);
9140 var_pexprnode4
= var_nodearraylist3
;
9141 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9142 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
9143 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
9144 if(var_pexprnode4
== NULL
) {
9147 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
9150 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
9153 if (unlikely(!var10
)) {
9154 PRINT_ERROR("Runtime error: %s", "Assert failed");
9155 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 6999);
9158 var_pexprnode5
= var_nodearraylist5
;
9159 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9160 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
9161 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
9162 if(var_pexprnode5
== NULL
) {
9165 if(cltype14
>= var_pexprnode5
->type
->table_size
) {
9168 var13
= var_pexprnode5
->type
->type_table
[cltype14
] == idtype15
;
9171 if (unlikely(!var13
)) {
9172 PRINT_ERROR("Runtime error: %s", "Assert failed");
9173 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7001);
9176 var16
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
9178 parser_prod__AAssertExpr__init_aassertexpr(var16
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var16:AAssertExpr>*/
9180 var_pexprnode1
= var16
;
9181 var_node_list
= var_pexprnode1
;
9182 var17
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction241> */
9184 var18
= parser_work__Parser__go_to(var_p
, var17
);
9187 parser_work__Parser__push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9191 /* method parser#ReduceAction241#action for (self: Object, Parser) */
9192 void VIRTUAL_parser__ReduceAction241__action(val
* self
, val
* p0
) {
9193 parser__ReduceAction241__action(self
, p0
); /* Direct call parser#ReduceAction241#action on <self:Object(ReduceAction241)>*/
9196 /* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */
9197 void parser__ReduceAction242__action(val
* self
, val
* p0
) {
9198 val
* var_p
/* var p: Parser */;
9199 val
* var
/* : null */;
9200 val
* var_node_list
/* var node_list: nullable Object */;
9201 val
* var1
/* : nullable Object */;
9202 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9203 val
* var2
/* : nullable Object */;
9204 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9205 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
9206 short int var3
/* : Bool */;
9209 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9210 short int var4
/* : Bool */;
9213 val
* var7
/* : AAssertExpr */;
9214 val
* var8
/* : null */;
9215 val
* var9
/* : null */;
9216 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
9217 long var10
/* : Int */;
9218 long var11
/* : Int */;
9221 var_node_list
= var
;
9223 var1
= parser_work__Parser__pop(var_p
);
9225 var_nodearraylist2
= var1
;
9227 var2
= parser_work__Parser__pop(var_p
);
9229 var_nodearraylist1
= var2
;
9230 var_tkwassertnode2
= var_nodearraylist1
;
9231 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
9232 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
9233 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
9234 if(var_tkwassertnode2
== NULL
) {
9237 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
9240 var3
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
9243 if (unlikely(!var3
)) {
9244 PRINT_ERROR("Runtime error: %s", "Assert failed");
9245 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7020);
9248 var_pexprnode4
= var_nodearraylist2
;
9249 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9250 cltype5
= type_nullable_parser_nodes__AExpr
.color
;
9251 idtype6
= type_nullable_parser_nodes__AExpr
.id
;
9252 if(var_pexprnode4
== NULL
) {
9255 if(cltype5
>= var_pexprnode4
->type
->table_size
) {
9258 var4
= var_pexprnode4
->type
->type_table
[cltype5
] == idtype6
;
9261 if (unlikely(!var4
)) {
9262 PRINT_ERROR("Runtime error: %s", "Assert failed");
9263 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7022);
9266 var7
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
9270 parser_prod__AAssertExpr__init_aassertexpr(var7
, var_tkwassertnode2
, var8
, var_pexprnode4
, var9
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var7:AAssertExpr>*/
9272 var_pexprnode1
= var7
;
9273 var_node_list
= var_pexprnode1
;
9274 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction242> */
9276 var11
= parser_work__Parser__go_to(var_p
, var10
);
9279 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9283 /* method parser#ReduceAction242#action for (self: Object, Parser) */
9284 void VIRTUAL_parser__ReduceAction242__action(val
* self
, val
* p0
) {
9285 parser__ReduceAction242__action(self
, p0
); /* Direct call parser#ReduceAction242#action on <self:Object(ReduceAction242)>*/
9288 /* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */
9289 void parser__ReduceAction243__action(val
* self
, val
* p0
) {
9290 val
* var_p
/* var p: Parser */;
9291 val
* var
/* : null */;
9292 val
* var_node_list
/* var node_list: nullable Object */;
9293 val
* var1
/* : nullable Object */;
9294 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9295 val
* var2
/* : nullable Object */;
9296 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9297 val
* var3
/* : nullable Object */;
9298 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9299 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
9300 short int var4
/* : Bool */;
9303 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9304 short int var5
/* : Bool */;
9307 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9308 short int var8
/* : Bool */;
9311 val
* var11
/* : AAssertExpr */;
9312 val
* var12
/* : null */;
9313 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
9314 long var13
/* : Int */;
9315 long var14
/* : Int */;
9318 var_node_list
= var
;
9320 var1
= parser_work__Parser__pop(var_p
);
9322 var_nodearraylist3
= var1
;
9324 var2
= parser_work__Parser__pop(var_p
);
9326 var_nodearraylist2
= var2
;
9328 var3
= parser_work__Parser__pop(var_p
);
9330 var_nodearraylist1
= var3
;
9331 var_tkwassertnode2
= var_nodearraylist1
;
9332 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
9333 cltype
= type_nullable_parser_nodes__TKwassert
.color
;
9334 idtype
= type_nullable_parser_nodes__TKwassert
.id
;
9335 if(var_tkwassertnode2
== NULL
) {
9338 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
9341 var4
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
9344 if (unlikely(!var4
)) {
9345 PRINT_ERROR("Runtime error: %s", "Assert failed");
9346 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7042);
9349 var_tidnode3
= var_nodearraylist2
;
9350 /* <var_tidnode3:nullable Object> isa nullable TId */
9351 cltype6
= type_nullable_parser_nodes__TId
.color
;
9352 idtype7
= type_nullable_parser_nodes__TId
.id
;
9353 if(var_tidnode3
== NULL
) {
9356 if(cltype6
>= var_tidnode3
->type
->table_size
) {
9359 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
9362 if (unlikely(!var5
)) {
9363 PRINT_ERROR("Runtime error: %s", "Assert failed");
9364 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7044);
9367 var_pexprnode4
= var_nodearraylist3
;
9368 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9369 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
9370 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
9371 if(var_pexprnode4
== NULL
) {
9374 if(cltype9
>= var_pexprnode4
->type
->table_size
) {
9377 var8
= var_pexprnode4
->type
->type_table
[cltype9
] == idtype10
;
9380 if (unlikely(!var8
)) {
9381 PRINT_ERROR("Runtime error: %s", "Assert failed");
9382 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7046);
9385 var11
= NEW_parser_nodes__AAssertExpr(&type_parser_nodes__AAssertExpr
);
9388 parser_prod__AAssertExpr__init_aassertexpr(var11
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var12
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var11:AAssertExpr>*/
9390 var_pexprnode1
= var11
;
9391 var_node_list
= var_pexprnode1
;
9392 var13
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction243> */
9394 var14
= parser_work__Parser__go_to(var_p
, var13
);
9397 parser_work__Parser__push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9401 /* method parser#ReduceAction243#action for (self: Object, Parser) */
9402 void VIRTUAL_parser__ReduceAction243__action(val
* self
, val
* p0
) {
9403 parser__ReduceAction243__action(self
, p0
); /* Direct call parser#ReduceAction243#action on <self:Object(ReduceAction243)>*/
9406 /* method parser#ReduceAction244#action for (self: ReduceAction244, Parser) */
9407 void parser__ReduceAction244__action(val
* self
, val
* p0
) {
9408 val
* var_p
/* var p: Parser */;
9409 val
* var
/* : null */;
9410 val
* var_node_list
/* var node_list: nullable Object */;
9411 val
* var1
/* : nullable Object */;
9412 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9413 val
* var2
/* : nullable Object */;
9414 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9415 val
* var_tidnode1
/* var tidnode1: nullable Object */;
9416 long var3
/* : Int */;
9417 long var4
/* : Int */;
9420 var_node_list
= var
;
9422 var1
= parser_work__Parser__pop(var_p
);
9424 var_nodearraylist2
= var1
;
9426 var2
= parser_work__Parser__pop(var_p
);
9428 var_nodearraylist1
= var2
;
9429 var_tidnode1
= var_nodearraylist1
;
9430 var_node_list
= var_tidnode1
;
9431 var3
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction244> */
9433 var4
= parser_work__Parser__go_to(var_p
, var3
);
9436 parser_work__Parser__push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9440 /* method parser#ReduceAction244#action for (self: Object, Parser) */
9441 void VIRTUAL_parser__ReduceAction244__action(val
* self
, val
* p0
) {
9442 parser__ReduceAction244__action(self
, p0
); /* Direct call parser#ReduceAction244#action on <self:Object(ReduceAction244)>*/
9445 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
9446 void parser__ReduceAction247__action(val
* self
, val
* p0
) {
9447 val
* var_p
/* var p: Parser */;
9448 val
* var
/* : null */;
9449 val
* var_node_list
/* var node_list: nullable Object */;
9450 val
* var1
/* : nullable Object */;
9451 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
9452 val
* var2
/* : nullable Object */;
9453 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9454 val
* var3
/* : nullable Object */;
9455 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9456 val
* var4
/* : nullable Object */;
9457 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9458 val
* var5
/* : nullable Object */;
9459 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9460 val
* var6
/* : nullable Object */;
9461 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9462 val
* var7
/* : nullable Object */;
9463 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9464 val
* var8
/* : nullable Object */;
9465 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9466 val
* var9
/* : nullable Object */;
9467 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9468 val
* var10
/* : nullable Object */;
9469 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9470 val
* var11
/* : nullable Object */;
9471 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9472 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
9473 short int var12
/* : Bool */;
9476 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9477 short int var13
/* : Bool */;
9480 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
9481 short int var16
/* : Bool */;
9484 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9485 short int var19
/* : Bool */;
9488 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
9489 short int var22
/* : Bool */;
9492 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9493 short int var25
/* : Bool */;
9496 val
* var28
/* : AIfexprExpr */;
9497 val
* var_pexprnode1
/* var pexprnode1: nullable AIfexprExpr */;
9498 long var29
/* : Int */;
9499 long var30
/* : Int */;
9502 var_node_list
= var
;
9504 var1
= parser_work__Parser__pop(var_p
);
9506 var_nodearraylist11
= var1
;
9508 var2
= parser_work__Parser__pop(var_p
);
9510 var_nodearraylist10
= var2
;
9512 var3
= parser_work__Parser__pop(var_p
);
9514 var_nodearraylist9
= var3
;
9516 var4
= parser_work__Parser__pop(var_p
);
9518 var_nodearraylist8
= var4
;
9520 var5
= parser_work__Parser__pop(var_p
);
9522 var_nodearraylist7
= var5
;
9524 var6
= parser_work__Parser__pop(var_p
);
9526 var_nodearraylist6
= var6
;
9528 var7
= parser_work__Parser__pop(var_p
);
9530 var_nodearraylist5
= var7
;
9532 var8
= parser_work__Parser__pop(var_p
);
9534 var_nodearraylist4
= var8
;
9536 var9
= parser_work__Parser__pop(var_p
);
9538 var_nodearraylist3
= var9
;
9540 var10
= parser_work__Parser__pop(var_p
);
9542 var_nodearraylist2
= var10
;
9544 var11
= parser_work__Parser__pop(var_p
);
9546 var_nodearraylist1
= var11
;
9547 var_tkwifnode2
= var_nodearraylist1
;
9548 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
9549 cltype
= type_nullable_parser_nodes__TKwif
.color
;
9550 idtype
= type_nullable_parser_nodes__TKwif
.id
;
9551 if(var_tkwifnode2
== NULL
) {
9554 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
9557 var12
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
9560 if (unlikely(!var12
)) {
9561 PRINT_ERROR("Runtime error: %s", "Assert failed");
9562 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7086);
9565 var_pexprnode3
= var_nodearraylist3
;
9566 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9567 cltype14
= type_nullable_parser_nodes__AExpr
.color
;
9568 idtype15
= type_nullable_parser_nodes__AExpr
.id
;
9569 if(var_pexprnode3
== NULL
) {
9572 if(cltype14
>= var_pexprnode3
->type
->table_size
) {
9575 var13
= var_pexprnode3
->type
->type_table
[cltype14
] == idtype15
;
9578 if (unlikely(!var13
)) {
9579 PRINT_ERROR("Runtime error: %s", "Assert failed");
9580 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7088);
9583 var_tkwthennode4
= var_nodearraylist5
;
9584 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
9585 cltype17
= type_nullable_parser_nodes__TKwthen
.color
;
9586 idtype18
= type_nullable_parser_nodes__TKwthen
.id
;
9587 if(var_tkwthennode4
== NULL
) {
9590 if(cltype17
>= var_tkwthennode4
->type
->table_size
) {
9593 var16
= var_tkwthennode4
->type
->type_table
[cltype17
] == idtype18
;
9596 if (unlikely(!var16
)) {
9597 PRINT_ERROR("Runtime error: %s", "Assert failed");
9598 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7090);
9601 var_pexprnode5
= var_nodearraylist7
;
9602 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9603 cltype20
= type_nullable_parser_nodes__AExpr
.color
;
9604 idtype21
= type_nullable_parser_nodes__AExpr
.id
;
9605 if(var_pexprnode5
== NULL
) {
9608 if(cltype20
>= var_pexprnode5
->type
->table_size
) {
9611 var19
= var_pexprnode5
->type
->type_table
[cltype20
] == idtype21
;
9614 if (unlikely(!var19
)) {
9615 PRINT_ERROR("Runtime error: %s", "Assert failed");
9616 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7092);
9619 var_tkwelsenode6
= var_nodearraylist9
;
9620 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
9621 cltype23
= type_nullable_parser_nodes__TKwelse
.color
;
9622 idtype24
= type_nullable_parser_nodes__TKwelse
.id
;
9623 if(var_tkwelsenode6
== NULL
) {
9626 if(cltype23
>= var_tkwelsenode6
->type
->table_size
) {
9629 var22
= var_tkwelsenode6
->type
->type_table
[cltype23
] == idtype24
;
9632 if (unlikely(!var22
)) {
9633 PRINT_ERROR("Runtime error: %s", "Assert failed");
9634 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7094);
9637 var_pexprnode7
= var_nodearraylist11
;
9638 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9639 cltype26
= type_nullable_parser_nodes__AExpr
.color
;
9640 idtype27
= type_nullable_parser_nodes__AExpr
.id
;
9641 if(var_pexprnode7
== NULL
) {
9644 if(cltype26
>= var_pexprnode7
->type
->table_size
) {
9647 var25
= var_pexprnode7
->type
->type_table
[cltype26
] == idtype27
;
9650 if (unlikely(!var25
)) {
9651 PRINT_ERROR("Runtime error: %s", "Assert failed");
9652 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7096);
9655 var28
= NEW_parser_nodes__AIfexprExpr(&type_parser_nodes__AIfexprExpr
);
9657 parser_prod__AIfexprExpr__init_aifexprexpr(var28
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on <var28:AIfexprExpr>*/
9659 var_pexprnode1
= var28
;
9660 var_node_list
= var_pexprnode1
;
9661 var29
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction247> */
9663 var30
= parser_work__Parser__go_to(var_p
, var29
);
9666 parser_work__Parser__push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9670 /* method parser#ReduceAction247#action for (self: Object, Parser) */
9671 void VIRTUAL_parser__ReduceAction247__action(val
* self
, val
* p0
) {
9672 parser__ReduceAction247__action(self
, p0
); /* Direct call parser#ReduceAction247#action on <self:Object(ReduceAction247)>*/
9675 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
9676 void parser__ReduceAction249__action(val
* self
, val
* p0
) {
9677 val
* var_p
/* var p: Parser */;
9678 val
* var
/* : null */;
9679 val
* var_node_list
/* var node_list: nullable Object */;
9680 val
* var1
/* : nullable Object */;
9681 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9682 val
* var2
/* : nullable Object */;
9683 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9684 val
* var3
/* : nullable Object */;
9685 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9686 val
* var4
/* : nullable Object */;
9687 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9688 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9689 short int var5
/* : Bool */;
9692 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9693 short int var6
/* : Bool */;
9696 val
* var9
/* : AOrExpr */;
9697 val
* var_pexprnode1
/* var pexprnode1: nullable AOrExpr */;
9698 long var10
/* : Int */;
9699 long var11
/* : Int */;
9702 var_node_list
= var
;
9704 var1
= parser_work__Parser__pop(var_p
);
9706 var_nodearraylist4
= var1
;
9708 var2
= parser_work__Parser__pop(var_p
);
9710 var_nodearraylist3
= var2
;
9712 var3
= parser_work__Parser__pop(var_p
);
9714 var_nodearraylist2
= var3
;
9716 var4
= parser_work__Parser__pop(var_p
);
9718 var_nodearraylist1
= var4
;
9719 var_pexprnode2
= var_nodearraylist1
;
9720 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9721 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9722 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9723 if(var_pexprnode2
== NULL
) {
9726 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9729 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9732 if (unlikely(!var5
)) {
9733 PRINT_ERROR("Runtime error: %s", "Assert failed");
9734 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7119);
9737 var_pexprnode3
= var_nodearraylist4
;
9738 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9739 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
9740 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
9741 if(var_pexprnode3
== NULL
) {
9744 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
9747 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
9750 if (unlikely(!var6
)) {
9751 PRINT_ERROR("Runtime error: %s", "Assert failed");
9752 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7121);
9755 var9
= NEW_parser_nodes__AOrExpr(&type_parser_nodes__AOrExpr
);
9757 parser_prod__AOrExpr__init_aorexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrExpr#init_aorexpr on <var9:AOrExpr>*/
9759 var_pexprnode1
= var9
;
9760 var_node_list
= var_pexprnode1
;
9761 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction249> */
9763 var11
= parser_work__Parser__go_to(var_p
, var10
);
9766 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9770 /* method parser#ReduceAction249#action for (self: Object, Parser) */
9771 void VIRTUAL_parser__ReduceAction249__action(val
* self
, val
* p0
) {
9772 parser__ReduceAction249__action(self
, p0
); /* Direct call parser#ReduceAction249#action on <self:Object(ReduceAction249)>*/
9775 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
9776 void parser__ReduceAction250__action(val
* self
, val
* p0
) {
9777 val
* var_p
/* var p: Parser */;
9778 val
* var
/* : null */;
9779 val
* var_node_list
/* var node_list: nullable Object */;
9780 val
* var1
/* : nullable Object */;
9781 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9782 val
* var2
/* : nullable Object */;
9783 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9784 val
* var3
/* : nullable Object */;
9785 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9786 val
* var4
/* : nullable Object */;
9787 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9788 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9789 short int var5
/* : Bool */;
9792 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9793 short int var6
/* : Bool */;
9796 val
* var9
/* : AAndExpr */;
9797 val
* var_pexprnode1
/* var pexprnode1: nullable AAndExpr */;
9798 long var10
/* : Int */;
9799 long var11
/* : Int */;
9802 var_node_list
= var
;
9804 var1
= parser_work__Parser__pop(var_p
);
9806 var_nodearraylist4
= var1
;
9808 var2
= parser_work__Parser__pop(var_p
);
9810 var_nodearraylist3
= var2
;
9812 var3
= parser_work__Parser__pop(var_p
);
9814 var_nodearraylist2
= var3
;
9816 var4
= parser_work__Parser__pop(var_p
);
9818 var_nodearraylist1
= var4
;
9819 var_pexprnode2
= var_nodearraylist1
;
9820 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9821 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9822 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9823 if(var_pexprnode2
== NULL
) {
9826 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9829 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9832 if (unlikely(!var5
)) {
9833 PRINT_ERROR("Runtime error: %s", "Assert failed");
9834 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7140);
9837 var_pexprnode3
= var_nodearraylist4
;
9838 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9839 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
9840 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
9841 if(var_pexprnode3
== NULL
) {
9844 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
9847 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
9850 if (unlikely(!var6
)) {
9851 PRINT_ERROR("Runtime error: %s", "Assert failed");
9852 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7142);
9855 var9
= NEW_parser_nodes__AAndExpr(&type_parser_nodes__AAndExpr
);
9857 parser_prod__AAndExpr__init_aandexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AAndExpr#init_aandexpr on <var9:AAndExpr>*/
9859 var_pexprnode1
= var9
;
9860 var_node_list
= var_pexprnode1
;
9861 var10
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction250> */
9863 var11
= parser_work__Parser__go_to(var_p
, var10
);
9866 parser_work__Parser__push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9870 /* method parser#ReduceAction250#action for (self: Object, Parser) */
9871 void VIRTUAL_parser__ReduceAction250__action(val
* self
, val
* p0
) {
9872 parser__ReduceAction250__action(self
, p0
); /* Direct call parser#ReduceAction250#action on <self:Object(ReduceAction250)>*/
9875 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
9876 void parser__ReduceAction251__action(val
* self
, val
* p0
) {
9877 val
* var_p
/* var p: Parser */;
9878 val
* var
/* : null */;
9879 val
* var_node_list
/* var node_list: nullable Object */;
9880 val
* var1
/* : nullable Object */;
9881 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9882 val
* var2
/* : nullable Object */;
9883 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9884 val
* var3
/* : nullable Object */;
9885 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9886 val
* var4
/* : nullable Object */;
9887 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9888 val
* var5
/* : nullable Object */;
9889 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9890 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9891 short int var6
/* : Bool */;
9894 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9895 short int var7
/* : Bool */;
9898 val
* var10
/* : AOrElseExpr */;
9899 val
* var_pexprnode1
/* var pexprnode1: nullable AOrElseExpr */;
9900 long var11
/* : Int */;
9901 long var12
/* : Int */;
9904 var_node_list
= var
;
9906 var1
= parser_work__Parser__pop(var_p
);
9908 var_nodearraylist5
= var1
;
9910 var2
= parser_work__Parser__pop(var_p
);
9912 var_nodearraylist4
= var2
;
9914 var3
= parser_work__Parser__pop(var_p
);
9916 var_nodearraylist3
= var3
;
9918 var4
= parser_work__Parser__pop(var_p
);
9920 var_nodearraylist2
= var4
;
9922 var5
= parser_work__Parser__pop(var_p
);
9924 var_nodearraylist1
= var5
;
9925 var_pexprnode2
= var_nodearraylist1
;
9926 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9927 cltype
= type_nullable_parser_nodes__AExpr
.color
;
9928 idtype
= type_nullable_parser_nodes__AExpr
.id
;
9929 if(var_pexprnode2
== NULL
) {
9932 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9935 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9938 if (unlikely(!var6
)) {
9939 PRINT_ERROR("Runtime error: %s", "Assert failed");
9940 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7162);
9943 var_pexprnode3
= var_nodearraylist5
;
9944 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9945 cltype8
= type_nullable_parser_nodes__AExpr
.color
;
9946 idtype9
= type_nullable_parser_nodes__AExpr
.id
;
9947 if(var_pexprnode3
== NULL
) {
9950 if(cltype8
>= var_pexprnode3
->type
->table_size
) {
9953 var7
= var_pexprnode3
->type
->type_table
[cltype8
] == idtype9
;
9956 if (unlikely(!var7
)) {
9957 PRINT_ERROR("Runtime error: %s", "Assert failed");
9958 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 7164);
9961 var10
= NEW_parser_nodes__AOrElseExpr(&type_parser_nodes__AOrElseExpr
);
9963 parser_prod__AOrElseExpr__init_aorelseexpr(var10
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <var10:AOrElseExpr>*/
9965 var_pexprnode1
= var10
;
9966 var_node_list
= var_pexprnode1
;
9967 var11
= self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction251> */
9969 var12
= parser_work__Parser__go_to(var_p
, var11
);
9972 parser_work__Parser__push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9976 /* method parser#ReduceAction251#action for (self: Object, Parser) */
9977 void VIRTUAL_parser__ReduceAction251__action(val
* self
, val
* p0
) {
9978 parser__ReduceAction251__action(self
, p0
); /* Direct call parser#ReduceAction251#action on <self:Object(ReduceAction251)>*/