1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction136#action for (self: ReduceAction136, Parser) */
3 void nit__parser___nit__parser__ReduceAction136___nit__parser_work__ReduceAction__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_nodearraylist5
/* var nodearraylist5: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
17 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
18 short int var6
/* : Bool */;
21 val
* var_tdotnode3
/* var tdotnode3: nullable Object */;
22 short int var7
/* : Bool */;
25 val
* var_tkwasnode4
/* var tkwasnode4: nullable Object */;
26 short int var10
/* : Bool */;
29 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
30 short int var13
/* : Bool */;
33 val
* var16
/* : ACastAsExternCall */;
34 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable ACastAsExternCall */;
35 long var17
/* : Int */;
36 long var18
/* : Int */;
41 var1
= nit___nit__Parser___pop(var_p
);
43 var_nodearraylist5
= var1
;
45 var2
= nit___nit__Parser___pop(var_p
);
47 var_nodearraylist4
= var2
;
49 var3
= nit___nit__Parser___pop(var_p
);
51 var_nodearraylist3
= var3
;
53 var4
= nit___nit__Parser___pop(var_p
);
55 var_nodearraylist2
= var4
;
57 var5
= nit___nit__Parser___pop(var_p
);
59 var_nodearraylist1
= var5
;
60 var_ptypenode2
= var_nodearraylist1
;
61 /* <var_ptypenode2:nullable Object> isa nullable AType */
62 cltype
= type_nullable__nit__AType
.color
;
63 idtype
= type_nullable__nit__AType
.id
;
64 if(var_ptypenode2
== NULL
) {
67 if(cltype
>= var_ptypenode2
->type
->table_size
) {
70 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
73 if (unlikely(!var6
)) {
74 PRINT_ERROR("Runtime error: %s", "Assert failed");
75 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4960);
78 var_tdotnode3
= var_nodearraylist2
;
79 /* <var_tdotnode3:nullable Object> isa nullable TDot */
80 cltype8
= type_nullable__nit__TDot
.color
;
81 idtype9
= type_nullable__nit__TDot
.id
;
82 if(var_tdotnode3
== NULL
) {
85 if(cltype8
>= var_tdotnode3
->type
->table_size
) {
88 var7
= var_tdotnode3
->type
->type_table
[cltype8
] == idtype9
;
91 if (unlikely(!var7
)) {
92 PRINT_ERROR("Runtime error: %s", "Assert failed");
93 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4962);
96 var_tkwasnode4
= var_nodearraylist3
;
97 /* <var_tkwasnode4:nullable Object> isa nullable TKwas */
98 cltype11
= type_nullable__nit__TKwas
.color
;
99 idtype12
= type_nullable__nit__TKwas
.id
;
100 if(var_tkwasnode4
== NULL
) {
103 if(cltype11
>= var_tkwasnode4
->type
->table_size
) {
106 var10
= var_tkwasnode4
->type
->type_table
[cltype11
] == idtype12
;
109 if (unlikely(!var10
)) {
110 PRINT_ERROR("Runtime error: %s", "Assert failed");
111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4964);
114 var_ptypenode5
= var_nodearraylist5
;
115 /* <var_ptypenode5:nullable Object> isa nullable AType */
116 cltype14
= type_nullable__nit__AType
.color
;
117 idtype15
= type_nullable__nit__AType
.id
;
118 if(var_ptypenode5
== NULL
) {
121 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
124 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
127 if (unlikely(!var13
)) {
128 PRINT_ERROR("Runtime error: %s", "Assert failed");
129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4966);
132 var16
= NEW_nit__ACastAsExternCall(&type_nit__ACastAsExternCall
);
134 nit__parser_prod___ACastAsExternCall___init_acastasexterncall(var16
, var_ptypenode2
, var_tdotnode3
, var_tkwasnode4
, var_ptypenode5
); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on <var16:ACastAsExternCall>*/
136 var_pexterncallnode1
= var16
;
137 var_node_list
= var_pexterncallnode1
;
138 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction136> */
140 var18
= nit___nit__Parser___go_to(var_p
, var17
);
143 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
147 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
148 void nit__parser___nit__parser__ReduceAction137___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
149 val
* var_p
/* var p: Parser */;
150 val
* var
/* : null */;
151 val
* var_node_list
/* var node_list: nullable Object */;
152 val
* var1
/* : nullable Object */;
153 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
154 val
* var2
/* : nullable Object */;
155 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
156 val
* var3
/* : nullable Object */;
157 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
158 val
* var4
/* : nullable Object */;
159 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
160 val
* var5
/* : nullable Object */;
161 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
162 val
* var6
/* : nullable Object */;
163 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
164 val
* var7
/* : nullable Object */;
165 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
166 val
* var8
/* : nullable Object */;
167 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
168 val
* var9
/* : nullable Object */;
169 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
170 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
171 short int var10
/* : Bool */;
174 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
175 short int var11
/* : Bool */;
178 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
179 short int var14
/* : Bool */;
182 val
* var17
/* : AAsNullableExternCall */;
183 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
184 long var18
/* : Int */;
185 long var19
/* : Int */;
190 var1
= nit___nit__Parser___pop(var_p
);
192 var_nodearraylist9
= var1
;
194 var2
= nit___nit__Parser___pop(var_p
);
196 var_nodearraylist8
= var2
;
198 var3
= nit___nit__Parser___pop(var_p
);
200 var_nodearraylist7
= var3
;
202 var4
= nit___nit__Parser___pop(var_p
);
204 var_nodearraylist6
= var4
;
206 var5
= nit___nit__Parser___pop(var_p
);
208 var_nodearraylist5
= var5
;
210 var6
= nit___nit__Parser___pop(var_p
);
212 var_nodearraylist4
= var6
;
214 var7
= nit___nit__Parser___pop(var_p
);
216 var_nodearraylist3
= var7
;
218 var8
= nit___nit__Parser___pop(var_p
);
220 var_nodearraylist2
= var8
;
222 var9
= nit___nit__Parser___pop(var_p
);
224 var_nodearraylist1
= var9
;
225 var_ptypenode2
= var_nodearraylist1
;
226 /* <var_ptypenode2:nullable Object> isa nullable AType */
227 cltype
= type_nullable__nit__AType
.color
;
228 idtype
= type_nullable__nit__AType
.id
;
229 if(var_ptypenode2
== NULL
) {
232 if(cltype
>= var_ptypenode2
->type
->table_size
) {
235 var10
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
238 if (unlikely(!var10
)) {
239 PRINT_ERROR("Runtime error: %s", "Assert failed");
240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4992);
243 var_tkwasnode3
= var_nodearraylist3
;
244 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
245 cltype12
= type_nullable__nit__TKwas
.color
;
246 idtype13
= type_nullable__nit__TKwas
.id
;
247 if(var_tkwasnode3
== NULL
) {
250 if(cltype12
>= var_tkwasnode3
->type
->table_size
) {
253 var11
= var_tkwasnode3
->type
->type_table
[cltype12
] == idtype13
;
256 if (unlikely(!var11
)) {
257 PRINT_ERROR("Runtime error: %s", "Assert failed");
258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4994);
261 var_tkwnullablenode4
= var_nodearraylist7
;
262 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
263 cltype15
= type_nullable__nit__TKwnullable
.color
;
264 idtype16
= type_nullable__nit__TKwnullable
.id
;
265 if(var_tkwnullablenode4
== NULL
) {
268 if(cltype15
>= var_tkwnullablenode4
->type
->table_size
) {
271 var14
= var_tkwnullablenode4
->type
->type_table
[cltype15
] == idtype16
;
274 if (unlikely(!var14
)) {
275 PRINT_ERROR("Runtime error: %s", "Assert failed");
276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 4996);
279 var17
= NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall
);
281 nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var17
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var17:AAsNullableExternCall>*/
283 var_pexterncallnode1
= var17
;
284 var_node_list
= var_pexterncallnode1
;
285 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction137> */
287 var19
= nit___nit__Parser___go_to(var_p
, var18
);
290 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
294 /* method parser#ReduceAction138#action for (self: ReduceAction138, Parser) */
295 void nit__parser___nit__parser__ReduceAction138___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
296 val
* var_p
/* var p: Parser */;
297 val
* var
/* : null */;
298 val
* var_node_list
/* var node_list: nullable Object */;
299 val
* var1
/* : nullable Object */;
300 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
301 val
* var2
/* : nullable Object */;
302 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
303 val
* var3
/* : nullable Object */;
304 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
305 val
* var4
/* : nullable Object */;
306 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
307 val
* var5
/* : nullable Object */;
308 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
309 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
310 short int var6
/* : Bool */;
313 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
314 short int var7
/* : Bool */;
317 val
* var_tkwnullablenode4
/* var tkwnullablenode4: nullable Object */;
318 short int var10
/* : Bool */;
321 val
* var13
/* : AAsNullableExternCall */;
322 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNullableExternCall */;
323 long var14
/* : Int */;
324 long var15
/* : Int */;
329 var1
= nit___nit__Parser___pop(var_p
);
331 var_nodearraylist5
= var1
;
333 var2
= nit___nit__Parser___pop(var_p
);
335 var_nodearraylist4
= var2
;
337 var3
= nit___nit__Parser___pop(var_p
);
339 var_nodearraylist3
= var3
;
341 var4
= nit___nit__Parser___pop(var_p
);
343 var_nodearraylist2
= var4
;
345 var5
= nit___nit__Parser___pop(var_p
);
347 var_nodearraylist1
= var5
;
348 var_ptypenode2
= var_nodearraylist1
;
349 /* <var_ptypenode2:nullable Object> isa nullable AType */
350 cltype
= type_nullable__nit__AType
.color
;
351 idtype
= type_nullable__nit__AType
.id
;
352 if(var_ptypenode2
== NULL
) {
355 if(cltype
>= var_ptypenode2
->type
->table_size
) {
358 var6
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
361 if (unlikely(!var6
)) {
362 PRINT_ERROR("Runtime error: %s", "Assert failed");
363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5017);
366 var_tkwasnode3
= var_nodearraylist3
;
367 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
368 cltype8
= type_nullable__nit__TKwas
.color
;
369 idtype9
= type_nullable__nit__TKwas
.id
;
370 if(var_tkwasnode3
== NULL
) {
373 if(cltype8
>= var_tkwasnode3
->type
->table_size
) {
376 var7
= var_tkwasnode3
->type
->type_table
[cltype8
] == idtype9
;
379 if (unlikely(!var7
)) {
380 PRINT_ERROR("Runtime error: %s", "Assert failed");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5019);
384 var_tkwnullablenode4
= var_nodearraylist5
;
385 /* <var_tkwnullablenode4:nullable Object> isa nullable TKwnullable */
386 cltype11
= type_nullable__nit__TKwnullable
.color
;
387 idtype12
= type_nullable__nit__TKwnullable
.id
;
388 if(var_tkwnullablenode4
== NULL
) {
391 if(cltype11
>= var_tkwnullablenode4
->type
->table_size
) {
394 var10
= var_tkwnullablenode4
->type
->type_table
[cltype11
] == idtype12
;
397 if (unlikely(!var10
)) {
398 PRINT_ERROR("Runtime error: %s", "Assert failed");
399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5021);
402 var13
= NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall
);
404 nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var13
, var_ptypenode2
, var_tkwasnode3
, var_tkwnullablenode4
); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var13:AAsNullableExternCall>*/
406 var_pexterncallnode1
= var13
;
407 var_node_list
= var_pexterncallnode1
;
408 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction138> */
410 var15
= nit___nit__Parser___go_to(var_p
, var14
);
413 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
417 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
418 void nit__parser___nit__parser__ReduceAction139___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
419 val
* var_p
/* var p: Parser */;
420 val
* var
/* : null */;
421 val
* var_node_list
/* var node_list: nullable Object */;
422 val
* var1
/* : nullable Object */;
423 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
424 val
* var2
/* : nullable Object */;
425 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
426 val
* var3
/* : nullable Object */;
427 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
428 val
* var4
/* : nullable Object */;
429 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
430 val
* var5
/* : nullable Object */;
431 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
432 val
* var6
/* : nullable Object */;
433 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
434 val
* var7
/* : nullable Object */;
435 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
436 val
* var8
/* : nullable Object */;
437 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
438 val
* var9
/* : nullable Object */;
439 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
440 val
* var10
/* : nullable Object */;
441 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
442 val
* var11
/* : nullable Object */;
443 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
444 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
445 short int var12
/* : Bool */;
448 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
449 short int var13
/* : Bool */;
452 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
453 short int var16
/* : Bool */;
456 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
457 short int var19
/* : Bool */;
460 val
* var22
/* : AAsNotNullableExternCall */;
461 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
462 long var23
/* : Int */;
463 long var24
/* : Int */;
468 var1
= nit___nit__Parser___pop(var_p
);
470 var_nodearraylist11
= var1
;
472 var2
= nit___nit__Parser___pop(var_p
);
474 var_nodearraylist10
= var2
;
476 var3
= nit___nit__Parser___pop(var_p
);
478 var_nodearraylist9
= var3
;
480 var4
= nit___nit__Parser___pop(var_p
);
482 var_nodearraylist8
= var4
;
484 var5
= nit___nit__Parser___pop(var_p
);
486 var_nodearraylist7
= var5
;
488 var6
= nit___nit__Parser___pop(var_p
);
490 var_nodearraylist6
= var6
;
492 var7
= nit___nit__Parser___pop(var_p
);
494 var_nodearraylist5
= var7
;
496 var8
= nit___nit__Parser___pop(var_p
);
498 var_nodearraylist4
= var8
;
500 var9
= nit___nit__Parser___pop(var_p
);
502 var_nodearraylist3
= var9
;
504 var10
= nit___nit__Parser___pop(var_p
);
506 var_nodearraylist2
= var10
;
508 var11
= nit___nit__Parser___pop(var_p
);
510 var_nodearraylist1
= var11
;
511 var_ptypenode2
= var_nodearraylist1
;
512 /* <var_ptypenode2:nullable Object> isa nullable AType */
513 cltype
= type_nullable__nit__AType
.color
;
514 idtype
= type_nullable__nit__AType
.id
;
515 if(var_ptypenode2
== NULL
) {
518 if(cltype
>= var_ptypenode2
->type
->table_size
) {
521 var12
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
524 if (unlikely(!var12
)) {
525 PRINT_ERROR("Runtime error: %s", "Assert failed");
526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5048);
529 var_tkwasnode3
= var_nodearraylist3
;
530 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
531 cltype14
= type_nullable__nit__TKwas
.color
;
532 idtype15
= type_nullable__nit__TKwas
.id
;
533 if(var_tkwasnode3
== NULL
) {
536 if(cltype14
>= var_tkwasnode3
->type
->table_size
) {
539 var13
= var_tkwasnode3
->type
->type_table
[cltype14
] == idtype15
;
542 if (unlikely(!var13
)) {
543 PRINT_ERROR("Runtime error: %s", "Assert failed");
544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5050);
547 var_tkwnotnode4
= var_nodearraylist7
;
548 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
549 cltype17
= type_nullable__nit__TKwnot
.color
;
550 idtype18
= type_nullable__nit__TKwnot
.id
;
551 if(var_tkwnotnode4
== NULL
) {
554 if(cltype17
>= var_tkwnotnode4
->type
->table_size
) {
557 var16
= var_tkwnotnode4
->type
->type_table
[cltype17
] == idtype18
;
560 if (unlikely(!var16
)) {
561 PRINT_ERROR("Runtime error: %s", "Assert failed");
562 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5052);
565 var_tkwnullablenode5
= var_nodearraylist9
;
566 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
567 cltype20
= type_nullable__nit__TKwnullable
.color
;
568 idtype21
= type_nullable__nit__TKwnullable
.id
;
569 if(var_tkwnullablenode5
== NULL
) {
572 if(cltype20
>= var_tkwnullablenode5
->type
->table_size
) {
575 var19
= var_tkwnullablenode5
->type
->type_table
[cltype20
] == idtype21
;
578 if (unlikely(!var19
)) {
579 PRINT_ERROR("Runtime error: %s", "Assert failed");
580 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5054);
583 var22
= NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall
);
585 nit__parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(var22
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var22:AAsNotNullableExternCall>*/
587 var_pexterncallnode1
= var22
;
588 var_node_list
= var_pexterncallnode1
;
589 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction139> */
591 var24
= nit___nit__Parser___go_to(var_p
, var23
);
594 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
598 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
599 void nit__parser___nit__parser__ReduceAction140___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
600 val
* var_p
/* var p: Parser */;
601 val
* var
/* : null */;
602 val
* var_node_list
/* var node_list: nullable Object */;
603 val
* var1
/* : nullable Object */;
604 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
605 val
* var2
/* : nullable Object */;
606 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
607 val
* var3
/* : nullable Object */;
608 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
609 val
* var4
/* : nullable Object */;
610 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
611 val
* var5
/* : nullable Object */;
612 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
613 val
* var6
/* : nullable Object */;
614 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
615 val
* var7
/* : nullable Object */;
616 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
617 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
618 short int var8
/* : Bool */;
621 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
622 short int var9
/* : Bool */;
625 val
* var_tkwnotnode4
/* var tkwnotnode4: nullable Object */;
626 short int var12
/* : Bool */;
629 val
* var_tkwnullablenode5
/* var tkwnullablenode5: nullable Object */;
630 short int var15
/* : Bool */;
633 val
* var18
/* : AAsNotNullableExternCall */;
634 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable AAsNotNullableExternCall */;
635 long var19
/* : Int */;
636 long var20
/* : Int */;
641 var1
= nit___nit__Parser___pop(var_p
);
643 var_nodearraylist7
= var1
;
645 var2
= nit___nit__Parser___pop(var_p
);
647 var_nodearraylist6
= var2
;
649 var3
= nit___nit__Parser___pop(var_p
);
651 var_nodearraylist5
= var3
;
653 var4
= nit___nit__Parser___pop(var_p
);
655 var_nodearraylist4
= var4
;
657 var5
= nit___nit__Parser___pop(var_p
);
659 var_nodearraylist3
= var5
;
661 var6
= nit___nit__Parser___pop(var_p
);
663 var_nodearraylist2
= var6
;
665 var7
= nit___nit__Parser___pop(var_p
);
667 var_nodearraylist1
= var7
;
668 var_ptypenode2
= var_nodearraylist1
;
669 /* <var_ptypenode2:nullable Object> isa nullable AType */
670 cltype
= type_nullable__nit__AType
.color
;
671 idtype
= type_nullable__nit__AType
.id
;
672 if(var_ptypenode2
== NULL
) {
675 if(cltype
>= var_ptypenode2
->type
->table_size
) {
678 var8
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
681 if (unlikely(!var8
)) {
682 PRINT_ERROR("Runtime error: %s", "Assert failed");
683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5078);
686 var_tkwasnode3
= var_nodearraylist3
;
687 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
688 cltype10
= type_nullable__nit__TKwas
.color
;
689 idtype11
= type_nullable__nit__TKwas
.id
;
690 if(var_tkwasnode3
== NULL
) {
693 if(cltype10
>= var_tkwasnode3
->type
->table_size
) {
696 var9
= var_tkwasnode3
->type
->type_table
[cltype10
] == idtype11
;
699 if (unlikely(!var9
)) {
700 PRINT_ERROR("Runtime error: %s", "Assert failed");
701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5080);
704 var_tkwnotnode4
= var_nodearraylist5
;
705 /* <var_tkwnotnode4:nullable Object> isa nullable TKwnot */
706 cltype13
= type_nullable__nit__TKwnot
.color
;
707 idtype14
= type_nullable__nit__TKwnot
.id
;
708 if(var_tkwnotnode4
== NULL
) {
711 if(cltype13
>= var_tkwnotnode4
->type
->table_size
) {
714 var12
= var_tkwnotnode4
->type
->type_table
[cltype13
] == idtype14
;
717 if (unlikely(!var12
)) {
718 PRINT_ERROR("Runtime error: %s", "Assert failed");
719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5082);
722 var_tkwnullablenode5
= var_nodearraylist7
;
723 /* <var_tkwnullablenode5:nullable Object> isa nullable TKwnullable */
724 cltype16
= type_nullable__nit__TKwnullable
.color
;
725 idtype17
= type_nullable__nit__TKwnullable
.id
;
726 if(var_tkwnullablenode5
== NULL
) {
729 if(cltype16
>= var_tkwnullablenode5
->type
->table_size
) {
732 var15
= var_tkwnullablenode5
->type
->type_table
[cltype16
] == idtype17
;
735 if (unlikely(!var15
)) {
736 PRINT_ERROR("Runtime error: %s", "Assert failed");
737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5084);
740 var18
= NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall
);
742 nit__parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(var18
, var_ptypenode2
, var_tkwasnode3
, var_tkwnotnode4
, var_tkwnullablenode5
); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on <var18:AAsNotNullableExternCall>*/
744 var_pexterncallnode1
= var18
;
745 var_node_list
= var_pexterncallnode1
;
746 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction140> */
748 var20
= nit___nit__Parser___go_to(var_p
, var19
);
751 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
755 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
756 void nit__parser___nit__parser__ReduceAction142___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
757 val
* var_p
/* var p: Parser */;
758 val
* var
/* : null */;
759 val
* var_node_list
/* var node_list: nullable Object */;
760 val
* var1
/* : nullable Object */;
761 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
762 val
* var_tstringnode1
/* var tstringnode1: nullable Object */;
763 long var2
/* : Int */;
764 long var3
/* : Int */;
769 var1
= nit___nit__Parser___pop(var_p
);
771 var_nodearraylist1
= var1
;
772 var_tstringnode1
= var_nodearraylist1
;
773 var_node_list
= var_tstringnode1
;
774 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction142> */
776 var3
= nit___nit__Parser___go_to(var_p
, var2
);
779 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
783 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
784 void nit__parser___nit__parser__ReduceAction143___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
785 val
* var_p
/* var p: Parser */;
786 val
* var
/* : null */;
787 val
* var_node_list
/* var node_list: nullable Object */;
788 val
* var1
/* : nullable Object */;
789 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
790 val
* var2
/* : nullable Object */;
791 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
792 val
* var3
/* : nullable Object */;
793 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
794 val
* var4
/* : nullable Object */;
795 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
796 val
* var_tkwinnode2
/* var tkwinnode2: nullable Object */;
797 short int var5
/* : Bool */;
800 val
* var_tstringnode3
/* var tstringnode3: nullable Object */;
801 short int var6
/* : Bool */;
804 val
* var9
/* : AInLanguage */;
805 val
* var_pinlanguagenode1
/* var pinlanguagenode1: nullable AInLanguage */;
806 long var10
/* : Int */;
807 long var11
/* : Int */;
812 var1
= nit___nit__Parser___pop(var_p
);
814 var_nodearraylist4
= var1
;
816 var2
= nit___nit__Parser___pop(var_p
);
818 var_nodearraylist3
= var2
;
820 var3
= nit___nit__Parser___pop(var_p
);
822 var_nodearraylist2
= var3
;
824 var4
= nit___nit__Parser___pop(var_p
);
826 var_nodearraylist1
= var4
;
827 var_tkwinnode2
= var_nodearraylist1
;
828 /* <var_tkwinnode2:nullable Object> isa nullable TKwin */
829 cltype
= type_nullable__nit__TKwin
.color
;
830 idtype
= type_nullable__nit__TKwin
.id
;
831 if(var_tkwinnode2
== NULL
) {
834 if(cltype
>= var_tkwinnode2
->type
->table_size
) {
837 var5
= var_tkwinnode2
->type
->type_table
[cltype
] == idtype
;
840 if (unlikely(!var5
)) {
841 PRINT_ERROR("Runtime error: %s", "Assert failed");
842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5116);
845 var_tstringnode3
= var_nodearraylist3
;
846 /* <var_tstringnode3:nullable Object> isa nullable TString */
847 cltype7
= type_nullable__nit__TString
.color
;
848 idtype8
= type_nullable__nit__TString
.id
;
849 if(var_tstringnode3
== NULL
) {
852 if(cltype7
>= var_tstringnode3
->type
->table_size
) {
855 var6
= var_tstringnode3
->type
->type_table
[cltype7
] == idtype8
;
858 if (unlikely(!var6
)) {
859 PRINT_ERROR("Runtime error: %s", "Assert failed");
860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5118);
863 var9
= NEW_nit__AInLanguage(&type_nit__AInLanguage
);
865 nit__parser_prod___AInLanguage___init_ainlanguage(var9
, var_tkwinnode2
, var_tstringnode3
); /* Direct call parser_prod#AInLanguage#init_ainlanguage on <var9:AInLanguage>*/
867 var_pinlanguagenode1
= var9
;
868 var_node_list
= var_pinlanguagenode1
;
869 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction143> */
871 var11
= nit___nit__Parser___go_to(var_p
, var10
);
874 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
878 /* method parser#ReduceAction144#action for (self: ReduceAction144, Parser) */
879 void nit__parser___nit__parser__ReduceAction144___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
880 val
* var_p
/* var p: Parser */;
881 val
* var
/* : null */;
882 val
* var_node_list
/* var node_list: nullable Object */;
883 val
* var1
/* : nullable Object */;
884 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
885 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
886 short int var2
/* : Bool */;
889 val
* var3
/* : AExternCodeBlock */;
890 val
* var4
/* : null */;
891 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
892 long var5
/* : Int */;
893 long var6
/* : Int */;
898 var1
= nit___nit__Parser___pop(var_p
);
900 var_nodearraylist1
= var1
;
901 var_texterncodesegmentnode3
= var_nodearraylist1
;
902 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
903 cltype
= type_nullable__nit__TExternCodeSegment
.color
;
904 idtype
= type_nullable__nit__TExternCodeSegment
.id
;
905 if(var_texterncodesegmentnode3
== NULL
) {
908 if(cltype
>= var_texterncodesegmentnode3
->type
->table_size
) {
911 var2
= var_texterncodesegmentnode3
->type
->type_table
[cltype
] == idtype
;
914 if (unlikely(!var2
)) {
915 PRINT_ERROR("Runtime error: %s", "Assert failed");
916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5134);
919 var3
= NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock
);
922 nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var3
, var4
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var3:AExternCodeBlock>*/
924 var_pexterncodeblocknode1
= var3
;
925 var_node_list
= var_pexterncodeblocknode1
;
926 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction144> */
928 var6
= nit___nit__Parser___go_to(var_p
, var5
);
931 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
935 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
936 void nit__parser___nit__parser__ReduceAction145___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
937 val
* var_p
/* var p: Parser */;
938 val
* var
/* : null */;
939 val
* var_node_list
/* var node_list: nullable Object */;
940 val
* var1
/* : nullable Object */;
941 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
942 val
* var2
/* : nullable Object */;
943 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
944 val
* var_pinlanguagenode2
/* var pinlanguagenode2: nullable Object */;
945 short int var3
/* : Bool */;
948 val
* var_texterncodesegmentnode3
/* var texterncodesegmentnode3: nullable Object */;
949 short int var4
/* : Bool */;
952 val
* var7
/* : AExternCodeBlock */;
953 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable AExternCodeBlock */;
954 long var8
/* : Int */;
955 long var9
/* : Int */;
960 var1
= nit___nit__Parser___pop(var_p
);
962 var_nodearraylist2
= var1
;
964 var2
= nit___nit__Parser___pop(var_p
);
966 var_nodearraylist1
= var2
;
967 var_pinlanguagenode2
= var_nodearraylist1
;
968 /* <var_pinlanguagenode2:nullable Object> isa nullable AInLanguage */
969 cltype
= type_nullable__nit__AInLanguage
.color
;
970 idtype
= type_nullable__nit__AInLanguage
.id
;
971 if(var_pinlanguagenode2
== NULL
) {
974 if(cltype
>= var_pinlanguagenode2
->type
->table_size
) {
977 var3
= var_pinlanguagenode2
->type
->type_table
[cltype
] == idtype
;
980 if (unlikely(!var3
)) {
981 PRINT_ERROR("Runtime error: %s", "Assert failed");
982 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5151);
985 var_texterncodesegmentnode3
= var_nodearraylist2
;
986 /* <var_texterncodesegmentnode3:nullable Object> isa nullable TExternCodeSegment */
987 cltype5
= type_nullable__nit__TExternCodeSegment
.color
;
988 idtype6
= type_nullable__nit__TExternCodeSegment
.id
;
989 if(var_texterncodesegmentnode3
== NULL
) {
992 if(cltype5
>= var_texterncodesegmentnode3
->type
->table_size
) {
995 var4
= var_texterncodesegmentnode3
->type
->type_table
[cltype5
] == idtype6
;
998 if (unlikely(!var4
)) {
999 PRINT_ERROR("Runtime error: %s", "Assert failed");
1000 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5153);
1003 var7
= NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock
);
1005 nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var7
, var_pinlanguagenode2
, var_texterncodesegmentnode3
); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var7:AExternCodeBlock>*/
1007 var_pexterncodeblocknode1
= var7
;
1008 var_node_list
= var_pexterncodeblocknode1
;
1009 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction145> */
1011 var9
= nit___nit__Parser___go_to(var_p
, var8
);
1014 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1018 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
1019 void nit__parser___nit__parser__ReduceAction146___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1020 val
* var_p
/* var p: Parser */;
1021 val
* var
/* : null */;
1022 val
* var_node_list
/* var node_list: nullable Object */;
1023 val
* var1
/* : nullable Object */;
1024 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1025 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
1026 long var2
/* : Int */;
1027 long var3
/* : Int */;
1030 var_node_list
= var
;
1032 var1
= nit___nit__Parser___pop(var_p
);
1034 var_nodearraylist1
= var1
;
1035 var_pexterncodeblocknode1
= var_nodearraylist1
;
1036 var_node_list
= var_pexterncodeblocknode1
;
1037 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction146> */
1039 var3
= nit___nit__Parser___go_to(var_p
, var2
);
1042 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1046 /* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */
1047 void nit__parser___nit__parser__ReduceAction148___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1048 val
* var_p
/* var p: Parser */;
1049 val
* var
/* : null */;
1050 val
* var_node_list
/* var node_list: nullable Object */;
1051 val
* var1
/* : nullable Object */;
1052 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1053 val
* var2
/* : nullable Object */;
1054 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1055 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
1056 long var3
/* : Int */;
1057 long var4
/* : Int */;
1060 var_node_list
= var
;
1062 var1
= nit___nit__Parser___pop(var_p
);
1064 var_nodearraylist2
= var1
;
1066 var2
= nit___nit__Parser___pop(var_p
);
1068 var_nodearraylist1
= var2
;
1069 var_pexterncodeblocknode1
= var_nodearraylist2
;
1070 var_node_list
= var_pexterncodeblocknode1
;
1071 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction148> */
1073 var4
= nit___nit__Parser___go_to(var_p
, var3
);
1076 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1080 /* method parser#ReduceAction149#action for (self: ReduceAction149, Parser) */
1081 void nit__parser___nit__parser__ReduceAction149___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1082 val
* var_p
/* var p: Parser */;
1083 val
* var
/* : null */;
1084 val
* var_node_list
/* var node_list: nullable Object */;
1085 val
* var1
/* : nullable Object */;
1086 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1087 val
* var2
/* : nullable Object */;
1088 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1089 val
* var3
/* : Array[Object] */;
1090 val
* var_listnode4
/* var listnode4: Array[Object] */;
1091 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
1092 short int var4
/* : Bool */;
1095 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
1096 short int var5
/* : Bool */;
1099 val
* var8
/* : AType */;
1100 val
* var9
/* : null */;
1101 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
1102 long var10
/* : Int */;
1103 long var11
/* : Int */;
1106 var_node_list
= var
;
1108 var1
= nit___nit__Parser___pop(var_p
);
1110 var_nodearraylist2
= var1
;
1112 var2
= nit___nit__Parser___pop(var_p
);
1114 var_nodearraylist1
= var2
;
1115 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1117 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1119 var_listnode4
= var3
;
1120 var_tclassidnode3
= var_nodearraylist1
;
1121 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
1122 cltype
= type_nullable__nit__TClassid
.color
;
1123 idtype
= type_nullable__nit__TClassid
.id
;
1124 if(var_tclassidnode3
== NULL
) {
1127 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
1130 var4
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
1133 if (unlikely(!var4
)) {
1134 PRINT_ERROR("Runtime error: %s", "Assert failed");
1135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5194);
1138 var_pannotationsnode5
= var_nodearraylist2
;
1139 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
1140 cltype6
= type_nullable__nit__AAnnotations
.color
;
1141 idtype7
= type_nullable__nit__AAnnotations
.id
;
1142 if(var_pannotationsnode5
== NULL
) {
1145 if(cltype6
>= var_pannotationsnode5
->type
->table_size
) {
1148 var5
= var_pannotationsnode5
->type
->type_table
[cltype6
] == idtype7
;
1151 if (unlikely(!var5
)) {
1152 PRINT_ERROR("Runtime error: %s", "Assert failed");
1153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5196);
1156 var8
= NEW_nit__AType(&type_nit__AType
);
1159 nit__parser_prod___AType___init_atype(var8
, var9
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var8:AType>*/
1161 var_ptypenode1
= var8
;
1162 var_node_list
= var_ptypenode1
;
1163 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction149> */
1165 var11
= nit___nit__Parser___go_to(var_p
, var10
);
1168 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1172 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
1173 void nit__parser___nit__parser__ReduceAction150___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1174 val
* var_p
/* var p: Parser */;
1175 val
* var
/* : null */;
1176 val
* var_node_list
/* var node_list: nullable Object */;
1177 val
* var1
/* : nullable Object */;
1178 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1179 val
* var2
/* : nullable Object */;
1180 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1181 val
* var3
/* : nullable Object */;
1182 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1183 val
* var4
/* : Array[Object] */;
1184 val
* var_listnode4
/* var listnode4: Array[Object] */;
1185 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
1186 short int var5
/* : Bool */;
1189 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
1190 short int var6
/* : Bool */;
1193 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
1194 short int var9
/* : Bool */;
1197 val
* var12
/* : AType */;
1198 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
1199 long var13
/* : Int */;
1200 long var14
/* : Int */;
1203 var_node_list
= var
;
1205 var1
= nit___nit__Parser___pop(var_p
);
1207 var_nodearraylist3
= var1
;
1209 var2
= nit___nit__Parser___pop(var_p
);
1211 var_nodearraylist2
= var2
;
1213 var3
= nit___nit__Parser___pop(var_p
);
1215 var_nodearraylist1
= var3
;
1216 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1218 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
1220 var_listnode4
= var4
;
1221 var_tkwnullablenode2
= var_nodearraylist1
;
1222 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
1223 cltype
= type_nullable__nit__TKwnullable
.color
;
1224 idtype
= type_nullable__nit__TKwnullable
.id
;
1225 if(var_tkwnullablenode2
== NULL
) {
1228 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
1231 var5
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
1234 if (unlikely(!var5
)) {
1235 PRINT_ERROR("Runtime error: %s", "Assert failed");
1236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5217);
1239 var_tclassidnode3
= var_nodearraylist2
;
1240 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
1241 cltype7
= type_nullable__nit__TClassid
.color
;
1242 idtype8
= type_nullable__nit__TClassid
.id
;
1243 if(var_tclassidnode3
== NULL
) {
1246 if(cltype7
>= var_tclassidnode3
->type
->table_size
) {
1249 var6
= var_tclassidnode3
->type
->type_table
[cltype7
] == idtype8
;
1252 if (unlikely(!var6
)) {
1253 PRINT_ERROR("Runtime error: %s", "Assert failed");
1254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5219);
1257 var_pannotationsnode5
= var_nodearraylist3
;
1258 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
1259 cltype10
= type_nullable__nit__AAnnotations
.color
;
1260 idtype11
= type_nullable__nit__AAnnotations
.id
;
1261 if(var_pannotationsnode5
== NULL
) {
1264 if(cltype10
>= var_pannotationsnode5
->type
->table_size
) {
1267 var9
= var_pannotationsnode5
->type
->type_table
[cltype10
] == idtype11
;
1270 if (unlikely(!var9
)) {
1271 PRINT_ERROR("Runtime error: %s", "Assert failed");
1272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5221);
1275 var12
= NEW_nit__AType(&type_nit__AType
);
1277 nit__parser_prod___AType___init_atype(var12
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AType#init_atype on <var12:AType>*/
1279 var_ptypenode1
= var12
;
1280 var_node_list
= var_ptypenode1
;
1281 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction150> */
1283 var14
= nit___nit__Parser___go_to(var_p
, var13
);
1286 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1290 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
1291 void nit__parser___nit__parser__ReduceAction151___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1292 val
* var_p
/* var p: Parser */;
1293 val
* var
/* : null */;
1294 val
* var_node_list
/* var node_list: nullable Object */;
1295 val
* var1
/* : nullable Object */;
1296 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1297 val
* var2
/* : nullable Object */;
1298 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1299 val
* var3
/* : nullable Object */;
1300 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1301 val
* var4
/* : nullable Object */;
1302 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1303 val
* var5
/* : nullable Object */;
1304 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1305 val
* var6
/* : nullable Object */;
1306 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1307 val
* var7
/* : nullable Object */;
1308 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1309 val
* var8
/* : Array[Object] */;
1310 val
* var_listnode5
/* var listnode5: Array[Object] */;
1311 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
1312 short int var9
/* : Bool */;
1315 val
* var_listnode4
/* var listnode4: nullable Object */;
1316 short int var10
/* : Bool */;
1319 val
* var13
/* : Array[Object] */;
1320 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
1321 short int var14
/* : Bool */;
1324 val
* var17
/* : AType */;
1325 val
* var18
/* : null */;
1326 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
1327 long var19
/* : Int */;
1328 long var20
/* : Int */;
1331 var_node_list
= var
;
1333 var1
= nit___nit__Parser___pop(var_p
);
1335 var_nodearraylist7
= var1
;
1337 var2
= nit___nit__Parser___pop(var_p
);
1339 var_nodearraylist6
= var2
;
1341 var3
= nit___nit__Parser___pop(var_p
);
1343 var_nodearraylist5
= var3
;
1345 var4
= nit___nit__Parser___pop(var_p
);
1347 var_nodearraylist4
= var4
;
1349 var5
= nit___nit__Parser___pop(var_p
);
1351 var_nodearraylist3
= var5
;
1353 var6
= nit___nit__Parser___pop(var_p
);
1355 var_nodearraylist2
= var6
;
1357 var7
= nit___nit__Parser___pop(var_p
);
1359 var_nodearraylist1
= var7
;
1360 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1362 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
1364 var_listnode5
= var8
;
1365 var_tclassidnode3
= var_nodearraylist1
;
1366 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
1367 cltype
= type_nullable__nit__TClassid
.color
;
1368 idtype
= type_nullable__nit__TClassid
.id
;
1369 if(var_tclassidnode3
== NULL
) {
1372 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
1375 var9
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
1378 if (unlikely(!var9
)) {
1379 PRINT_ERROR("Runtime error: %s", "Assert failed");
1380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5246);
1383 var_listnode4
= var_nodearraylist4
;
1384 /* <var_listnode4:nullable Object> isa Array[Object] */
1385 cltype11
= type_standard__Array__standard__Object
.color
;
1386 idtype12
= type_standard__Array__standard__Object
.id
;
1387 if(var_listnode4
== NULL
) {
1390 if(cltype11
>= var_listnode4
->type
->table_size
) {
1393 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
1396 if (unlikely(!var10
)) {
1397 PRINT_ERROR("Runtime error: %s", "Assert failed");
1398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5248);
1402 var13
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode4
);
1404 var_listnode5
= var13
;
1405 var_pannotationsnode6
= var_nodearraylist7
;
1406 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
1407 cltype15
= type_nullable__nit__AAnnotations
.color
;
1408 idtype16
= type_nullable__nit__AAnnotations
.id
;
1409 if(var_pannotationsnode6
== NULL
) {
1412 if(cltype15
>= var_pannotationsnode6
->type
->table_size
) {
1415 var14
= var_pannotationsnode6
->type
->type_table
[cltype15
] == idtype16
;
1418 if (unlikely(!var14
)) {
1419 PRINT_ERROR("Runtime error: %s", "Assert failed");
1420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5251);
1423 var17
= NEW_nit__AType(&type_nit__AType
);
1426 nit__parser_prod___AType___init_atype(var17
, var18
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var17:AType>*/
1428 var_ptypenode1
= var17
;
1429 var_node_list
= var_ptypenode1
;
1430 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction151> */
1432 var20
= nit___nit__Parser___go_to(var_p
, var19
);
1435 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1439 /* method parser#ReduceAction152#action for (self: ReduceAction152, Parser) */
1440 void nit__parser___nit__parser__ReduceAction152___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1441 val
* var_p
/* var p: Parser */;
1442 val
* var
/* : null */;
1443 val
* var_node_list
/* var node_list: nullable Object */;
1444 val
* var1
/* : nullable Object */;
1445 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1446 val
* var2
/* : nullable Object */;
1447 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1448 val
* var3
/* : nullable Object */;
1449 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1450 val
* var4
/* : nullable Object */;
1451 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1452 val
* var5
/* : nullable Object */;
1453 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1454 val
* var6
/* : nullable Object */;
1455 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1456 val
* var7
/* : nullable Object */;
1457 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1458 val
* var8
/* : nullable Object */;
1459 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1460 val
* var9
/* : Array[Object] */;
1461 val
* var_listnode5
/* var listnode5: Array[Object] */;
1462 val
* var_tkwnullablenode2
/* var tkwnullablenode2: nullable Object */;
1463 short int var10
/* : Bool */;
1466 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
1467 short int var11
/* : Bool */;
1470 val
* var_listnode4
/* var listnode4: nullable Object */;
1471 short int var14
/* : Bool */;
1474 val
* var17
/* : Array[Object] */;
1475 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
1476 short int var18
/* : Bool */;
1479 val
* var21
/* : AType */;
1480 val
* var_ptypenode1
/* var ptypenode1: nullable AType */;
1481 long var22
/* : Int */;
1482 long var23
/* : Int */;
1485 var_node_list
= var
;
1487 var1
= nit___nit__Parser___pop(var_p
);
1489 var_nodearraylist8
= var1
;
1491 var2
= nit___nit__Parser___pop(var_p
);
1493 var_nodearraylist7
= var2
;
1495 var3
= nit___nit__Parser___pop(var_p
);
1497 var_nodearraylist6
= var3
;
1499 var4
= nit___nit__Parser___pop(var_p
);
1501 var_nodearraylist5
= var4
;
1503 var5
= nit___nit__Parser___pop(var_p
);
1505 var_nodearraylist4
= var5
;
1507 var6
= nit___nit__Parser___pop(var_p
);
1509 var_nodearraylist3
= var6
;
1511 var7
= nit___nit__Parser___pop(var_p
);
1513 var_nodearraylist2
= var7
;
1515 var8
= nit___nit__Parser___pop(var_p
);
1517 var_nodearraylist1
= var8
;
1518 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1520 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
1522 var_listnode5
= var9
;
1523 var_tkwnullablenode2
= var_nodearraylist1
;
1524 /* <var_tkwnullablenode2:nullable Object> isa nullable TKwnullable */
1525 cltype
= type_nullable__nit__TKwnullable
.color
;
1526 idtype
= type_nullable__nit__TKwnullable
.id
;
1527 if(var_tkwnullablenode2
== NULL
) {
1530 if(cltype
>= var_tkwnullablenode2
->type
->table_size
) {
1533 var10
= var_tkwnullablenode2
->type
->type_table
[cltype
] == idtype
;
1536 if (unlikely(!var10
)) {
1537 PRINT_ERROR("Runtime error: %s", "Assert failed");
1538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5277);
1541 var_tclassidnode3
= var_nodearraylist2
;
1542 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
1543 cltype12
= type_nullable__nit__TClassid
.color
;
1544 idtype13
= type_nullable__nit__TClassid
.id
;
1545 if(var_tclassidnode3
== NULL
) {
1548 if(cltype12
>= var_tclassidnode3
->type
->table_size
) {
1551 var11
= var_tclassidnode3
->type
->type_table
[cltype12
] == idtype13
;
1554 if (unlikely(!var11
)) {
1555 PRINT_ERROR("Runtime error: %s", "Assert failed");
1556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5279);
1559 var_listnode4
= var_nodearraylist5
;
1560 /* <var_listnode4:nullable Object> isa Array[Object] */
1561 cltype15
= type_standard__Array__standard__Object
.color
;
1562 idtype16
= type_standard__Array__standard__Object
.id
;
1563 if(var_listnode4
== NULL
) {
1566 if(cltype15
>= var_listnode4
->type
->table_size
) {
1569 var14
= var_listnode4
->type
->type_table
[cltype15
] == idtype16
;
1572 if (unlikely(!var14
)) {
1573 PRINT_ERROR("Runtime error: %s", "Assert failed");
1574 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5281);
1578 var17
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode4
);
1580 var_listnode5
= var17
;
1581 var_pannotationsnode6
= var_nodearraylist8
;
1582 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
1583 cltype19
= type_nullable__nit__AAnnotations
.color
;
1584 idtype20
= type_nullable__nit__AAnnotations
.id
;
1585 if(var_pannotationsnode6
== NULL
) {
1588 if(cltype19
>= var_pannotationsnode6
->type
->table_size
) {
1591 var18
= var_pannotationsnode6
->type
->type_table
[cltype19
] == idtype20
;
1594 if (unlikely(!var18
)) {
1595 PRINT_ERROR("Runtime error: %s", "Assert failed");
1596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5284);
1599 var21
= NEW_nit__AType(&type_nit__AType
);
1601 nit__parser_prod___AType___init_atype(var21
, var_tkwnullablenode2
, var_tclassidnode3
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#AType#init_atype on <var21:AType>*/
1603 var_ptypenode1
= var21
;
1604 var_node_list
= var_ptypenode1
;
1605 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction152> */
1607 var23
= nit___nit__Parser___go_to(var_p
, var22
);
1610 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1614 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
1615 void nit__parser___nit__parser__ReduceAction153___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1616 val
* var_p
/* var p: Parser */;
1617 val
* var
/* : null */;
1618 val
* var_node_list
/* var node_list: nullable Object */;
1619 val
* var1
/* : nullable Object */;
1620 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1621 val
* var2
/* : Array[Object] */;
1622 val
* var_listnode2
/* var listnode2: Array[Object] */;
1623 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1624 val
* var3
/* : null */;
1625 short int var4
/* : Bool */;
1626 short int var5
/* : Bool */;
1627 long var6
/* : Int */;
1628 long var7
/* : Int */;
1631 var_node_list
= var
;
1633 var1
= nit___nit__Parser___pop(var_p
);
1635 var_nodearraylist1
= var1
;
1636 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1638 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1640 var_listnode2
= var2
;
1641 var_ptypenode1
= var_nodearraylist1
;
1643 if (var_ptypenode1
== NULL
) {
1644 var4
= 0; /* is null */
1646 var4
= 1; /* arg is null and recv is not */
1649 var5
= ((short int (*)(val
* self
, val
* p0
))(var_ptypenode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ptypenode1
, var3
) /* != on <var_ptypenode1:nullable Object>*/;
1654 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
1658 var_node_list
= var_listnode2
;
1659 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction153> */
1661 var7
= nit___nit__Parser___go_to(var_p
, var6
);
1664 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1668 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
1669 void nit__parser___nit__parser__ReduceAction154___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1670 val
* var_p
/* var p: Parser */;
1671 val
* var
/* : null */;
1672 val
* var_node_list
/* var node_list: nullable Object */;
1673 val
* var1
/* : nullable Object */;
1674 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1675 val
* var2
/* : nullable Object */;
1676 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1677 val
* var3
/* : Array[Object] */;
1678 val
* var_listnode3
/* var listnode3: Array[Object] */;
1679 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1680 val
* var_listnode2
/* var listnode2: nullable Object */;
1681 short int var4
/* : Bool */;
1684 val
* var5
/* : null */;
1685 short int var6
/* : Bool */;
1686 short int var7
/* : Bool */;
1687 val
* var8
/* : Array[Object] */;
1688 long var9
/* : Int */;
1689 long var10
/* : Int */;
1692 var_node_list
= var
;
1694 var1
= nit___nit__Parser___pop(var_p
);
1696 var_nodearraylist2
= var1
;
1698 var2
= nit___nit__Parser___pop(var_p
);
1700 var_nodearraylist1
= var2
;
1701 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1703 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1705 var_listnode3
= var3
;
1706 var_ptypenode1
= var_nodearraylist1
;
1707 var_listnode2
= var_nodearraylist2
;
1708 /* <var_listnode2:nullable Object> isa Array[Object] */
1709 cltype
= type_standard__Array__standard__Object
.color
;
1710 idtype
= type_standard__Array__standard__Object
.id
;
1711 if(var_listnode2
== NULL
) {
1714 if(cltype
>= var_listnode2
->type
->table_size
) {
1717 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
1720 if (unlikely(!var4
)) {
1721 PRINT_ERROR("Runtime error: %s", "Assert failed");
1722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5320);
1726 if (var_ptypenode1
== NULL
) {
1727 var6
= 0; /* is null */
1729 var6
= 1; /* arg is null and recv is not */
1732 var7
= ((short int (*)(val
* self
, val
* p0
))(var_ptypenode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ptypenode1
, var5
) /* != on <var_ptypenode1:nullable Object>*/;
1737 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_ptypenode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1742 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
1744 var_listnode3
= var8
;
1745 var_node_list
= var_listnode3
;
1746 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction154> */
1748 var10
= nit___nit__Parser___go_to(var_p
, var9
);
1751 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1755 /* method parser#ReduceAction155#action for (self: ReduceAction155, Parser) */
1756 void nit__parser___nit__parser__ReduceAction155___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1757 val
* var_p
/* var p: Parser */;
1758 val
* var
/* : null */;
1759 val
* var_node_list
/* var node_list: nullable Object */;
1760 val
* var1
/* : nullable Object */;
1761 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1762 val
* var2
/* : nullable Object */;
1763 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1764 val
* var3
/* : nullable Object */;
1765 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1766 val
* var_ptypenode1
/* var ptypenode1: nullable Object */;
1767 long var4
/* : Int */;
1768 long var5
/* : Int */;
1771 var_node_list
= var
;
1773 var1
= nit___nit__Parser___pop(var_p
);
1775 var_nodearraylist3
= var1
;
1777 var2
= nit___nit__Parser___pop(var_p
);
1779 var_nodearraylist2
= var2
;
1781 var3
= nit___nit__Parser___pop(var_p
);
1783 var_nodearraylist1
= var3
;
1784 var_ptypenode1
= var_nodearraylist3
;
1785 var_node_list
= var_ptypenode1
;
1786 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction155> */
1788 var5
= nit___nit__Parser___go_to(var_p
, var4
);
1791 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1795 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
1796 void nit__parser___nit__parser__ReduceAction159___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1797 val
* var_p
/* var p: Parser */;
1798 val
* var
/* : null */;
1799 val
* var_node_list
/* var node_list: nullable Object */;
1800 val
* var1
/* : nullable Object */;
1801 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1802 val
* var2
/* : nullable Object */;
1803 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1804 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1805 long var3
/* : Int */;
1806 long var4
/* : Int */;
1809 var_node_list
= var
;
1811 var1
= nit___nit__Parser___pop(var_p
);
1813 var_nodearraylist2
= var1
;
1815 var2
= nit___nit__Parser___pop(var_p
);
1817 var_nodearraylist1
= var2
;
1818 var_pexprnode1
= var_nodearraylist2
;
1819 var_node_list
= var_pexprnode1
;
1820 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction159> */
1822 var4
= nit___nit__Parser___go_to(var_p
, var3
);
1825 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1829 /* method parser#ReduceAction160#action for (self: ReduceAction160, Parser) */
1830 void nit__parser___nit__parser__ReduceAction160___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1831 val
* var_p
/* var p: Parser */;
1832 val
* var
/* : null */;
1833 val
* var_node_list
/* var node_list: nullable Object */;
1834 val
* var1
/* : nullable Object */;
1835 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1836 val
* var2
/* : nullable Object */;
1837 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1838 val
* var3
/* : Array[Object] */;
1839 val
* var_listnode2
/* var listnode2: Array[Object] */;
1840 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
1841 short int var4
/* : Bool */;
1844 val
* var5
/* : ABlockExpr */;
1845 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1846 long var6
/* : Int */;
1847 long var7
/* : Int */;
1850 var_node_list
= var
;
1852 var1
= nit___nit__Parser___pop(var_p
);
1854 var_nodearraylist2
= var1
;
1856 var2
= nit___nit__Parser___pop(var_p
);
1858 var_nodearraylist1
= var2
;
1859 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1861 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1863 var_listnode2
= var3
;
1864 var_tkwendnode3
= var_nodearraylist2
;
1865 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
1866 cltype
= type_nullable__nit__TKwend
.color
;
1867 idtype
= type_nullable__nit__TKwend
.id
;
1868 if(var_tkwendnode3
== NULL
) {
1871 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
1874 var4
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
1877 if (unlikely(!var4
)) {
1878 PRINT_ERROR("Runtime error: %s", "Assert failed");
1879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5363);
1882 var5
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
1884 nit__parser_prod___ABlockExpr___init_ablockexpr(var5
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var5:ABlockExpr>*/
1886 var_pexprnode1
= var5
;
1887 var_node_list
= var_pexprnode1
;
1888 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction160> */
1890 var7
= nit___nit__Parser___go_to(var_p
, var6
);
1893 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1897 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
1898 void nit__parser___nit__parser__ReduceAction161___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1899 val
* var_p
/* var p: Parser */;
1900 val
* var
/* : null */;
1901 val
* var_node_list
/* var node_list: nullable Object */;
1902 val
* var1
/* : nullable Object */;
1903 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1904 val
* var2
/* : Array[Object] */;
1905 val
* var_listnode2
/* var listnode2: Array[Object] */;
1906 val
* var_tkwendnode3
/* var tkwendnode3: nullable Object */;
1907 short int var3
/* : Bool */;
1910 val
* var4
/* : ABlockExpr */;
1911 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
1912 long var5
/* : Int */;
1913 long var6
/* : Int */;
1916 var_node_list
= var
;
1918 var1
= nit___nit__Parser___pop(var_p
);
1920 var_nodearraylist1
= var1
;
1921 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1923 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1925 var_listnode2
= var2
;
1926 var_tkwendnode3
= var_nodearraylist1
;
1927 /* <var_tkwendnode3:nullable Object> isa nullable TKwend */
1928 cltype
= type_nullable__nit__TKwend
.color
;
1929 idtype
= type_nullable__nit__TKwend
.id
;
1930 if(var_tkwendnode3
== NULL
) {
1933 if(cltype
>= var_tkwendnode3
->type
->table_size
) {
1936 var3
= var_tkwendnode3
->type
->type_table
[cltype
] == idtype
;
1939 if (unlikely(!var3
)) {
1940 PRINT_ERROR("Runtime error: %s", "Assert failed");
1941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5380);
1944 var4
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
1946 nit__parser_prod___ABlockExpr___init_ablockexpr(var4
, var_listnode2
, var_tkwendnode3
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var4:ABlockExpr>*/
1948 var_pexprnode1
= var4
;
1949 var_node_list
= var_pexprnode1
;
1950 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction161> */
1952 var6
= nit___nit__Parser___go_to(var_p
, var5
);
1955 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1959 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
1960 void nit__parser___nit__parser__ReduceAction162___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1961 val
* var_p
/* var p: Parser */;
1962 val
* var
/* : null */;
1963 val
* var_node_list
/* var node_list: nullable Object */;
1964 val
* var1
/* : nullable Object */;
1965 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1966 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1967 long var2
/* : Int */;
1968 long var3
/* : Int */;
1971 var_node_list
= var
;
1973 var1
= nit___nit__Parser___pop(var_p
);
1975 var_nodearraylist1
= var1
;
1976 var_pexprnode1
= var_nodearraylist1
;
1977 var_node_list
= var_pexprnode1
;
1978 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction162> */
1980 var3
= nit___nit__Parser___go_to(var_p
, var2
);
1983 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1987 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
1988 void nit__parser___nit__parser__ReduceAction163___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1989 val
* var_p
/* var p: Parser */;
1990 val
* var
/* : null */;
1991 val
* var_node_list
/* var node_list: nullable Object */;
1992 val
* var1
/* : nullable Object */;
1993 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1994 val
* var2
/* : Array[Object] */;
1995 val
* var_listnode3
/* var listnode3: Array[Object] */;
1996 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1997 short int var3
/* : Bool */;
2000 val
* var4
/* : null */;
2001 short int var5
/* : Bool */;
2002 short int var6
/* : Bool */;
2003 val
* var_other
/* var other: nullable Object */;
2004 short int var8
/* : Bool */;
2005 short int var9
/* : Bool */;
2006 val
* var10
/* : ABlockExpr */;
2007 val
* var11
/* : null */;
2008 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2009 long var12
/* : Int */;
2010 long var13
/* : Int */;
2013 var_node_list
= var
;
2015 var1
= nit___nit__Parser___pop(var_p
);
2017 var_nodearraylist1
= var1
;
2018 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2020 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
2022 var_listnode3
= var2
;
2023 var_pexprnode2
= var_nodearraylist1
;
2024 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2025 cltype
= type_nullable__nit__AExpr
.color
;
2026 idtype
= type_nullable__nit__AExpr
.id
;
2027 if(var_pexprnode2
== NULL
) {
2030 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2033 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2036 if (unlikely(!var3
)) {
2037 PRINT_ERROR("Runtime error: %s", "Assert failed");
2038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5408);
2042 if (var_pexprnode2
== NULL
) {
2043 var5
= 0; /* is null */
2045 var5
= 1; /* arg is null and recv is not */
2048 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2051 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2062 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2066 var10
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2069 nit__parser_prod___ABlockExpr___init_ablockexpr(var10
, var_listnode3
, var11
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var10:ABlockExpr>*/
2071 var_pexprnode1
= var10
;
2072 var_node_list
= var_pexprnode1
;
2073 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction163> */
2075 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2078 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2082 /* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */
2083 void nit__parser___nit__parser__ReduceAction164___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2084 val
* var_p
/* var p: Parser */;
2085 val
* var
/* : null */;
2086 val
* var_node_list
/* var node_list: nullable Object */;
2087 val
* var1
/* : nullable Object */;
2088 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2089 val
* var2
/* : nullable Object */;
2090 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2091 val
* var3
/* : Array[Object] */;
2092 val
* var_listnode4
/* var listnode4: Array[Object] */;
2093 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2094 short int var4
/* : Bool */;
2097 val
* var_listnode3
/* var listnode3: nullable Object */;
2098 short int var5
/* : Bool */;
2101 val
* var8
/* : null */;
2102 short int var9
/* : Bool */;
2103 short int var10
/* : Bool */;
2104 val
* var_other
/* var other: nullable Object */;
2105 short int var12
/* : Bool */;
2106 short int var13
/* : Bool */;
2107 val
* var14
/* : Array[Object] */;
2108 val
* var15
/* : ABlockExpr */;
2109 val
* var16
/* : null */;
2110 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2111 long var17
/* : Int */;
2112 long var18
/* : Int */;
2115 var_node_list
= var
;
2117 var1
= nit___nit__Parser___pop(var_p
);
2119 var_nodearraylist2
= var1
;
2121 var2
= nit___nit__Parser___pop(var_p
);
2123 var_nodearraylist1
= var2
;
2124 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2126 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
2128 var_listnode4
= var3
;
2129 var_pexprnode2
= var_nodearraylist1
;
2130 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2131 cltype
= type_nullable__nit__AExpr
.color
;
2132 idtype
= type_nullable__nit__AExpr
.id
;
2133 if(var_pexprnode2
== NULL
) {
2136 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2139 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2142 if (unlikely(!var4
)) {
2143 PRINT_ERROR("Runtime error: %s", "Assert failed");
2144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5429);
2147 var_listnode3
= var_nodearraylist2
;
2148 /* <var_listnode3:nullable Object> isa Array[Object] */
2149 cltype6
= type_standard__Array__standard__Object
.color
;
2150 idtype7
= type_standard__Array__standard__Object
.id
;
2151 if(var_listnode3
== NULL
) {
2154 if(cltype6
>= var_listnode3
->type
->table_size
) {
2157 var5
= var_listnode3
->type
->type_table
[cltype6
] == idtype7
;
2160 if (unlikely(!var5
)) {
2161 PRINT_ERROR("Runtime error: %s", "Assert failed");
2162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5431);
2166 if (var_pexprnode2
== NULL
) {
2167 var9
= 0; /* is null */
2169 var9
= 1; /* arg is null and recv is not */
2172 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2175 var12
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2180 RET_LABEL11
:(void)0;
2186 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2191 var14
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
2193 var_listnode4
= var14
;
2194 var15
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2197 nit__parser_prod___ABlockExpr___init_ablockexpr(var15
, var_listnode4
, var16
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var15:ABlockExpr>*/
2199 var_pexprnode1
= var15
;
2200 var_node_list
= var_pexprnode1
;
2201 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction164> */
2203 var18
= nit___nit__Parser___go_to(var_p
, var17
);
2206 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2210 /* method parser#ReduceAction165#action for (self: ReduceAction165, Parser) */
2211 void nit__parser___nit__parser__ReduceAction165___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2212 val
* var_p
/* var p: Parser */;
2213 val
* var
/* : null */;
2214 val
* var_node_list
/* var node_list: nullable Object */;
2215 val
* var1
/* : nullable Object */;
2216 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2217 val
* var2
/* : nullable Object */;
2218 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2219 val
* var3
/* : Array[Object] */;
2220 val
* var_listnode3
/* var listnode3: Array[Object] */;
2221 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2222 short int var4
/* : Bool */;
2225 val
* var5
/* : null */;
2226 short int var6
/* : Bool */;
2227 short int var7
/* : Bool */;
2228 val
* var_other
/* var other: nullable Object */;
2229 short int var9
/* : Bool */;
2230 short int var10
/* : Bool */;
2231 val
* var11
/* : ABlockExpr */;
2232 val
* var12
/* : null */;
2233 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2234 long var13
/* : Int */;
2235 long var14
/* : Int */;
2238 var_node_list
= var
;
2240 var1
= nit___nit__Parser___pop(var_p
);
2242 var_nodearraylist2
= var1
;
2244 var2
= nit___nit__Parser___pop(var_p
);
2246 var_nodearraylist1
= var2
;
2247 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2249 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
2251 var_listnode3
= var3
;
2252 var_pexprnode2
= var_nodearraylist1
;
2253 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2254 cltype
= type_nullable__nit__AExpr
.color
;
2255 idtype
= type_nullable__nit__AExpr
.id
;
2256 if(var_pexprnode2
== NULL
) {
2259 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2262 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2265 if (unlikely(!var4
)) {
2266 PRINT_ERROR("Runtime error: %s", "Assert failed");
2267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5453);
2271 if (var_pexprnode2
== NULL
) {
2272 var6
= 0; /* is null */
2274 var6
= 1; /* arg is null and recv is not */
2277 { /* Inline kernel#Object#!= (var_pexprnode2,var5) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2280 var9
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2291 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2295 var11
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2298 nit__parser_prod___ABlockExpr___init_ablockexpr(var11
, var_listnode3
, var12
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var11:ABlockExpr>*/
2300 var_pexprnode1
= var11
;
2301 var_node_list
= var_pexprnode1
;
2302 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction165> */
2304 var14
= nit___nit__Parser___go_to(var_p
, var13
);
2307 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2311 /* method parser#ReduceAction166#action for (self: ReduceAction166, Parser) */
2312 void nit__parser___nit__parser__ReduceAction166___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2313 val
* var_p
/* var p: Parser */;
2314 val
* var
/* : null */;
2315 val
* var_node_list
/* var node_list: nullable Object */;
2316 val
* var1
/* : nullable Object */;
2317 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2318 val
* var2
/* : nullable Object */;
2319 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2320 val
* var3
/* : nullable Object */;
2321 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2322 val
* var4
/* : Array[Object] */;
2323 val
* var_listnode4
/* var listnode4: Array[Object] */;
2324 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2325 short int var5
/* : Bool */;
2328 val
* var_listnode3
/* var listnode3: nullable Object */;
2329 short int var6
/* : Bool */;
2332 val
* var9
/* : null */;
2333 short int var10
/* : Bool */;
2334 short int var11
/* : Bool */;
2335 val
* var_other
/* var other: nullable Object */;
2336 short int var13
/* : Bool */;
2337 short int var14
/* : Bool */;
2338 val
* var15
/* : Array[Object] */;
2339 val
* var16
/* : ABlockExpr */;
2340 val
* var17
/* : null */;
2341 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2342 long var18
/* : Int */;
2343 long var19
/* : Int */;
2346 var_node_list
= var
;
2348 var1
= nit___nit__Parser___pop(var_p
);
2350 var_nodearraylist3
= var1
;
2352 var2
= nit___nit__Parser___pop(var_p
);
2354 var_nodearraylist2
= var2
;
2356 var3
= nit___nit__Parser___pop(var_p
);
2358 var_nodearraylist1
= var3
;
2359 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2361 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
2363 var_listnode4
= var4
;
2364 var_pexprnode2
= var_nodearraylist1
;
2365 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2366 cltype
= type_nullable__nit__AExpr
.color
;
2367 idtype
= type_nullable__nit__AExpr
.id
;
2368 if(var_pexprnode2
== NULL
) {
2371 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2374 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2377 if (unlikely(!var5
)) {
2378 PRINT_ERROR("Runtime error: %s", "Assert failed");
2379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5475);
2382 var_listnode3
= var_nodearraylist2
;
2383 /* <var_listnode3:nullable Object> isa Array[Object] */
2384 cltype7
= type_standard__Array__standard__Object
.color
;
2385 idtype8
= type_standard__Array__standard__Object
.id
;
2386 if(var_listnode3
== NULL
) {
2389 if(cltype7
>= var_listnode3
->type
->table_size
) {
2392 var6
= var_listnode3
->type
->type_table
[cltype7
] == idtype8
;
2395 if (unlikely(!var6
)) {
2396 PRINT_ERROR("Runtime error: %s", "Assert failed");
2397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5477);
2401 if (var_pexprnode2
== NULL
) {
2402 var10
= 0; /* is null */
2404 var10
= 1; /* arg is null and recv is not */
2407 { /* Inline kernel#Object#!= (var_pexprnode2,var9) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2410 var13
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2415 RET_LABEL12
:(void)0;
2421 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2426 var15
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
2428 var_listnode4
= var15
;
2429 var16
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2432 nit__parser_prod___ABlockExpr___init_ablockexpr(var16
, var_listnode4
, var17
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
2434 var_pexprnode1
= var16
;
2435 var_node_list
= var_pexprnode1
;
2436 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction166> */
2438 var19
= nit___nit__Parser___go_to(var_p
, var18
);
2441 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2445 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
2446 void nit__parser___nit__parser__ReduceAction167___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2447 val
* var_p
/* var p: Parser */;
2448 val
* var
/* : null */;
2449 val
* var_node_list
/* var node_list: nullable Object */;
2450 val
* var1
/* : nullable Object */;
2451 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2452 val
* var2
/* : nullable Object */;
2453 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2454 val
* var3
/* : nullable Object */;
2455 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2456 val
* var4
/* : Array[Object] */;
2457 val
* var_listnode3
/* var listnode3: Array[Object] */;
2458 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2459 short int var5
/* : Bool */;
2462 val
* var6
/* : null */;
2463 short int var7
/* : Bool */;
2464 short int var8
/* : Bool */;
2465 val
* var_other
/* var other: nullable Object */;
2466 short int var10
/* : Bool */;
2467 short int var11
/* : Bool */;
2468 val
* var_tkwendnode4
/* var tkwendnode4: nullable Object */;
2469 short int var12
/* : Bool */;
2472 val
* var15
/* : ABlockExpr */;
2473 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2474 long var16
/* : Int */;
2475 long var17
/* : Int */;
2478 var_node_list
= var
;
2480 var1
= nit___nit__Parser___pop(var_p
);
2482 var_nodearraylist3
= var1
;
2484 var2
= nit___nit__Parser___pop(var_p
);
2486 var_nodearraylist2
= var2
;
2488 var3
= nit___nit__Parser___pop(var_p
);
2490 var_nodearraylist1
= var3
;
2491 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2493 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
2495 var_listnode3
= var4
;
2496 var_pexprnode2
= var_nodearraylist1
;
2497 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2498 cltype
= type_nullable__nit__AExpr
.color
;
2499 idtype
= type_nullable__nit__AExpr
.id
;
2500 if(var_pexprnode2
== NULL
) {
2503 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2506 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2509 if (unlikely(!var5
)) {
2510 PRINT_ERROR("Runtime error: %s", "Assert failed");
2511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5500);
2515 if (var_pexprnode2
== NULL
) {
2516 var7
= 0; /* is null */
2518 var7
= 1; /* arg is null and recv is not */
2521 { /* Inline kernel#Object#!= (var_pexprnode2,var6) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2524 var10
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2535 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2539 var_tkwendnode4
= var_nodearraylist3
;
2540 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
2541 cltype13
= type_nullable__nit__TKwend
.color
;
2542 idtype14
= type_nullable__nit__TKwend
.id
;
2543 if(var_tkwendnode4
== NULL
) {
2546 if(cltype13
>= var_tkwendnode4
->type
->table_size
) {
2549 var12
= var_tkwendnode4
->type
->type_table
[cltype13
] == idtype14
;
2552 if (unlikely(!var12
)) {
2553 PRINT_ERROR("Runtime error: %s", "Assert failed");
2554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5505);
2557 var15
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2559 nit__parser_prod___ABlockExpr___init_ablockexpr(var15
, var_listnode3
, var_tkwendnode4
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var15:ABlockExpr>*/
2561 var_pexprnode1
= var15
;
2562 var_node_list
= var_pexprnode1
;
2563 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction167> */
2565 var17
= nit___nit__Parser___go_to(var_p
, var16
);
2568 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2572 /* method parser#ReduceAction168#action for (self: ReduceAction168, Parser) */
2573 void nit__parser___nit__parser__ReduceAction168___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2574 val
* var_p
/* var p: Parser */;
2575 val
* var
/* : null */;
2576 val
* var_node_list
/* var node_list: nullable Object */;
2577 val
* var1
/* : nullable Object */;
2578 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2579 val
* var2
/* : nullable Object */;
2580 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2581 val
* var3
/* : nullable Object */;
2582 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2583 val
* var4
/* : nullable Object */;
2584 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2585 val
* var5
/* : Array[Object] */;
2586 val
* var_listnode4
/* var listnode4: Array[Object] */;
2587 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2588 short int var6
/* : Bool */;
2591 val
* var_listnode3
/* var listnode3: nullable Object */;
2592 short int var7
/* : Bool */;
2595 val
* var10
/* : null */;
2596 short int var11
/* : Bool */;
2597 short int var12
/* : Bool */;
2598 val
* var_other
/* var other: nullable Object */;
2599 short int var14
/* : Bool */;
2600 short int var15
/* : Bool */;
2601 val
* var16
/* : Array[Object] */;
2602 val
* var_tkwendnode5
/* var tkwendnode5: nullable Object */;
2603 short int var17
/* : Bool */;
2606 val
* var20
/* : ABlockExpr */;
2607 val
* var_pexprnode1
/* var pexprnode1: nullable ABlockExpr */;
2608 long var21
/* : Int */;
2609 long var22
/* : Int */;
2612 var_node_list
= var
;
2614 var1
= nit___nit__Parser___pop(var_p
);
2616 var_nodearraylist4
= var1
;
2618 var2
= nit___nit__Parser___pop(var_p
);
2620 var_nodearraylist3
= var2
;
2622 var3
= nit___nit__Parser___pop(var_p
);
2624 var_nodearraylist2
= var3
;
2626 var4
= nit___nit__Parser___pop(var_p
);
2628 var_nodearraylist1
= var4
;
2629 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2631 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
2633 var_listnode4
= var5
;
2634 var_pexprnode2
= var_nodearraylist1
;
2635 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2636 cltype
= type_nullable__nit__AExpr
.color
;
2637 idtype
= type_nullable__nit__AExpr
.id
;
2638 if(var_pexprnode2
== NULL
) {
2641 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2644 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2647 if (unlikely(!var6
)) {
2648 PRINT_ERROR("Runtime error: %s", "Assert failed");
2649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5525);
2652 var_listnode3
= var_nodearraylist2
;
2653 /* <var_listnode3:nullable Object> isa Array[Object] */
2654 cltype8
= type_standard__Array__standard__Object
.color
;
2655 idtype9
= type_standard__Array__standard__Object
.id
;
2656 if(var_listnode3
== NULL
) {
2659 if(cltype8
>= var_listnode3
->type
->table_size
) {
2662 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
2665 if (unlikely(!var7
)) {
2666 PRINT_ERROR("Runtime error: %s", "Assert failed");
2667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5527);
2671 if (var_pexprnode2
== NULL
) {
2672 var11
= 0; /* is null */
2674 var11
= 1; /* arg is null and recv is not */
2677 { /* Inline kernel#Object#!= (var_pexprnode2,var10) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2680 var14
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
2685 RET_LABEL13
:(void)0;
2691 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2696 var16
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
2698 var_listnode4
= var16
;
2699 var_tkwendnode5
= var_nodearraylist4
;
2700 /* <var_tkwendnode5:nullable Object> isa nullable TKwend */
2701 cltype18
= type_nullable__nit__TKwend
.color
;
2702 idtype19
= type_nullable__nit__TKwend
.id
;
2703 if(var_tkwendnode5
== NULL
) {
2706 if(cltype18
>= var_tkwendnode5
->type
->table_size
) {
2709 var17
= var_tkwendnode5
->type
->type_table
[cltype18
] == idtype19
;
2712 if (unlikely(!var17
)) {
2713 PRINT_ERROR("Runtime error: %s", "Assert failed");
2714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5533);
2717 var20
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
2719 nit__parser_prod___ABlockExpr___init_ablockexpr(var20
, var_listnode4
, var_tkwendnode5
); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var20:ABlockExpr>*/
2721 var_pexprnode1
= var20
;
2722 var_node_list
= var_pexprnode1
;
2723 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction168> */
2725 var22
= nit___nit__Parser___go_to(var_p
, var21
);
2728 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2732 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
2733 void nit__parser___nit__parser__ReduceAction172___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2734 val
* var_p
/* var p: Parser */;
2735 val
* var
/* : null */;
2736 val
* var_node_list
/* var node_list: nullable Object */;
2737 val
* var1
/* : nullable Object */;
2738 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2739 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
2740 short int var2
/* : Bool */;
2743 val
* var3
/* : AReturnExpr */;
2744 val
* var4
/* : null */;
2745 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
2746 long var5
/* : Int */;
2747 long var6
/* : Int */;
2750 var_node_list
= var
;
2752 var1
= nit___nit__Parser___pop(var_p
);
2754 var_nodearraylist1
= var1
;
2755 var_tkwreturnnode2
= var_nodearraylist1
;
2756 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
2757 cltype
= type_nullable__nit__TKwreturn
.color
;
2758 idtype
= type_nullable__nit__TKwreturn
.id
;
2759 if(var_tkwreturnnode2
== NULL
) {
2762 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
2765 var2
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
2768 if (unlikely(!var2
)) {
2769 PRINT_ERROR("Runtime error: %s", "Assert failed");
2770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5549);
2773 var3
= NEW_nit__AReturnExpr(&type_nit__AReturnExpr
);
2776 nit__parser_prod___AReturnExpr___init_areturnexpr(var3
, var_tkwreturnnode2
, var4
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var3:AReturnExpr>*/
2778 var_pexprnode1
= var3
;
2779 var_node_list
= var_pexprnode1
;
2780 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction172> */
2782 var6
= nit___nit__Parser___go_to(var_p
, var5
);
2785 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2789 /* method parser#ReduceAction173#action for (self: ReduceAction173, Parser) */
2790 void nit__parser___nit__parser__ReduceAction173___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2791 val
* var_p
/* var p: Parser */;
2792 val
* var
/* : null */;
2793 val
* var_node_list
/* var node_list: nullable Object */;
2794 val
* var1
/* : nullable Object */;
2795 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2796 val
* var2
/* : nullable Object */;
2797 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2798 val
* var_tkwreturnnode2
/* var tkwreturnnode2: nullable Object */;
2799 short int var3
/* : Bool */;
2802 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2803 short int var4
/* : Bool */;
2806 val
* var7
/* : AReturnExpr */;
2807 val
* var_pexprnode1
/* var pexprnode1: nullable AReturnExpr */;
2808 long var8
/* : Int */;
2809 long var9
/* : Int */;
2812 var_node_list
= var
;
2814 var1
= nit___nit__Parser___pop(var_p
);
2816 var_nodearraylist2
= var1
;
2818 var2
= nit___nit__Parser___pop(var_p
);
2820 var_nodearraylist1
= var2
;
2821 var_tkwreturnnode2
= var_nodearraylist1
;
2822 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
2823 cltype
= type_nullable__nit__TKwreturn
.color
;
2824 idtype
= type_nullable__nit__TKwreturn
.id
;
2825 if(var_tkwreturnnode2
== NULL
) {
2828 if(cltype
>= var_tkwreturnnode2
->type
->table_size
) {
2831 var3
= var_tkwreturnnode2
->type
->type_table
[cltype
] == idtype
;
2834 if (unlikely(!var3
)) {
2835 PRINT_ERROR("Runtime error: %s", "Assert failed");
2836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5566);
2839 var_pexprnode3
= var_nodearraylist2
;
2840 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2841 cltype5
= type_nullable__nit__AExpr
.color
;
2842 idtype6
= type_nullable__nit__AExpr
.id
;
2843 if(var_pexprnode3
== NULL
) {
2846 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
2849 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
2852 if (unlikely(!var4
)) {
2853 PRINT_ERROR("Runtime error: %s", "Assert failed");
2854 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5568);
2857 var7
= NEW_nit__AReturnExpr(&type_nit__AReturnExpr
);
2859 nit__parser_prod___AReturnExpr___init_areturnexpr(var7
, var_tkwreturnnode2
, var_pexprnode3
); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var7:AReturnExpr>*/
2861 var_pexprnode1
= var7
;
2862 var_node_list
= var_pexprnode1
;
2863 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction173> */
2865 var9
= nit___nit__Parser___go_to(var_p
, var8
);
2868 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2872 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
2873 void nit__parser___nit__parser__ReduceAction174___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2874 val
* var_p
/* var p: Parser */;
2875 val
* var
/* : null */;
2876 val
* var_node_list
/* var node_list: nullable Object */;
2877 val
* var1
/* : nullable Object */;
2878 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2879 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
2880 short int var2
/* : Bool */;
2883 val
* var3
/* : ABreakExpr */;
2884 val
* var4
/* : null */;
2885 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
2886 long var5
/* : Int */;
2887 long var6
/* : Int */;
2890 var_node_list
= var
;
2892 var1
= nit___nit__Parser___pop(var_p
);
2894 var_nodearraylist1
= var1
;
2895 var_tkwbreaknode2
= var_nodearraylist1
;
2896 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
2897 cltype
= type_nullable__nit__TKwbreak
.color
;
2898 idtype
= type_nullable__nit__TKwbreak
.id
;
2899 if(var_tkwbreaknode2
== NULL
) {
2902 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
2905 var2
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
2908 if (unlikely(!var2
)) {
2909 PRINT_ERROR("Runtime error: %s", "Assert failed");
2910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5584);
2913 var3
= NEW_nit__ABreakExpr(&type_nit__ABreakExpr
);
2916 nit__parser_prod___ABreakExpr___init_abreakexpr(var3
, var_tkwbreaknode2
, var4
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var3:ABreakExpr>*/
2918 var_pexprnode1
= var3
;
2919 var_node_list
= var_pexprnode1
;
2920 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction174> */
2922 var6
= nit___nit__Parser___go_to(var_p
, var5
);
2925 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2929 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
2930 void nit__parser___nit__parser__ReduceAction175___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2931 val
* var_p
/* var p: Parser */;
2932 val
* var
/* : null */;
2933 val
* var_node_list
/* var node_list: nullable Object */;
2934 val
* var1
/* : nullable Object */;
2935 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2936 val
* var2
/* : nullable Object */;
2937 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2938 val
* var_tkwbreaknode2
/* var tkwbreaknode2: nullable Object */;
2939 short int var3
/* : Bool */;
2942 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
2943 short int var4
/* : Bool */;
2946 val
* var7
/* : ABreakExpr */;
2947 val
* var_pexprnode1
/* var pexprnode1: nullable ABreakExpr */;
2948 long var8
/* : Int */;
2949 long var9
/* : Int */;
2952 var_node_list
= var
;
2954 var1
= nit___nit__Parser___pop(var_p
);
2956 var_nodearraylist2
= var1
;
2958 var2
= nit___nit__Parser___pop(var_p
);
2960 var_nodearraylist1
= var2
;
2961 var_tkwbreaknode2
= var_nodearraylist1
;
2962 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
2963 cltype
= type_nullable__nit__TKwbreak
.color
;
2964 idtype
= type_nullable__nit__TKwbreak
.id
;
2965 if(var_tkwbreaknode2
== NULL
) {
2968 if(cltype
>= var_tkwbreaknode2
->type
->table_size
) {
2971 var3
= var_tkwbreaknode2
->type
->type_table
[cltype
] == idtype
;
2974 if (unlikely(!var3
)) {
2975 PRINT_ERROR("Runtime error: %s", "Assert failed");
2976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5601);
2979 var_plabelnode3
= var_nodearraylist2
;
2980 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
2981 cltype5
= type_nullable__nit__ALabel
.color
;
2982 idtype6
= type_nullable__nit__ALabel
.id
;
2983 if(var_plabelnode3
== NULL
) {
2986 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
2989 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
2992 if (unlikely(!var4
)) {
2993 PRINT_ERROR("Runtime error: %s", "Assert failed");
2994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5603);
2997 var7
= NEW_nit__ABreakExpr(&type_nit__ABreakExpr
);
2999 nit__parser_prod___ABreakExpr___init_abreakexpr(var7
, var_tkwbreaknode2
, var_plabelnode3
); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var7:ABreakExpr>*/
3001 var_pexprnode1
= var7
;
3002 var_node_list
= var_pexprnode1
;
3003 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction175> */
3005 var9
= nit___nit__Parser___go_to(var_p
, var8
);
3008 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3012 /* method parser#ReduceAction176#action for (self: ReduceAction176, Parser) */
3013 void nit__parser___nit__parser__ReduceAction176___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3014 val
* var_p
/* var p: Parser */;
3015 val
* var
/* : null */;
3016 val
* var_node_list
/* var node_list: nullable Object */;
3017 val
* var1
/* : nullable Object */;
3018 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3019 val
* var_tkwabortnode2
/* var tkwabortnode2: nullable Object */;
3020 short int var2
/* : Bool */;
3023 val
* var3
/* : AAbortExpr */;
3024 val
* var_pexprnode1
/* var pexprnode1: nullable AAbortExpr */;
3025 long var4
/* : Int */;
3026 long var5
/* : Int */;
3029 var_node_list
= var
;
3031 var1
= nit___nit__Parser___pop(var_p
);
3033 var_nodearraylist1
= var1
;
3034 var_tkwabortnode2
= var_nodearraylist1
;
3035 /* <var_tkwabortnode2:nullable Object> isa nullable TKwabort */
3036 cltype
= type_nullable__nit__TKwabort
.color
;
3037 idtype
= type_nullable__nit__TKwabort
.id
;
3038 if(var_tkwabortnode2
== NULL
) {
3041 if(cltype
>= var_tkwabortnode2
->type
->table_size
) {
3044 var2
= var_tkwabortnode2
->type
->type_table
[cltype
] == idtype
;
3047 if (unlikely(!var2
)) {
3048 PRINT_ERROR("Runtime error: %s", "Assert failed");
3049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5619);
3052 var3
= NEW_nit__AAbortExpr(&type_nit__AAbortExpr
);
3054 nit__parser_prod___AAbortExpr___init_aabortexpr(var3
, var_tkwabortnode2
); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on <var3:AAbortExpr>*/
3056 var_pexprnode1
= var3
;
3057 var_node_list
= var_pexprnode1
;
3058 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction176> */
3060 var5
= nit___nit__Parser___go_to(var_p
, var4
);
3063 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3067 /* method parser#ReduceAction177#action for (self: ReduceAction177, Parser) */
3068 void nit__parser___nit__parser__ReduceAction177___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3069 val
* var_p
/* var p: Parser */;
3070 val
* var
/* : null */;
3071 val
* var_node_list
/* var node_list: nullable Object */;
3072 val
* var1
/* : nullable Object */;
3073 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3074 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
3075 short int var2
/* : Bool */;
3078 val
* var3
/* : AContinueExpr */;
3079 val
* var4
/* : null */;
3080 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
3081 long var5
/* : Int */;
3082 long var6
/* : Int */;
3085 var_node_list
= var
;
3087 var1
= nit___nit__Parser___pop(var_p
);
3089 var_nodearraylist1
= var1
;
3090 var_tkwcontinuenode2
= var_nodearraylist1
;
3091 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
3092 cltype
= type_nullable__nit__TKwcontinue
.color
;
3093 idtype
= type_nullable__nit__TKwcontinue
.id
;
3094 if(var_tkwcontinuenode2
== NULL
) {
3097 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
3100 var2
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
3103 if (unlikely(!var2
)) {
3104 PRINT_ERROR("Runtime error: %s", "Assert failed");
3105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5634);
3108 var3
= NEW_nit__AContinueExpr(&type_nit__AContinueExpr
);
3111 nit__parser_prod___AContinueExpr___init_acontinueexpr(var3
, var_tkwcontinuenode2
, var4
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var3:AContinueExpr>*/
3113 var_pexprnode1
= var3
;
3114 var_node_list
= var_pexprnode1
;
3115 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction177> */
3117 var6
= nit___nit__Parser___go_to(var_p
, var5
);
3120 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3124 /* method parser#ReduceAction178#action for (self: ReduceAction178, Parser) */
3125 void nit__parser___nit__parser__ReduceAction178___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3126 val
* var_p
/* var p: Parser */;
3127 val
* var
/* : null */;
3128 val
* var_node_list
/* var node_list: nullable Object */;
3129 val
* var1
/* : nullable Object */;
3130 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3131 val
* var2
/* : nullable Object */;
3132 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3133 val
* var_tkwcontinuenode2
/* var tkwcontinuenode2: nullable Object */;
3134 short int var3
/* : Bool */;
3137 val
* var_plabelnode3
/* var plabelnode3: nullable Object */;
3138 short int var4
/* : Bool */;
3141 val
* var7
/* : AContinueExpr */;
3142 val
* var_pexprnode1
/* var pexprnode1: nullable AContinueExpr */;
3143 long var8
/* : Int */;
3144 long var9
/* : Int */;
3147 var_node_list
= var
;
3149 var1
= nit___nit__Parser___pop(var_p
);
3151 var_nodearraylist2
= var1
;
3153 var2
= nit___nit__Parser___pop(var_p
);
3155 var_nodearraylist1
= var2
;
3156 var_tkwcontinuenode2
= var_nodearraylist1
;
3157 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
3158 cltype
= type_nullable__nit__TKwcontinue
.color
;
3159 idtype
= type_nullable__nit__TKwcontinue
.id
;
3160 if(var_tkwcontinuenode2
== NULL
) {
3163 if(cltype
>= var_tkwcontinuenode2
->type
->table_size
) {
3166 var3
= var_tkwcontinuenode2
->type
->type_table
[cltype
] == idtype
;
3169 if (unlikely(!var3
)) {
3170 PRINT_ERROR("Runtime error: %s", "Assert failed");
3171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5651);
3174 var_plabelnode3
= var_nodearraylist2
;
3175 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
3176 cltype5
= type_nullable__nit__ALabel
.color
;
3177 idtype6
= type_nullable__nit__ALabel
.id
;
3178 if(var_plabelnode3
== NULL
) {
3181 if(cltype5
>= var_plabelnode3
->type
->table_size
) {
3184 var4
= var_plabelnode3
->type
->type_table
[cltype5
] == idtype6
;
3187 if (unlikely(!var4
)) {
3188 PRINT_ERROR("Runtime error: %s", "Assert failed");
3189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5653);
3192 var7
= NEW_nit__AContinueExpr(&type_nit__AContinueExpr
);
3194 nit__parser_prod___AContinueExpr___init_acontinueexpr(var7
, var_tkwcontinuenode2
, var_plabelnode3
); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var7:AContinueExpr>*/
3196 var_pexprnode1
= var7
;
3197 var_node_list
= var_pexprnode1
;
3198 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction178> */
3200 var9
= nit___nit__Parser___go_to(var_p
, var8
);
3203 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3207 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
3208 void nit__parser___nit__parser__ReduceAction185___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3209 val
* var_p
/* var p: Parser */;
3210 val
* var
/* : null */;
3211 val
* var_node_list
/* var node_list: nullable Object */;
3212 val
* var1
/* : nullable Object */;
3213 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3214 val
* var2
/* : nullable Object */;
3215 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3216 val
* var3
/* : nullable Object */;
3217 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3218 val
* var4
/* : nullable Object */;
3219 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3220 val
* var5
/* : nullable Object */;
3221 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3222 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3223 short int var6
/* : Bool */;
3226 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3227 short int var7
/* : Bool */;
3230 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3231 short int var10
/* : Bool */;
3234 val
* var13
/* : ACallExpr */;
3235 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3236 long var14
/* : Int */;
3237 long var15
/* : Int */;
3240 var_node_list
= var
;
3242 var1
= nit___nit__Parser___pop(var_p
);
3244 var_nodearraylist5
= var1
;
3246 var2
= nit___nit__Parser___pop(var_p
);
3248 var_nodearraylist4
= var2
;
3250 var3
= nit___nit__Parser___pop(var_p
);
3252 var_nodearraylist3
= var3
;
3254 var4
= nit___nit__Parser___pop(var_p
);
3256 var_nodearraylist2
= var4
;
3258 var5
= nit___nit__Parser___pop(var_p
);
3260 var_nodearraylist1
= var5
;
3261 var_pexprnode2
= var_nodearraylist1
;
3262 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3263 cltype
= type_nullable__nit__AExpr
.color
;
3264 idtype
= type_nullable__nit__AExpr
.id
;
3265 if(var_pexprnode2
== NULL
) {
3268 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3271 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3274 if (unlikely(!var6
)) {
3275 PRINT_ERROR("Runtime error: %s", "Assert failed");
3276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5673);
3279 var_tidnode3
= var_nodearraylist4
;
3280 /* <var_tidnode3:nullable Object> isa nullable TId */
3281 cltype8
= type_nullable__nit__TId
.color
;
3282 idtype9
= type_nullable__nit__TId
.id
;
3283 if(var_tidnode3
== NULL
) {
3286 if(cltype8
>= var_tidnode3
->type
->table_size
) {
3289 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
3292 if (unlikely(!var7
)) {
3293 PRINT_ERROR("Runtime error: %s", "Assert failed");
3294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5675);
3297 var_pexprsnode4
= var_nodearraylist5
;
3298 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3299 cltype11
= type_nullable__nit__AExprs
.color
;
3300 idtype12
= type_nullable__nit__AExprs
.id
;
3301 if(var_pexprsnode4
== NULL
) {
3304 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
3307 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
3310 if (unlikely(!var10
)) {
3311 PRINT_ERROR("Runtime error: %s", "Assert failed");
3312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5677);
3315 var13
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3317 nit__parser_prod___ACallExpr___init_acallexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
3319 var_pexprnode1
= var13
;
3320 var_node_list
= var_pexprnode1
;
3321 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction185> */
3323 var15
= nit___nit__Parser___go_to(var_p
, var14
);
3326 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3330 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
3331 void nit__parser___nit__parser__ReduceAction186___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3332 val
* var_p
/* var p: Parser */;
3333 val
* var
/* : null */;
3334 val
* var_node_list
/* var node_list: nullable Object */;
3335 val
* var1
/* : nullable Object */;
3336 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3337 val
* var2
/* : nullable Object */;
3338 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3339 val
* var3
/* : nullable Object */;
3340 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3341 val
* var4
/* : nullable Object */;
3342 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3343 val
* var5
/* : nullable Object */;
3344 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3345 val
* var6
/* : nullable Object */;
3346 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3347 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3348 short int var7
/* : Bool */;
3351 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3352 short int var8
/* : Bool */;
3355 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3356 short int var11
/* : Bool */;
3359 val
* var14
/* : ACallExpr */;
3360 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3361 long var15
/* : Int */;
3362 long var16
/* : Int */;
3365 var_node_list
= var
;
3367 var1
= nit___nit__Parser___pop(var_p
);
3369 var_nodearraylist6
= var1
;
3371 var2
= nit___nit__Parser___pop(var_p
);
3373 var_nodearraylist5
= var2
;
3375 var3
= nit___nit__Parser___pop(var_p
);
3377 var_nodearraylist4
= var3
;
3379 var4
= nit___nit__Parser___pop(var_p
);
3381 var_nodearraylist3
= var4
;
3383 var5
= nit___nit__Parser___pop(var_p
);
3385 var_nodearraylist2
= var5
;
3387 var6
= nit___nit__Parser___pop(var_p
);
3389 var_nodearraylist1
= var6
;
3390 var_pexprnode2
= var_nodearraylist1
;
3391 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3392 cltype
= type_nullable__nit__AExpr
.color
;
3393 idtype
= type_nullable__nit__AExpr
.id
;
3394 if(var_pexprnode2
== NULL
) {
3397 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3400 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3403 if (unlikely(!var7
)) {
3404 PRINT_ERROR("Runtime error: %s", "Assert failed");
3405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5699);
3408 var_tidnode3
= var_nodearraylist5
;
3409 /* <var_tidnode3:nullable Object> isa nullable TId */
3410 cltype9
= type_nullable__nit__TId
.color
;
3411 idtype10
= type_nullable__nit__TId
.id
;
3412 if(var_tidnode3
== NULL
) {
3415 if(cltype9
>= var_tidnode3
->type
->table_size
) {
3418 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
3421 if (unlikely(!var8
)) {
3422 PRINT_ERROR("Runtime error: %s", "Assert failed");
3423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5701);
3426 var_pexprsnode4
= var_nodearraylist6
;
3427 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3428 cltype12
= type_nullable__nit__AExprs
.color
;
3429 idtype13
= type_nullable__nit__AExprs
.id
;
3430 if(var_pexprsnode4
== NULL
) {
3433 if(cltype12
>= var_pexprsnode4
->type
->table_size
) {
3436 var11
= var_pexprsnode4
->type
->type_table
[cltype12
] == idtype13
;
3439 if (unlikely(!var11
)) {
3440 PRINT_ERROR("Runtime error: %s", "Assert failed");
3441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5703);
3444 var14
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3446 nit__parser_prod___ACallExpr___init_acallexpr(var14
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var14:ACallExpr>*/
3448 var_pexprnode1
= var14
;
3449 var_node_list
= var_pexprnode1
;
3450 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction186> */
3452 var16
= nit___nit__Parser___go_to(var_p
, var15
);
3455 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3459 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
3460 void nit__parser___nit__parser__ReduceAction187___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3461 val
* var_p
/* var p: Parser */;
3462 val
* var
/* : null */;
3463 val
* var_node_list
/* var node_list: nullable Object */;
3464 val
* var1
/* : nullable Object */;
3465 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3466 val
* var2
/* : nullable Object */;
3467 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3468 val
* var3
/* : nullable Object */;
3469 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3470 val
* var4
/* : nullable Object */;
3471 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3472 val
* var5
/* : nullable Object */;
3473 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3474 val
* var6
/* : nullable Object */;
3475 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3476 val
* var7
/* : nullable Object */;
3477 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3478 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3479 short int var8
/* : Bool */;
3482 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3483 short int var9
/* : Bool */;
3486 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3487 short int var12
/* : Bool */;
3490 val
* var15
/* : ACallExpr */;
3491 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3492 long var16
/* : Int */;
3493 long var17
/* : Int */;
3496 var_node_list
= var
;
3498 var1
= nit___nit__Parser___pop(var_p
);
3500 var_nodearraylist7
= var1
;
3502 var2
= nit___nit__Parser___pop(var_p
);
3504 var_nodearraylist6
= var2
;
3506 var3
= nit___nit__Parser___pop(var_p
);
3508 var_nodearraylist5
= var3
;
3510 var4
= nit___nit__Parser___pop(var_p
);
3512 var_nodearraylist4
= var4
;
3514 var5
= nit___nit__Parser___pop(var_p
);
3516 var_nodearraylist3
= var5
;
3518 var6
= nit___nit__Parser___pop(var_p
);
3520 var_nodearraylist2
= var6
;
3522 var7
= nit___nit__Parser___pop(var_p
);
3524 var_nodearraylist1
= var7
;
3525 var_pexprnode2
= var_nodearraylist1
;
3526 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3527 cltype
= type_nullable__nit__AExpr
.color
;
3528 idtype
= type_nullable__nit__AExpr
.id
;
3529 if(var_pexprnode2
== NULL
) {
3532 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3535 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3538 if (unlikely(!var8
)) {
3539 PRINT_ERROR("Runtime error: %s", "Assert failed");
3540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5726);
3543 var_tidnode3
= var_nodearraylist6
;
3544 /* <var_tidnode3:nullable Object> isa nullable TId */
3545 cltype10
= type_nullable__nit__TId
.color
;
3546 idtype11
= type_nullable__nit__TId
.id
;
3547 if(var_tidnode3
== NULL
) {
3550 if(cltype10
>= var_tidnode3
->type
->table_size
) {
3553 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
3556 if (unlikely(!var9
)) {
3557 PRINT_ERROR("Runtime error: %s", "Assert failed");
3558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5728);
3561 var_pexprsnode4
= var_nodearraylist7
;
3562 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3563 cltype13
= type_nullable__nit__AExprs
.color
;
3564 idtype14
= type_nullable__nit__AExprs
.id
;
3565 if(var_pexprsnode4
== NULL
) {
3568 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
3571 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
3574 if (unlikely(!var12
)) {
3575 PRINT_ERROR("Runtime error: %s", "Assert failed");
3576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5730);
3579 var15
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3581 nit__parser_prod___ACallExpr___init_acallexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var15:ACallExpr>*/
3583 var_pexprnode1
= var15
;
3584 var_node_list
= var_pexprnode1
;
3585 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction187> */
3587 var17
= nit___nit__Parser___go_to(var_p
, var16
);
3590 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3594 /* method parser#ReduceAction189#action for (self: ReduceAction189, Parser) */
3595 void nit__parser___nit__parser__ReduceAction189___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3596 val
* var_p
/* var p: Parser */;
3597 val
* var
/* : null */;
3598 val
* var_node_list
/* var node_list: nullable Object */;
3599 val
* var1
/* : nullable Object */;
3600 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3601 val
* var2
/* : nullable Object */;
3602 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3603 val
* var3
/* : AImplicitSelfExpr */;
3604 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3605 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3606 short int var5
/* : Bool */;
3609 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3610 short int var6
/* : Bool */;
3613 val
* var9
/* : ACallExpr */;
3614 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3615 long var10
/* : Int */;
3616 long var11
/* : Int */;
3619 var_node_list
= var
;
3621 var1
= nit___nit__Parser___pop(var_p
);
3623 var_nodearraylist2
= var1
;
3625 var2
= nit___nit__Parser___pop(var_p
);
3627 var_nodearraylist1
= var2
;
3628 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3630 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
3634 var_pexprnode2
= var3
;
3635 var_tidnode3
= var_nodearraylist1
;
3636 /* <var_tidnode3:nullable Object> isa nullable TId */
3637 cltype
= type_nullable__nit__TId
.color
;
3638 idtype
= type_nullable__nit__TId
.id
;
3639 if(var_tidnode3
== NULL
) {
3642 if(cltype
>= var_tidnode3
->type
->table_size
) {
3645 var5
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
3648 if (unlikely(!var5
)) {
3649 PRINT_ERROR("Runtime error: %s", "Assert failed");
3650 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5749);
3653 var_pexprsnode4
= var_nodearraylist2
;
3654 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3655 cltype7
= type_nullable__nit__AExprs
.color
;
3656 idtype8
= type_nullable__nit__AExprs
.id
;
3657 if(var_pexprsnode4
== NULL
) {
3660 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
3663 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
3666 if (unlikely(!var6
)) {
3667 PRINT_ERROR("Runtime error: %s", "Assert failed");
3668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5751);
3671 var9
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3673 nit__parser_prod___ACallExpr___init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
3675 var_pexprnode1
= var9
;
3676 var_node_list
= var_pexprnode1
;
3677 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction189> */
3679 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3682 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3686 /* method parser#ReduceAction190#action for (self: ReduceAction190, Parser) */
3687 void nit__parser___nit__parser__ReduceAction190___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3688 val
* var_p
/* var p: Parser */;
3689 val
* var
/* : null */;
3690 val
* var_node_list
/* var node_list: nullable Object */;
3691 val
* var1
/* : nullable Object */;
3692 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3693 val
* var2
/* : nullable Object */;
3694 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3695 val
* var3
/* : nullable Object */;
3696 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3697 val
* var4
/* : AImplicitSelfExpr */;
3698 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3699 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3700 short int var6
/* : Bool */;
3703 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3704 short int var7
/* : Bool */;
3707 val
* var10
/* : ACallExpr */;
3708 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3709 long var11
/* : Int */;
3710 long var12
/* : Int */;
3713 var_node_list
= var
;
3715 var1
= nit___nit__Parser___pop(var_p
);
3717 var_nodearraylist3
= var1
;
3719 var2
= nit___nit__Parser___pop(var_p
);
3721 var_nodearraylist2
= var2
;
3723 var3
= nit___nit__Parser___pop(var_p
);
3725 var_nodearraylist1
= var3
;
3726 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3728 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
3732 var_pexprnode2
= var4
;
3733 var_tidnode3
= var_nodearraylist2
;
3734 /* <var_tidnode3:nullable Object> isa nullable TId */
3735 cltype
= type_nullable__nit__TId
.color
;
3736 idtype
= type_nullable__nit__TId
.id
;
3737 if(var_tidnode3
== NULL
) {
3740 if(cltype
>= var_tidnode3
->type
->table_size
) {
3743 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
3746 if (unlikely(!var6
)) {
3747 PRINT_ERROR("Runtime error: %s", "Assert failed");
3748 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5771);
3751 var_pexprsnode4
= var_nodearraylist3
;
3752 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3753 cltype8
= type_nullable__nit__AExprs
.color
;
3754 idtype9
= type_nullable__nit__AExprs
.id
;
3755 if(var_pexprsnode4
== NULL
) {
3758 if(cltype8
>= var_pexprsnode4
->type
->table_size
) {
3761 var7
= var_pexprsnode4
->type
->type_table
[cltype8
] == idtype9
;
3764 if (unlikely(!var7
)) {
3765 PRINT_ERROR("Runtime error: %s", "Assert failed");
3766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5773);
3769 var10
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3771 nit__parser_prod___ACallExpr___init_acallexpr(var10
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
3773 var_pexprnode1
= var10
;
3774 var_node_list
= var_pexprnode1
;
3775 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction190> */
3777 var12
= nit___nit__Parser___go_to(var_p
, var11
);
3780 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3784 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
3785 void nit__parser___nit__parser__ReduceAction191___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3786 val
* var_p
/* var p: Parser */;
3787 val
* var
/* : null */;
3788 val
* var_node_list
/* var node_list: nullable Object */;
3789 val
* var1
/* : nullable Object */;
3790 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3791 val
* var2
/* : nullable Object */;
3792 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3793 val
* var3
/* : nullable Object */;
3794 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3795 val
* var4
/* : nullable Object */;
3796 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3797 val
* var5
/* : AImplicitSelfExpr */;
3798 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3799 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3800 short int var7
/* : Bool */;
3803 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3804 short int var8
/* : Bool */;
3807 val
* var11
/* : ACallExpr */;
3808 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
3809 long var12
/* : Int */;
3810 long var13
/* : Int */;
3813 var_node_list
= var
;
3815 var1
= nit___nit__Parser___pop(var_p
);
3817 var_nodearraylist4
= var1
;
3819 var2
= nit___nit__Parser___pop(var_p
);
3821 var_nodearraylist3
= var2
;
3823 var3
= nit___nit__Parser___pop(var_p
);
3825 var_nodearraylist2
= var3
;
3827 var4
= nit___nit__Parser___pop(var_p
);
3829 var_nodearraylist1
= var4
;
3830 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3832 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
3836 var_pexprnode2
= var5
;
3837 var_tidnode3
= var_nodearraylist3
;
3838 /* <var_tidnode3:nullable Object> isa nullable TId */
3839 cltype
= type_nullable__nit__TId
.color
;
3840 idtype
= type_nullable__nit__TId
.id
;
3841 if(var_tidnode3
== NULL
) {
3844 if(cltype
>= var_tidnode3
->type
->table_size
) {
3847 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
3850 if (unlikely(!var7
)) {
3851 PRINT_ERROR("Runtime error: %s", "Assert failed");
3852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5794);
3855 var_pexprsnode4
= var_nodearraylist4
;
3856 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3857 cltype9
= type_nullable__nit__AExprs
.color
;
3858 idtype10
= type_nullable__nit__AExprs
.id
;
3859 if(var_pexprsnode4
== NULL
) {
3862 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3865 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3868 if (unlikely(!var8
)) {
3869 PRINT_ERROR("Runtime error: %s", "Assert failed");
3870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5796);
3873 var11
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
3875 nit__parser_prod___ACallExpr___init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
3877 var_pexprnode1
= var11
;
3878 var_node_list
= var_pexprnode1
;
3879 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction191> */
3881 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3884 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3888 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
3889 void nit__parser___nit__parser__ReduceAction193___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3890 val
* var_p
/* var p: Parser */;
3891 val
* var
/* : null */;
3892 val
* var_node_list
/* var node_list: nullable Object */;
3893 val
* var1
/* : nullable Object */;
3894 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3895 val
* var2
/* : nullable Object */;
3896 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3897 val
* var3
/* : nullable Object */;
3898 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3899 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
3900 short int var4
/* : Bool */;
3903 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
3904 short int var5
/* : Bool */;
3907 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3908 short int var8
/* : Bool */;
3911 val
* var11
/* : ASuperExpr */;
3912 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
3913 long var12
/* : Int */;
3914 long var13
/* : Int */;
3917 var_node_list
= var
;
3919 var1
= nit___nit__Parser___pop(var_p
);
3921 var_nodearraylist3
= var1
;
3923 var2
= nit___nit__Parser___pop(var_p
);
3925 var_nodearraylist2
= var2
;
3927 var3
= nit___nit__Parser___pop(var_p
);
3929 var_nodearraylist1
= var3
;
3930 var_pqualifiednode2
= var_nodearraylist1
;
3931 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
3932 cltype
= type_nullable__nit__AQualified
.color
;
3933 idtype
= type_nullable__nit__AQualified
.id
;
3934 if(var_pqualifiednode2
== NULL
) {
3937 if(cltype
>= var_pqualifiednode2
->type
->table_size
) {
3940 var4
= var_pqualifiednode2
->type
->type_table
[cltype
] == idtype
;
3943 if (unlikely(!var4
)) {
3944 PRINT_ERROR("Runtime error: %s", "Assert failed");
3945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5815);
3948 var_tkwsupernode3
= var_nodearraylist2
;
3949 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
3950 cltype6
= type_nullable__nit__TKwsuper
.color
;
3951 idtype7
= type_nullable__nit__TKwsuper
.id
;
3952 if(var_tkwsupernode3
== NULL
) {
3955 if(cltype6
>= var_tkwsupernode3
->type
->table_size
) {
3958 var5
= var_tkwsupernode3
->type
->type_table
[cltype6
] == idtype7
;
3961 if (unlikely(!var5
)) {
3962 PRINT_ERROR("Runtime error: %s", "Assert failed");
3963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5817);
3966 var_pexprsnode4
= var_nodearraylist3
;
3967 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3968 cltype9
= type_nullable__nit__AExprs
.color
;
3969 idtype10
= type_nullable__nit__AExprs
.id
;
3970 if(var_pexprsnode4
== NULL
) {
3973 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
3976 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
3979 if (unlikely(!var8
)) {
3980 PRINT_ERROR("Runtime error: %s", "Assert failed");
3981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5819);
3984 var11
= NEW_nit__ASuperExpr(&type_nit__ASuperExpr
);
3986 nit__parser_prod___ASuperExpr___init_asuperexpr(var11
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var11:ASuperExpr>*/
3988 var_pexprnode1
= var11
;
3989 var_node_list
= var_pexprnode1
;
3990 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction193> */
3992 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3995 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3999 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
4000 void nit__parser___nit__parser__ReduceAction194___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4001 val
* var_p
/* var p: Parser */;
4002 val
* var
/* : null */;
4003 val
* var_node_list
/* var node_list: nullable Object */;
4004 val
* var1
/* : nullable Object */;
4005 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4006 val
* var2
/* : nullable Object */;
4007 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4008 val
* var3
/* : nullable Object */;
4009 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4010 val
* var4
/* : nullable Object */;
4011 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4012 val
* var5
/* : nullable Object */;
4013 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4014 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4015 short int var6
/* : Bool */;
4018 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4019 short int var7
/* : Bool */;
4022 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4023 short int var10
/* : Bool */;
4026 val
* var13
/* : AInitExpr */;
4027 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4028 long var14
/* : Int */;
4029 long var15
/* : Int */;
4032 var_node_list
= var
;
4034 var1
= nit___nit__Parser___pop(var_p
);
4036 var_nodearraylist5
= var1
;
4038 var2
= nit___nit__Parser___pop(var_p
);
4040 var_nodearraylist4
= var2
;
4042 var3
= nit___nit__Parser___pop(var_p
);
4044 var_nodearraylist3
= var3
;
4046 var4
= nit___nit__Parser___pop(var_p
);
4048 var_nodearraylist2
= var4
;
4050 var5
= nit___nit__Parser___pop(var_p
);
4052 var_nodearraylist1
= var5
;
4053 var_pexprnode2
= var_nodearraylist1
;
4054 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4055 cltype
= type_nullable__nit__AExpr
.color
;
4056 idtype
= type_nullable__nit__AExpr
.id
;
4057 if(var_pexprnode2
== NULL
) {
4060 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4063 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4066 if (unlikely(!var6
)) {
4067 PRINT_ERROR("Runtime error: %s", "Assert failed");
4068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5840);
4071 var_tkwinitnode3
= var_nodearraylist4
;
4072 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4073 cltype8
= type_nullable__nit__TKwinit
.color
;
4074 idtype9
= type_nullable__nit__TKwinit
.id
;
4075 if(var_tkwinitnode3
== NULL
) {
4078 if(cltype8
>= var_tkwinitnode3
->type
->table_size
) {
4081 var7
= var_tkwinitnode3
->type
->type_table
[cltype8
] == idtype9
;
4084 if (unlikely(!var7
)) {
4085 PRINT_ERROR("Runtime error: %s", "Assert failed");
4086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5842);
4089 var_pexprsnode4
= var_nodearraylist5
;
4090 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4091 cltype11
= type_nullable__nit__AExprs
.color
;
4092 idtype12
= type_nullable__nit__AExprs
.id
;
4093 if(var_pexprsnode4
== NULL
) {
4096 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
4099 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
4102 if (unlikely(!var10
)) {
4103 PRINT_ERROR("Runtime error: %s", "Assert failed");
4104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5844);
4107 var13
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4109 nit__parser_prod___AInitExpr___init_ainitexpr(var13
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var13:AInitExpr>*/
4111 var_pexprnode1
= var13
;
4112 var_node_list
= var_pexprnode1
;
4113 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction194> */
4115 var15
= nit___nit__Parser___go_to(var_p
, var14
);
4118 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4122 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
4123 void nit__parser___nit__parser__ReduceAction195___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4124 val
* var_p
/* var p: Parser */;
4125 val
* var
/* : null */;
4126 val
* var_node_list
/* var node_list: nullable Object */;
4127 val
* var1
/* : nullable Object */;
4128 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4129 val
* var2
/* : nullable Object */;
4130 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4131 val
* var3
/* : AImplicitSelfExpr */;
4132 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4133 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4134 short int var5
/* : Bool */;
4137 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4138 short int var6
/* : Bool */;
4141 val
* var9
/* : AInitExpr */;
4142 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4143 long var10
/* : Int */;
4144 long var11
/* : Int */;
4147 var_node_list
= var
;
4149 var1
= nit___nit__Parser___pop(var_p
);
4151 var_nodearraylist2
= var1
;
4153 var2
= nit___nit__Parser___pop(var_p
);
4155 var_nodearraylist1
= var2
;
4156 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4158 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
4162 var_pexprnode2
= var3
;
4163 var_tkwinitnode3
= var_nodearraylist1
;
4164 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4165 cltype
= type_nullable__nit__TKwinit
.color
;
4166 idtype
= type_nullable__nit__TKwinit
.id
;
4167 if(var_tkwinitnode3
== NULL
) {
4170 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
4173 var5
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
4176 if (unlikely(!var5
)) {
4177 PRINT_ERROR("Runtime error: %s", "Assert failed");
4178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5863);
4181 var_pexprsnode4
= var_nodearraylist2
;
4182 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4183 cltype7
= type_nullable__nit__AExprs
.color
;
4184 idtype8
= type_nullable__nit__AExprs
.id
;
4185 if(var_pexprsnode4
== NULL
) {
4188 if(cltype7
>= var_pexprsnode4
->type
->table_size
) {
4191 var6
= var_pexprsnode4
->type
->type_table
[cltype7
] == idtype8
;
4194 if (unlikely(!var6
)) {
4195 PRINT_ERROR("Runtime error: %s", "Assert failed");
4196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5865);
4199 var9
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4201 nit__parser_prod___AInitExpr___init_ainitexpr(var9
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
4203 var_pexprnode1
= var9
;
4204 var_node_list
= var_pexprnode1
;
4205 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction195> */
4207 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4210 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4214 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
4215 void nit__parser___nit__parser__ReduceAction196___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4216 val
* var_p
/* var p: Parser */;
4217 val
* var
/* : null */;
4218 val
* var_node_list
/* var node_list: nullable Object */;
4219 val
* var1
/* : nullable Object */;
4220 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4221 val
* var2
/* : nullable Object */;
4222 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4223 val
* var3
/* : nullable Object */;
4224 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4225 val
* var4
/* : nullable Object */;
4226 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4227 val
* var5
/* : nullable Object */;
4228 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4229 val
* var6
/* : nullable Object */;
4230 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4231 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4232 short int var7
/* : Bool */;
4235 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4236 short int var8
/* : Bool */;
4239 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4240 short int var11
/* : Bool */;
4243 val
* var14
/* : AInitExpr */;
4244 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4245 long var15
/* : Int */;
4246 long var16
/* : Int */;
4249 var_node_list
= var
;
4251 var1
= nit___nit__Parser___pop(var_p
);
4253 var_nodearraylist6
= var1
;
4255 var2
= nit___nit__Parser___pop(var_p
);
4257 var_nodearraylist5
= var2
;
4259 var3
= nit___nit__Parser___pop(var_p
);
4261 var_nodearraylist4
= var3
;
4263 var4
= nit___nit__Parser___pop(var_p
);
4265 var_nodearraylist3
= var4
;
4267 var5
= nit___nit__Parser___pop(var_p
);
4269 var_nodearraylist2
= var5
;
4271 var6
= nit___nit__Parser___pop(var_p
);
4273 var_nodearraylist1
= var6
;
4274 var_pexprnode2
= var_nodearraylist1
;
4275 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4276 cltype
= type_nullable__nit__AExpr
.color
;
4277 idtype
= type_nullable__nit__AExpr
.id
;
4278 if(var_pexprnode2
== NULL
) {
4281 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4284 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4287 if (unlikely(!var7
)) {
4288 PRINT_ERROR("Runtime error: %s", "Assert failed");
4289 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5887);
4292 var_tkwinitnode3
= var_nodearraylist5
;
4293 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4294 cltype9
= type_nullable__nit__TKwinit
.color
;
4295 idtype10
= type_nullable__nit__TKwinit
.id
;
4296 if(var_tkwinitnode3
== NULL
) {
4299 if(cltype9
>= var_tkwinitnode3
->type
->table_size
) {
4302 var8
= var_tkwinitnode3
->type
->type_table
[cltype9
] == idtype10
;
4305 if (unlikely(!var8
)) {
4306 PRINT_ERROR("Runtime error: %s", "Assert failed");
4307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5889);
4310 var_pexprsnode4
= var_nodearraylist6
;
4311 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4312 cltype12
= type_nullable__nit__AExprs
.color
;
4313 idtype13
= type_nullable__nit__AExprs
.id
;
4314 if(var_pexprsnode4
== NULL
) {
4317 if(cltype12
>= var_pexprsnode4
->type
->table_size
) {
4320 var11
= var_pexprsnode4
->type
->type_table
[cltype12
] == idtype13
;
4323 if (unlikely(!var11
)) {
4324 PRINT_ERROR("Runtime error: %s", "Assert failed");
4325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5891);
4328 var14
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4330 nit__parser_prod___AInitExpr___init_ainitexpr(var14
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var14:AInitExpr>*/
4332 var_pexprnode1
= var14
;
4333 var_node_list
= var_pexprnode1
;
4334 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction196> */
4336 var16
= nit___nit__Parser___go_to(var_p
, var15
);
4339 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4343 /* method parser#ReduceAction197#action for (self: ReduceAction197, Parser) */
4344 void nit__parser___nit__parser__ReduceAction197___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4345 val
* var_p
/* var p: Parser */;
4346 val
* var
/* : null */;
4347 val
* var_node_list
/* var node_list: nullable Object */;
4348 val
* var1
/* : nullable Object */;
4349 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4350 val
* var2
/* : nullable Object */;
4351 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4352 val
* var3
/* : nullable Object */;
4353 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4354 val
* var4
/* : nullable Object */;
4355 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4356 val
* var5
/* : nullable Object */;
4357 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4358 val
* var6
/* : nullable Object */;
4359 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4360 val
* var7
/* : nullable Object */;
4361 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4362 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4363 short int var8
/* : Bool */;
4366 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4367 short int var9
/* : Bool */;
4370 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4371 short int var12
/* : Bool */;
4374 val
* var15
/* : AInitExpr */;
4375 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4376 long var16
/* : Int */;
4377 long var17
/* : Int */;
4380 var_node_list
= var
;
4382 var1
= nit___nit__Parser___pop(var_p
);
4384 var_nodearraylist7
= var1
;
4386 var2
= nit___nit__Parser___pop(var_p
);
4388 var_nodearraylist6
= var2
;
4390 var3
= nit___nit__Parser___pop(var_p
);
4392 var_nodearraylist5
= var3
;
4394 var4
= nit___nit__Parser___pop(var_p
);
4396 var_nodearraylist4
= var4
;
4398 var5
= nit___nit__Parser___pop(var_p
);
4400 var_nodearraylist3
= var5
;
4402 var6
= nit___nit__Parser___pop(var_p
);
4404 var_nodearraylist2
= var6
;
4406 var7
= nit___nit__Parser___pop(var_p
);
4408 var_nodearraylist1
= var7
;
4409 var_pexprnode2
= var_nodearraylist1
;
4410 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4411 cltype
= type_nullable__nit__AExpr
.color
;
4412 idtype
= type_nullable__nit__AExpr
.id
;
4413 if(var_pexprnode2
== NULL
) {
4416 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4419 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4422 if (unlikely(!var8
)) {
4423 PRINT_ERROR("Runtime error: %s", "Assert failed");
4424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5914);
4427 var_tkwinitnode3
= var_nodearraylist6
;
4428 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4429 cltype10
= type_nullable__nit__TKwinit
.color
;
4430 idtype11
= type_nullable__nit__TKwinit
.id
;
4431 if(var_tkwinitnode3
== NULL
) {
4434 if(cltype10
>= var_tkwinitnode3
->type
->table_size
) {
4437 var9
= var_tkwinitnode3
->type
->type_table
[cltype10
] == idtype11
;
4440 if (unlikely(!var9
)) {
4441 PRINT_ERROR("Runtime error: %s", "Assert failed");
4442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5916);
4445 var_pexprsnode4
= var_nodearraylist7
;
4446 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4447 cltype13
= type_nullable__nit__AExprs
.color
;
4448 idtype14
= type_nullable__nit__AExprs
.id
;
4449 if(var_pexprsnode4
== NULL
) {
4452 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
4455 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
4458 if (unlikely(!var12
)) {
4459 PRINT_ERROR("Runtime error: %s", "Assert failed");
4460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5918);
4463 var15
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4465 nit__parser_prod___AInitExpr___init_ainitexpr(var15
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var15:AInitExpr>*/
4467 var_pexprnode1
= var15
;
4468 var_node_list
= var_pexprnode1
;
4469 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction197> */
4471 var17
= nit___nit__Parser___go_to(var_p
, var16
);
4474 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4478 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
4479 void nit__parser___nit__parser__ReduceAction199___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4480 val
* var_p
/* var p: Parser */;
4481 val
* var
/* : null */;
4482 val
* var_node_list
/* var node_list: nullable Object */;
4483 val
* var1
/* : nullable Object */;
4484 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4485 val
* var2
/* : nullable Object */;
4486 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4487 val
* var3
/* : nullable Object */;
4488 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4489 val
* var4
/* : AImplicitSelfExpr */;
4490 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4491 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4492 short int var6
/* : Bool */;
4495 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4496 short int var7
/* : Bool */;
4499 val
* var10
/* : AInitExpr */;
4500 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4501 long var11
/* : Int */;
4502 long var12
/* : Int */;
4505 var_node_list
= var
;
4507 var1
= nit___nit__Parser___pop(var_p
);
4509 var_nodearraylist3
= var1
;
4511 var2
= nit___nit__Parser___pop(var_p
);
4513 var_nodearraylist2
= var2
;
4515 var3
= nit___nit__Parser___pop(var_p
);
4517 var_nodearraylist1
= var3
;
4518 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4520 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
4524 var_pexprnode2
= var4
;
4525 var_tkwinitnode3
= var_nodearraylist2
;
4526 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4527 cltype
= type_nullable__nit__TKwinit
.color
;
4528 idtype
= type_nullable__nit__TKwinit
.id
;
4529 if(var_tkwinitnode3
== NULL
) {
4532 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
4535 var6
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
4538 if (unlikely(!var6
)) {
4539 PRINT_ERROR("Runtime error: %s", "Assert failed");
4540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5938);
4543 var_pexprsnode4
= var_nodearraylist3
;
4544 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4545 cltype8
= type_nullable__nit__AExprs
.color
;
4546 idtype9
= type_nullable__nit__AExprs
.id
;
4547 if(var_pexprsnode4
== NULL
) {
4550 if(cltype8
>= var_pexprsnode4
->type
->table_size
) {
4553 var7
= var_pexprsnode4
->type
->type_table
[cltype8
] == idtype9
;
4556 if (unlikely(!var7
)) {
4557 PRINT_ERROR("Runtime error: %s", "Assert failed");
4558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5940);
4561 var10
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4563 nit__parser_prod___AInitExpr___init_ainitexpr(var10
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
4565 var_pexprnode1
= var10
;
4566 var_node_list
= var_pexprnode1
;
4567 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction199> */
4569 var12
= nit___nit__Parser___go_to(var_p
, var11
);
4572 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4576 /* method parser#ReduceAction200#action for (self: ReduceAction200, Parser) */
4577 void nit__parser___nit__parser__ReduceAction200___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4578 val
* var_p
/* var p: Parser */;
4579 val
* var
/* : null */;
4580 val
* var_node_list
/* var node_list: nullable Object */;
4581 val
* var1
/* : nullable Object */;
4582 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4583 val
* var2
/* : nullable Object */;
4584 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4585 val
* var3
/* : nullable Object */;
4586 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4587 val
* var4
/* : nullable Object */;
4588 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4589 val
* var5
/* : AImplicitSelfExpr */;
4590 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4591 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
4592 short int var7
/* : Bool */;
4595 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4596 short int var8
/* : Bool */;
4599 val
* var11
/* : AInitExpr */;
4600 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
4601 long var12
/* : Int */;
4602 long var13
/* : Int */;
4605 var_node_list
= var
;
4607 var1
= nit___nit__Parser___pop(var_p
);
4609 var_nodearraylist4
= var1
;
4611 var2
= nit___nit__Parser___pop(var_p
);
4613 var_nodearraylist3
= var2
;
4615 var3
= nit___nit__Parser___pop(var_p
);
4617 var_nodearraylist2
= var3
;
4619 var4
= nit___nit__Parser___pop(var_p
);
4621 var_nodearraylist1
= var4
;
4622 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4624 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
4628 var_pexprnode2
= var5
;
4629 var_tkwinitnode3
= var_nodearraylist3
;
4630 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
4631 cltype
= type_nullable__nit__TKwinit
.color
;
4632 idtype
= type_nullable__nit__TKwinit
.id
;
4633 if(var_tkwinitnode3
== NULL
) {
4636 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
4639 var7
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
4642 if (unlikely(!var7
)) {
4643 PRINT_ERROR("Runtime error: %s", "Assert failed");
4644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5961);
4647 var_pexprsnode4
= var_nodearraylist4
;
4648 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4649 cltype9
= type_nullable__nit__AExprs
.color
;
4650 idtype10
= type_nullable__nit__AExprs
.id
;
4651 if(var_pexprsnode4
== NULL
) {
4654 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
4657 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
4660 if (unlikely(!var8
)) {
4661 PRINT_ERROR("Runtime error: %s", "Assert failed");
4662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5963);
4665 var11
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
4667 nit__parser_prod___AInitExpr___init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
4669 var_pexprnode1
= var11
;
4670 var_node_list
= var_pexprnode1
;
4671 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction200> */
4673 var13
= nit___nit__Parser___go_to(var_p
, var12
);
4676 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4680 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
4681 void nit__parser___nit__parser__ReduceAction202___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4682 val
* var_p
/* var p: Parser */;
4683 val
* var
/* : null */;
4684 val
* var_node_list
/* var node_list: nullable Object */;
4685 val
* var1
/* : nullable Object */;
4686 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4687 val
* var2
/* : nullable Object */;
4688 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4689 val
* var3
/* : nullable Object */;
4690 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4691 val
* var4
/* : nullable Object */;
4692 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4693 val
* var5
/* : nullable Object */;
4694 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4695 val
* var_tkwdebugnode2
/* var tkwdebugnode2: nullable Object */;
4696 short int var6
/* : Bool */;
4699 val
* var_tkwtypenode3
/* var tkwtypenode3: nullable Object */;
4700 short int var7
/* : Bool */;
4703 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
4704 short int var10
/* : Bool */;
4707 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
4708 short int var13
/* : Bool */;
4711 val
* var16
/* : ADebugTypeExpr */;
4712 val
* var_pexprnode1
/* var pexprnode1: nullable ADebugTypeExpr */;
4713 long var17
/* : Int */;
4714 long var18
/* : Int */;
4717 var_node_list
= var
;
4719 var1
= nit___nit__Parser___pop(var_p
);
4721 var_nodearraylist5
= var1
;
4723 var2
= nit___nit__Parser___pop(var_p
);
4725 var_nodearraylist4
= var2
;
4727 var3
= nit___nit__Parser___pop(var_p
);
4729 var_nodearraylist3
= var3
;
4731 var4
= nit___nit__Parser___pop(var_p
);
4733 var_nodearraylist2
= var4
;
4735 var5
= nit___nit__Parser___pop(var_p
);
4737 var_nodearraylist1
= var5
;
4738 var_tkwdebugnode2
= var_nodearraylist1
;
4739 /* <var_tkwdebugnode2:nullable Object> isa nullable TKwdebug */
4740 cltype
= type_nullable__nit__TKwdebug
.color
;
4741 idtype
= type_nullable__nit__TKwdebug
.id
;
4742 if(var_tkwdebugnode2
== NULL
) {
4745 if(cltype
>= var_tkwdebugnode2
->type
->table_size
) {
4748 var6
= var_tkwdebugnode2
->type
->type_table
[cltype
] == idtype
;
4751 if (unlikely(!var6
)) {
4752 PRINT_ERROR("Runtime error: %s", "Assert failed");
4753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5984);
4756 var_tkwtypenode3
= var_nodearraylist2
;
4757 /* <var_tkwtypenode3:nullable Object> isa nullable TKwtype */
4758 cltype8
= type_nullable__nit__TKwtype
.color
;
4759 idtype9
= type_nullable__nit__TKwtype
.id
;
4760 if(var_tkwtypenode3
== NULL
) {
4763 if(cltype8
>= var_tkwtypenode3
->type
->table_size
) {
4766 var7
= var_tkwtypenode3
->type
->type_table
[cltype8
] == idtype9
;
4769 if (unlikely(!var7
)) {
4770 PRINT_ERROR("Runtime error: %s", "Assert failed");
4771 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5986);
4774 var_pexprnode4
= var_nodearraylist5
;
4775 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
4776 cltype11
= type_nullable__nit__AExpr
.color
;
4777 idtype12
= type_nullable__nit__AExpr
.id
;
4778 if(var_pexprnode4
== NULL
) {
4781 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
4784 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
4787 if (unlikely(!var10
)) {
4788 PRINT_ERROR("Runtime error: %s", "Assert failed");
4789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5988);
4792 var_ptypenode5
= var_nodearraylist3
;
4793 /* <var_ptypenode5:nullable Object> isa nullable AType */
4794 cltype14
= type_nullable__nit__AType
.color
;
4795 idtype15
= type_nullable__nit__AType
.id
;
4796 if(var_ptypenode5
== NULL
) {
4799 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
4802 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
4805 if (unlikely(!var13
)) {
4806 PRINT_ERROR("Runtime error: %s", "Assert failed");
4807 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5990);
4810 var16
= NEW_nit__ADebugTypeExpr(&type_nit__ADebugTypeExpr
);
4812 nit__parser_prod___ADebugTypeExpr___init_adebugtypeexpr(var16
, var_tkwdebugnode2
, var_tkwtypenode3
, var_pexprnode4
, var_ptypenode5
); /* Direct call parser_prod#ADebugTypeExpr#init_adebugtypeexpr on <var16:ADebugTypeExpr>*/
4814 var_pexprnode1
= var16
;
4815 var_node_list
= var_pexprnode1
;
4816 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction202> */
4818 var18
= nit___nit__Parser___go_to(var_p
, var17
);
4821 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4825 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
4826 void nit__parser___nit__parser__ReduceAction203___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4827 val
* var_p
/* var p: Parser */;
4828 val
* var
/* : null */;
4829 val
* var_node_list
/* var node_list: nullable Object */;
4830 val
* var1
/* : nullable Object */;
4831 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4832 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
4833 short int var2
/* : Bool */;
4836 val
* var3
/* : ALabel */;
4837 val
* var4
/* : null */;
4838 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
4839 long var5
/* : Int */;
4840 long var6
/* : Int */;
4843 var_node_list
= var
;
4845 var1
= nit___nit__Parser___pop(var_p
);
4847 var_nodearraylist1
= var1
;
4848 var_tkwlabelnode2
= var_nodearraylist1
;
4849 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4850 cltype
= type_nullable__nit__TKwlabel
.color
;
4851 idtype
= type_nullable__nit__TKwlabel
.id
;
4852 if(var_tkwlabelnode2
== NULL
) {
4855 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4858 var2
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4861 if (unlikely(!var2
)) {
4862 PRINT_ERROR("Runtime error: %s", "Assert failed");
4863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6008);
4866 var3
= NEW_nit__ALabel(&type_nit__ALabel
);
4869 nit__parser_prod___ALabel___init_alabel(var3
, var_tkwlabelnode2
, var4
); /* Direct call parser_prod#ALabel#init_alabel on <var3:ALabel>*/
4871 var_plabelnode1
= var3
;
4872 var_node_list
= var_plabelnode1
;
4873 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction203> */
4875 var6
= nit___nit__Parser___go_to(var_p
, var5
);
4878 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4882 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
4883 void nit__parser___nit__parser__ReduceAction204___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4884 val
* var_p
/* var p: Parser */;
4885 val
* var
/* : null */;
4886 val
* var_node_list
/* var node_list: nullable Object */;
4887 val
* var1
/* : nullable Object */;
4888 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4889 val
* var2
/* : nullable Object */;
4890 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4891 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
4892 short int var3
/* : Bool */;
4895 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4896 short int var4
/* : Bool */;
4899 val
* var7
/* : ALabel */;
4900 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
4901 long var8
/* : Int */;
4902 long var9
/* : Int */;
4905 var_node_list
= var
;
4907 var1
= nit___nit__Parser___pop(var_p
);
4909 var_nodearraylist2
= var1
;
4911 var2
= nit___nit__Parser___pop(var_p
);
4913 var_nodearraylist1
= var2
;
4914 var_tkwlabelnode2
= var_nodearraylist1
;
4915 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
4916 cltype
= type_nullable__nit__TKwlabel
.color
;
4917 idtype
= type_nullable__nit__TKwlabel
.id
;
4918 if(var_tkwlabelnode2
== NULL
) {
4921 if(cltype
>= var_tkwlabelnode2
->type
->table_size
) {
4924 var3
= var_tkwlabelnode2
->type
->type_table
[cltype
] == idtype
;
4927 if (unlikely(!var3
)) {
4928 PRINT_ERROR("Runtime error: %s", "Assert failed");
4929 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6025);
4932 var_tidnode3
= var_nodearraylist2
;
4933 /* <var_tidnode3:nullable Object> isa nullable TId */
4934 cltype5
= type_nullable__nit__TId
.color
;
4935 idtype6
= type_nullable__nit__TId
.id
;
4936 if(var_tidnode3
== NULL
) {
4939 if(cltype5
>= var_tidnode3
->type
->table_size
) {
4942 var4
= var_tidnode3
->type
->type_table
[cltype5
] == idtype6
;
4945 if (unlikely(!var4
)) {
4946 PRINT_ERROR("Runtime error: %s", "Assert failed");
4947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6027);
4950 var7
= NEW_nit__ALabel(&type_nit__ALabel
);
4952 nit__parser_prod___ALabel___init_alabel(var7
, var_tkwlabelnode2
, var_tidnode3
); /* Direct call parser_prod#ALabel#init_alabel on <var7:ALabel>*/
4954 var_plabelnode1
= var7
;
4955 var_node_list
= var_plabelnode1
;
4956 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction204> */
4958 var9
= nit___nit__Parser___go_to(var_p
, var8
);
4961 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4965 /* method parser#ReduceAction205#action for (self: ReduceAction205, Parser) */
4966 void nit__parser___nit__parser__ReduceAction205___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4967 val
* var_p
/* var p: Parser */;
4968 val
* var
/* : null */;
4969 val
* var_node_list
/* var node_list: nullable Object */;
4970 val
* var1
/* : nullable Object */;
4971 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4972 val
* var2
/* : nullable Object */;
4973 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4974 val
* var3
/* : nullable Object */;
4975 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4976 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
4977 short int var4
/* : Bool */;
4980 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4981 short int var5
/* : Bool */;
4984 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
4985 short int var8
/* : Bool */;
4988 val
* var11
/* : AVardeclExpr */;
4989 val
* var12
/* : null */;
4990 val
* var13
/* : null */;
4991 val
* var14
/* : null */;
4992 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
4993 long var15
/* : Int */;
4994 long var16
/* : Int */;
4997 var_node_list
= var
;
4999 var1
= nit___nit__Parser___pop(var_p
);
5001 var_nodearraylist3
= var1
;
5003 var2
= nit___nit__Parser___pop(var_p
);
5005 var_nodearraylist2
= var2
;
5007 var3
= nit___nit__Parser___pop(var_p
);
5009 var_nodearraylist1
= var3
;
5010 var_tkwvarnode2
= var_nodearraylist1
;
5011 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
5012 cltype
= type_nullable__nit__TKwvar
.color
;
5013 idtype
= type_nullable__nit__TKwvar
.id
;
5014 if(var_tkwvarnode2
== NULL
) {
5017 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
5020 var4
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
5023 if (unlikely(!var4
)) {
5024 PRINT_ERROR("Runtime error: %s", "Assert failed");
5025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6045);
5028 var_tidnode3
= var_nodearraylist2
;
5029 /* <var_tidnode3:nullable Object> isa nullable TId */
5030 cltype6
= type_nullable__nit__TId
.color
;
5031 idtype7
= type_nullable__nit__TId
.id
;
5032 if(var_tidnode3
== NULL
) {
5035 if(cltype6
>= var_tidnode3
->type
->table_size
) {
5038 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
5041 if (unlikely(!var5
)) {
5042 PRINT_ERROR("Runtime error: %s", "Assert failed");
5043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6047);
5046 var_ptypenode4
= var_nodearraylist3
;
5047 /* <var_ptypenode4:nullable Object> isa nullable AType */
5048 cltype9
= type_nullable__nit__AType
.color
;
5049 idtype10
= type_nullable__nit__AType
.id
;
5050 if(var_ptypenode4
== NULL
) {
5053 if(cltype9
>= var_ptypenode4
->type
->table_size
) {
5056 var8
= var_ptypenode4
->type
->type_table
[cltype9
] == idtype10
;
5059 if (unlikely(!var8
)) {
5060 PRINT_ERROR("Runtime error: %s", "Assert failed");
5061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6049);
5064 var11
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
5069 nit__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>*/
5071 var_pexprnode1
= var11
;
5072 var_node_list
= var_pexprnode1
;
5073 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction205> */
5075 var16
= nit___nit__Parser___go_to(var_p
, var15
);
5078 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5082 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
5083 void nit__parser___nit__parser__ReduceAction206___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5084 val
* var_p
/* var p: Parser */;
5085 val
* var
/* : null */;
5086 val
* var_node_list
/* var node_list: nullable Object */;
5087 val
* var1
/* : nullable Object */;
5088 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5089 val
* var2
/* : nullable Object */;
5090 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5091 val
* var3
/* : nullable Object */;
5092 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5093 val
* var4
/* : nullable Object */;
5094 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5095 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
5096 short int var5
/* : Bool */;
5099 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5100 short int var6
/* : Bool */;
5103 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
5104 short int var9
/* : Bool */;
5107 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
5108 short int var12
/* : Bool */;
5111 val
* var15
/* : AVardeclExpr */;
5112 val
* var16
/* : null */;
5113 val
* var17
/* : null */;
5114 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
5115 long var18
/* : Int */;
5116 long var19
/* : Int */;
5119 var_node_list
= var
;
5121 var1
= nit___nit__Parser___pop(var_p
);
5123 var_nodearraylist4
= var1
;
5125 var2
= nit___nit__Parser___pop(var_p
);
5127 var_nodearraylist3
= var2
;
5129 var3
= nit___nit__Parser___pop(var_p
);
5131 var_nodearraylist2
= var3
;
5133 var4
= nit___nit__Parser___pop(var_p
);
5135 var_nodearraylist1
= var4
;
5136 var_tkwvarnode2
= var_nodearraylist1
;
5137 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
5138 cltype
= type_nullable__nit__TKwvar
.color
;
5139 idtype
= type_nullable__nit__TKwvar
.id
;
5140 if(var_tkwvarnode2
== NULL
) {
5143 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
5146 var5
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
5149 if (unlikely(!var5
)) {
5150 PRINT_ERROR("Runtime error: %s", "Assert failed");
5151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6072);
5154 var_tidnode3
= var_nodearraylist2
;
5155 /* <var_tidnode3:nullable Object> isa nullable TId */
5156 cltype7
= type_nullable__nit__TId
.color
;
5157 idtype8
= type_nullable__nit__TId
.id
;
5158 if(var_tidnode3
== NULL
) {
5161 if(cltype7
>= var_tidnode3
->type
->table_size
) {
5164 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
5167 if (unlikely(!var6
)) {
5168 PRINT_ERROR("Runtime error: %s", "Assert failed");
5169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6074);
5172 var_ptypenode4
= var_nodearraylist4
;
5173 /* <var_ptypenode4:nullable Object> isa nullable AType */
5174 cltype10
= type_nullable__nit__AType
.color
;
5175 idtype11
= type_nullable__nit__AType
.id
;
5176 if(var_ptypenode4
== NULL
) {
5179 if(cltype10
>= var_ptypenode4
->type
->table_size
) {
5182 var9
= var_ptypenode4
->type
->type_table
[cltype10
] == idtype11
;
5185 if (unlikely(!var9
)) {
5186 PRINT_ERROR("Runtime error: %s", "Assert failed");
5187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6076);
5190 var_pannotationsnode7
= var_nodearraylist3
;
5191 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
5192 cltype13
= type_nullable__nit__AAnnotations
.color
;
5193 idtype14
= type_nullable__nit__AAnnotations
.id
;
5194 if(var_pannotationsnode7
== NULL
) {
5197 if(cltype13
>= var_pannotationsnode7
->type
->table_size
) {
5200 var12
= var_pannotationsnode7
->type
->type_table
[cltype13
] == idtype14
;
5203 if (unlikely(!var12
)) {
5204 PRINT_ERROR("Runtime error: %s", "Assert failed");
5205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6078);
5208 var15
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
5212 nit__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>*/
5214 var_pexprnode1
= var15
;
5215 var_node_list
= var_pexprnode1
;
5216 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction206> */
5218 var19
= nit___nit__Parser___go_to(var_p
, var18
);
5221 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5225 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
5226 void nit__parser___nit__parser__ReduceAction207___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5227 val
* var_p
/* var p: Parser */;
5228 val
* var
/* : null */;
5229 val
* var_node_list
/* var node_list: nullable Object */;
5230 val
* var1
/* : nullable Object */;
5231 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5232 val
* var2
/* : nullable Object */;
5233 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5234 val
* var3
/* : nullable Object */;
5235 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5236 val
* var4
/* : nullable Object */;
5237 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5238 val
* var5
/* : nullable Object */;
5239 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5240 val
* var6
/* : nullable Object */;
5241 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5242 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
5243 short int var7
/* : Bool */;
5246 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5247 short int var8
/* : Bool */;
5250 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
5251 short int var11
/* : Bool */;
5254 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5255 short int var14
/* : Bool */;
5258 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5259 short int var17
/* : Bool */;
5262 val
* var20
/* : AVardeclExpr */;
5263 val
* var21
/* : null */;
5264 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
5265 long var22
/* : Int */;
5266 long var23
/* : Int */;
5269 var_node_list
= var
;
5271 var1
= nit___nit__Parser___pop(var_p
);
5273 var_nodearraylist6
= var1
;
5275 var2
= nit___nit__Parser___pop(var_p
);
5277 var_nodearraylist5
= var2
;
5279 var3
= nit___nit__Parser___pop(var_p
);
5281 var_nodearraylist4
= var3
;
5283 var4
= nit___nit__Parser___pop(var_p
);
5285 var_nodearraylist3
= var4
;
5287 var5
= nit___nit__Parser___pop(var_p
);
5289 var_nodearraylist2
= var5
;
5291 var6
= nit___nit__Parser___pop(var_p
);
5293 var_nodearraylist1
= var6
;
5294 var_tkwvarnode2
= var_nodearraylist1
;
5295 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
5296 cltype
= type_nullable__nit__TKwvar
.color
;
5297 idtype
= type_nullable__nit__TKwvar
.id
;
5298 if(var_tkwvarnode2
== NULL
) {
5301 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
5304 var7
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
5307 if (unlikely(!var7
)) {
5308 PRINT_ERROR("Runtime error: %s", "Assert failed");
5309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6103);
5312 var_tidnode3
= var_nodearraylist2
;
5313 /* <var_tidnode3:nullable Object> isa nullable TId */
5314 cltype9
= type_nullable__nit__TId
.color
;
5315 idtype10
= type_nullable__nit__TId
.id
;
5316 if(var_tidnode3
== NULL
) {
5319 if(cltype9
>= var_tidnode3
->type
->table_size
) {
5322 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
5325 if (unlikely(!var8
)) {
5326 PRINT_ERROR("Runtime error: %s", "Assert failed");
5327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6105);
5330 var_ptypenode4
= var_nodearraylist3
;
5331 /* <var_ptypenode4:nullable Object> isa nullable AType */
5332 cltype12
= type_nullable__nit__AType
.color
;
5333 idtype13
= type_nullable__nit__AType
.id
;
5334 if(var_ptypenode4
== NULL
) {
5337 if(cltype12
>= var_ptypenode4
->type
->table_size
) {
5340 var11
= var_ptypenode4
->type
->type_table
[cltype12
] == idtype13
;
5343 if (unlikely(!var11
)) {
5344 PRINT_ERROR("Runtime error: %s", "Assert failed");
5345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6107);
5348 var_tassignnode5
= var_nodearraylist4
;
5349 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5350 cltype15
= type_nullable__nit__TAssign
.color
;
5351 idtype16
= type_nullable__nit__TAssign
.id
;
5352 if(var_tassignnode5
== NULL
) {
5355 if(cltype15
>= var_tassignnode5
->type
->table_size
) {
5358 var14
= var_tassignnode5
->type
->type_table
[cltype15
] == idtype16
;
5361 if (unlikely(!var14
)) {
5362 PRINT_ERROR("Runtime error: %s", "Assert failed");
5363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6109);
5366 var_pexprnode6
= var_nodearraylist6
;
5367 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5368 cltype18
= type_nullable__nit__AExpr
.color
;
5369 idtype19
= type_nullable__nit__AExpr
.id
;
5370 if(var_pexprnode6
== NULL
) {
5373 if(cltype18
>= var_pexprnode6
->type
->table_size
) {
5376 var17
= var_pexprnode6
->type
->type_table
[cltype18
] == idtype19
;
5379 if (unlikely(!var17
)) {
5380 PRINT_ERROR("Runtime error: %s", "Assert failed");
5381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6111);
5384 var20
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
5387 nit__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>*/
5389 var_pexprnode1
= var20
;
5390 var_node_list
= var_pexprnode1
;
5391 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction207> */
5393 var23
= nit___nit__Parser___go_to(var_p
, var22
);
5396 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5400 /* method parser#ReduceAction208#action for (self: ReduceAction208, Parser) */
5401 void nit__parser___nit__parser__ReduceAction208___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5402 val
* var_p
/* var p: Parser */;
5403 val
* var
/* : null */;
5404 val
* var_node_list
/* var node_list: nullable Object */;
5405 val
* var1
/* : nullable Object */;
5406 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5407 val
* var2
/* : nullable Object */;
5408 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5409 val
* var3
/* : nullable Object */;
5410 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5411 val
* var4
/* : nullable Object */;
5412 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5413 val
* var5
/* : nullable Object */;
5414 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5415 val
* var6
/* : nullable Object */;
5416 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5417 val
* var7
/* : nullable Object */;
5418 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5419 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
5420 short int var8
/* : Bool */;
5423 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5424 short int var9
/* : Bool */;
5427 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
5428 short int var12
/* : Bool */;
5431 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5432 short int var15
/* : Bool */;
5435 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5436 short int var18
/* : Bool */;
5439 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
5440 short int var21
/* : Bool */;
5443 val
* var24
/* : AVardeclExpr */;
5444 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
5445 long var25
/* : Int */;
5446 long var26
/* : Int */;
5449 var_node_list
= var
;
5451 var1
= nit___nit__Parser___pop(var_p
);
5453 var_nodearraylist7
= var1
;
5455 var2
= nit___nit__Parser___pop(var_p
);
5457 var_nodearraylist6
= var2
;
5459 var3
= nit___nit__Parser___pop(var_p
);
5461 var_nodearraylist5
= var3
;
5463 var4
= nit___nit__Parser___pop(var_p
);
5465 var_nodearraylist4
= var4
;
5467 var5
= nit___nit__Parser___pop(var_p
);
5469 var_nodearraylist3
= var5
;
5471 var6
= nit___nit__Parser___pop(var_p
);
5473 var_nodearraylist2
= var6
;
5475 var7
= nit___nit__Parser___pop(var_p
);
5477 var_nodearraylist1
= var7
;
5478 var_tkwvarnode2
= var_nodearraylist1
;
5479 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
5480 cltype
= type_nullable__nit__TKwvar
.color
;
5481 idtype
= type_nullable__nit__TKwvar
.id
;
5482 if(var_tkwvarnode2
== NULL
) {
5485 if(cltype
>= var_tkwvarnode2
->type
->table_size
) {
5488 var8
= var_tkwvarnode2
->type
->type_table
[cltype
] == idtype
;
5491 if (unlikely(!var8
)) {
5492 PRINT_ERROR("Runtime error: %s", "Assert failed");
5493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6137);
5496 var_tidnode3
= var_nodearraylist2
;
5497 /* <var_tidnode3:nullable Object> isa nullable TId */
5498 cltype10
= type_nullable__nit__TId
.color
;
5499 idtype11
= type_nullable__nit__TId
.id
;
5500 if(var_tidnode3
== NULL
) {
5503 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5506 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5509 if (unlikely(!var9
)) {
5510 PRINT_ERROR("Runtime error: %s", "Assert failed");
5511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6139);
5514 var_ptypenode4
= var_nodearraylist4
;
5515 /* <var_ptypenode4:nullable Object> isa nullable AType */
5516 cltype13
= type_nullable__nit__AType
.color
;
5517 idtype14
= type_nullable__nit__AType
.id
;
5518 if(var_ptypenode4
== NULL
) {
5521 if(cltype13
>= var_ptypenode4
->type
->table_size
) {
5524 var12
= var_ptypenode4
->type
->type_table
[cltype13
] == idtype14
;
5527 if (unlikely(!var12
)) {
5528 PRINT_ERROR("Runtime error: %s", "Assert failed");
5529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6141);
5532 var_tassignnode5
= var_nodearraylist5
;
5533 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
5534 cltype16
= type_nullable__nit__TAssign
.color
;
5535 idtype17
= type_nullable__nit__TAssign
.id
;
5536 if(var_tassignnode5
== NULL
) {
5539 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
5542 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
5545 if (unlikely(!var15
)) {
5546 PRINT_ERROR("Runtime error: %s", "Assert failed");
5547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6143);
5550 var_pexprnode6
= var_nodearraylist7
;
5551 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5552 cltype19
= type_nullable__nit__AExpr
.color
;
5553 idtype20
= type_nullable__nit__AExpr
.id
;
5554 if(var_pexprnode6
== NULL
) {
5557 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
5560 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
5563 if (unlikely(!var18
)) {
5564 PRINT_ERROR("Runtime error: %s", "Assert failed");
5565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6145);
5568 var_pannotationsnode7
= var_nodearraylist3
;
5569 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
5570 cltype22
= type_nullable__nit__AAnnotations
.color
;
5571 idtype23
= type_nullable__nit__AAnnotations
.id
;
5572 if(var_pannotationsnode7
== NULL
) {
5575 if(cltype22
>= var_pannotationsnode7
->type
->table_size
) {
5578 var21
= var_pannotationsnode7
->type
->type_table
[cltype22
] == idtype23
;
5581 if (unlikely(!var21
)) {
5582 PRINT_ERROR("Runtime error: %s", "Assert failed");
5583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6147);
5586 var24
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
5588 nit__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>*/
5590 var_pexprnode1
= var24
;
5591 var_node_list
= var_pexprnode1
;
5592 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction208> */
5594 var26
= nit___nit__Parser___go_to(var_p
, var25
);
5597 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5601 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
5602 void nit__parser___nit__parser__ReduceAction209___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5603 val
* var_p
/* var p: Parser */;
5604 val
* var
/* : null */;
5605 val
* var_node_list
/* var node_list: nullable Object */;
5606 val
* var1
/* : nullable Object */;
5607 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5608 val
* var2
/* : nullable Object */;
5609 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5610 val
* var3
/* : nullable Object */;
5611 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5612 val
* var4
/* : nullable Object */;
5613 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5614 val
* var5
/* : nullable Object */;
5615 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5616 val
* var6
/* : nullable Object */;
5617 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5618 val
* var7
/* : nullable Object */;
5619 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5620 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5621 short int var8
/* : Bool */;
5624 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5625 short int var9
/* : Bool */;
5628 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
5629 short int var12
/* : Bool */;
5632 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
5633 short int var15
/* : Bool */;
5636 val
* var18
/* : AAttrAssignExpr */;
5637 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
5638 long var19
/* : Int */;
5639 long var20
/* : Int */;
5642 var_node_list
= var
;
5644 var1
= nit___nit__Parser___pop(var_p
);
5646 var_nodearraylist7
= var1
;
5648 var2
= nit___nit__Parser___pop(var_p
);
5650 var_nodearraylist6
= var2
;
5652 var3
= nit___nit__Parser___pop(var_p
);
5654 var_nodearraylist5
= var3
;
5656 var4
= nit___nit__Parser___pop(var_p
);
5658 var_nodearraylist4
= var4
;
5660 var5
= nit___nit__Parser___pop(var_p
);
5662 var_nodearraylist3
= var5
;
5664 var6
= nit___nit__Parser___pop(var_p
);
5666 var_nodearraylist2
= var6
;
5668 var7
= nit___nit__Parser___pop(var_p
);
5670 var_nodearraylist1
= var7
;
5671 var_pexprnode2
= var_nodearraylist1
;
5672 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5673 cltype
= type_nullable__nit__AExpr
.color
;
5674 idtype
= type_nullable__nit__AExpr
.id
;
5675 if(var_pexprnode2
== NULL
) {
5678 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5681 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5684 if (unlikely(!var8
)) {
5685 PRINT_ERROR("Runtime error: %s", "Assert failed");
5686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6173);
5689 var_tattridnode3
= var_nodearraylist5
;
5690 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5691 cltype10
= type_nullable__nit__TAttrid
.color
;
5692 idtype11
= type_nullable__nit__TAttrid
.id
;
5693 if(var_tattridnode3
== NULL
) {
5696 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
5699 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
5702 if (unlikely(!var9
)) {
5703 PRINT_ERROR("Runtime error: %s", "Assert failed");
5704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6175);
5707 var_tassignnode4
= var_nodearraylist6
;
5708 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
5709 cltype13
= type_nullable__nit__TAssign
.color
;
5710 idtype14
= type_nullable__nit__TAssign
.id
;
5711 if(var_tassignnode4
== NULL
) {
5714 if(cltype13
>= var_tassignnode4
->type
->table_size
) {
5717 var12
= var_tassignnode4
->type
->type_table
[cltype13
] == idtype14
;
5720 if (unlikely(!var12
)) {
5721 PRINT_ERROR("Runtime error: %s", "Assert failed");
5722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6177);
5725 var_pexprnode5
= var_nodearraylist7
;
5726 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5727 cltype16
= type_nullable__nit__AExpr
.color
;
5728 idtype17
= type_nullable__nit__AExpr
.id
;
5729 if(var_pexprnode5
== NULL
) {
5732 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
5735 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
5738 if (unlikely(!var15
)) {
5739 PRINT_ERROR("Runtime error: %s", "Assert failed");
5740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6179);
5743 var18
= NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr
);
5745 nit__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var18:AAttrAssignExpr>*/
5747 var_pexprnode1
= var18
;
5748 var_node_list
= var_pexprnode1
;
5749 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction209> */
5751 var20
= nit___nit__Parser___go_to(var_p
, var19
);
5754 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5758 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
5759 void nit__parser___nit__parser__ReduceAction210___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5760 val
* var_p
/* var p: Parser */;
5761 val
* var
/* : null */;
5762 val
* var_node_list
/* var node_list: nullable Object */;
5763 val
* var1
/* : nullable Object */;
5764 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5765 val
* var2
/* : nullable Object */;
5766 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5767 val
* var3
/* : nullable Object */;
5768 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5769 val
* var4
/* : nullable Object */;
5770 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5771 val
* var5
/* : AImplicitSelfExpr */;
5772 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5773 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5774 short int var7
/* : Bool */;
5777 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
5778 short int var8
/* : Bool */;
5781 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
5782 short int var11
/* : Bool */;
5785 val
* var14
/* : AAttrAssignExpr */;
5786 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
5787 long var15
/* : Int */;
5788 long var16
/* : Int */;
5791 var_node_list
= var
;
5793 var1
= nit___nit__Parser___pop(var_p
);
5795 var_nodearraylist4
= var1
;
5797 var2
= nit___nit__Parser___pop(var_p
);
5799 var_nodearraylist3
= var2
;
5801 var3
= nit___nit__Parser___pop(var_p
);
5803 var_nodearraylist2
= var3
;
5805 var4
= nit___nit__Parser___pop(var_p
);
5807 var_nodearraylist1
= var4
;
5808 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5810 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5814 var_pexprnode2
= var5
;
5815 var_tattridnode3
= var_nodearraylist2
;
5816 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5817 cltype
= type_nullable__nit__TAttrid
.color
;
5818 idtype
= type_nullable__nit__TAttrid
.id
;
5819 if(var_tattridnode3
== NULL
) {
5822 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5825 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5828 if (unlikely(!var7
)) {
5829 PRINT_ERROR("Runtime error: %s", "Assert failed");
5830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6201);
5833 var_tassignnode4
= var_nodearraylist3
;
5834 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
5835 cltype9
= type_nullable__nit__TAssign
.color
;
5836 idtype10
= type_nullable__nit__TAssign
.id
;
5837 if(var_tassignnode4
== NULL
) {
5840 if(cltype9
>= var_tassignnode4
->type
->table_size
) {
5843 var8
= var_tassignnode4
->type
->type_table
[cltype9
] == idtype10
;
5846 if (unlikely(!var8
)) {
5847 PRINT_ERROR("Runtime error: %s", "Assert failed");
5848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6203);
5851 var_pexprnode5
= var_nodearraylist4
;
5852 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
5853 cltype12
= type_nullable__nit__AExpr
.color
;
5854 idtype13
= type_nullable__nit__AExpr
.id
;
5855 if(var_pexprnode5
== NULL
) {
5858 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
5861 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
5864 if (unlikely(!var11
)) {
5865 PRINT_ERROR("Runtime error: %s", "Assert failed");
5866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6205);
5869 var14
= NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr
);
5871 nit__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var14:AAttrAssignExpr>*/
5873 var_pexprnode1
= var14
;
5874 var_node_list
= var_pexprnode1
;
5875 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction210> */
5877 var16
= nit___nit__Parser___go_to(var_p
, var15
);
5880 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5884 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
5885 void nit__parser___nit__parser__ReduceAction211___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5886 val
* var_p
/* var p: Parser */;
5887 val
* var
/* : null */;
5888 val
* var_node_list
/* var node_list: nullable Object */;
5889 val
* var1
/* : nullable Object */;
5890 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5891 val
* var2
/* : nullable Object */;
5892 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5893 val
* var3
/* : nullable Object */;
5894 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5895 val
* var4
/* : nullable Object */;
5896 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5897 val
* var5
/* : nullable Object */;
5898 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5899 val
* var6
/* : nullable Object */;
5900 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5901 val
* var7
/* : nullable Object */;
5902 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5903 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5904 short int var8
/* : Bool */;
5907 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5908 short int var9
/* : Bool */;
5911 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5912 short int var12
/* : Bool */;
5915 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
5916 short int var15
/* : Bool */;
5919 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5920 short int var18
/* : Bool */;
5923 val
* var21
/* : ACallAssignExpr */;
5924 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
5925 long var22
/* : Int */;
5926 long var23
/* : Int */;
5929 var_node_list
= var
;
5931 var1
= nit___nit__Parser___pop(var_p
);
5933 var_nodearraylist7
= var1
;
5935 var2
= nit___nit__Parser___pop(var_p
);
5937 var_nodearraylist6
= var2
;
5939 var3
= nit___nit__Parser___pop(var_p
);
5941 var_nodearraylist5
= var3
;
5943 var4
= nit___nit__Parser___pop(var_p
);
5945 var_nodearraylist4
= var4
;
5947 var5
= nit___nit__Parser___pop(var_p
);
5949 var_nodearraylist3
= var5
;
5951 var6
= nit___nit__Parser___pop(var_p
);
5953 var_nodearraylist2
= var6
;
5955 var7
= nit___nit__Parser___pop(var_p
);
5957 var_nodearraylist1
= var7
;
5958 var_pexprnode2
= var_nodearraylist1
;
5959 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5960 cltype
= type_nullable__nit__AExpr
.color
;
5961 idtype
= type_nullable__nit__AExpr
.id
;
5962 if(var_pexprnode2
== NULL
) {
5965 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5968 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5971 if (unlikely(!var8
)) {
5972 PRINT_ERROR("Runtime error: %s", "Assert failed");
5973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6229);
5976 var_tidnode3
= var_nodearraylist4
;
5977 /* <var_tidnode3:nullable Object> isa nullable TId */
5978 cltype10
= type_nullable__nit__TId
.color
;
5979 idtype11
= type_nullable__nit__TId
.id
;
5980 if(var_tidnode3
== NULL
) {
5983 if(cltype10
>= var_tidnode3
->type
->table_size
) {
5986 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
5989 if (unlikely(!var9
)) {
5990 PRINT_ERROR("Runtime error: %s", "Assert failed");
5991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6231);
5994 var_pexprsnode4
= var_nodearraylist5
;
5995 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5996 cltype13
= type_nullable__nit__AExprs
.color
;
5997 idtype14
= type_nullable__nit__AExprs
.id
;
5998 if(var_pexprsnode4
== NULL
) {
6001 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
6004 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
6007 if (unlikely(!var12
)) {
6008 PRINT_ERROR("Runtime error: %s", "Assert failed");
6009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6233);
6012 var_tassignnode5
= var_nodearraylist6
;
6013 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6014 cltype16
= type_nullable__nit__TAssign
.color
;
6015 idtype17
= type_nullable__nit__TAssign
.id
;
6016 if(var_tassignnode5
== NULL
) {
6019 if(cltype16
>= var_tassignnode5
->type
->table_size
) {
6022 var15
= var_tassignnode5
->type
->type_table
[cltype16
] == idtype17
;
6025 if (unlikely(!var15
)) {
6026 PRINT_ERROR("Runtime error: %s", "Assert failed");
6027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6235);
6030 var_pexprnode6
= var_nodearraylist7
;
6031 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6032 cltype19
= type_nullable__nit__AExpr
.color
;
6033 idtype20
= type_nullable__nit__AExpr
.id
;
6034 if(var_pexprnode6
== NULL
) {
6037 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
6040 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
6043 if (unlikely(!var18
)) {
6044 PRINT_ERROR("Runtime error: %s", "Assert failed");
6045 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6237);
6048 var21
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6050 nit__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>*/
6052 var_pexprnode1
= var21
;
6053 var_node_list
= var_pexprnode1
;
6054 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction211> */
6056 var23
= nit___nit__Parser___go_to(var_p
, var22
);
6059 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6063 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
6064 void nit__parser___nit__parser__ReduceAction212___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6065 val
* var_p
/* var p: Parser */;
6066 val
* var
/* : null */;
6067 val
* var_node_list
/* var node_list: nullable Object */;
6068 val
* var1
/* : nullable Object */;
6069 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6070 val
* var2
/* : nullable Object */;
6071 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6072 val
* var3
/* : nullable Object */;
6073 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6074 val
* var4
/* : nullable Object */;
6075 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6076 val
* var5
/* : nullable Object */;
6077 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6078 val
* var6
/* : nullable Object */;
6079 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6080 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6081 short int var7
/* : Bool */;
6084 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6085 short int var8
/* : Bool */;
6088 val
* var11
/* : Array[Object] */;
6089 val
* var_listnode5
/* var listnode5: Array[Object] */;
6090 val
* var12
/* : AListExprs */;
6091 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6092 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6093 short int var13
/* : Bool */;
6096 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6097 short int var16
/* : Bool */;
6100 val
* var19
/* : ACallAssignExpr */;
6101 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6102 long var20
/* : Int */;
6103 long var21
/* : Int */;
6106 var_node_list
= var
;
6108 var1
= nit___nit__Parser___pop(var_p
);
6110 var_nodearraylist6
= var1
;
6112 var2
= nit___nit__Parser___pop(var_p
);
6114 var_nodearraylist5
= var2
;
6116 var3
= nit___nit__Parser___pop(var_p
);
6118 var_nodearraylist4
= var3
;
6120 var4
= nit___nit__Parser___pop(var_p
);
6122 var_nodearraylist3
= var4
;
6124 var5
= nit___nit__Parser___pop(var_p
);
6126 var_nodearraylist2
= var5
;
6128 var6
= nit___nit__Parser___pop(var_p
);
6130 var_nodearraylist1
= var6
;
6131 var_pexprnode2
= var_nodearraylist1
;
6132 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6133 cltype
= type_nullable__nit__AExpr
.color
;
6134 idtype
= type_nullable__nit__AExpr
.id
;
6135 if(var_pexprnode2
== NULL
) {
6138 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6141 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6144 if (unlikely(!var7
)) {
6145 PRINT_ERROR("Runtime error: %s", "Assert failed");
6146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6261);
6149 var_tidnode3
= var_nodearraylist4
;
6150 /* <var_tidnode3:nullable Object> isa nullable TId */
6151 cltype9
= type_nullable__nit__TId
.color
;
6152 idtype10
= type_nullable__nit__TId
.id
;
6153 if(var_tidnode3
== NULL
) {
6156 if(cltype9
>= var_tidnode3
->type
->table_size
) {
6159 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
6162 if (unlikely(!var8
)) {
6163 PRINT_ERROR("Runtime error: %s", "Assert failed");
6164 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6263);
6167 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6169 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
6171 var_listnode5
= var11
;
6172 var12
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6174 nit__parser_prod___AListExprs___init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
6176 var_pexprsnode4
= var12
;
6177 var_tassignnode6
= var_nodearraylist5
;
6178 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6179 cltype14
= type_nullable__nit__TAssign
.color
;
6180 idtype15
= type_nullable__nit__TAssign
.id
;
6181 if(var_tassignnode6
== NULL
) {
6184 if(cltype14
>= var_tassignnode6
->type
->table_size
) {
6187 var13
= var_tassignnode6
->type
->type_table
[cltype14
] == idtype15
;
6190 if (unlikely(!var13
)) {
6191 PRINT_ERROR("Runtime error: %s", "Assert failed");
6192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6269);
6195 var_pexprnode7
= var_nodearraylist6
;
6196 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6197 cltype17
= type_nullable__nit__AExpr
.color
;
6198 idtype18
= type_nullable__nit__AExpr
.id
;
6199 if(var_pexprnode7
== NULL
) {
6202 if(cltype17
>= var_pexprnode7
->type
->table_size
) {
6205 var16
= var_pexprnode7
->type
->type_table
[cltype17
] == idtype18
;
6208 if (unlikely(!var16
)) {
6209 PRINT_ERROR("Runtime error: %s", "Assert failed");
6210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6271);
6213 var19
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6215 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var19:ACallAssignExpr>*/
6217 var_pexprnode1
= var19
;
6218 var_node_list
= var_pexprnode1
;
6219 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction212> */
6221 var21
= nit___nit__Parser___go_to(var_p
, var20
);
6224 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6228 /* method parser#ReduceAction213#action for (self: ReduceAction213, Parser) */
6229 void nit__parser___nit__parser__ReduceAction213___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6230 val
* var_p
/* var p: Parser */;
6231 val
* var
/* : null */;
6232 val
* var_node_list
/* var node_list: nullable Object */;
6233 val
* var1
/* : nullable Object */;
6234 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6235 val
* var2
/* : nullable Object */;
6236 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6237 val
* var3
/* : nullable Object */;
6238 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6239 val
* var4
/* : nullable Object */;
6240 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6241 val
* var5
/* : nullable Object */;
6242 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6243 val
* var6
/* : nullable Object */;
6244 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6245 val
* var7
/* : nullable Object */;
6246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6247 val
* var8
/* : nullable Object */;
6248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6249 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6250 short int var9
/* : Bool */;
6253 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6254 short int var10
/* : Bool */;
6257 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6258 short int var13
/* : Bool */;
6261 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6262 short int var16
/* : Bool */;
6265 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6266 short int var19
/* : Bool */;
6269 val
* var22
/* : ACallAssignExpr */;
6270 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6271 long var23
/* : Int */;
6272 long var24
/* : Int */;
6275 var_node_list
= var
;
6277 var1
= nit___nit__Parser___pop(var_p
);
6279 var_nodearraylist8
= var1
;
6281 var2
= nit___nit__Parser___pop(var_p
);
6283 var_nodearraylist7
= var2
;
6285 var3
= nit___nit__Parser___pop(var_p
);
6287 var_nodearraylist6
= var3
;
6289 var4
= nit___nit__Parser___pop(var_p
);
6291 var_nodearraylist5
= var4
;
6293 var5
= nit___nit__Parser___pop(var_p
);
6295 var_nodearraylist4
= var5
;
6297 var6
= nit___nit__Parser___pop(var_p
);
6299 var_nodearraylist3
= var6
;
6301 var7
= nit___nit__Parser___pop(var_p
);
6303 var_nodearraylist2
= var7
;
6305 var8
= nit___nit__Parser___pop(var_p
);
6307 var_nodearraylist1
= var8
;
6308 var_pexprnode2
= var_nodearraylist1
;
6309 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6310 cltype
= type_nullable__nit__AExpr
.color
;
6311 idtype
= type_nullable__nit__AExpr
.id
;
6312 if(var_pexprnode2
== NULL
) {
6315 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6318 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6321 if (unlikely(!var9
)) {
6322 PRINT_ERROR("Runtime error: %s", "Assert failed");
6323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6297);
6326 var_tidnode3
= var_nodearraylist5
;
6327 /* <var_tidnode3:nullable Object> isa nullable TId */
6328 cltype11
= type_nullable__nit__TId
.color
;
6329 idtype12
= type_nullable__nit__TId
.id
;
6330 if(var_tidnode3
== NULL
) {
6333 if(cltype11
>= var_tidnode3
->type
->table_size
) {
6336 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
6339 if (unlikely(!var10
)) {
6340 PRINT_ERROR("Runtime error: %s", "Assert failed");
6341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6299);
6344 var_pexprsnode4
= var_nodearraylist6
;
6345 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6346 cltype14
= type_nullable__nit__AExprs
.color
;
6347 idtype15
= type_nullable__nit__AExprs
.id
;
6348 if(var_pexprsnode4
== NULL
) {
6351 if(cltype14
>= var_pexprsnode4
->type
->table_size
) {
6354 var13
= var_pexprsnode4
->type
->type_table
[cltype14
] == idtype15
;
6357 if (unlikely(!var13
)) {
6358 PRINT_ERROR("Runtime error: %s", "Assert failed");
6359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6301);
6362 var_tassignnode5
= var_nodearraylist7
;
6363 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6364 cltype17
= type_nullable__nit__TAssign
.color
;
6365 idtype18
= type_nullable__nit__TAssign
.id
;
6366 if(var_tassignnode5
== NULL
) {
6369 if(cltype17
>= var_tassignnode5
->type
->table_size
) {
6372 var16
= var_tassignnode5
->type
->type_table
[cltype17
] == idtype18
;
6375 if (unlikely(!var16
)) {
6376 PRINT_ERROR("Runtime error: %s", "Assert failed");
6377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6303);
6380 var_pexprnode6
= var_nodearraylist8
;
6381 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6382 cltype20
= type_nullable__nit__AExpr
.color
;
6383 idtype21
= type_nullable__nit__AExpr
.id
;
6384 if(var_pexprnode6
== NULL
) {
6387 if(cltype20
>= var_pexprnode6
->type
->table_size
) {
6390 var19
= var_pexprnode6
->type
->type_table
[cltype20
] == idtype21
;
6393 if (unlikely(!var19
)) {
6394 PRINT_ERROR("Runtime error: %s", "Assert failed");
6395 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6305);
6398 var22
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6400 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var22:ACallAssignExpr>*/
6402 var_pexprnode1
= var22
;
6403 var_node_list
= var_pexprnode1
;
6404 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction213> */
6406 var24
= nit___nit__Parser___go_to(var_p
, var23
);
6409 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6413 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
6414 void nit__parser___nit__parser__ReduceAction214___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6415 val
* var_p
/* var p: Parser */;
6416 val
* var
/* : null */;
6417 val
* var_node_list
/* var node_list: nullable Object */;
6418 val
* var1
/* : nullable Object */;
6419 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6420 val
* var2
/* : nullable Object */;
6421 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6422 val
* var3
/* : nullable Object */;
6423 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6424 val
* var4
/* : nullable Object */;
6425 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6426 val
* var5
/* : nullable Object */;
6427 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6428 val
* var6
/* : nullable Object */;
6429 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6430 val
* var7
/* : nullable Object */;
6431 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6432 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6433 short int var8
/* : Bool */;
6436 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6437 short int var9
/* : Bool */;
6440 val
* var12
/* : Array[Object] */;
6441 val
* var_listnode5
/* var listnode5: Array[Object] */;
6442 val
* var13
/* : AListExprs */;
6443 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6444 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6445 short int var14
/* : Bool */;
6448 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6449 short int var17
/* : Bool */;
6452 val
* var20
/* : ACallAssignExpr */;
6453 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6454 long var21
/* : Int */;
6455 long var22
/* : Int */;
6458 var_node_list
= var
;
6460 var1
= nit___nit__Parser___pop(var_p
);
6462 var_nodearraylist7
= var1
;
6464 var2
= nit___nit__Parser___pop(var_p
);
6466 var_nodearraylist6
= var2
;
6468 var3
= nit___nit__Parser___pop(var_p
);
6470 var_nodearraylist5
= var3
;
6472 var4
= nit___nit__Parser___pop(var_p
);
6474 var_nodearraylist4
= var4
;
6476 var5
= nit___nit__Parser___pop(var_p
);
6478 var_nodearraylist3
= var5
;
6480 var6
= nit___nit__Parser___pop(var_p
);
6482 var_nodearraylist2
= var6
;
6484 var7
= nit___nit__Parser___pop(var_p
);
6486 var_nodearraylist1
= var7
;
6487 var_pexprnode2
= var_nodearraylist1
;
6488 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6489 cltype
= type_nullable__nit__AExpr
.color
;
6490 idtype
= type_nullable__nit__AExpr
.id
;
6491 if(var_pexprnode2
== NULL
) {
6494 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6497 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6500 if (unlikely(!var8
)) {
6501 PRINT_ERROR("Runtime error: %s", "Assert failed");
6502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6330);
6505 var_tidnode3
= var_nodearraylist5
;
6506 /* <var_tidnode3:nullable Object> isa nullable TId */
6507 cltype10
= type_nullable__nit__TId
.color
;
6508 idtype11
= type_nullable__nit__TId
.id
;
6509 if(var_tidnode3
== NULL
) {
6512 if(cltype10
>= var_tidnode3
->type
->table_size
) {
6515 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
6518 if (unlikely(!var9
)) {
6519 PRINT_ERROR("Runtime error: %s", "Assert failed");
6520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6332);
6523 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6525 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
6527 var_listnode5
= var12
;
6528 var13
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6530 nit__parser_prod___AListExprs___init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
6532 var_pexprsnode4
= var13
;
6533 var_tassignnode6
= var_nodearraylist6
;
6534 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6535 cltype15
= type_nullable__nit__TAssign
.color
;
6536 idtype16
= type_nullable__nit__TAssign
.id
;
6537 if(var_tassignnode6
== NULL
) {
6540 if(cltype15
>= var_tassignnode6
->type
->table_size
) {
6543 var14
= var_tassignnode6
->type
->type_table
[cltype15
] == idtype16
;
6546 if (unlikely(!var14
)) {
6547 PRINT_ERROR("Runtime error: %s", "Assert failed");
6548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6338);
6551 var_pexprnode7
= var_nodearraylist7
;
6552 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6553 cltype18
= type_nullable__nit__AExpr
.color
;
6554 idtype19
= type_nullable__nit__AExpr
.id
;
6555 if(var_pexprnode7
== NULL
) {
6558 if(cltype18
>= var_pexprnode7
->type
->table_size
) {
6561 var17
= var_pexprnode7
->type
->type_table
[cltype18
] == idtype19
;
6564 if (unlikely(!var17
)) {
6565 PRINT_ERROR("Runtime error: %s", "Assert failed");
6566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6340);
6569 var20
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6571 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var20:ACallAssignExpr>*/
6573 var_pexprnode1
= var20
;
6574 var_node_list
= var_pexprnode1
;
6575 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction214> */
6577 var22
= nit___nit__Parser___go_to(var_p
, var21
);
6580 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6584 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
6585 void nit__parser___nit__parser__ReduceAction215___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6586 val
* var_p
/* var p: Parser */;
6587 val
* var
/* : null */;
6588 val
* var_node_list
/* var node_list: nullable Object */;
6589 val
* var1
/* : nullable Object */;
6590 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6591 val
* var2
/* : nullable Object */;
6592 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6593 val
* var3
/* : nullable Object */;
6594 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6595 val
* var4
/* : nullable Object */;
6596 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6597 val
* var5
/* : nullable Object */;
6598 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6599 val
* var6
/* : nullable Object */;
6600 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6601 val
* var7
/* : nullable Object */;
6602 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6603 val
* var8
/* : nullable Object */;
6604 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6605 val
* var9
/* : nullable Object */;
6606 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6607 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6608 short int var10
/* : Bool */;
6611 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6612 short int var11
/* : Bool */;
6615 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6616 short int var14
/* : Bool */;
6619 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6620 short int var17
/* : Bool */;
6623 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6624 short int var20
/* : Bool */;
6627 val
* var23
/* : ACallAssignExpr */;
6628 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6629 long var24
/* : Int */;
6630 long var25
/* : Int */;
6633 var_node_list
= var
;
6635 var1
= nit___nit__Parser___pop(var_p
);
6637 var_nodearraylist9
= var1
;
6639 var2
= nit___nit__Parser___pop(var_p
);
6641 var_nodearraylist8
= var2
;
6643 var3
= nit___nit__Parser___pop(var_p
);
6645 var_nodearraylist7
= var3
;
6647 var4
= nit___nit__Parser___pop(var_p
);
6649 var_nodearraylist6
= var4
;
6651 var5
= nit___nit__Parser___pop(var_p
);
6653 var_nodearraylist5
= var5
;
6655 var6
= nit___nit__Parser___pop(var_p
);
6657 var_nodearraylist4
= var6
;
6659 var7
= nit___nit__Parser___pop(var_p
);
6661 var_nodearraylist3
= var7
;
6663 var8
= nit___nit__Parser___pop(var_p
);
6665 var_nodearraylist2
= var8
;
6667 var9
= nit___nit__Parser___pop(var_p
);
6669 var_nodearraylist1
= var9
;
6670 var_pexprnode2
= var_nodearraylist1
;
6671 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6672 cltype
= type_nullable__nit__AExpr
.color
;
6673 idtype
= type_nullable__nit__AExpr
.id
;
6674 if(var_pexprnode2
== NULL
) {
6677 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6680 var10
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6683 if (unlikely(!var10
)) {
6684 PRINT_ERROR("Runtime error: %s", "Assert failed");
6685 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6367);
6688 var_tidnode3
= var_nodearraylist6
;
6689 /* <var_tidnode3:nullable Object> isa nullable TId */
6690 cltype12
= type_nullable__nit__TId
.color
;
6691 idtype13
= type_nullable__nit__TId
.id
;
6692 if(var_tidnode3
== NULL
) {
6695 if(cltype12
>= var_tidnode3
->type
->table_size
) {
6698 var11
= var_tidnode3
->type
->type_table
[cltype12
] == idtype13
;
6701 if (unlikely(!var11
)) {
6702 PRINT_ERROR("Runtime error: %s", "Assert failed");
6703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6369);
6706 var_pexprsnode4
= var_nodearraylist7
;
6707 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6708 cltype15
= type_nullable__nit__AExprs
.color
;
6709 idtype16
= type_nullable__nit__AExprs
.id
;
6710 if(var_pexprsnode4
== NULL
) {
6713 if(cltype15
>= var_pexprsnode4
->type
->table_size
) {
6716 var14
= var_pexprsnode4
->type
->type_table
[cltype15
] == idtype16
;
6719 if (unlikely(!var14
)) {
6720 PRINT_ERROR("Runtime error: %s", "Assert failed");
6721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6371);
6724 var_tassignnode5
= var_nodearraylist8
;
6725 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
6726 cltype18
= type_nullable__nit__TAssign
.color
;
6727 idtype19
= type_nullable__nit__TAssign
.id
;
6728 if(var_tassignnode5
== NULL
) {
6731 if(cltype18
>= var_tassignnode5
->type
->table_size
) {
6734 var17
= var_tassignnode5
->type
->type_table
[cltype18
] == idtype19
;
6737 if (unlikely(!var17
)) {
6738 PRINT_ERROR("Runtime error: %s", "Assert failed");
6739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6373);
6742 var_pexprnode6
= var_nodearraylist9
;
6743 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6744 cltype21
= type_nullable__nit__AExpr
.color
;
6745 idtype22
= type_nullable__nit__AExpr
.id
;
6746 if(var_pexprnode6
== NULL
) {
6749 if(cltype21
>= var_pexprnode6
->type
->table_size
) {
6752 var20
= var_pexprnode6
->type
->type_table
[cltype21
] == idtype22
;
6755 if (unlikely(!var20
)) {
6756 PRINT_ERROR("Runtime error: %s", "Assert failed");
6757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6375);
6760 var23
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6762 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var23
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var23:ACallAssignExpr>*/
6764 var_pexprnode1
= var23
;
6765 var_node_list
= var_pexprnode1
;
6766 var24
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction215> */
6768 var25
= nit___nit__Parser___go_to(var_p
, var24
);
6771 nit___nit__Parser___push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6775 /* method parser#ReduceAction216#action for (self: ReduceAction216, Parser) */
6776 void nit__parser___nit__parser__ReduceAction216___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6777 val
* var_p
/* var p: Parser */;
6778 val
* var
/* : null */;
6779 val
* var_node_list
/* var node_list: nullable Object */;
6780 val
* var1
/* : nullable Object */;
6781 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6782 val
* var2
/* : nullable Object */;
6783 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6784 val
* var3
/* : nullable Object */;
6785 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6786 val
* var4
/* : nullable Object */;
6787 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6788 val
* var5
/* : nullable Object */;
6789 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6790 val
* var6
/* : nullable Object */;
6791 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6792 val
* var7
/* : nullable Object */;
6793 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6794 val
* var8
/* : nullable Object */;
6795 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6796 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6797 short int var9
/* : Bool */;
6800 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6801 short int var10
/* : Bool */;
6804 val
* var13
/* : Array[Object] */;
6805 val
* var_listnode5
/* var listnode5: Array[Object] */;
6806 val
* var14
/* : AListExprs */;
6807 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6808 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
6809 short int var15
/* : Bool */;
6812 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6813 short int var18
/* : Bool */;
6816 val
* var21
/* : ACallAssignExpr */;
6817 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6818 long var22
/* : Int */;
6819 long var23
/* : Int */;
6822 var_node_list
= var
;
6824 var1
= nit___nit__Parser___pop(var_p
);
6826 var_nodearraylist8
= var1
;
6828 var2
= nit___nit__Parser___pop(var_p
);
6830 var_nodearraylist7
= var2
;
6832 var3
= nit___nit__Parser___pop(var_p
);
6834 var_nodearraylist6
= var3
;
6836 var4
= nit___nit__Parser___pop(var_p
);
6838 var_nodearraylist5
= var4
;
6840 var5
= nit___nit__Parser___pop(var_p
);
6842 var_nodearraylist4
= var5
;
6844 var6
= nit___nit__Parser___pop(var_p
);
6846 var_nodearraylist3
= var6
;
6848 var7
= nit___nit__Parser___pop(var_p
);
6850 var_nodearraylist2
= var7
;
6852 var8
= nit___nit__Parser___pop(var_p
);
6854 var_nodearraylist1
= var8
;
6855 var_pexprnode2
= var_nodearraylist1
;
6856 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6857 cltype
= type_nullable__nit__AExpr
.color
;
6858 idtype
= type_nullable__nit__AExpr
.id
;
6859 if(var_pexprnode2
== NULL
) {
6862 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6865 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6868 if (unlikely(!var9
)) {
6869 PRINT_ERROR("Runtime error: %s", "Assert failed");
6870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6401);
6873 var_tidnode3
= var_nodearraylist6
;
6874 /* <var_tidnode3:nullable Object> isa nullable TId */
6875 cltype11
= type_nullable__nit__TId
.color
;
6876 idtype12
= type_nullable__nit__TId
.id
;
6877 if(var_tidnode3
== NULL
) {
6880 if(cltype11
>= var_tidnode3
->type
->table_size
) {
6883 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
6886 if (unlikely(!var10
)) {
6887 PRINT_ERROR("Runtime error: %s", "Assert failed");
6888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6403);
6891 var13
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6893 standard___standard__Array___standard__kernel__Object__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
6895 var_listnode5
= var13
;
6896 var14
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6898 nit__parser_prod___AListExprs___init_alistexprs(var14
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
6900 var_pexprsnode4
= var14
;
6901 var_tassignnode6
= var_nodearraylist7
;
6902 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
6903 cltype16
= type_nullable__nit__TAssign
.color
;
6904 idtype17
= type_nullable__nit__TAssign
.id
;
6905 if(var_tassignnode6
== NULL
) {
6908 if(cltype16
>= var_tassignnode6
->type
->table_size
) {
6911 var15
= var_tassignnode6
->type
->type_table
[cltype16
] == idtype17
;
6914 if (unlikely(!var15
)) {
6915 PRINT_ERROR("Runtime error: %s", "Assert failed");
6916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6409);
6919 var_pexprnode7
= var_nodearraylist8
;
6920 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6921 cltype19
= type_nullable__nit__AExpr
.color
;
6922 idtype20
= type_nullable__nit__AExpr
.id
;
6923 if(var_pexprnode7
== NULL
) {
6926 if(cltype19
>= var_pexprnode7
->type
->table_size
) {
6929 var18
= var_pexprnode7
->type
->type_table
[cltype19
] == idtype20
;
6932 if (unlikely(!var18
)) {
6933 PRINT_ERROR("Runtime error: %s", "Assert failed");
6934 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6411);
6937 var21
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
6939 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var21:ACallAssignExpr>*/
6941 var_pexprnode1
= var21
;
6942 var_node_list
= var_pexprnode1
;
6943 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction216> */
6945 var23
= nit___nit__Parser___go_to(var_p
, var22
);
6948 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6952 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
6953 void nit__parser___nit__parser__ReduceAction219___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6954 val
* var_p
/* var p: Parser */;
6955 val
* var
/* : null */;
6956 val
* var_node_list
/* var node_list: nullable Object */;
6957 val
* var1
/* : nullable Object */;
6958 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6959 val
* var2
/* : nullable Object */;
6960 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6961 val
* var3
/* : nullable Object */;
6962 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6963 val
* var4
/* : nullable Object */;
6964 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6965 val
* var5
/* : AImplicitSelfExpr */;
6966 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6967 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6968 short int var7
/* : Bool */;
6971 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6972 short int var8
/* : Bool */;
6975 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
6976 short int var11
/* : Bool */;
6979 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6980 short int var14
/* : Bool */;
6983 val
* var17
/* : ACallAssignExpr */;
6984 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
6985 long var18
/* : Int */;
6986 long var19
/* : Int */;
6989 var_node_list
= var
;
6991 var1
= nit___nit__Parser___pop(var_p
);
6993 var_nodearraylist4
= var1
;
6995 var2
= nit___nit__Parser___pop(var_p
);
6997 var_nodearraylist3
= var2
;
6999 var3
= nit___nit__Parser___pop(var_p
);
7001 var_nodearraylist2
= var3
;
7003 var4
= nit___nit__Parser___pop(var_p
);
7005 var_nodearraylist1
= var4
;
7006 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7008 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
7012 var_pexprnode2
= var5
;
7013 var_tidnode3
= var_nodearraylist1
;
7014 /* <var_tidnode3:nullable Object> isa nullable TId */
7015 cltype
= type_nullable__nit__TId
.color
;
7016 idtype
= type_nullable__nit__TId
.id
;
7017 if(var_tidnode3
== NULL
) {
7020 if(cltype
>= var_tidnode3
->type
->table_size
) {
7023 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7026 if (unlikely(!var7
)) {
7027 PRINT_ERROR("Runtime error: %s", "Assert failed");
7028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6434);
7031 var_pexprsnode4
= var_nodearraylist2
;
7032 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7033 cltype9
= type_nullable__nit__AExprs
.color
;
7034 idtype10
= type_nullable__nit__AExprs
.id
;
7035 if(var_pexprsnode4
== NULL
) {
7038 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
7041 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
7044 if (unlikely(!var8
)) {
7045 PRINT_ERROR("Runtime error: %s", "Assert failed");
7046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6436);
7049 var_tassignnode5
= var_nodearraylist3
;
7050 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
7051 cltype12
= type_nullable__nit__TAssign
.color
;
7052 idtype13
= type_nullable__nit__TAssign
.id
;
7053 if(var_tassignnode5
== NULL
) {
7056 if(cltype12
>= var_tassignnode5
->type
->table_size
) {
7059 var11
= var_tassignnode5
->type
->type_table
[cltype12
] == idtype13
;
7062 if (unlikely(!var11
)) {
7063 PRINT_ERROR("Runtime error: %s", "Assert failed");
7064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6438);
7067 var_pexprnode6
= var_nodearraylist4
;
7068 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
7069 cltype15
= type_nullable__nit__AExpr
.color
;
7070 idtype16
= type_nullable__nit__AExpr
.id
;
7071 if(var_pexprnode6
== NULL
) {
7074 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
7077 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
7080 if (unlikely(!var14
)) {
7081 PRINT_ERROR("Runtime error: %s", "Assert failed");
7082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6440);
7085 var17
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7087 nit__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>*/
7089 var_pexprnode1
= var17
;
7090 var_node_list
= var_pexprnode1
;
7091 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction219> */
7093 var19
= nit___nit__Parser___go_to(var_p
, var18
);
7096 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7100 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
7101 void nit__parser___nit__parser__ReduceAction220___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7102 val
* var_p
/* var p: Parser */;
7103 val
* var
/* : null */;
7104 val
* var_node_list
/* var node_list: nullable Object */;
7105 val
* var1
/* : nullable Object */;
7106 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7107 val
* var2
/* : nullable Object */;
7108 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7109 val
* var3
/* : nullable Object */;
7110 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7111 val
* var4
/* : AImplicitSelfExpr */;
7112 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7113 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7114 short int var6
/* : Bool */;
7117 val
* var7
/* : Array[Object] */;
7118 val
* var_listnode5
/* var listnode5: Array[Object] */;
7119 val
* var8
/* : AListExprs */;
7120 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7121 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
7122 short int var9
/* : Bool */;
7125 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7126 short int var12
/* : Bool */;
7129 val
* var15
/* : ACallAssignExpr */;
7130 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
7131 long var16
/* : Int */;
7132 long var17
/* : Int */;
7135 var_node_list
= var
;
7137 var1
= nit___nit__Parser___pop(var_p
);
7139 var_nodearraylist3
= var1
;
7141 var2
= nit___nit__Parser___pop(var_p
);
7143 var_nodearraylist2
= var2
;
7145 var3
= nit___nit__Parser___pop(var_p
);
7147 var_nodearraylist1
= var3
;
7148 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7150 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
7154 var_pexprnode2
= var4
;
7155 var_tidnode3
= var_nodearraylist1
;
7156 /* <var_tidnode3:nullable Object> isa nullable TId */
7157 cltype
= type_nullable__nit__TId
.color
;
7158 idtype
= type_nullable__nit__TId
.id
;
7159 if(var_tidnode3
== NULL
) {
7162 if(cltype
>= var_tidnode3
->type
->table_size
) {
7165 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7168 if (unlikely(!var6
)) {
7169 PRINT_ERROR("Runtime error: %s", "Assert failed");
7170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6462);
7173 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7175 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
7177 var_listnode5
= var7
;
7178 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7180 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
7182 var_pexprsnode4
= var8
;
7183 var_tassignnode6
= var_nodearraylist2
;
7184 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
7185 cltype10
= type_nullable__nit__TAssign
.color
;
7186 idtype11
= type_nullable__nit__TAssign
.id
;
7187 if(var_tassignnode6
== NULL
) {
7190 if(cltype10
>= var_tassignnode6
->type
->table_size
) {
7193 var9
= var_tassignnode6
->type
->type_table
[cltype10
] == idtype11
;
7196 if (unlikely(!var9
)) {
7197 PRINT_ERROR("Runtime error: %s", "Assert failed");
7198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6468);
7201 var_pexprnode7
= var_nodearraylist3
;
7202 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7203 cltype13
= type_nullable__nit__AExpr
.color
;
7204 idtype14
= type_nullable__nit__AExpr
.id
;
7205 if(var_pexprnode7
== NULL
) {
7208 if(cltype13
>= var_pexprnode7
->type
->table_size
) {
7211 var12
= var_pexprnode7
->type
->type_table
[cltype13
] == idtype14
;
7214 if (unlikely(!var12
)) {
7215 PRINT_ERROR("Runtime error: %s", "Assert failed");
7216 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6470);
7219 var15
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7221 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var15:ACallAssignExpr>*/
7223 var_pexprnode1
= var15
;
7224 var_node_list
= var_pexprnode1
;
7225 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction220> */
7227 var17
= nit___nit__Parser___go_to(var_p
, var16
);
7230 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7234 /* method parser#ReduceAction221#action for (self: ReduceAction221, Parser) */
7235 void nit__parser___nit__parser__ReduceAction221___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7236 val
* var_p
/* var p: Parser */;
7237 val
* var
/* : null */;
7238 val
* var_node_list
/* var node_list: nullable Object */;
7239 val
* var1
/* : nullable Object */;
7240 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7241 val
* var2
/* : nullable Object */;
7242 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7243 val
* var3
/* : nullable Object */;
7244 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7245 val
* var4
/* : nullable Object */;
7246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7247 val
* var5
/* : nullable Object */;
7248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7249 val
* var6
/* : AImplicitSelfExpr */;
7250 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7251 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7252 short int var8
/* : Bool */;
7255 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7256 short int var9
/* : Bool */;
7259 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
7260 short int var12
/* : Bool */;
7263 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
7264 short int var15
/* : Bool */;
7267 val
* var18
/* : ACallAssignExpr */;
7268 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
7269 long var19
/* : Int */;
7270 long var20
/* : Int */;
7273 var_node_list
= var
;
7275 var1
= nit___nit__Parser___pop(var_p
);
7277 var_nodearraylist5
= var1
;
7279 var2
= nit___nit__Parser___pop(var_p
);
7281 var_nodearraylist4
= var2
;
7283 var3
= nit___nit__Parser___pop(var_p
);
7285 var_nodearraylist3
= var3
;
7287 var4
= nit___nit__Parser___pop(var_p
);
7289 var_nodearraylist2
= var4
;
7291 var5
= nit___nit__Parser___pop(var_p
);
7293 var_nodearraylist1
= var5
;
7294 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7296 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
7300 var_pexprnode2
= var6
;
7301 var_tidnode3
= var_nodearraylist2
;
7302 /* <var_tidnode3:nullable Object> isa nullable TId */
7303 cltype
= type_nullable__nit__TId
.color
;
7304 idtype
= type_nullable__nit__TId
.id
;
7305 if(var_tidnode3
== NULL
) {
7308 if(cltype
>= var_tidnode3
->type
->table_size
) {
7311 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7314 if (unlikely(!var8
)) {
7315 PRINT_ERROR("Runtime error: %s", "Assert failed");
7316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6494);
7319 var_pexprsnode4
= var_nodearraylist3
;
7320 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7321 cltype10
= type_nullable__nit__AExprs
.color
;
7322 idtype11
= type_nullable__nit__AExprs
.id
;
7323 if(var_pexprsnode4
== NULL
) {
7326 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
7329 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
7332 if (unlikely(!var9
)) {
7333 PRINT_ERROR("Runtime error: %s", "Assert failed");
7334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6496);
7337 var_tassignnode5
= var_nodearraylist4
;
7338 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
7339 cltype13
= type_nullable__nit__TAssign
.color
;
7340 idtype14
= type_nullable__nit__TAssign
.id
;
7341 if(var_tassignnode5
== NULL
) {
7344 if(cltype13
>= var_tassignnode5
->type
->table_size
) {
7347 var12
= var_tassignnode5
->type
->type_table
[cltype13
] == idtype14
;
7350 if (unlikely(!var12
)) {
7351 PRINT_ERROR("Runtime error: %s", "Assert failed");
7352 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6498);
7355 var_pexprnode6
= var_nodearraylist5
;
7356 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
7357 cltype16
= type_nullable__nit__AExpr
.color
;
7358 idtype17
= type_nullable__nit__AExpr
.id
;
7359 if(var_pexprnode6
== NULL
) {
7362 if(cltype16
>= var_pexprnode6
->type
->table_size
) {
7365 var15
= var_pexprnode6
->type
->type_table
[cltype16
] == idtype17
;
7368 if (unlikely(!var15
)) {
7369 PRINT_ERROR("Runtime error: %s", "Assert failed");
7370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6500);
7373 var18
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7375 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var18:ACallAssignExpr>*/
7377 var_pexprnode1
= var18
;
7378 var_node_list
= var_pexprnode1
;
7379 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction221> */
7381 var20
= nit___nit__Parser___go_to(var_p
, var19
);
7384 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7388 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
7389 void nit__parser___nit__parser__ReduceAction222___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7390 val
* var_p
/* var p: Parser */;
7391 val
* var
/* : null */;
7392 val
* var_node_list
/* var node_list: nullable Object */;
7393 val
* var1
/* : nullable Object */;
7394 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7395 val
* var2
/* : nullable Object */;
7396 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7397 val
* var3
/* : nullable Object */;
7398 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7399 val
* var4
/* : nullable Object */;
7400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7401 val
* var5
/* : AImplicitSelfExpr */;
7402 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7403 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7404 short int var7
/* : Bool */;
7407 val
* var8
/* : Array[Object] */;
7408 val
* var_listnode5
/* var listnode5: Array[Object] */;
7409 val
* var9
/* : AListExprs */;
7410 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7411 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
7412 short int var10
/* : Bool */;
7415 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7416 short int var13
/* : Bool */;
7419 val
* var16
/* : ACallAssignExpr */;
7420 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
7421 long var17
/* : Int */;
7422 long var18
/* : Int */;
7425 var_node_list
= var
;
7427 var1
= nit___nit__Parser___pop(var_p
);
7429 var_nodearraylist4
= var1
;
7431 var2
= nit___nit__Parser___pop(var_p
);
7433 var_nodearraylist3
= var2
;
7435 var3
= nit___nit__Parser___pop(var_p
);
7437 var_nodearraylist2
= var3
;
7439 var4
= nit___nit__Parser___pop(var_p
);
7441 var_nodearraylist1
= var4
;
7442 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7444 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
7448 var_pexprnode2
= var5
;
7449 var_tidnode3
= var_nodearraylist2
;
7450 /* <var_tidnode3:nullable Object> isa nullable TId */
7451 cltype
= type_nullable__nit__TId
.color
;
7452 idtype
= type_nullable__nit__TId
.id
;
7453 if(var_tidnode3
== NULL
) {
7456 if(cltype
>= var_tidnode3
->type
->table_size
) {
7459 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7462 if (unlikely(!var7
)) {
7463 PRINT_ERROR("Runtime error: %s", "Assert failed");
7464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6523);
7467 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7469 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
7471 var_listnode5
= var8
;
7472 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7474 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
7476 var_pexprsnode4
= var9
;
7477 var_tassignnode6
= var_nodearraylist3
;
7478 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
7479 cltype11
= type_nullable__nit__TAssign
.color
;
7480 idtype12
= type_nullable__nit__TAssign
.id
;
7481 if(var_tassignnode6
== NULL
) {
7484 if(cltype11
>= var_tassignnode6
->type
->table_size
) {
7487 var10
= var_tassignnode6
->type
->type_table
[cltype11
] == idtype12
;
7490 if (unlikely(!var10
)) {
7491 PRINT_ERROR("Runtime error: %s", "Assert failed");
7492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6529);
7495 var_pexprnode7
= var_nodearraylist4
;
7496 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7497 cltype14
= type_nullable__nit__AExpr
.color
;
7498 idtype15
= type_nullable__nit__AExpr
.id
;
7499 if(var_pexprnode7
== NULL
) {
7502 if(cltype14
>= var_pexprnode7
->type
->table_size
) {
7505 var13
= var_pexprnode7
->type
->type_table
[cltype14
] == idtype15
;
7508 if (unlikely(!var13
)) {
7509 PRINT_ERROR("Runtime error: %s", "Assert failed");
7510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6531);
7513 var16
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7515 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var16:ACallAssignExpr>*/
7517 var_pexprnode1
= var16
;
7518 var_node_list
= var_pexprnode1
;
7519 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction222> */
7521 var18
= nit___nit__Parser___go_to(var_p
, var17
);
7524 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7528 /* method parser#ReduceAction223#action for (self: ReduceAction223, Parser) */
7529 void nit__parser___nit__parser__ReduceAction223___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7530 val
* var_p
/* var p: Parser */;
7531 val
* var
/* : null */;
7532 val
* var_node_list
/* var node_list: nullable Object */;
7533 val
* var1
/* : nullable Object */;
7534 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7535 val
* var2
/* : nullable Object */;
7536 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7537 val
* var3
/* : nullable Object */;
7538 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7539 val
* var4
/* : nullable Object */;
7540 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7541 val
* var5
/* : nullable Object */;
7542 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7543 val
* var6
/* : nullable Object */;
7544 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7545 val
* var7
/* : AImplicitSelfExpr */;
7546 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7547 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7548 short int var9
/* : Bool */;
7551 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7552 short int var10
/* : Bool */;
7555 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
7556 short int var13
/* : Bool */;
7559 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
7560 short int var16
/* : Bool */;
7563 val
* var19
/* : ACallAssignExpr */;
7564 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
7565 long var20
/* : Int */;
7566 long var21
/* : Int */;
7569 var_node_list
= var
;
7571 var1
= nit___nit__Parser___pop(var_p
);
7573 var_nodearraylist6
= var1
;
7575 var2
= nit___nit__Parser___pop(var_p
);
7577 var_nodearraylist5
= var2
;
7579 var3
= nit___nit__Parser___pop(var_p
);
7581 var_nodearraylist4
= var3
;
7583 var4
= nit___nit__Parser___pop(var_p
);
7585 var_nodearraylist3
= var4
;
7587 var5
= nit___nit__Parser___pop(var_p
);
7589 var_nodearraylist2
= var5
;
7591 var6
= nit___nit__Parser___pop(var_p
);
7593 var_nodearraylist1
= var6
;
7594 var7
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7596 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on <var7:AImplicitSelfExpr> */
7600 var_pexprnode2
= var7
;
7601 var_tidnode3
= var_nodearraylist3
;
7602 /* <var_tidnode3:nullable Object> isa nullable TId */
7603 cltype
= type_nullable__nit__TId
.color
;
7604 idtype
= type_nullable__nit__TId
.id
;
7605 if(var_tidnode3
== NULL
) {
7608 if(cltype
>= var_tidnode3
->type
->table_size
) {
7611 var9
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7614 if (unlikely(!var9
)) {
7615 PRINT_ERROR("Runtime error: %s", "Assert failed");
7616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6556);
7619 var_pexprsnode4
= var_nodearraylist4
;
7620 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7621 cltype11
= type_nullable__nit__AExprs
.color
;
7622 idtype12
= type_nullable__nit__AExprs
.id
;
7623 if(var_pexprsnode4
== NULL
) {
7626 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
7629 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
7632 if (unlikely(!var10
)) {
7633 PRINT_ERROR("Runtime error: %s", "Assert failed");
7634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6558);
7637 var_tassignnode5
= var_nodearraylist5
;
7638 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
7639 cltype14
= type_nullable__nit__TAssign
.color
;
7640 idtype15
= type_nullable__nit__TAssign
.id
;
7641 if(var_tassignnode5
== NULL
) {
7644 if(cltype14
>= var_tassignnode5
->type
->table_size
) {
7647 var13
= var_tassignnode5
->type
->type_table
[cltype14
] == idtype15
;
7650 if (unlikely(!var13
)) {
7651 PRINT_ERROR("Runtime error: %s", "Assert failed");
7652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6560);
7655 var_pexprnode6
= var_nodearraylist6
;
7656 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
7657 cltype17
= type_nullable__nit__AExpr
.color
;
7658 idtype18
= type_nullable__nit__AExpr
.id
;
7659 if(var_pexprnode6
== NULL
) {
7662 if(cltype17
>= var_pexprnode6
->type
->table_size
) {
7665 var16
= var_pexprnode6
->type
->type_table
[cltype17
] == idtype18
;
7668 if (unlikely(!var16
)) {
7669 PRINT_ERROR("Runtime error: %s", "Assert failed");
7670 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6562);
7673 var19
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7675 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var19:ACallAssignExpr>*/
7677 var_pexprnode1
= var19
;
7678 var_node_list
= var_pexprnode1
;
7679 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction223> */
7681 var21
= nit___nit__Parser___go_to(var_p
, var20
);
7684 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7688 /* method parser#ReduceAction224#action for (self: ReduceAction224, Parser) */
7689 void nit__parser___nit__parser__ReduceAction224___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7690 val
* var_p
/* var p: Parser */;
7691 val
* var
/* : null */;
7692 val
* var_node_list
/* var node_list: nullable Object */;
7693 val
* var1
/* : nullable Object */;
7694 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7695 val
* var2
/* : nullable Object */;
7696 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7697 val
* var3
/* : nullable Object */;
7698 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7699 val
* var4
/* : nullable Object */;
7700 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7701 val
* var5
/* : nullable Object */;
7702 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7703 val
* var6
/* : AImplicitSelfExpr */;
7704 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
7705 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7706 short int var8
/* : Bool */;
7709 val
* var9
/* : Array[Object] */;
7710 val
* var_listnode5
/* var listnode5: Array[Object] */;
7711 val
* var10
/* : AListExprs */;
7712 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7713 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
7714 short int var11
/* : Bool */;
7717 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7718 short int var14
/* : Bool */;
7721 val
* var17
/* : ACallAssignExpr */;
7722 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
7723 long var18
/* : Int */;
7724 long var19
/* : Int */;
7727 var_node_list
= var
;
7729 var1
= nit___nit__Parser___pop(var_p
);
7731 var_nodearraylist5
= var1
;
7733 var2
= nit___nit__Parser___pop(var_p
);
7735 var_nodearraylist4
= var2
;
7737 var3
= nit___nit__Parser___pop(var_p
);
7739 var_nodearraylist3
= var3
;
7741 var4
= nit___nit__Parser___pop(var_p
);
7743 var_nodearraylist2
= var4
;
7745 var5
= nit___nit__Parser___pop(var_p
);
7747 var_nodearraylist1
= var5
;
7748 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7750 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
7754 var_pexprnode2
= var6
;
7755 var_tidnode3
= var_nodearraylist3
;
7756 /* <var_tidnode3:nullable Object> isa nullable TId */
7757 cltype
= type_nullable__nit__TId
.color
;
7758 idtype
= type_nullable__nit__TId
.id
;
7759 if(var_tidnode3
== NULL
) {
7762 if(cltype
>= var_tidnode3
->type
->table_size
) {
7765 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
7768 if (unlikely(!var8
)) {
7769 PRINT_ERROR("Runtime error: %s", "Assert failed");
7770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6586);
7773 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7775 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
7777 var_listnode5
= var9
;
7778 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7780 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
7782 var_pexprsnode4
= var10
;
7783 var_tassignnode6
= var_nodearraylist4
;
7784 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
7785 cltype12
= type_nullable__nit__TAssign
.color
;
7786 idtype13
= type_nullable__nit__TAssign
.id
;
7787 if(var_tassignnode6
== NULL
) {
7790 if(cltype12
>= var_tassignnode6
->type
->table_size
) {
7793 var11
= var_tassignnode6
->type
->type_table
[cltype12
] == idtype13
;
7796 if (unlikely(!var11
)) {
7797 PRINT_ERROR("Runtime error: %s", "Assert failed");
7798 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6592);
7801 var_pexprnode7
= var_nodearraylist5
;
7802 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7803 cltype15
= type_nullable__nit__AExpr
.color
;
7804 idtype16
= type_nullable__nit__AExpr
.id
;
7805 if(var_pexprnode7
== NULL
) {
7808 if(cltype15
>= var_pexprnode7
->type
->table_size
) {
7811 var14
= var_pexprnode7
->type
->type_table
[cltype15
] == idtype16
;
7814 if (unlikely(!var14
)) {
7815 PRINT_ERROR("Runtime error: %s", "Assert failed");
7816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6594);
7819 var17
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
7821 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var17:ACallAssignExpr>*/
7823 var_pexprnode1
= var17
;
7824 var_node_list
= var_pexprnode1
;
7825 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction224> */
7827 var19
= nit___nit__Parser___go_to(var_p
, var18
);
7830 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7834 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
7835 void nit__parser___nit__parser__ReduceAction227___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7836 val
* var_p
/* var p: Parser */;
7837 val
* var
/* : null */;
7838 val
* var_node_list
/* var node_list: nullable Object */;
7839 val
* var1
/* : nullable Object */;
7840 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7841 val
* var2
/* : nullable Object */;
7842 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7843 val
* var3
/* : nullable Object */;
7844 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7845 val
* var4
/* : nullable Object */;
7846 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7847 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7848 short int var5
/* : Bool */;
7851 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
7852 short int var6
/* : Bool */;
7855 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
7856 short int var9
/* : Bool */;
7859 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7860 short int var12
/* : Bool */;
7863 val
* var15
/* : ABraAssignExpr */;
7864 val
* var_pexprnode1
/* var pexprnode1: nullable ABraAssignExpr */;
7865 long var16
/* : Int */;
7866 long var17
/* : Int */;
7869 var_node_list
= var
;
7871 var1
= nit___nit__Parser___pop(var_p
);
7873 var_nodearraylist4
= var1
;
7875 var2
= nit___nit__Parser___pop(var_p
);
7877 var_nodearraylist3
= var2
;
7879 var3
= nit___nit__Parser___pop(var_p
);
7881 var_nodearraylist2
= var3
;
7883 var4
= nit___nit__Parser___pop(var_p
);
7885 var_nodearraylist1
= var4
;
7886 var_pexprnode2
= var_nodearraylist1
;
7887 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7888 cltype
= type_nullable__nit__AExpr
.color
;
7889 idtype
= type_nullable__nit__AExpr
.id
;
7890 if(var_pexprnode2
== NULL
) {
7893 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7896 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7899 if (unlikely(!var5
)) {
7900 PRINT_ERROR("Runtime error: %s", "Assert failed");
7901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6616);
7904 var_pexprsnode3
= var_nodearraylist2
;
7905 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
7906 cltype7
= type_nullable__nit__AExprs
.color
;
7907 idtype8
= type_nullable__nit__AExprs
.id
;
7908 if(var_pexprsnode3
== NULL
) {
7911 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
7914 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
7917 if (unlikely(!var6
)) {
7918 PRINT_ERROR("Runtime error: %s", "Assert failed");
7919 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6618);
7922 var_tassignnode4
= var_nodearraylist3
;
7923 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
7924 cltype10
= type_nullable__nit__TAssign
.color
;
7925 idtype11
= type_nullable__nit__TAssign
.id
;
7926 if(var_tassignnode4
== NULL
) {
7929 if(cltype10
>= var_tassignnode4
->type
->table_size
) {
7932 var9
= var_tassignnode4
->type
->type_table
[cltype10
] == idtype11
;
7935 if (unlikely(!var9
)) {
7936 PRINT_ERROR("Runtime error: %s", "Assert failed");
7937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6620);
7940 var_pexprnode5
= var_nodearraylist4
;
7941 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7942 cltype13
= type_nullable__nit__AExpr
.color
;
7943 idtype14
= type_nullable__nit__AExpr
.id
;
7944 if(var_pexprnode5
== NULL
) {
7947 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
7950 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
7953 if (unlikely(!var12
)) {
7954 PRINT_ERROR("Runtime error: %s", "Assert failed");
7955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6622);
7958 var15
= NEW_nit__ABraAssignExpr(&type_nit__ABraAssignExpr
);
7960 nit__parser_prod___ABraAssignExpr___init_abraassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraAssignExpr#init_abraassignexpr on <var15:ABraAssignExpr>*/
7962 var_pexprnode1
= var15
;
7963 var_node_list
= var_pexprnode1
;
7964 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction227> */
7966 var17
= nit___nit__Parser___go_to(var_p
, var16
);
7969 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7973 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
7974 void nit__parser___nit__parser__ReduceAction228___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7975 val
* var_p
/* var p: Parser */;
7976 val
* var
/* : null */;
7977 val
* var_node_list
/* var node_list: nullable Object */;
7978 val
* var1
/* : nullable Object */;
7979 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7980 val
* var2
/* : nullable Object */;
7981 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7982 val
* var3
/* : nullable Object */;
7983 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7984 val
* var4
/* : nullable Object */;
7985 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7986 val
* var5
/* : nullable Object */;
7987 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7988 val
* var6
/* : nullable Object */;
7989 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7990 val
* var7
/* : nullable Object */;
7991 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7992 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7993 short int var8
/* : Bool */;
7996 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7997 short int var9
/* : Bool */;
8000 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
8001 short int var12
/* : Bool */;
8004 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8005 short int var15
/* : Bool */;
8008 val
* var18
/* : AAttrReassignExpr */;
8009 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
8010 long var19
/* : Int */;
8011 long var20
/* : Int */;
8014 var_node_list
= var
;
8016 var1
= nit___nit__Parser___pop(var_p
);
8018 var_nodearraylist7
= var1
;
8020 var2
= nit___nit__Parser___pop(var_p
);
8022 var_nodearraylist6
= var2
;
8024 var3
= nit___nit__Parser___pop(var_p
);
8026 var_nodearraylist5
= var3
;
8028 var4
= nit___nit__Parser___pop(var_p
);
8030 var_nodearraylist4
= var4
;
8032 var5
= nit___nit__Parser___pop(var_p
);
8034 var_nodearraylist3
= var5
;
8036 var6
= nit___nit__Parser___pop(var_p
);
8038 var_nodearraylist2
= var6
;
8040 var7
= nit___nit__Parser___pop(var_p
);
8042 var_nodearraylist1
= var7
;
8043 var_pexprnode2
= var_nodearraylist1
;
8044 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8045 cltype
= type_nullable__nit__AExpr
.color
;
8046 idtype
= type_nullable__nit__AExpr
.id
;
8047 if(var_pexprnode2
== NULL
) {
8050 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8053 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8056 if (unlikely(!var8
)) {
8057 PRINT_ERROR("Runtime error: %s", "Assert failed");
8058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6646);
8061 var_tattridnode3
= var_nodearraylist5
;
8062 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
8063 cltype10
= type_nullable__nit__TAttrid
.color
;
8064 idtype11
= type_nullable__nit__TAttrid
.id
;
8065 if(var_tattridnode3
== NULL
) {
8068 if(cltype10
>= var_tattridnode3
->type
->table_size
) {
8071 var9
= var_tattridnode3
->type
->type_table
[cltype10
] == idtype11
;
8074 if (unlikely(!var9
)) {
8075 PRINT_ERROR("Runtime error: %s", "Assert failed");
8076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6648);
8079 var_passignopnode4
= var_nodearraylist6
;
8080 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
8081 cltype13
= type_nullable__nit__AAssignOp
.color
;
8082 idtype14
= type_nullable__nit__AAssignOp
.id
;
8083 if(var_passignopnode4
== NULL
) {
8086 if(cltype13
>= var_passignopnode4
->type
->table_size
) {
8089 var12
= var_passignopnode4
->type
->type_table
[cltype13
] == idtype14
;
8092 if (unlikely(!var12
)) {
8093 PRINT_ERROR("Runtime error: %s", "Assert failed");
8094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6650);
8097 var_pexprnode5
= var_nodearraylist7
;
8098 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8099 cltype16
= type_nullable__nit__AExpr
.color
;
8100 idtype17
= type_nullable__nit__AExpr
.id
;
8101 if(var_pexprnode5
== NULL
) {
8104 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
8107 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
8110 if (unlikely(!var15
)) {
8111 PRINT_ERROR("Runtime error: %s", "Assert failed");
8112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6652);
8115 var18
= NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr
);
8117 nit__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var18
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var18:AAttrReassignExpr>*/
8119 var_pexprnode1
= var18
;
8120 var_node_list
= var_pexprnode1
;
8121 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction228> */
8123 var20
= nit___nit__Parser___go_to(var_p
, var19
);
8126 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8130 /* method parser#ReduceAction229#action for (self: ReduceAction229, Parser) */
8131 void nit__parser___nit__parser__ReduceAction229___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8132 val
* var_p
/* var p: Parser */;
8133 val
* var
/* : null */;
8134 val
* var_node_list
/* var node_list: nullable Object */;
8135 val
* var1
/* : nullable Object */;
8136 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8137 val
* var2
/* : nullable Object */;
8138 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8139 val
* var3
/* : nullable Object */;
8140 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8141 val
* var4
/* : nullable Object */;
8142 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8143 val
* var5
/* : AImplicitSelfExpr */;
8144 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
8145 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
8146 short int var7
/* : Bool */;
8149 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
8150 short int var8
/* : Bool */;
8153 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8154 short int var11
/* : Bool */;
8157 val
* var14
/* : AAttrReassignExpr */;
8158 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
8159 long var15
/* : Int */;
8160 long var16
/* : Int */;
8163 var_node_list
= var
;
8165 var1
= nit___nit__Parser___pop(var_p
);
8167 var_nodearraylist4
= var1
;
8169 var2
= nit___nit__Parser___pop(var_p
);
8171 var_nodearraylist3
= var2
;
8173 var3
= nit___nit__Parser___pop(var_p
);
8175 var_nodearraylist2
= var3
;
8177 var4
= nit___nit__Parser___pop(var_p
);
8179 var_nodearraylist1
= var4
;
8180 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
8182 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
8186 var_pexprnode2
= var5
;
8187 var_tattridnode3
= var_nodearraylist2
;
8188 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
8189 cltype
= type_nullable__nit__TAttrid
.color
;
8190 idtype
= type_nullable__nit__TAttrid
.id
;
8191 if(var_tattridnode3
== NULL
) {
8194 if(cltype
>= var_tattridnode3
->type
->table_size
) {
8197 var7
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
8200 if (unlikely(!var7
)) {
8201 PRINT_ERROR("Runtime error: %s", "Assert failed");
8202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6674);
8205 var_passignopnode4
= var_nodearraylist3
;
8206 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
8207 cltype9
= type_nullable__nit__AAssignOp
.color
;
8208 idtype10
= type_nullable__nit__AAssignOp
.id
;
8209 if(var_passignopnode4
== NULL
) {
8212 if(cltype9
>= var_passignopnode4
->type
->table_size
) {
8215 var8
= var_passignopnode4
->type
->type_table
[cltype9
] == idtype10
;
8218 if (unlikely(!var8
)) {
8219 PRINT_ERROR("Runtime error: %s", "Assert failed");
8220 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6676);
8223 var_pexprnode5
= var_nodearraylist4
;
8224 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8225 cltype12
= type_nullable__nit__AExpr
.color
;
8226 idtype13
= type_nullable__nit__AExpr
.id
;
8227 if(var_pexprnode5
== NULL
) {
8230 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
8233 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
8236 if (unlikely(!var11
)) {
8237 PRINT_ERROR("Runtime error: %s", "Assert failed");
8238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6678);
8241 var14
= NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr
);
8243 nit__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var14
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var14:AAttrReassignExpr>*/
8245 var_pexprnode1
= var14
;
8246 var_node_list
= var_pexprnode1
;
8247 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction229> */
8249 var16
= nit___nit__Parser___go_to(var_p
, var15
);
8252 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8256 /* method parser#ReduceAction230#action for (self: ReduceAction230, Parser) */
8257 void nit__parser___nit__parser__ReduceAction230___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8258 val
* var_p
/* var p: Parser */;
8259 val
* var
/* : null */;
8260 val
* var_node_list
/* var node_list: nullable Object */;
8261 val
* var1
/* : nullable Object */;
8262 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8263 val
* var2
/* : nullable Object */;
8264 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8265 val
* var3
/* : nullable Object */;
8266 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8267 val
* var4
/* : nullable Object */;
8268 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8269 val
* var5
/* : nullable Object */;
8270 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8271 val
* var6
/* : nullable Object */;
8272 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8273 val
* var7
/* : nullable Object */;
8274 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8275 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8276 short int var8
/* : Bool */;
8279 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8280 short int var9
/* : Bool */;
8283 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8284 short int var12
/* : Bool */;
8287 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8288 short int var15
/* : Bool */;
8291 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8292 short int var18
/* : Bool */;
8295 val
* var21
/* : ACallReassignExpr */;
8296 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8297 long var22
/* : Int */;
8298 long var23
/* : Int */;
8301 var_node_list
= var
;
8303 var1
= nit___nit__Parser___pop(var_p
);
8305 var_nodearraylist7
= var1
;
8307 var2
= nit___nit__Parser___pop(var_p
);
8309 var_nodearraylist6
= var2
;
8311 var3
= nit___nit__Parser___pop(var_p
);
8313 var_nodearraylist5
= var3
;
8315 var4
= nit___nit__Parser___pop(var_p
);
8317 var_nodearraylist4
= var4
;
8319 var5
= nit___nit__Parser___pop(var_p
);
8321 var_nodearraylist3
= var5
;
8323 var6
= nit___nit__Parser___pop(var_p
);
8325 var_nodearraylist2
= var6
;
8327 var7
= nit___nit__Parser___pop(var_p
);
8329 var_nodearraylist1
= var7
;
8330 var_pexprnode2
= var_nodearraylist1
;
8331 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8332 cltype
= type_nullable__nit__AExpr
.color
;
8333 idtype
= type_nullable__nit__AExpr
.id
;
8334 if(var_pexprnode2
== NULL
) {
8337 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8340 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8343 if (unlikely(!var8
)) {
8344 PRINT_ERROR("Runtime error: %s", "Assert failed");
8345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6702);
8348 var_tidnode3
= var_nodearraylist4
;
8349 /* <var_tidnode3:nullable Object> isa nullable TId */
8350 cltype10
= type_nullable__nit__TId
.color
;
8351 idtype11
= type_nullable__nit__TId
.id
;
8352 if(var_tidnode3
== NULL
) {
8355 if(cltype10
>= var_tidnode3
->type
->table_size
) {
8358 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
8361 if (unlikely(!var9
)) {
8362 PRINT_ERROR("Runtime error: %s", "Assert failed");
8363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6704);
8366 var_pexprsnode4
= var_nodearraylist5
;
8367 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
8368 cltype13
= type_nullable__nit__AExprs
.color
;
8369 idtype14
= type_nullable__nit__AExprs
.id
;
8370 if(var_pexprsnode4
== NULL
) {
8373 if(cltype13
>= var_pexprsnode4
->type
->table_size
) {
8376 var12
= var_pexprsnode4
->type
->type_table
[cltype13
] == idtype14
;
8379 if (unlikely(!var12
)) {
8380 PRINT_ERROR("Runtime error: %s", "Assert failed");
8381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6706);
8384 var_passignopnode5
= var_nodearraylist6
;
8385 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
8386 cltype16
= type_nullable__nit__AAssignOp
.color
;
8387 idtype17
= type_nullable__nit__AAssignOp
.id
;
8388 if(var_passignopnode5
== NULL
) {
8391 if(cltype16
>= var_passignopnode5
->type
->table_size
) {
8394 var15
= var_passignopnode5
->type
->type_table
[cltype16
] == idtype17
;
8397 if (unlikely(!var15
)) {
8398 PRINT_ERROR("Runtime error: %s", "Assert failed");
8399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6708);
8402 var_pexprnode6
= var_nodearraylist7
;
8403 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
8404 cltype19
= type_nullable__nit__AExpr
.color
;
8405 idtype20
= type_nullable__nit__AExpr
.id
;
8406 if(var_pexprnode6
== NULL
) {
8409 if(cltype19
>= var_pexprnode6
->type
->table_size
) {
8412 var18
= var_pexprnode6
->type
->type_table
[cltype19
] == idtype20
;
8415 if (unlikely(!var18
)) {
8416 PRINT_ERROR("Runtime error: %s", "Assert failed");
8417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6710);
8420 var21
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
8422 nit__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>*/
8424 var_pexprnode1
= var21
;
8425 var_node_list
= var_pexprnode1
;
8426 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction230> */
8428 var23
= nit___nit__Parser___go_to(var_p
, var22
);
8431 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8435 /* method parser#ReduceAction231#action for (self: ReduceAction231, Parser) */
8436 void nit__parser___nit__parser__ReduceAction231___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8437 val
* var_p
/* var p: Parser */;
8438 val
* var
/* : null */;
8439 val
* var_node_list
/* var node_list: nullable Object */;
8440 val
* var1
/* : nullable Object */;
8441 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8442 val
* var2
/* : nullable Object */;
8443 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8444 val
* var3
/* : nullable Object */;
8445 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8446 val
* var4
/* : nullable Object */;
8447 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8448 val
* var5
/* : nullable Object */;
8449 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8450 val
* var6
/* : nullable Object */;
8451 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8452 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8453 short int var7
/* : Bool */;
8456 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8457 short int var8
/* : Bool */;
8460 val
* var11
/* : Array[Object] */;
8461 val
* var_listnode5
/* var listnode5: Array[Object] */;
8462 val
* var12
/* : AListExprs */;
8463 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
8464 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
8465 short int var13
/* : Bool */;
8468 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8469 short int var16
/* : Bool */;
8472 val
* var19
/* : ACallReassignExpr */;
8473 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8474 long var20
/* : Int */;
8475 long var21
/* : Int */;
8478 var_node_list
= var
;
8480 var1
= nit___nit__Parser___pop(var_p
);
8482 var_nodearraylist6
= var1
;
8484 var2
= nit___nit__Parser___pop(var_p
);
8486 var_nodearraylist5
= var2
;
8488 var3
= nit___nit__Parser___pop(var_p
);
8490 var_nodearraylist4
= var3
;
8492 var4
= nit___nit__Parser___pop(var_p
);
8494 var_nodearraylist3
= var4
;
8496 var5
= nit___nit__Parser___pop(var_p
);
8498 var_nodearraylist2
= var5
;
8500 var6
= nit___nit__Parser___pop(var_p
);
8502 var_nodearraylist1
= var6
;
8503 var_pexprnode2
= var_nodearraylist1
;
8504 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8505 cltype
= type_nullable__nit__AExpr
.color
;
8506 idtype
= type_nullable__nit__AExpr
.id
;
8507 if(var_pexprnode2
== NULL
) {
8510 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8513 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8516 if (unlikely(!var7
)) {
8517 PRINT_ERROR("Runtime error: %s", "Assert failed");
8518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6734);
8521 var_tidnode3
= var_nodearraylist4
;
8522 /* <var_tidnode3:nullable Object> isa nullable TId */
8523 cltype9
= type_nullable__nit__TId
.color
;
8524 idtype10
= type_nullable__nit__TId
.id
;
8525 if(var_tidnode3
== NULL
) {
8528 if(cltype9
>= var_tidnode3
->type
->table_size
) {
8531 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
8534 if (unlikely(!var8
)) {
8535 PRINT_ERROR("Runtime error: %s", "Assert failed");
8536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6736);
8539 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8541 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
8543 var_listnode5
= var11
;
8544 var12
= NEW_nit__AListExprs(&type_nit__AListExprs
);
8546 nit__parser_prod___AListExprs___init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
8548 var_pexprsnode4
= var12
;
8549 var_passignopnode6
= var_nodearraylist5
;
8550 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
8551 cltype14
= type_nullable__nit__AAssignOp
.color
;
8552 idtype15
= type_nullable__nit__AAssignOp
.id
;
8553 if(var_passignopnode6
== NULL
) {
8556 if(cltype14
>= var_passignopnode6
->type
->table_size
) {
8559 var13
= var_passignopnode6
->type
->type_table
[cltype14
] == idtype15
;
8562 if (unlikely(!var13
)) {
8563 PRINT_ERROR("Runtime error: %s", "Assert failed");
8564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6742);
8567 var_pexprnode7
= var_nodearraylist6
;
8568 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8569 cltype17
= type_nullable__nit__AExpr
.color
;
8570 idtype18
= type_nullable__nit__AExpr
.id
;
8571 if(var_pexprnode7
== NULL
) {
8574 if(cltype17
>= var_pexprnode7
->type
->table_size
) {
8577 var16
= var_pexprnode7
->type
->type_table
[cltype17
] == idtype18
;
8580 if (unlikely(!var16
)) {
8581 PRINT_ERROR("Runtime error: %s", "Assert failed");
8582 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6744);
8585 var19
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
8587 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var19:ACallReassignExpr>*/
8589 var_pexprnode1
= var19
;
8590 var_node_list
= var_pexprnode1
;
8591 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction231> */
8593 var21
= nit___nit__Parser___go_to(var_p
, var20
);
8596 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8600 /* method parser#ReduceAction232#action for (self: ReduceAction232, Parser) */
8601 void nit__parser___nit__parser__ReduceAction232___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8602 val
* var_p
/* var p: Parser */;
8603 val
* var
/* : null */;
8604 val
* var_node_list
/* var node_list: nullable Object */;
8605 val
* var1
/* : nullable Object */;
8606 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8607 val
* var2
/* : nullable Object */;
8608 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8609 val
* var3
/* : nullable Object */;
8610 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8611 val
* var4
/* : nullable Object */;
8612 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8613 val
* var5
/* : nullable Object */;
8614 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8615 val
* var6
/* : nullable Object */;
8616 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8617 val
* var7
/* : nullable Object */;
8618 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8619 val
* var8
/* : nullable Object */;
8620 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8621 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8622 short int var9
/* : Bool */;
8625 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8626 short int var10
/* : Bool */;
8629 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8630 short int var13
/* : Bool */;
8633 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8634 short int var16
/* : Bool */;
8637 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8638 short int var19
/* : Bool */;
8641 val
* var22
/* : ACallReassignExpr */;
8642 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8643 long var23
/* : Int */;
8644 long var24
/* : Int */;
8647 var_node_list
= var
;
8649 var1
= nit___nit__Parser___pop(var_p
);
8651 var_nodearraylist8
= var1
;
8653 var2
= nit___nit__Parser___pop(var_p
);
8655 var_nodearraylist7
= var2
;
8657 var3
= nit___nit__Parser___pop(var_p
);
8659 var_nodearraylist6
= var3
;
8661 var4
= nit___nit__Parser___pop(var_p
);
8663 var_nodearraylist5
= var4
;
8665 var5
= nit___nit__Parser___pop(var_p
);
8667 var_nodearraylist4
= var5
;
8669 var6
= nit___nit__Parser___pop(var_p
);
8671 var_nodearraylist3
= var6
;
8673 var7
= nit___nit__Parser___pop(var_p
);
8675 var_nodearraylist2
= var7
;
8677 var8
= nit___nit__Parser___pop(var_p
);
8679 var_nodearraylist1
= var8
;
8680 var_pexprnode2
= var_nodearraylist1
;
8681 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8682 cltype
= type_nullable__nit__AExpr
.color
;
8683 idtype
= type_nullable__nit__AExpr
.id
;
8684 if(var_pexprnode2
== NULL
) {
8687 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8690 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8693 if (unlikely(!var9
)) {
8694 PRINT_ERROR("Runtime error: %s", "Assert failed");
8695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6770);
8698 var_tidnode3
= var_nodearraylist5
;
8699 /* <var_tidnode3:nullable Object> isa nullable TId */
8700 cltype11
= type_nullable__nit__TId
.color
;
8701 idtype12
= type_nullable__nit__TId
.id
;
8702 if(var_tidnode3
== NULL
) {
8705 if(cltype11
>= var_tidnode3
->type
->table_size
) {
8708 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
8711 if (unlikely(!var10
)) {
8712 PRINT_ERROR("Runtime error: %s", "Assert failed");
8713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6772);
8716 var_pexprsnode4
= var_nodearraylist6
;
8717 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
8718 cltype14
= type_nullable__nit__AExprs
.color
;
8719 idtype15
= type_nullable__nit__AExprs
.id
;
8720 if(var_pexprsnode4
== NULL
) {
8723 if(cltype14
>= var_pexprsnode4
->type
->table_size
) {
8726 var13
= var_pexprsnode4
->type
->type_table
[cltype14
] == idtype15
;
8729 if (unlikely(!var13
)) {
8730 PRINT_ERROR("Runtime error: %s", "Assert failed");
8731 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6774);
8734 var_passignopnode5
= var_nodearraylist7
;
8735 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
8736 cltype17
= type_nullable__nit__AAssignOp
.color
;
8737 idtype18
= type_nullable__nit__AAssignOp
.id
;
8738 if(var_passignopnode5
== NULL
) {
8741 if(cltype17
>= var_passignopnode5
->type
->table_size
) {
8744 var16
= var_passignopnode5
->type
->type_table
[cltype17
] == idtype18
;
8747 if (unlikely(!var16
)) {
8748 PRINT_ERROR("Runtime error: %s", "Assert failed");
8749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6776);
8752 var_pexprnode6
= var_nodearraylist8
;
8753 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
8754 cltype20
= type_nullable__nit__AExpr
.color
;
8755 idtype21
= type_nullable__nit__AExpr
.id
;
8756 if(var_pexprnode6
== NULL
) {
8759 if(cltype20
>= var_pexprnode6
->type
->table_size
) {
8762 var19
= var_pexprnode6
->type
->type_table
[cltype20
] == idtype21
;
8765 if (unlikely(!var19
)) {
8766 PRINT_ERROR("Runtime error: %s", "Assert failed");
8767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6778);
8770 var22
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
8772 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var22:ACallReassignExpr>*/
8774 var_pexprnode1
= var22
;
8775 var_node_list
= var_pexprnode1
;
8776 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction232> */
8778 var24
= nit___nit__Parser___go_to(var_p
, var23
);
8781 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8785 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
8786 void nit__parser___nit__parser__ReduceAction233___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8787 val
* var_p
/* var p: Parser */;
8788 val
* var
/* : null */;
8789 val
* var_node_list
/* var node_list: nullable Object */;
8790 val
* var1
/* : nullable Object */;
8791 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8792 val
* var2
/* : nullable Object */;
8793 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8794 val
* var3
/* : nullable Object */;
8795 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8796 val
* var4
/* : nullable Object */;
8797 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8798 val
* var5
/* : nullable Object */;
8799 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8800 val
* var6
/* : nullable Object */;
8801 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8802 val
* var7
/* : nullable Object */;
8803 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8804 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8805 short int var8
/* : Bool */;
8808 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8809 short int var9
/* : Bool */;
8812 val
* var12
/* : Array[Object] */;
8813 val
* var_listnode5
/* var listnode5: Array[Object] */;
8814 val
* var13
/* : AListExprs */;
8815 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
8816 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
8817 short int var14
/* : Bool */;
8820 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8821 short int var17
/* : Bool */;
8824 val
* var20
/* : ACallReassignExpr */;
8825 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
8826 long var21
/* : Int */;
8827 long var22
/* : Int */;
8830 var_node_list
= var
;
8832 var1
= nit___nit__Parser___pop(var_p
);
8834 var_nodearraylist7
= var1
;
8836 var2
= nit___nit__Parser___pop(var_p
);
8838 var_nodearraylist6
= var2
;
8840 var3
= nit___nit__Parser___pop(var_p
);
8842 var_nodearraylist5
= var3
;
8844 var4
= nit___nit__Parser___pop(var_p
);
8846 var_nodearraylist4
= var4
;
8848 var5
= nit___nit__Parser___pop(var_p
);
8850 var_nodearraylist3
= var5
;
8852 var6
= nit___nit__Parser___pop(var_p
);
8854 var_nodearraylist2
= var6
;
8856 var7
= nit___nit__Parser___pop(var_p
);
8858 var_nodearraylist1
= var7
;
8859 var_pexprnode2
= var_nodearraylist1
;
8860 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8861 cltype
= type_nullable__nit__AExpr
.color
;
8862 idtype
= type_nullable__nit__AExpr
.id
;
8863 if(var_pexprnode2
== NULL
) {
8866 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8869 var8
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8872 if (unlikely(!var8
)) {
8873 PRINT_ERROR("Runtime error: %s", "Assert failed");
8874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6803);
8877 var_tidnode3
= var_nodearraylist5
;
8878 /* <var_tidnode3:nullable Object> isa nullable TId */
8879 cltype10
= type_nullable__nit__TId
.color
;
8880 idtype11
= type_nullable__nit__TId
.id
;
8881 if(var_tidnode3
== NULL
) {
8884 if(cltype10
>= var_tidnode3
->type
->table_size
) {
8887 var9
= var_tidnode3
->type
->type_table
[cltype10
] == idtype11
;
8890 if (unlikely(!var9
)) {
8891 PRINT_ERROR("Runtime error: %s", "Assert failed");
8892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6805);
8895 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8897 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
8899 var_listnode5
= var12
;
8900 var13
= NEW_nit__AListExprs(&type_nit__AListExprs
);
8902 nit__parser_prod___AListExprs___init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
8904 var_pexprsnode4
= var13
;
8905 var_passignopnode6
= var_nodearraylist6
;
8906 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
8907 cltype15
= type_nullable__nit__AAssignOp
.color
;
8908 idtype16
= type_nullable__nit__AAssignOp
.id
;
8909 if(var_passignopnode6
== NULL
) {
8912 if(cltype15
>= var_passignopnode6
->type
->table_size
) {
8915 var14
= var_passignopnode6
->type
->type_table
[cltype15
] == idtype16
;
8918 if (unlikely(!var14
)) {
8919 PRINT_ERROR("Runtime error: %s", "Assert failed");
8920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6811);
8923 var_pexprnode7
= var_nodearraylist7
;
8924 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8925 cltype18
= type_nullable__nit__AExpr
.color
;
8926 idtype19
= type_nullable__nit__AExpr
.id
;
8927 if(var_pexprnode7
== NULL
) {
8930 if(cltype18
>= var_pexprnode7
->type
->table_size
) {
8933 var17
= var_pexprnode7
->type
->type_table
[cltype18
] == idtype19
;
8936 if (unlikely(!var17
)) {
8937 PRINT_ERROR("Runtime error: %s", "Assert failed");
8938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6813);
8941 var20
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
8943 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var20:ACallReassignExpr>*/
8945 var_pexprnode1
= var20
;
8946 var_node_list
= var_pexprnode1
;
8947 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction233> */
8949 var22
= nit___nit__Parser___go_to(var_p
, var21
);
8952 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8956 /* method parser#ReduceAction234#action for (self: ReduceAction234, Parser) */
8957 void nit__parser___nit__parser__ReduceAction234___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8958 val
* var_p
/* var p: Parser */;
8959 val
* var
/* : null */;
8960 val
* var_node_list
/* var node_list: nullable Object */;
8961 val
* var1
/* : nullable Object */;
8962 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8963 val
* var2
/* : nullable Object */;
8964 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8965 val
* var3
/* : nullable Object */;
8966 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8967 val
* var4
/* : nullable Object */;
8968 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8969 val
* var5
/* : nullable Object */;
8970 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8971 val
* var6
/* : nullable Object */;
8972 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8973 val
* var7
/* : nullable Object */;
8974 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8975 val
* var8
/* : nullable Object */;
8976 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8977 val
* var9
/* : nullable Object */;
8978 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8979 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8980 short int var10
/* : Bool */;
8983 val
* var_tidnode3
/* var tidnode3: nullable Object */;
8984 short int var11
/* : Bool */;
8987 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
8988 short int var14
/* : Bool */;
8991 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
8992 short int var17
/* : Bool */;
8995 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
8996 short int var20
/* : Bool */;
8999 val
* var23
/* : ACallReassignExpr */;
9000 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9001 long var24
/* : Int */;
9002 long var25
/* : Int */;
9005 var_node_list
= var
;
9007 var1
= nit___nit__Parser___pop(var_p
);
9009 var_nodearraylist9
= var1
;
9011 var2
= nit___nit__Parser___pop(var_p
);
9013 var_nodearraylist8
= var2
;
9015 var3
= nit___nit__Parser___pop(var_p
);
9017 var_nodearraylist7
= var3
;
9019 var4
= nit___nit__Parser___pop(var_p
);
9021 var_nodearraylist6
= var4
;
9023 var5
= nit___nit__Parser___pop(var_p
);
9025 var_nodearraylist5
= var5
;
9027 var6
= nit___nit__Parser___pop(var_p
);
9029 var_nodearraylist4
= var6
;
9031 var7
= nit___nit__Parser___pop(var_p
);
9033 var_nodearraylist3
= var7
;
9035 var8
= nit___nit__Parser___pop(var_p
);
9037 var_nodearraylist2
= var8
;
9039 var9
= nit___nit__Parser___pop(var_p
);
9041 var_nodearraylist1
= var9
;
9042 var_pexprnode2
= var_nodearraylist1
;
9043 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9044 cltype
= type_nullable__nit__AExpr
.color
;
9045 idtype
= type_nullable__nit__AExpr
.id
;
9046 if(var_pexprnode2
== NULL
) {
9049 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9052 var10
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9055 if (unlikely(!var10
)) {
9056 PRINT_ERROR("Runtime error: %s", "Assert failed");
9057 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6840);
9060 var_tidnode3
= var_nodearraylist6
;
9061 /* <var_tidnode3:nullable Object> isa nullable TId */
9062 cltype12
= type_nullable__nit__TId
.color
;
9063 idtype13
= type_nullable__nit__TId
.id
;
9064 if(var_tidnode3
== NULL
) {
9067 if(cltype12
>= var_tidnode3
->type
->table_size
) {
9070 var11
= var_tidnode3
->type
->type_table
[cltype12
] == idtype13
;
9073 if (unlikely(!var11
)) {
9074 PRINT_ERROR("Runtime error: %s", "Assert failed");
9075 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6842);
9078 var_pexprsnode4
= var_nodearraylist7
;
9079 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
9080 cltype15
= type_nullable__nit__AExprs
.color
;
9081 idtype16
= type_nullable__nit__AExprs
.id
;
9082 if(var_pexprsnode4
== NULL
) {
9085 if(cltype15
>= var_pexprsnode4
->type
->table_size
) {
9088 var14
= var_pexprsnode4
->type
->type_table
[cltype15
] == idtype16
;
9091 if (unlikely(!var14
)) {
9092 PRINT_ERROR("Runtime error: %s", "Assert failed");
9093 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6844);
9096 var_passignopnode5
= var_nodearraylist8
;
9097 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
9098 cltype18
= type_nullable__nit__AAssignOp
.color
;
9099 idtype19
= type_nullable__nit__AAssignOp
.id
;
9100 if(var_passignopnode5
== NULL
) {
9103 if(cltype18
>= var_passignopnode5
->type
->table_size
) {
9106 var17
= var_passignopnode5
->type
->type_table
[cltype18
] == idtype19
;
9109 if (unlikely(!var17
)) {
9110 PRINT_ERROR("Runtime error: %s", "Assert failed");
9111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6846);
9114 var_pexprnode6
= var_nodearraylist9
;
9115 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9116 cltype21
= type_nullable__nit__AExpr
.color
;
9117 idtype22
= type_nullable__nit__AExpr
.id
;
9118 if(var_pexprnode6
== NULL
) {
9121 if(cltype21
>= var_pexprnode6
->type
->table_size
) {
9124 var20
= var_pexprnode6
->type
->type_table
[cltype21
] == idtype22
;
9127 if (unlikely(!var20
)) {
9128 PRINT_ERROR("Runtime error: %s", "Assert failed");
9129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6848);
9132 var23
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9134 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var23
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var23:ACallReassignExpr>*/
9136 var_pexprnode1
= var23
;
9137 var_node_list
= var_pexprnode1
;
9138 var24
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction234> */
9140 var25
= nit___nit__Parser___go_to(var_p
, var24
);
9143 nit___nit__Parser___push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9147 /* method parser#ReduceAction235#action for (self: ReduceAction235, Parser) */
9148 void nit__parser___nit__parser__ReduceAction235___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9149 val
* var_p
/* var p: Parser */;
9150 val
* var
/* : null */;
9151 val
* var_node_list
/* var node_list: nullable Object */;
9152 val
* var1
/* : nullable Object */;
9153 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9154 val
* var2
/* : nullable Object */;
9155 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9156 val
* var3
/* : nullable Object */;
9157 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9158 val
* var4
/* : nullable Object */;
9159 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9160 val
* var5
/* : nullable Object */;
9161 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9162 val
* var6
/* : nullable Object */;
9163 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9164 val
* var7
/* : nullable Object */;
9165 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9166 val
* var8
/* : nullable Object */;
9167 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9168 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9169 short int var9
/* : Bool */;
9172 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9173 short int var10
/* : Bool */;
9176 val
* var13
/* : Array[Object] */;
9177 val
* var_listnode5
/* var listnode5: Array[Object] */;
9178 val
* var14
/* : AListExprs */;
9179 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
9180 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
9181 short int var15
/* : Bool */;
9184 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9185 short int var18
/* : Bool */;
9188 val
* var21
/* : ACallReassignExpr */;
9189 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9190 long var22
/* : Int */;
9191 long var23
/* : Int */;
9194 var_node_list
= var
;
9196 var1
= nit___nit__Parser___pop(var_p
);
9198 var_nodearraylist8
= var1
;
9200 var2
= nit___nit__Parser___pop(var_p
);
9202 var_nodearraylist7
= var2
;
9204 var3
= nit___nit__Parser___pop(var_p
);
9206 var_nodearraylist6
= var3
;
9208 var4
= nit___nit__Parser___pop(var_p
);
9210 var_nodearraylist5
= var4
;
9212 var5
= nit___nit__Parser___pop(var_p
);
9214 var_nodearraylist4
= var5
;
9216 var6
= nit___nit__Parser___pop(var_p
);
9218 var_nodearraylist3
= var6
;
9220 var7
= nit___nit__Parser___pop(var_p
);
9222 var_nodearraylist2
= var7
;
9224 var8
= nit___nit__Parser___pop(var_p
);
9226 var_nodearraylist1
= var8
;
9227 var_pexprnode2
= var_nodearraylist1
;
9228 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9229 cltype
= type_nullable__nit__AExpr
.color
;
9230 idtype
= type_nullable__nit__AExpr
.id
;
9231 if(var_pexprnode2
== NULL
) {
9234 if(cltype
>= var_pexprnode2
->type
->table_size
) {
9237 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
9240 if (unlikely(!var9
)) {
9241 PRINT_ERROR("Runtime error: %s", "Assert failed");
9242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6874);
9245 var_tidnode3
= var_nodearraylist6
;
9246 /* <var_tidnode3:nullable Object> isa nullable TId */
9247 cltype11
= type_nullable__nit__TId
.color
;
9248 idtype12
= type_nullable__nit__TId
.id
;
9249 if(var_tidnode3
== NULL
) {
9252 if(cltype11
>= var_tidnode3
->type
->table_size
) {
9255 var10
= var_tidnode3
->type
->type_table
[cltype11
] == idtype12
;
9258 if (unlikely(!var10
)) {
9259 PRINT_ERROR("Runtime error: %s", "Assert failed");
9260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6876);
9263 var13
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9265 standard___standard__Array___standard__kernel__Object__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
9267 var_listnode5
= var13
;
9268 var14
= NEW_nit__AListExprs(&type_nit__AListExprs
);
9270 nit__parser_prod___AListExprs___init_alistexprs(var14
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
9272 var_pexprsnode4
= var14
;
9273 var_passignopnode6
= var_nodearraylist7
;
9274 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
9275 cltype16
= type_nullable__nit__AAssignOp
.color
;
9276 idtype17
= type_nullable__nit__AAssignOp
.id
;
9277 if(var_passignopnode6
== NULL
) {
9280 if(cltype16
>= var_passignopnode6
->type
->table_size
) {
9283 var15
= var_passignopnode6
->type
->type_table
[cltype16
] == idtype17
;
9286 if (unlikely(!var15
)) {
9287 PRINT_ERROR("Runtime error: %s", "Assert failed");
9288 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6882);
9291 var_pexprnode7
= var_nodearraylist8
;
9292 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9293 cltype19
= type_nullable__nit__AExpr
.color
;
9294 idtype20
= type_nullable__nit__AExpr
.id
;
9295 if(var_pexprnode7
== NULL
) {
9298 if(cltype19
>= var_pexprnode7
->type
->table_size
) {
9301 var18
= var_pexprnode7
->type
->type_table
[cltype19
] == idtype20
;
9304 if (unlikely(!var18
)) {
9305 PRINT_ERROR("Runtime error: %s", "Assert failed");
9306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6884);
9309 var21
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9311 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var21:ACallReassignExpr>*/
9313 var_pexprnode1
= var21
;
9314 var_node_list
= var_pexprnode1
;
9315 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction235> */
9317 var23
= nit___nit__Parser___go_to(var_p
, var22
);
9320 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9324 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
9325 void nit__parser___nit__parser__ReduceAction238___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9326 val
* var_p
/* var p: Parser */;
9327 val
* var
/* : null */;
9328 val
* var_node_list
/* var node_list: nullable Object */;
9329 val
* var1
/* : nullable Object */;
9330 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9331 val
* var2
/* : nullable Object */;
9332 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9333 val
* var3
/* : nullable Object */;
9334 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9335 val
* var4
/* : nullable Object */;
9336 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9337 val
* var5
/* : AImplicitSelfExpr */;
9338 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9339 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9340 short int var7
/* : Bool */;
9343 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
9344 short int var8
/* : Bool */;
9347 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
9348 short int var11
/* : Bool */;
9351 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
9352 short int var14
/* : Bool */;
9355 val
* var17
/* : ACallReassignExpr */;
9356 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9357 long var18
/* : Int */;
9358 long var19
/* : Int */;
9361 var_node_list
= var
;
9363 var1
= nit___nit__Parser___pop(var_p
);
9365 var_nodearraylist4
= var1
;
9367 var2
= nit___nit__Parser___pop(var_p
);
9369 var_nodearraylist3
= var2
;
9371 var3
= nit___nit__Parser___pop(var_p
);
9373 var_nodearraylist2
= var3
;
9375 var4
= nit___nit__Parser___pop(var_p
);
9377 var_nodearraylist1
= var4
;
9378 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
9380 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
9384 var_pexprnode2
= var5
;
9385 var_tidnode3
= var_nodearraylist1
;
9386 /* <var_tidnode3:nullable Object> isa nullable TId */
9387 cltype
= type_nullable__nit__TId
.color
;
9388 idtype
= type_nullable__nit__TId
.id
;
9389 if(var_tidnode3
== NULL
) {
9392 if(cltype
>= var_tidnode3
->type
->table_size
) {
9395 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9398 if (unlikely(!var7
)) {
9399 PRINT_ERROR("Runtime error: %s", "Assert failed");
9400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6907);
9403 var_pexprsnode4
= var_nodearraylist2
;
9404 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
9405 cltype9
= type_nullable__nit__AExprs
.color
;
9406 idtype10
= type_nullable__nit__AExprs
.id
;
9407 if(var_pexprsnode4
== NULL
) {
9410 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
9413 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
9416 if (unlikely(!var8
)) {
9417 PRINT_ERROR("Runtime error: %s", "Assert failed");
9418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6909);
9421 var_passignopnode5
= var_nodearraylist3
;
9422 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
9423 cltype12
= type_nullable__nit__AAssignOp
.color
;
9424 idtype13
= type_nullable__nit__AAssignOp
.id
;
9425 if(var_passignopnode5
== NULL
) {
9428 if(cltype12
>= var_passignopnode5
->type
->table_size
) {
9431 var11
= var_passignopnode5
->type
->type_table
[cltype12
] == idtype13
;
9434 if (unlikely(!var11
)) {
9435 PRINT_ERROR("Runtime error: %s", "Assert failed");
9436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6911);
9439 var_pexprnode6
= var_nodearraylist4
;
9440 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9441 cltype15
= type_nullable__nit__AExpr
.color
;
9442 idtype16
= type_nullable__nit__AExpr
.id
;
9443 if(var_pexprnode6
== NULL
) {
9446 if(cltype15
>= var_pexprnode6
->type
->table_size
) {
9449 var14
= var_pexprnode6
->type
->type_table
[cltype15
] == idtype16
;
9452 if (unlikely(!var14
)) {
9453 PRINT_ERROR("Runtime error: %s", "Assert failed");
9454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6913);
9457 var17
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9459 nit__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>*/
9461 var_pexprnode1
= var17
;
9462 var_node_list
= var_pexprnode1
;
9463 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction238> */
9465 var19
= nit___nit__Parser___go_to(var_p
, var18
);
9468 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9472 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
9473 void nit__parser___nit__parser__ReduceAction239___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9474 val
* var_p
/* var p: Parser */;
9475 val
* var
/* : null */;
9476 val
* var_node_list
/* var node_list: nullable Object */;
9477 val
* var1
/* : nullable Object */;
9478 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9479 val
* var2
/* : nullable Object */;
9480 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9481 val
* var3
/* : nullable Object */;
9482 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9483 val
* var4
/* : AImplicitSelfExpr */;
9484 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9485 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9486 short int var6
/* : Bool */;
9489 val
* var7
/* : Array[Object] */;
9490 val
* var_listnode5
/* var listnode5: Array[Object] */;
9491 val
* var8
/* : AListExprs */;
9492 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
9493 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
9494 short int var9
/* : Bool */;
9497 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9498 short int var12
/* : Bool */;
9501 val
* var15
/* : ACallReassignExpr */;
9502 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9503 long var16
/* : Int */;
9504 long var17
/* : Int */;
9507 var_node_list
= var
;
9509 var1
= nit___nit__Parser___pop(var_p
);
9511 var_nodearraylist3
= var1
;
9513 var2
= nit___nit__Parser___pop(var_p
);
9515 var_nodearraylist2
= var2
;
9517 var3
= nit___nit__Parser___pop(var_p
);
9519 var_nodearraylist1
= var3
;
9520 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
9522 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
9526 var_pexprnode2
= var4
;
9527 var_tidnode3
= var_nodearraylist1
;
9528 /* <var_tidnode3:nullable Object> isa nullable TId */
9529 cltype
= type_nullable__nit__TId
.color
;
9530 idtype
= type_nullable__nit__TId
.id
;
9531 if(var_tidnode3
== NULL
) {
9534 if(cltype
>= var_tidnode3
->type
->table_size
) {
9537 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9540 if (unlikely(!var6
)) {
9541 PRINT_ERROR("Runtime error: %s", "Assert failed");
9542 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6935);
9545 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9547 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
9549 var_listnode5
= var7
;
9550 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
9552 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
9554 var_pexprsnode4
= var8
;
9555 var_passignopnode6
= var_nodearraylist2
;
9556 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
9557 cltype10
= type_nullable__nit__AAssignOp
.color
;
9558 idtype11
= type_nullable__nit__AAssignOp
.id
;
9559 if(var_passignopnode6
== NULL
) {
9562 if(cltype10
>= var_passignopnode6
->type
->table_size
) {
9565 var9
= var_passignopnode6
->type
->type_table
[cltype10
] == idtype11
;
9568 if (unlikely(!var9
)) {
9569 PRINT_ERROR("Runtime error: %s", "Assert failed");
9570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6941);
9573 var_pexprnode7
= var_nodearraylist3
;
9574 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9575 cltype13
= type_nullable__nit__AExpr
.color
;
9576 idtype14
= type_nullable__nit__AExpr
.id
;
9577 if(var_pexprnode7
== NULL
) {
9580 if(cltype13
>= var_pexprnode7
->type
->table_size
) {
9583 var12
= var_pexprnode7
->type
->type_table
[cltype13
] == idtype14
;
9586 if (unlikely(!var12
)) {
9587 PRINT_ERROR("Runtime error: %s", "Assert failed");
9588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6943);
9591 var15
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9593 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var15:ACallReassignExpr>*/
9595 var_pexprnode1
= var15
;
9596 var_node_list
= var_pexprnode1
;
9597 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction239> */
9599 var17
= nit___nit__Parser___go_to(var_p
, var16
);
9602 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9606 /* method parser#ReduceAction240#action for (self: ReduceAction240, Parser) */
9607 void nit__parser___nit__parser__ReduceAction240___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9608 val
* var_p
/* var p: Parser */;
9609 val
* var
/* : null */;
9610 val
* var_node_list
/* var node_list: nullable Object */;
9611 val
* var1
/* : nullable Object */;
9612 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9613 val
* var2
/* : nullable Object */;
9614 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9615 val
* var3
/* : nullable Object */;
9616 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9617 val
* var4
/* : nullable Object */;
9618 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9619 val
* var5
/* : nullable Object */;
9620 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9621 val
* var6
/* : AImplicitSelfExpr */;
9622 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9623 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9624 short int var8
/* : Bool */;
9627 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
9628 short int var9
/* : Bool */;
9631 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
9632 short int var12
/* : Bool */;
9635 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
9636 short int var15
/* : Bool */;
9639 val
* var18
/* : ACallReassignExpr */;
9640 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9641 long var19
/* : Int */;
9642 long var20
/* : Int */;
9645 var_node_list
= var
;
9647 var1
= nit___nit__Parser___pop(var_p
);
9649 var_nodearraylist5
= var1
;
9651 var2
= nit___nit__Parser___pop(var_p
);
9653 var_nodearraylist4
= var2
;
9655 var3
= nit___nit__Parser___pop(var_p
);
9657 var_nodearraylist3
= var3
;
9659 var4
= nit___nit__Parser___pop(var_p
);
9661 var_nodearraylist2
= var4
;
9663 var5
= nit___nit__Parser___pop(var_p
);
9665 var_nodearraylist1
= var5
;
9666 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
9668 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
9672 var_pexprnode2
= var6
;
9673 var_tidnode3
= var_nodearraylist2
;
9674 /* <var_tidnode3:nullable Object> isa nullable TId */
9675 cltype
= type_nullable__nit__TId
.color
;
9676 idtype
= type_nullable__nit__TId
.id
;
9677 if(var_tidnode3
== NULL
) {
9680 if(cltype
>= var_tidnode3
->type
->table_size
) {
9683 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9686 if (unlikely(!var8
)) {
9687 PRINT_ERROR("Runtime error: %s", "Assert failed");
9688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6967);
9691 var_pexprsnode4
= var_nodearraylist3
;
9692 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
9693 cltype10
= type_nullable__nit__AExprs
.color
;
9694 idtype11
= type_nullable__nit__AExprs
.id
;
9695 if(var_pexprsnode4
== NULL
) {
9698 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
9701 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
9704 if (unlikely(!var9
)) {
9705 PRINT_ERROR("Runtime error: %s", "Assert failed");
9706 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6969);
9709 var_passignopnode5
= var_nodearraylist4
;
9710 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
9711 cltype13
= type_nullable__nit__AAssignOp
.color
;
9712 idtype14
= type_nullable__nit__AAssignOp
.id
;
9713 if(var_passignopnode5
== NULL
) {
9716 if(cltype13
>= var_passignopnode5
->type
->table_size
) {
9719 var12
= var_passignopnode5
->type
->type_table
[cltype13
] == idtype14
;
9722 if (unlikely(!var12
)) {
9723 PRINT_ERROR("Runtime error: %s", "Assert failed");
9724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6971);
9727 var_pexprnode6
= var_nodearraylist5
;
9728 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9729 cltype16
= type_nullable__nit__AExpr
.color
;
9730 idtype17
= type_nullable__nit__AExpr
.id
;
9731 if(var_pexprnode6
== NULL
) {
9734 if(cltype16
>= var_pexprnode6
->type
->table_size
) {
9737 var15
= var_pexprnode6
->type
->type_table
[cltype16
] == idtype17
;
9740 if (unlikely(!var15
)) {
9741 PRINT_ERROR("Runtime error: %s", "Assert failed");
9742 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6973);
9745 var18
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9747 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var18:ACallReassignExpr>*/
9749 var_pexprnode1
= var18
;
9750 var_node_list
= var_pexprnode1
;
9751 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction240> */
9753 var20
= nit___nit__Parser___go_to(var_p
, var19
);
9756 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9760 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
9761 void nit__parser___nit__parser__ReduceAction241___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9762 val
* var_p
/* var p: Parser */;
9763 val
* var
/* : null */;
9764 val
* var_node_list
/* var node_list: nullable Object */;
9765 val
* var1
/* : nullable Object */;
9766 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9767 val
* var2
/* : nullable Object */;
9768 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9769 val
* var3
/* : nullable Object */;
9770 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9771 val
* var4
/* : nullable Object */;
9772 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9773 val
* var5
/* : AImplicitSelfExpr */;
9774 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
9775 val
* var_tidnode3
/* var tidnode3: nullable Object */;
9776 short int var7
/* : Bool */;
9779 val
* var8
/* : Array[Object] */;
9780 val
* var_listnode5
/* var listnode5: Array[Object] */;
9781 val
* var9
/* : AListExprs */;
9782 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
9783 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
9784 short int var10
/* : Bool */;
9787 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
9788 short int var13
/* : Bool */;
9791 val
* var16
/* : ACallReassignExpr */;
9792 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
9793 long var17
/* : Int */;
9794 long var18
/* : Int */;
9797 var_node_list
= var
;
9799 var1
= nit___nit__Parser___pop(var_p
);
9801 var_nodearraylist4
= var1
;
9803 var2
= nit___nit__Parser___pop(var_p
);
9805 var_nodearraylist3
= var2
;
9807 var3
= nit___nit__Parser___pop(var_p
);
9809 var_nodearraylist2
= var3
;
9811 var4
= nit___nit__Parser___pop(var_p
);
9813 var_nodearraylist1
= var4
;
9814 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
9816 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
9820 var_pexprnode2
= var5
;
9821 var_tidnode3
= var_nodearraylist2
;
9822 /* <var_tidnode3:nullable Object> isa nullable TId */
9823 cltype
= type_nullable__nit__TId
.color
;
9824 idtype
= type_nullable__nit__TId
.id
;
9825 if(var_tidnode3
== NULL
) {
9828 if(cltype
>= var_tidnode3
->type
->table_size
) {
9831 var7
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
9834 if (unlikely(!var7
)) {
9835 PRINT_ERROR("Runtime error: %s", "Assert failed");
9836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6996);
9839 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9841 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
9843 var_listnode5
= var8
;
9844 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
9846 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
9848 var_pexprsnode4
= var9
;
9849 var_passignopnode6
= var_nodearraylist3
;
9850 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
9851 cltype11
= type_nullable__nit__AAssignOp
.color
;
9852 idtype12
= type_nullable__nit__AAssignOp
.id
;
9853 if(var_passignopnode6
== NULL
) {
9856 if(cltype11
>= var_passignopnode6
->type
->table_size
) {
9859 var10
= var_passignopnode6
->type
->type_table
[cltype11
] == idtype12
;
9862 if (unlikely(!var10
)) {
9863 PRINT_ERROR("Runtime error: %s", "Assert failed");
9864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7002);
9867 var_pexprnode7
= var_nodearraylist4
;
9868 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
9869 cltype14
= type_nullable__nit__AExpr
.color
;
9870 idtype15
= type_nullable__nit__AExpr
.id
;
9871 if(var_pexprnode7
== NULL
) {
9874 if(cltype14
>= var_pexprnode7
->type
->table_size
) {
9877 var13
= var_pexprnode7
->type
->type_table
[cltype14
] == idtype15
;
9880 if (unlikely(!var13
)) {
9881 PRINT_ERROR("Runtime error: %s", "Assert failed");
9882 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7004);
9885 var16
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
9887 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var16:ACallReassignExpr>*/
9889 var_pexprnode1
= var16
;
9890 var_node_list
= var_pexprnode1
;
9891 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction241> */
9893 var18
= nit___nit__Parser___go_to(var_p
, var17
);
9896 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/