misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__parser.sep.4.c
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 */;
5 val* var /* : null */;
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 */;
19 int cltype;
20 int idtype;
21 val* var_tdotnode3 /* var tdotnode3: nullable Object */;
22 short int var7 /* : Bool */;
23 int cltype8;
24 int idtype9;
25 val* var_tkwasnode4 /* var tkwasnode4: nullable Object */;
26 short int var10 /* : Bool */;
27 int cltype11;
28 int idtype12;
29 val* var_ptypenode5 /* var ptypenode5: nullable Object */;
30 short int var13 /* : Bool */;
31 int cltype14;
32 int idtype15;
33 val* var16 /* : ACastAsExternCall */;
34 val* var_pexterncallnode1 /* var pexterncallnode1: nullable ACastAsExternCall */;
35 long var17 /* : Int */;
36 long var18 /* : Int */;
37 var_p = p0;
38 var = NULL;
39 var_node_list = var;
40 {
41 var1 = nit___nit__Parser___pop(var_p);
42 }
43 var_nodearraylist5 = var1;
44 {
45 var2 = nit___nit__Parser___pop(var_p);
46 }
47 var_nodearraylist4 = var2;
48 {
49 var3 = nit___nit__Parser___pop(var_p);
50 }
51 var_nodearraylist3 = var3;
52 {
53 var4 = nit___nit__Parser___pop(var_p);
54 }
55 var_nodearraylist2 = var4;
56 {
57 var5 = nit___nit__Parser___pop(var_p);
58 }
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) {
65 var6 = 1;
66 } else {
67 if(cltype >= var_ptypenode2->type->table_size) {
68 var6 = 0;
69 } else {
70 var6 = var_ptypenode2->type->type_table[cltype] == idtype;
71 }
72 }
73 if (unlikely(!var6)) {
74 PRINT_ERROR("Runtime error: %s", "Assert failed");
75 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4960);
76 show_backtrace(1);
77 }
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) {
83 var7 = 1;
84 } else {
85 if(cltype8 >= var_tdotnode3->type->table_size) {
86 var7 = 0;
87 } else {
88 var7 = var_tdotnode3->type->type_table[cltype8] == idtype9;
89 }
90 }
91 if (unlikely(!var7)) {
92 PRINT_ERROR("Runtime error: %s", "Assert failed");
93 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4962);
94 show_backtrace(1);
95 }
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) {
101 var10 = 1;
102 } else {
103 if(cltype11 >= var_tkwasnode4->type->table_size) {
104 var10 = 0;
105 } else {
106 var10 = var_tkwasnode4->type->type_table[cltype11] == idtype12;
107 }
108 }
109 if (unlikely(!var10)) {
110 PRINT_ERROR("Runtime error: %s", "Assert failed");
111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4964);
112 show_backtrace(1);
113 }
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) {
119 var13 = 1;
120 } else {
121 if(cltype14 >= var_ptypenode5->type->table_size) {
122 var13 = 0;
123 } else {
124 var13 = var_ptypenode5->type->type_table[cltype14] == idtype15;
125 }
126 }
127 if (unlikely(!var13)) {
128 PRINT_ERROR("Runtime error: %s", "Assert failed");
129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4966);
130 show_backtrace(1);
131 }
132 var16 = NEW_nit__ACastAsExternCall(&type_nit__ACastAsExternCall);
133 {
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>*/
135 }
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> */
139 {
140 var18 = nit___nit__Parser___go_to(var_p, var17);
141 }
142 {
143 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
144 }
145 RET_LABEL:;
146 }
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 */;
172 int cltype;
173 int idtype;
174 val* var_tkwasnode3 /* var tkwasnode3: nullable Object */;
175 short int var11 /* : Bool */;
176 int cltype12;
177 int idtype13;
178 val* var_tkwnullablenode4 /* var tkwnullablenode4: nullable Object */;
179 short int var14 /* : Bool */;
180 int cltype15;
181 int idtype16;
182 val* var17 /* : AAsNullableExternCall */;
183 val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNullableExternCall */;
184 long var18 /* : Int */;
185 long var19 /* : Int */;
186 var_p = p0;
187 var = NULL;
188 var_node_list = var;
189 {
190 var1 = nit___nit__Parser___pop(var_p);
191 }
192 var_nodearraylist9 = var1;
193 {
194 var2 = nit___nit__Parser___pop(var_p);
195 }
196 var_nodearraylist8 = var2;
197 {
198 var3 = nit___nit__Parser___pop(var_p);
199 }
200 var_nodearraylist7 = var3;
201 {
202 var4 = nit___nit__Parser___pop(var_p);
203 }
204 var_nodearraylist6 = var4;
205 {
206 var5 = nit___nit__Parser___pop(var_p);
207 }
208 var_nodearraylist5 = var5;
209 {
210 var6 = nit___nit__Parser___pop(var_p);
211 }
212 var_nodearraylist4 = var6;
213 {
214 var7 = nit___nit__Parser___pop(var_p);
215 }
216 var_nodearraylist3 = var7;
217 {
218 var8 = nit___nit__Parser___pop(var_p);
219 }
220 var_nodearraylist2 = var8;
221 {
222 var9 = nit___nit__Parser___pop(var_p);
223 }
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) {
230 var10 = 1;
231 } else {
232 if(cltype >= var_ptypenode2->type->table_size) {
233 var10 = 0;
234 } else {
235 var10 = var_ptypenode2->type->type_table[cltype] == idtype;
236 }
237 }
238 if (unlikely(!var10)) {
239 PRINT_ERROR("Runtime error: %s", "Assert failed");
240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4992);
241 show_backtrace(1);
242 }
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) {
248 var11 = 1;
249 } else {
250 if(cltype12 >= var_tkwasnode3->type->table_size) {
251 var11 = 0;
252 } else {
253 var11 = var_tkwasnode3->type->type_table[cltype12] == idtype13;
254 }
255 }
256 if (unlikely(!var11)) {
257 PRINT_ERROR("Runtime error: %s", "Assert failed");
258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4994);
259 show_backtrace(1);
260 }
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) {
266 var14 = 1;
267 } else {
268 if(cltype15 >= var_tkwnullablenode4->type->table_size) {
269 var14 = 0;
270 } else {
271 var14 = var_tkwnullablenode4->type->type_table[cltype15] == idtype16;
272 }
273 }
274 if (unlikely(!var14)) {
275 PRINT_ERROR("Runtime error: %s", "Assert failed");
276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4996);
277 show_backtrace(1);
278 }
279 var17 = NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall);
280 {
281 nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var17, var_ptypenode2, var_tkwasnode3, var_tkwnullablenode4); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var17:AAsNullableExternCall>*/
282 }
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> */
286 {
287 var19 = nit___nit__Parser___go_to(var_p, var18);
288 }
289 {
290 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
291 }
292 RET_LABEL:;
293 }
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 */;
311 int cltype;
312 int idtype;
313 val* var_tkwasnode3 /* var tkwasnode3: nullable Object */;
314 short int var7 /* : Bool */;
315 int cltype8;
316 int idtype9;
317 val* var_tkwnullablenode4 /* var tkwnullablenode4: nullable Object */;
318 short int var10 /* : Bool */;
319 int cltype11;
320 int idtype12;
321 val* var13 /* : AAsNullableExternCall */;
322 val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNullableExternCall */;
323 long var14 /* : Int */;
324 long var15 /* : Int */;
325 var_p = p0;
326 var = NULL;
327 var_node_list = var;
328 {
329 var1 = nit___nit__Parser___pop(var_p);
330 }
331 var_nodearraylist5 = var1;
332 {
333 var2 = nit___nit__Parser___pop(var_p);
334 }
335 var_nodearraylist4 = var2;
336 {
337 var3 = nit___nit__Parser___pop(var_p);
338 }
339 var_nodearraylist3 = var3;
340 {
341 var4 = nit___nit__Parser___pop(var_p);
342 }
343 var_nodearraylist2 = var4;
344 {
345 var5 = nit___nit__Parser___pop(var_p);
346 }
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) {
353 var6 = 1;
354 } else {
355 if(cltype >= var_ptypenode2->type->table_size) {
356 var6 = 0;
357 } else {
358 var6 = var_ptypenode2->type->type_table[cltype] == idtype;
359 }
360 }
361 if (unlikely(!var6)) {
362 PRINT_ERROR("Runtime error: %s", "Assert failed");
363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5017);
364 show_backtrace(1);
365 }
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) {
371 var7 = 1;
372 } else {
373 if(cltype8 >= var_tkwasnode3->type->table_size) {
374 var7 = 0;
375 } else {
376 var7 = var_tkwasnode3->type->type_table[cltype8] == idtype9;
377 }
378 }
379 if (unlikely(!var7)) {
380 PRINT_ERROR("Runtime error: %s", "Assert failed");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5019);
382 show_backtrace(1);
383 }
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) {
389 var10 = 1;
390 } else {
391 if(cltype11 >= var_tkwnullablenode4->type->table_size) {
392 var10 = 0;
393 } else {
394 var10 = var_tkwnullablenode4->type->type_table[cltype11] == idtype12;
395 }
396 }
397 if (unlikely(!var10)) {
398 PRINT_ERROR("Runtime error: %s", "Assert failed");
399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5021);
400 show_backtrace(1);
401 }
402 var13 = NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall);
403 {
404 nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var13, var_ptypenode2, var_tkwasnode3, var_tkwnullablenode4); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on <var13:AAsNullableExternCall>*/
405 }
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> */
409 {
410 var15 = nit___nit__Parser___go_to(var_p, var14);
411 }
412 {
413 nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
414 }
415 RET_LABEL:;
416 }
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 */;
446 int cltype;
447 int idtype;
448 val* var_tkwasnode3 /* var tkwasnode3: nullable Object */;
449 short int var13 /* : Bool */;
450 int cltype14;
451 int idtype15;
452 val* var_tkwnotnode4 /* var tkwnotnode4: nullable Object */;
453 short int var16 /* : Bool */;
454 int cltype17;
455 int idtype18;
456 val* var_tkwnullablenode5 /* var tkwnullablenode5: nullable Object */;
457 short int var19 /* : Bool */;
458 int cltype20;
459 int idtype21;
460 val* var22 /* : AAsNotNullableExternCall */;
461 val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNotNullableExternCall */;
462 long var23 /* : Int */;
463 long var24 /* : Int */;
464 var_p = p0;
465 var = NULL;
466 var_node_list = var;
467 {
468 var1 = nit___nit__Parser___pop(var_p);
469 }
470 var_nodearraylist11 = var1;
471 {
472 var2 = nit___nit__Parser___pop(var_p);
473 }
474 var_nodearraylist10 = var2;
475 {
476 var3 = nit___nit__Parser___pop(var_p);
477 }
478 var_nodearraylist9 = var3;
479 {
480 var4 = nit___nit__Parser___pop(var_p);
481 }
482 var_nodearraylist8 = var4;
483 {
484 var5 = nit___nit__Parser___pop(var_p);
485 }
486 var_nodearraylist7 = var5;
487 {
488 var6 = nit___nit__Parser___pop(var_p);
489 }
490 var_nodearraylist6 = var6;
491 {
492 var7 = nit___nit__Parser___pop(var_p);
493 }
494 var_nodearraylist5 = var7;
495 {
496 var8 = nit___nit__Parser___pop(var_p);
497 }
498 var_nodearraylist4 = var8;
499 {
500 var9 = nit___nit__Parser___pop(var_p);
501 }
502 var_nodearraylist3 = var9;
503 {
504 var10 = nit___nit__Parser___pop(var_p);
505 }
506 var_nodearraylist2 = var10;
507 {
508 var11 = nit___nit__Parser___pop(var_p);
509 }
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) {
516 var12 = 1;
517 } else {
518 if(cltype >= var_ptypenode2->type->table_size) {
519 var12 = 0;
520 } else {
521 var12 = var_ptypenode2->type->type_table[cltype] == idtype;
522 }
523 }
524 if (unlikely(!var12)) {
525 PRINT_ERROR("Runtime error: %s", "Assert failed");
526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5048);
527 show_backtrace(1);
528 }
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) {
534 var13 = 1;
535 } else {
536 if(cltype14 >= var_tkwasnode3->type->table_size) {
537 var13 = 0;
538 } else {
539 var13 = var_tkwasnode3->type->type_table[cltype14] == idtype15;
540 }
541 }
542 if (unlikely(!var13)) {
543 PRINT_ERROR("Runtime error: %s", "Assert failed");
544 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5050);
545 show_backtrace(1);
546 }
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) {
552 var16 = 1;
553 } else {
554 if(cltype17 >= var_tkwnotnode4->type->table_size) {
555 var16 = 0;
556 } else {
557 var16 = var_tkwnotnode4->type->type_table[cltype17] == idtype18;
558 }
559 }
560 if (unlikely(!var16)) {
561 PRINT_ERROR("Runtime error: %s", "Assert failed");
562 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5052);
563 show_backtrace(1);
564 }
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) {
570 var19 = 1;
571 } else {
572 if(cltype20 >= var_tkwnullablenode5->type->table_size) {
573 var19 = 0;
574 } else {
575 var19 = var_tkwnullablenode5->type->type_table[cltype20] == idtype21;
576 }
577 }
578 if (unlikely(!var19)) {
579 PRINT_ERROR("Runtime error: %s", "Assert failed");
580 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5054);
581 show_backtrace(1);
582 }
583 var22 = NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall);
584 {
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>*/
586 }
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> */
590 {
591 var24 = nit___nit__Parser___go_to(var_p, var23);
592 }
593 {
594 nit___nit__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
595 }
596 RET_LABEL:;
597 }
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 */;
619 int cltype;
620 int idtype;
621 val* var_tkwasnode3 /* var tkwasnode3: nullable Object */;
622 short int var9 /* : Bool */;
623 int cltype10;
624 int idtype11;
625 val* var_tkwnotnode4 /* var tkwnotnode4: nullable Object */;
626 short int var12 /* : Bool */;
627 int cltype13;
628 int idtype14;
629 val* var_tkwnullablenode5 /* var tkwnullablenode5: nullable Object */;
630 short int var15 /* : Bool */;
631 int cltype16;
632 int idtype17;
633 val* var18 /* : AAsNotNullableExternCall */;
634 val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNotNullableExternCall */;
635 long var19 /* : Int */;
636 long var20 /* : Int */;
637 var_p = p0;
638 var = NULL;
639 var_node_list = var;
640 {
641 var1 = nit___nit__Parser___pop(var_p);
642 }
643 var_nodearraylist7 = var1;
644 {
645 var2 = nit___nit__Parser___pop(var_p);
646 }
647 var_nodearraylist6 = var2;
648 {
649 var3 = nit___nit__Parser___pop(var_p);
650 }
651 var_nodearraylist5 = var3;
652 {
653 var4 = nit___nit__Parser___pop(var_p);
654 }
655 var_nodearraylist4 = var4;
656 {
657 var5 = nit___nit__Parser___pop(var_p);
658 }
659 var_nodearraylist3 = var5;
660 {
661 var6 = nit___nit__Parser___pop(var_p);
662 }
663 var_nodearraylist2 = var6;
664 {
665 var7 = nit___nit__Parser___pop(var_p);
666 }
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) {
673 var8 = 1;
674 } else {
675 if(cltype >= var_ptypenode2->type->table_size) {
676 var8 = 0;
677 } else {
678 var8 = var_ptypenode2->type->type_table[cltype] == idtype;
679 }
680 }
681 if (unlikely(!var8)) {
682 PRINT_ERROR("Runtime error: %s", "Assert failed");
683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5078);
684 show_backtrace(1);
685 }
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) {
691 var9 = 1;
692 } else {
693 if(cltype10 >= var_tkwasnode3->type->table_size) {
694 var9 = 0;
695 } else {
696 var9 = var_tkwasnode3->type->type_table[cltype10] == idtype11;
697 }
698 }
699 if (unlikely(!var9)) {
700 PRINT_ERROR("Runtime error: %s", "Assert failed");
701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5080);
702 show_backtrace(1);
703 }
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) {
709 var12 = 1;
710 } else {
711 if(cltype13 >= var_tkwnotnode4->type->table_size) {
712 var12 = 0;
713 } else {
714 var12 = var_tkwnotnode4->type->type_table[cltype13] == idtype14;
715 }
716 }
717 if (unlikely(!var12)) {
718 PRINT_ERROR("Runtime error: %s", "Assert failed");
719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5082);
720 show_backtrace(1);
721 }
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) {
727 var15 = 1;
728 } else {
729 if(cltype16 >= var_tkwnullablenode5->type->table_size) {
730 var15 = 0;
731 } else {
732 var15 = var_tkwnullablenode5->type->type_table[cltype16] == idtype17;
733 }
734 }
735 if (unlikely(!var15)) {
736 PRINT_ERROR("Runtime error: %s", "Assert failed");
737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5084);
738 show_backtrace(1);
739 }
740 var18 = NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall);
741 {
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>*/
743 }
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> */
747 {
748 var20 = nit___nit__Parser___go_to(var_p, var19);
749 }
750 {
751 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
752 }
753 RET_LABEL:;
754 }
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 */;
765 var_p = p0;
766 var = NULL;
767 var_node_list = var;
768 {
769 var1 = nit___nit__Parser___pop(var_p);
770 }
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> */
775 {
776 var3 = nit___nit__Parser___go_to(var_p, var2);
777 }
778 {
779 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
780 }
781 RET_LABEL:;
782 }
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 */;
798 int cltype;
799 int idtype;
800 val* var_tstringnode3 /* var tstringnode3: nullable Object */;
801 short int var6 /* : Bool */;
802 int cltype7;
803 int idtype8;
804 val* var9 /* : AInLanguage */;
805 val* var_pinlanguagenode1 /* var pinlanguagenode1: nullable AInLanguage */;
806 long var10 /* : Int */;
807 long var11 /* : Int */;
808 var_p = p0;
809 var = NULL;
810 var_node_list = var;
811 {
812 var1 = nit___nit__Parser___pop(var_p);
813 }
814 var_nodearraylist4 = var1;
815 {
816 var2 = nit___nit__Parser___pop(var_p);
817 }
818 var_nodearraylist3 = var2;
819 {
820 var3 = nit___nit__Parser___pop(var_p);
821 }
822 var_nodearraylist2 = var3;
823 {
824 var4 = nit___nit__Parser___pop(var_p);
825 }
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) {
832 var5 = 1;
833 } else {
834 if(cltype >= var_tkwinnode2->type->table_size) {
835 var5 = 0;
836 } else {
837 var5 = var_tkwinnode2->type->type_table[cltype] == idtype;
838 }
839 }
840 if (unlikely(!var5)) {
841 PRINT_ERROR("Runtime error: %s", "Assert failed");
842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5116);
843 show_backtrace(1);
844 }
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) {
850 var6 = 1;
851 } else {
852 if(cltype7 >= var_tstringnode3->type->table_size) {
853 var6 = 0;
854 } else {
855 var6 = var_tstringnode3->type->type_table[cltype7] == idtype8;
856 }
857 }
858 if (unlikely(!var6)) {
859 PRINT_ERROR("Runtime error: %s", "Assert failed");
860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5118);
861 show_backtrace(1);
862 }
863 var9 = NEW_nit__AInLanguage(&type_nit__AInLanguage);
864 {
865 nit__parser_prod___AInLanguage___init_ainlanguage(var9, var_tkwinnode2, var_tstringnode3); /* Direct call parser_prod#AInLanguage#init_ainlanguage on <var9:AInLanguage>*/
866 }
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> */
870 {
871 var11 = nit___nit__Parser___go_to(var_p, var10);
872 }
873 {
874 nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
875 }
876 RET_LABEL:;
877 }
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 */;
887 int cltype;
888 int idtype;
889 val* var3 /* : AExternCodeBlock */;
890 val* var4 /* : null */;
891 val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable AExternCodeBlock */;
892 long var5 /* : Int */;
893 long var6 /* : Int */;
894 var_p = p0;
895 var = NULL;
896 var_node_list = var;
897 {
898 var1 = nit___nit__Parser___pop(var_p);
899 }
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) {
906 var2 = 1;
907 } else {
908 if(cltype >= var_texterncodesegmentnode3->type->table_size) {
909 var2 = 0;
910 } else {
911 var2 = var_texterncodesegmentnode3->type->type_table[cltype] == idtype;
912 }
913 }
914 if (unlikely(!var2)) {
915 PRINT_ERROR("Runtime error: %s", "Assert failed");
916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5134);
917 show_backtrace(1);
918 }
919 var3 = NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock);
920 var4 = NULL;
921 {
922 nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var3, var4, var_texterncodesegmentnode3); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var3:AExternCodeBlock>*/
923 }
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> */
927 {
928 var6 = nit___nit__Parser___go_to(var_p, var5);
929 }
930 {
931 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
932 }
933 RET_LABEL:;
934 }
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 */;
946 int cltype;
947 int idtype;
948 val* var_texterncodesegmentnode3 /* var texterncodesegmentnode3: nullable Object */;
949 short int var4 /* : Bool */;
950 int cltype5;
951 int idtype6;
952 val* var7 /* : AExternCodeBlock */;
953 val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable AExternCodeBlock */;
954 long var8 /* : Int */;
955 long var9 /* : Int */;
956 var_p = p0;
957 var = NULL;
958 var_node_list = var;
959 {
960 var1 = nit___nit__Parser___pop(var_p);
961 }
962 var_nodearraylist2 = var1;
963 {
964 var2 = nit___nit__Parser___pop(var_p);
965 }
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) {
972 var3 = 1;
973 } else {
974 if(cltype >= var_pinlanguagenode2->type->table_size) {
975 var3 = 0;
976 } else {
977 var3 = var_pinlanguagenode2->type->type_table[cltype] == idtype;
978 }
979 }
980 if (unlikely(!var3)) {
981 PRINT_ERROR("Runtime error: %s", "Assert failed");
982 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5151);
983 show_backtrace(1);
984 }
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) {
990 var4 = 1;
991 } else {
992 if(cltype5 >= var_texterncodesegmentnode3->type->table_size) {
993 var4 = 0;
994 } else {
995 var4 = var_texterncodesegmentnode3->type->type_table[cltype5] == idtype6;
996 }
997 }
998 if (unlikely(!var4)) {
999 PRINT_ERROR("Runtime error: %s", "Assert failed");
1000 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5153);
1001 show_backtrace(1);
1002 }
1003 var7 = NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock);
1004 {
1005 nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var7, var_pinlanguagenode2, var_texterncodesegmentnode3); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on <var7:AExternCodeBlock>*/
1006 }
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> */
1010 {
1011 var9 = nit___nit__Parser___go_to(var_p, var8);
1012 }
1013 {
1014 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1015 }
1016 RET_LABEL:;
1017 }
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 */;
1028 var_p = p0;
1029 var = NULL;
1030 var_node_list = var;
1031 {
1032 var1 = nit___nit__Parser___pop(var_p);
1033 }
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> */
1038 {
1039 var3 = nit___nit__Parser___go_to(var_p, var2);
1040 }
1041 {
1042 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1043 }
1044 RET_LABEL:;
1045 }
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 */;
1058 var_p = p0;
1059 var = NULL;
1060 var_node_list = var;
1061 {
1062 var1 = nit___nit__Parser___pop(var_p);
1063 }
1064 var_nodearraylist2 = var1;
1065 {
1066 var2 = nit___nit__Parser___pop(var_p);
1067 }
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> */
1072 {
1073 var4 = nit___nit__Parser___go_to(var_p, var3);
1074 }
1075 {
1076 nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1077 }
1078 RET_LABEL:;
1079 }
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 */;
1093 int cltype;
1094 int idtype;
1095 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
1096 short int var5 /* : Bool */;
1097 int cltype6;
1098 int idtype7;
1099 val* var8 /* : AType */;
1100 val* var9 /* : null */;
1101 val* var_ptypenode1 /* var ptypenode1: nullable AType */;
1102 long var10 /* : Int */;
1103 long var11 /* : Int */;
1104 var_p = p0;
1105 var = NULL;
1106 var_node_list = var;
1107 {
1108 var1 = nit___nit__Parser___pop(var_p);
1109 }
1110 var_nodearraylist2 = var1;
1111 {
1112 var2 = nit___nit__Parser___pop(var_p);
1113 }
1114 var_nodearraylist1 = var2;
1115 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
1116 {
1117 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
1118 }
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) {
1125 var4 = 1;
1126 } else {
1127 if(cltype >= var_tclassidnode3->type->table_size) {
1128 var4 = 0;
1129 } else {
1130 var4 = var_tclassidnode3->type->type_table[cltype] == idtype;
1131 }
1132 }
1133 if (unlikely(!var4)) {
1134 PRINT_ERROR("Runtime error: %s", "Assert failed");
1135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5194);
1136 show_backtrace(1);
1137 }
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) {
1143 var5 = 1;
1144 } else {
1145 if(cltype6 >= var_pannotationsnode5->type->table_size) {
1146 var5 = 0;
1147 } else {
1148 var5 = var_pannotationsnode5->type->type_table[cltype6] == idtype7;
1149 }
1150 }
1151 if (unlikely(!var5)) {
1152 PRINT_ERROR("Runtime error: %s", "Assert failed");
1153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5196);
1154 show_backtrace(1);
1155 }
1156 var8 = NEW_nit__AType(&type_nit__AType);
1157 var9 = NULL;
1158 {
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>*/
1160 }
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> */
1164 {
1165 var11 = nit___nit__Parser___go_to(var_p, var10);
1166 }
1167 {
1168 nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1169 }
1170 RET_LABEL:;
1171 }
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 */;
1187 int cltype;
1188 int idtype;
1189 val* var_tclassidnode3 /* var tclassidnode3: nullable Object */;
1190 short int var6 /* : Bool */;
1191 int cltype7;
1192 int idtype8;
1193 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
1194 short int var9 /* : Bool */;
1195 int cltype10;
1196 int idtype11;
1197 val* var12 /* : AType */;
1198 val* var_ptypenode1 /* var ptypenode1: nullable AType */;
1199 long var13 /* : Int */;
1200 long var14 /* : Int */;
1201 var_p = p0;
1202 var = NULL;
1203 var_node_list = var;
1204 {
1205 var1 = nit___nit__Parser___pop(var_p);
1206 }
1207 var_nodearraylist3 = var1;
1208 {
1209 var2 = nit___nit__Parser___pop(var_p);
1210 }
1211 var_nodearraylist2 = var2;
1212 {
1213 var3 = nit___nit__Parser___pop(var_p);
1214 }
1215 var_nodearraylist1 = var3;
1216 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
1217 {
1218 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
1219 }
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) {
1226 var5 = 1;
1227 } else {
1228 if(cltype >= var_tkwnullablenode2->type->table_size) {
1229 var5 = 0;
1230 } else {
1231 var5 = var_tkwnullablenode2->type->type_table[cltype] == idtype;
1232 }
1233 }
1234 if (unlikely(!var5)) {
1235 PRINT_ERROR("Runtime error: %s", "Assert failed");
1236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5217);
1237 show_backtrace(1);
1238 }
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) {
1244 var6 = 1;
1245 } else {
1246 if(cltype7 >= var_tclassidnode3->type->table_size) {
1247 var6 = 0;
1248 } else {
1249 var6 = var_tclassidnode3->type->type_table[cltype7] == idtype8;
1250 }
1251 }
1252 if (unlikely(!var6)) {
1253 PRINT_ERROR("Runtime error: %s", "Assert failed");
1254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5219);
1255 show_backtrace(1);
1256 }
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) {
1262 var9 = 1;
1263 } else {
1264 if(cltype10 >= var_pannotationsnode5->type->table_size) {
1265 var9 = 0;
1266 } else {
1267 var9 = var_pannotationsnode5->type->type_table[cltype10] == idtype11;
1268 }
1269 }
1270 if (unlikely(!var9)) {
1271 PRINT_ERROR("Runtime error: %s", "Assert failed");
1272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5221);
1273 show_backtrace(1);
1274 }
1275 var12 = NEW_nit__AType(&type_nit__AType);
1276 {
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>*/
1278 }
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> */
1282 {
1283 var14 = nit___nit__Parser___go_to(var_p, var13);
1284 }
1285 {
1286 nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1287 }
1288 RET_LABEL:;
1289 }
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 */;
1313 int cltype;
1314 int idtype;
1315 val* var_listnode4 /* var listnode4: nullable Object */;
1316 short int var10 /* : Bool */;
1317 int cltype11;
1318 int idtype12;
1319 val* var13 /* : Array[Object] */;
1320 val* var_pannotationsnode6 /* var pannotationsnode6: nullable Object */;
1321 short int var14 /* : Bool */;
1322 int cltype15;
1323 int idtype16;
1324 val* var17 /* : AType */;
1325 val* var18 /* : null */;
1326 val* var_ptypenode1 /* var ptypenode1: nullable AType */;
1327 long var19 /* : Int */;
1328 long var20 /* : Int */;
1329 var_p = p0;
1330 var = NULL;
1331 var_node_list = var;
1332 {
1333 var1 = nit___nit__Parser___pop(var_p);
1334 }
1335 var_nodearraylist7 = var1;
1336 {
1337 var2 = nit___nit__Parser___pop(var_p);
1338 }
1339 var_nodearraylist6 = var2;
1340 {
1341 var3 = nit___nit__Parser___pop(var_p);
1342 }
1343 var_nodearraylist5 = var3;
1344 {
1345 var4 = nit___nit__Parser___pop(var_p);
1346 }
1347 var_nodearraylist4 = var4;
1348 {
1349 var5 = nit___nit__Parser___pop(var_p);
1350 }
1351 var_nodearraylist3 = var5;
1352 {
1353 var6 = nit___nit__Parser___pop(var_p);
1354 }
1355 var_nodearraylist2 = var6;
1356 {
1357 var7 = nit___nit__Parser___pop(var_p);
1358 }
1359 var_nodearraylist1 = var7;
1360 var8 = NEW_standard__Array(&type_standard__Array__standard__Object);
1361 {
1362 standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on <var8:Array[Object]>*/
1363 }
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) {
1370 var9 = 1;
1371 } else {
1372 if(cltype >= var_tclassidnode3->type->table_size) {
1373 var9 = 0;
1374 } else {
1375 var9 = var_tclassidnode3->type->type_table[cltype] == idtype;
1376 }
1377 }
1378 if (unlikely(!var9)) {
1379 PRINT_ERROR("Runtime error: %s", "Assert failed");
1380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5246);
1381 show_backtrace(1);
1382 }
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) {
1388 var10 = 0;
1389 } else {
1390 if(cltype11 >= var_listnode4->type->table_size) {
1391 var10 = 0;
1392 } else {
1393 var10 = var_listnode4->type->type_table[cltype11] == idtype12;
1394 }
1395 }
1396 if (unlikely(!var10)) {
1397 PRINT_ERROR("Runtime error: %s", "Assert failed");
1398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5248);
1399 show_backtrace(1);
1400 }
1401 {
1402 var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
1403 }
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) {
1410 var14 = 1;
1411 } else {
1412 if(cltype15 >= var_pannotationsnode6->type->table_size) {
1413 var14 = 0;
1414 } else {
1415 var14 = var_pannotationsnode6->type->type_table[cltype15] == idtype16;
1416 }
1417 }
1418 if (unlikely(!var14)) {
1419 PRINT_ERROR("Runtime error: %s", "Assert failed");
1420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5251);
1421 show_backtrace(1);
1422 }
1423 var17 = NEW_nit__AType(&type_nit__AType);
1424 var18 = NULL;
1425 {
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>*/
1427 }
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> */
1431 {
1432 var20 = nit___nit__Parser___go_to(var_p, var19);
1433 }
1434 {
1435 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1436 }
1437 RET_LABEL:;
1438 }
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 */;
1464 int cltype;
1465 int idtype;
1466 val* var_tclassidnode3 /* var tclassidnode3: nullable Object */;
1467 short int var11 /* : Bool */;
1468 int cltype12;
1469 int idtype13;
1470 val* var_listnode4 /* var listnode4: nullable Object */;
1471 short int var14 /* : Bool */;
1472 int cltype15;
1473 int idtype16;
1474 val* var17 /* : Array[Object] */;
1475 val* var_pannotationsnode6 /* var pannotationsnode6: nullable Object */;
1476 short int var18 /* : Bool */;
1477 int cltype19;
1478 int idtype20;
1479 val* var21 /* : AType */;
1480 val* var_ptypenode1 /* var ptypenode1: nullable AType */;
1481 long var22 /* : Int */;
1482 long var23 /* : Int */;
1483 var_p = p0;
1484 var = NULL;
1485 var_node_list = var;
1486 {
1487 var1 = nit___nit__Parser___pop(var_p);
1488 }
1489 var_nodearraylist8 = var1;
1490 {
1491 var2 = nit___nit__Parser___pop(var_p);
1492 }
1493 var_nodearraylist7 = var2;
1494 {
1495 var3 = nit___nit__Parser___pop(var_p);
1496 }
1497 var_nodearraylist6 = var3;
1498 {
1499 var4 = nit___nit__Parser___pop(var_p);
1500 }
1501 var_nodearraylist5 = var4;
1502 {
1503 var5 = nit___nit__Parser___pop(var_p);
1504 }
1505 var_nodearraylist4 = var5;
1506 {
1507 var6 = nit___nit__Parser___pop(var_p);
1508 }
1509 var_nodearraylist3 = var6;
1510 {
1511 var7 = nit___nit__Parser___pop(var_p);
1512 }
1513 var_nodearraylist2 = var7;
1514 {
1515 var8 = nit___nit__Parser___pop(var_p);
1516 }
1517 var_nodearraylist1 = var8;
1518 var9 = NEW_standard__Array(&type_standard__Array__standard__Object);
1519 {
1520 standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on <var9:Array[Object]>*/
1521 }
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) {
1528 var10 = 1;
1529 } else {
1530 if(cltype >= var_tkwnullablenode2->type->table_size) {
1531 var10 = 0;
1532 } else {
1533 var10 = var_tkwnullablenode2->type->type_table[cltype] == idtype;
1534 }
1535 }
1536 if (unlikely(!var10)) {
1537 PRINT_ERROR("Runtime error: %s", "Assert failed");
1538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5277);
1539 show_backtrace(1);
1540 }
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) {
1546 var11 = 1;
1547 } else {
1548 if(cltype12 >= var_tclassidnode3->type->table_size) {
1549 var11 = 0;
1550 } else {
1551 var11 = var_tclassidnode3->type->type_table[cltype12] == idtype13;
1552 }
1553 }
1554 if (unlikely(!var11)) {
1555 PRINT_ERROR("Runtime error: %s", "Assert failed");
1556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5279);
1557 show_backtrace(1);
1558 }
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) {
1564 var14 = 0;
1565 } else {
1566 if(cltype15 >= var_listnode4->type->table_size) {
1567 var14 = 0;
1568 } else {
1569 var14 = var_listnode4->type->type_table[cltype15] == idtype16;
1570 }
1571 }
1572 if (unlikely(!var14)) {
1573 PRINT_ERROR("Runtime error: %s", "Assert failed");
1574 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5281);
1575 show_backtrace(1);
1576 }
1577 {
1578 var17 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
1579 }
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) {
1586 var18 = 1;
1587 } else {
1588 if(cltype19 >= var_pannotationsnode6->type->table_size) {
1589 var18 = 0;
1590 } else {
1591 var18 = var_pannotationsnode6->type->type_table[cltype19] == idtype20;
1592 }
1593 }
1594 if (unlikely(!var18)) {
1595 PRINT_ERROR("Runtime error: %s", "Assert failed");
1596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5284);
1597 show_backtrace(1);
1598 }
1599 var21 = NEW_nit__AType(&type_nit__AType);
1600 {
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>*/
1602 }
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> */
1606 {
1607 var23 = nit___nit__Parser___go_to(var_p, var22);
1608 }
1609 {
1610 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1611 }
1612 RET_LABEL:;
1613 }
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 */;
1629 var_p = p0;
1630 var = NULL;
1631 var_node_list = var;
1632 {
1633 var1 = nit___nit__Parser___pop(var_p);
1634 }
1635 var_nodearraylist1 = var1;
1636 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
1637 {
1638 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
1639 }
1640 var_listnode2 = var2;
1641 var_ptypenode1 = var_nodearraylist1;
1642 var3 = NULL;
1643 if (var_ptypenode1 == NULL) {
1644 var4 = 0; /* is null */
1645 } else {
1646 var4 = 1; /* arg is null and recv is not */
1647 }
1648 if (0) {
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>*/;
1650 var4 = var5;
1651 }
1652 if (var4){
1653 {
1654 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_ptypenode1); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
1655 }
1656 } else {
1657 }
1658 var_node_list = var_listnode2;
1659 var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction153> */
1660 {
1661 var7 = nit___nit__Parser___go_to(var_p, var6);
1662 }
1663 {
1664 nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1665 }
1666 RET_LABEL:;
1667 }
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 */;
1682 int cltype;
1683 int idtype;
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 */;
1690 var_p = p0;
1691 var = NULL;
1692 var_node_list = var;
1693 {
1694 var1 = nit___nit__Parser___pop(var_p);
1695 }
1696 var_nodearraylist2 = var1;
1697 {
1698 var2 = nit___nit__Parser___pop(var_p);
1699 }
1700 var_nodearraylist1 = var2;
1701 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
1702 {
1703 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
1704 }
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) {
1712 var4 = 0;
1713 } else {
1714 if(cltype >= var_listnode2->type->table_size) {
1715 var4 = 0;
1716 } else {
1717 var4 = var_listnode2->type->type_table[cltype] == idtype;
1718 }
1719 }
1720 if (unlikely(!var4)) {
1721 PRINT_ERROR("Runtime error: %s", "Assert failed");
1722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5320);
1723 show_backtrace(1);
1724 }
1725 var5 = NULL;
1726 if (var_ptypenode1 == NULL) {
1727 var6 = 0; /* is null */
1728 } else {
1729 var6 = 1; /* arg is null and recv is not */
1730 }
1731 if (0) {
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>*/;
1733 var6 = var7;
1734 }
1735 if (var6){
1736 {
1737 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ptypenode1); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1738 }
1739 } else {
1740 }
1741 {
1742 var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2);
1743 }
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> */
1747 {
1748 var10 = nit___nit__Parser___go_to(var_p, var9);
1749 }
1750 {
1751 nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1752 }
1753 RET_LABEL:;
1754 }
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 */;
1769 var_p = p0;
1770 var = NULL;
1771 var_node_list = var;
1772 {
1773 var1 = nit___nit__Parser___pop(var_p);
1774 }
1775 var_nodearraylist3 = var1;
1776 {
1777 var2 = nit___nit__Parser___pop(var_p);
1778 }
1779 var_nodearraylist2 = var2;
1780 {
1781 var3 = nit___nit__Parser___pop(var_p);
1782 }
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> */
1787 {
1788 var5 = nit___nit__Parser___go_to(var_p, var4);
1789 }
1790 {
1791 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1792 }
1793 RET_LABEL:;
1794 }
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 */;
1807 var_p = p0;
1808 var = NULL;
1809 var_node_list = var;
1810 {
1811 var1 = nit___nit__Parser___pop(var_p);
1812 }
1813 var_nodearraylist2 = var1;
1814 {
1815 var2 = nit___nit__Parser___pop(var_p);
1816 }
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> */
1821 {
1822 var4 = nit___nit__Parser___go_to(var_p, var3);
1823 }
1824 {
1825 nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1826 }
1827 RET_LABEL:;
1828 }
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 */;
1842 int cltype;
1843 int idtype;
1844 val* var5 /* : ABlockExpr */;
1845 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
1846 long var6 /* : Int */;
1847 long var7 /* : Int */;
1848 var_p = p0;
1849 var = NULL;
1850 var_node_list = var;
1851 {
1852 var1 = nit___nit__Parser___pop(var_p);
1853 }
1854 var_nodearraylist2 = var1;
1855 {
1856 var2 = nit___nit__Parser___pop(var_p);
1857 }
1858 var_nodearraylist1 = var2;
1859 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
1860 {
1861 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
1862 }
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) {
1869 var4 = 1;
1870 } else {
1871 if(cltype >= var_tkwendnode3->type->table_size) {
1872 var4 = 0;
1873 } else {
1874 var4 = var_tkwendnode3->type->type_table[cltype] == idtype;
1875 }
1876 }
1877 if (unlikely(!var4)) {
1878 PRINT_ERROR("Runtime error: %s", "Assert failed");
1879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5363);
1880 show_backtrace(1);
1881 }
1882 var5 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
1883 {
1884 nit__parser_prod___ABlockExpr___init_ablockexpr(var5, var_listnode2, var_tkwendnode3); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var5:ABlockExpr>*/
1885 }
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> */
1889 {
1890 var7 = nit___nit__Parser___go_to(var_p, var6);
1891 }
1892 {
1893 nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1894 }
1895 RET_LABEL:;
1896 }
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 */;
1908 int cltype;
1909 int idtype;
1910 val* var4 /* : ABlockExpr */;
1911 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
1912 long var5 /* : Int */;
1913 long var6 /* : Int */;
1914 var_p = p0;
1915 var = NULL;
1916 var_node_list = var;
1917 {
1918 var1 = nit___nit__Parser___pop(var_p);
1919 }
1920 var_nodearraylist1 = var1;
1921 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
1922 {
1923 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
1924 }
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) {
1931 var3 = 1;
1932 } else {
1933 if(cltype >= var_tkwendnode3->type->table_size) {
1934 var3 = 0;
1935 } else {
1936 var3 = var_tkwendnode3->type->type_table[cltype] == idtype;
1937 }
1938 }
1939 if (unlikely(!var3)) {
1940 PRINT_ERROR("Runtime error: %s", "Assert failed");
1941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5380);
1942 show_backtrace(1);
1943 }
1944 var4 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
1945 {
1946 nit__parser_prod___ABlockExpr___init_ablockexpr(var4, var_listnode2, var_tkwendnode3); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var4:ABlockExpr>*/
1947 }
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> */
1951 {
1952 var6 = nit___nit__Parser___go_to(var_p, var5);
1953 }
1954 {
1955 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1956 }
1957 RET_LABEL:;
1958 }
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 */;
1969 var_p = p0;
1970 var = NULL;
1971 var_node_list = var;
1972 {
1973 var1 = nit___nit__Parser___pop(var_p);
1974 }
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> */
1979 {
1980 var3 = nit___nit__Parser___go_to(var_p, var2);
1981 }
1982 {
1983 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1984 }
1985 RET_LABEL:;
1986 }
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 */;
1998 int cltype;
1999 int idtype;
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 */;
2011 var_p = p0;
2012 var = NULL;
2013 var_node_list = var;
2014 {
2015 var1 = nit___nit__Parser___pop(var_p);
2016 }
2017 var_nodearraylist1 = var1;
2018 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
2019 {
2020 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
2021 }
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) {
2028 var3 = 1;
2029 } else {
2030 if(cltype >= var_pexprnode2->type->table_size) {
2031 var3 = 0;
2032 } else {
2033 var3 = var_pexprnode2->type->type_table[cltype] == idtype;
2034 }
2035 }
2036 if (unlikely(!var3)) {
2037 PRINT_ERROR("Runtime error: %s", "Assert failed");
2038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5408);
2039 show_backtrace(1);
2040 }
2041 var4 = NULL;
2042 if (var_pexprnode2 == NULL) {
2043 var5 = 0; /* is null */
2044 } else {
2045 var5 = 1; /* arg is null and recv is not */
2046 }
2047 if (0) {
2048 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2049 var_other = var4;
2050 {
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)>*/;
2052 }
2053 var9 = !var8;
2054 var6 = var9;
2055 goto RET_LABEL7;
2056 RET_LABEL7:(void)0;
2057 }
2058 var5 = var6;
2059 }
2060 if (var5){
2061 {
2062 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2063 }
2064 } else {
2065 }
2066 var10 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2067 var11 = NULL;
2068 {
2069 nit__parser_prod___ABlockExpr___init_ablockexpr(var10, var_listnode3, var11); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var10:ABlockExpr>*/
2070 }
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> */
2074 {
2075 var13 = nit___nit__Parser___go_to(var_p, var12);
2076 }
2077 {
2078 nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2079 }
2080 RET_LABEL:;
2081 }
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 */;
2095 int cltype;
2096 int idtype;
2097 val* var_listnode3 /* var listnode3: nullable Object */;
2098 short int var5 /* : Bool */;
2099 int cltype6;
2100 int idtype7;
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 */;
2113 var_p = p0;
2114 var = NULL;
2115 var_node_list = var;
2116 {
2117 var1 = nit___nit__Parser___pop(var_p);
2118 }
2119 var_nodearraylist2 = var1;
2120 {
2121 var2 = nit___nit__Parser___pop(var_p);
2122 }
2123 var_nodearraylist1 = var2;
2124 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
2125 {
2126 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
2127 }
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) {
2134 var4 = 1;
2135 } else {
2136 if(cltype >= var_pexprnode2->type->table_size) {
2137 var4 = 0;
2138 } else {
2139 var4 = var_pexprnode2->type->type_table[cltype] == idtype;
2140 }
2141 }
2142 if (unlikely(!var4)) {
2143 PRINT_ERROR("Runtime error: %s", "Assert failed");
2144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5429);
2145 show_backtrace(1);
2146 }
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) {
2152 var5 = 0;
2153 } else {
2154 if(cltype6 >= var_listnode3->type->table_size) {
2155 var5 = 0;
2156 } else {
2157 var5 = var_listnode3->type->type_table[cltype6] == idtype7;
2158 }
2159 }
2160 if (unlikely(!var5)) {
2161 PRINT_ERROR("Runtime error: %s", "Assert failed");
2162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5431);
2163 show_backtrace(1);
2164 }
2165 var8 = NULL;
2166 if (var_pexprnode2 == NULL) {
2167 var9 = 0; /* is null */
2168 } else {
2169 var9 = 1; /* arg is null and recv is not */
2170 }
2171 if (0) {
2172 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2173 var_other = var8;
2174 {
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)>*/;
2176 }
2177 var13 = !var12;
2178 var10 = var13;
2179 goto RET_LABEL11;
2180 RET_LABEL11:(void)0;
2181 }
2182 var9 = var10;
2183 }
2184 if (var9){
2185 {
2186 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2187 }
2188 } else {
2189 }
2190 {
2191 var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
2192 }
2193 var_listnode4 = var14;
2194 var15 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2195 var16 = NULL;
2196 {
2197 nit__parser_prod___ABlockExpr___init_ablockexpr(var15, var_listnode4, var16); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var15:ABlockExpr>*/
2198 }
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> */
2202 {
2203 var18 = nit___nit__Parser___go_to(var_p, var17);
2204 }
2205 {
2206 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2207 }
2208 RET_LABEL:;
2209 }
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 */;
2223 int cltype;
2224 int idtype;
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 */;
2236 var_p = p0;
2237 var = NULL;
2238 var_node_list = var;
2239 {
2240 var1 = nit___nit__Parser___pop(var_p);
2241 }
2242 var_nodearraylist2 = var1;
2243 {
2244 var2 = nit___nit__Parser___pop(var_p);
2245 }
2246 var_nodearraylist1 = var2;
2247 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
2248 {
2249 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
2250 }
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) {
2257 var4 = 1;
2258 } else {
2259 if(cltype >= var_pexprnode2->type->table_size) {
2260 var4 = 0;
2261 } else {
2262 var4 = var_pexprnode2->type->type_table[cltype] == idtype;
2263 }
2264 }
2265 if (unlikely(!var4)) {
2266 PRINT_ERROR("Runtime error: %s", "Assert failed");
2267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5453);
2268 show_backtrace(1);
2269 }
2270 var5 = NULL;
2271 if (var_pexprnode2 == NULL) {
2272 var6 = 0; /* is null */
2273 } else {
2274 var6 = 1; /* arg is null and recv is not */
2275 }
2276 if (0) {
2277 { /* Inline kernel#Object#!= (var_pexprnode2,var5) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2278 var_other = var5;
2279 {
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)>*/;
2281 }
2282 var10 = !var9;
2283 var7 = var10;
2284 goto RET_LABEL8;
2285 RET_LABEL8:(void)0;
2286 }
2287 var6 = var7;
2288 }
2289 if (var6){
2290 {
2291 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2292 }
2293 } else {
2294 }
2295 var11 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2296 var12 = NULL;
2297 {
2298 nit__parser_prod___ABlockExpr___init_ablockexpr(var11, var_listnode3, var12); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var11:ABlockExpr>*/
2299 }
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> */
2303 {
2304 var14 = nit___nit__Parser___go_to(var_p, var13);
2305 }
2306 {
2307 nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2308 }
2309 RET_LABEL:;
2310 }
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 */;
2326 int cltype;
2327 int idtype;
2328 val* var_listnode3 /* var listnode3: nullable Object */;
2329 short int var6 /* : Bool */;
2330 int cltype7;
2331 int idtype8;
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 */;
2344 var_p = p0;
2345 var = NULL;
2346 var_node_list = var;
2347 {
2348 var1 = nit___nit__Parser___pop(var_p);
2349 }
2350 var_nodearraylist3 = var1;
2351 {
2352 var2 = nit___nit__Parser___pop(var_p);
2353 }
2354 var_nodearraylist2 = var2;
2355 {
2356 var3 = nit___nit__Parser___pop(var_p);
2357 }
2358 var_nodearraylist1 = var3;
2359 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
2360 {
2361 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
2362 }
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) {
2369 var5 = 1;
2370 } else {
2371 if(cltype >= var_pexprnode2->type->table_size) {
2372 var5 = 0;
2373 } else {
2374 var5 = var_pexprnode2->type->type_table[cltype] == idtype;
2375 }
2376 }
2377 if (unlikely(!var5)) {
2378 PRINT_ERROR("Runtime error: %s", "Assert failed");
2379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5475);
2380 show_backtrace(1);
2381 }
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) {
2387 var6 = 0;
2388 } else {
2389 if(cltype7 >= var_listnode3->type->table_size) {
2390 var6 = 0;
2391 } else {
2392 var6 = var_listnode3->type->type_table[cltype7] == idtype8;
2393 }
2394 }
2395 if (unlikely(!var6)) {
2396 PRINT_ERROR("Runtime error: %s", "Assert failed");
2397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5477);
2398 show_backtrace(1);
2399 }
2400 var9 = NULL;
2401 if (var_pexprnode2 == NULL) {
2402 var10 = 0; /* is null */
2403 } else {
2404 var10 = 1; /* arg is null and recv is not */
2405 }
2406 if (0) {
2407 { /* Inline kernel#Object#!= (var_pexprnode2,var9) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2408 var_other = var9;
2409 {
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)>*/;
2411 }
2412 var14 = !var13;
2413 var11 = var14;
2414 goto RET_LABEL12;
2415 RET_LABEL12:(void)0;
2416 }
2417 var10 = var11;
2418 }
2419 if (var10){
2420 {
2421 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2422 }
2423 } else {
2424 }
2425 {
2426 var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
2427 }
2428 var_listnode4 = var15;
2429 var16 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2430 var17 = NULL;
2431 {
2432 nit__parser_prod___ABlockExpr___init_ablockexpr(var16, var_listnode4, var17); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var16:ABlockExpr>*/
2433 }
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> */
2437 {
2438 var19 = nit___nit__Parser___go_to(var_p, var18);
2439 }
2440 {
2441 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2442 }
2443 RET_LABEL:;
2444 }
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 */;
2460 int cltype;
2461 int idtype;
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 */;
2470 int cltype13;
2471 int idtype14;
2472 val* var15 /* : ABlockExpr */;
2473 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
2474 long var16 /* : Int */;
2475 long var17 /* : Int */;
2476 var_p = p0;
2477 var = NULL;
2478 var_node_list = var;
2479 {
2480 var1 = nit___nit__Parser___pop(var_p);
2481 }
2482 var_nodearraylist3 = var1;
2483 {
2484 var2 = nit___nit__Parser___pop(var_p);
2485 }
2486 var_nodearraylist2 = var2;
2487 {
2488 var3 = nit___nit__Parser___pop(var_p);
2489 }
2490 var_nodearraylist1 = var3;
2491 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
2492 {
2493 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
2494 }
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) {
2501 var5 = 1;
2502 } else {
2503 if(cltype >= var_pexprnode2->type->table_size) {
2504 var5 = 0;
2505 } else {
2506 var5 = var_pexprnode2->type->type_table[cltype] == idtype;
2507 }
2508 }
2509 if (unlikely(!var5)) {
2510 PRINT_ERROR("Runtime error: %s", "Assert failed");
2511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5500);
2512 show_backtrace(1);
2513 }
2514 var6 = NULL;
2515 if (var_pexprnode2 == NULL) {
2516 var7 = 0; /* is null */
2517 } else {
2518 var7 = 1; /* arg is null and recv is not */
2519 }
2520 if (0) {
2521 { /* Inline kernel#Object#!= (var_pexprnode2,var6) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2522 var_other = var6;
2523 {
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)>*/;
2525 }
2526 var11 = !var10;
2527 var8 = var11;
2528 goto RET_LABEL9;
2529 RET_LABEL9:(void)0;
2530 }
2531 var7 = var8;
2532 }
2533 if (var7){
2534 {
2535 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2536 }
2537 } else {
2538 }
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) {
2544 var12 = 1;
2545 } else {
2546 if(cltype13 >= var_tkwendnode4->type->table_size) {
2547 var12 = 0;
2548 } else {
2549 var12 = var_tkwendnode4->type->type_table[cltype13] == idtype14;
2550 }
2551 }
2552 if (unlikely(!var12)) {
2553 PRINT_ERROR("Runtime error: %s", "Assert failed");
2554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5505);
2555 show_backtrace(1);
2556 }
2557 var15 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2558 {
2559 nit__parser_prod___ABlockExpr___init_ablockexpr(var15, var_listnode3, var_tkwendnode4); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var15:ABlockExpr>*/
2560 }
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> */
2564 {
2565 var17 = nit___nit__Parser___go_to(var_p, var16);
2566 }
2567 {
2568 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2569 }
2570 RET_LABEL:;
2571 }
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 */;
2589 int cltype;
2590 int idtype;
2591 val* var_listnode3 /* var listnode3: nullable Object */;
2592 short int var7 /* : Bool */;
2593 int cltype8;
2594 int idtype9;
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 */;
2604 int cltype18;
2605 int idtype19;
2606 val* var20 /* : ABlockExpr */;
2607 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
2608 long var21 /* : Int */;
2609 long var22 /* : Int */;
2610 var_p = p0;
2611 var = NULL;
2612 var_node_list = var;
2613 {
2614 var1 = nit___nit__Parser___pop(var_p);
2615 }
2616 var_nodearraylist4 = var1;
2617 {
2618 var2 = nit___nit__Parser___pop(var_p);
2619 }
2620 var_nodearraylist3 = var2;
2621 {
2622 var3 = nit___nit__Parser___pop(var_p);
2623 }
2624 var_nodearraylist2 = var3;
2625 {
2626 var4 = nit___nit__Parser___pop(var_p);
2627 }
2628 var_nodearraylist1 = var4;
2629 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
2630 {
2631 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
2632 }
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) {
2639 var6 = 1;
2640 } else {
2641 if(cltype >= var_pexprnode2->type->table_size) {
2642 var6 = 0;
2643 } else {
2644 var6 = var_pexprnode2->type->type_table[cltype] == idtype;
2645 }
2646 }
2647 if (unlikely(!var6)) {
2648 PRINT_ERROR("Runtime error: %s", "Assert failed");
2649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5525);
2650 show_backtrace(1);
2651 }
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) {
2657 var7 = 0;
2658 } else {
2659 if(cltype8 >= var_listnode3->type->table_size) {
2660 var7 = 0;
2661 } else {
2662 var7 = var_listnode3->type->type_table[cltype8] == idtype9;
2663 }
2664 }
2665 if (unlikely(!var7)) {
2666 PRINT_ERROR("Runtime error: %s", "Assert failed");
2667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5527);
2668 show_backtrace(1);
2669 }
2670 var10 = NULL;
2671 if (var_pexprnode2 == NULL) {
2672 var11 = 0; /* is null */
2673 } else {
2674 var11 = 1; /* arg is null and recv is not */
2675 }
2676 if (0) {
2677 { /* Inline kernel#Object#!= (var_pexprnode2,var10) on <var_pexprnode2:nullable Object(nullable AExpr)> */
2678 var_other = var10;
2679 {
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)>*/;
2681 }
2682 var15 = !var14;
2683 var12 = var15;
2684 goto RET_LABEL13;
2685 RET_LABEL13:(void)0;
2686 }
2687 var11 = var12;
2688 }
2689 if (var11){
2690 {
2691 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
2692 }
2693 } else {
2694 }
2695 {
2696 var16 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
2697 }
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) {
2704 var17 = 1;
2705 } else {
2706 if(cltype18 >= var_tkwendnode5->type->table_size) {
2707 var17 = 0;
2708 } else {
2709 var17 = var_tkwendnode5->type->type_table[cltype18] == idtype19;
2710 }
2711 }
2712 if (unlikely(!var17)) {
2713 PRINT_ERROR("Runtime error: %s", "Assert failed");
2714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5533);
2715 show_backtrace(1);
2716 }
2717 var20 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
2718 {
2719 nit__parser_prod___ABlockExpr___init_ablockexpr(var20, var_listnode4, var_tkwendnode5); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on <var20:ABlockExpr>*/
2720 }
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> */
2724 {
2725 var22 = nit___nit__Parser___go_to(var_p, var21);
2726 }
2727 {
2728 nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2729 }
2730 RET_LABEL:;
2731 }
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 */;
2741 int cltype;
2742 int idtype;
2743 val* var3 /* : AReturnExpr */;
2744 val* var4 /* : null */;
2745 val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */;
2746 long var5 /* : Int */;
2747 long var6 /* : Int */;
2748 var_p = p0;
2749 var = NULL;
2750 var_node_list = var;
2751 {
2752 var1 = nit___nit__Parser___pop(var_p);
2753 }
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) {
2760 var2 = 1;
2761 } else {
2762 if(cltype >= var_tkwreturnnode2->type->table_size) {
2763 var2 = 0;
2764 } else {
2765 var2 = var_tkwreturnnode2->type->type_table[cltype] == idtype;
2766 }
2767 }
2768 if (unlikely(!var2)) {
2769 PRINT_ERROR("Runtime error: %s", "Assert failed");
2770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5549);
2771 show_backtrace(1);
2772 }
2773 var3 = NEW_nit__AReturnExpr(&type_nit__AReturnExpr);
2774 var4 = NULL;
2775 {
2776 nit__parser_prod___AReturnExpr___init_areturnexpr(var3, var_tkwreturnnode2, var4); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var3:AReturnExpr>*/
2777 }
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> */
2781 {
2782 var6 = nit___nit__Parser___go_to(var_p, var5);
2783 }
2784 {
2785 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2786 }
2787 RET_LABEL:;
2788 }
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 */;
2800 int cltype;
2801 int idtype;
2802 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
2803 short int var4 /* : Bool */;
2804 int cltype5;
2805 int idtype6;
2806 val* var7 /* : AReturnExpr */;
2807 val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */;
2808 long var8 /* : Int */;
2809 long var9 /* : Int */;
2810 var_p = p0;
2811 var = NULL;
2812 var_node_list = var;
2813 {
2814 var1 = nit___nit__Parser___pop(var_p);
2815 }
2816 var_nodearraylist2 = var1;
2817 {
2818 var2 = nit___nit__Parser___pop(var_p);
2819 }
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) {
2826 var3 = 1;
2827 } else {
2828 if(cltype >= var_tkwreturnnode2->type->table_size) {
2829 var3 = 0;
2830 } else {
2831 var3 = var_tkwreturnnode2->type->type_table[cltype] == idtype;
2832 }
2833 }
2834 if (unlikely(!var3)) {
2835 PRINT_ERROR("Runtime error: %s", "Assert failed");
2836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5566);
2837 show_backtrace(1);
2838 }
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) {
2844 var4 = 1;
2845 } else {
2846 if(cltype5 >= var_pexprnode3->type->table_size) {
2847 var4 = 0;
2848 } else {
2849 var4 = var_pexprnode3->type->type_table[cltype5] == idtype6;
2850 }
2851 }
2852 if (unlikely(!var4)) {
2853 PRINT_ERROR("Runtime error: %s", "Assert failed");
2854 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5568);
2855 show_backtrace(1);
2856 }
2857 var7 = NEW_nit__AReturnExpr(&type_nit__AReturnExpr);
2858 {
2859 nit__parser_prod___AReturnExpr___init_areturnexpr(var7, var_tkwreturnnode2, var_pexprnode3); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on <var7:AReturnExpr>*/
2860 }
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> */
2864 {
2865 var9 = nit___nit__Parser___go_to(var_p, var8);
2866 }
2867 {
2868 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2869 }
2870 RET_LABEL:;
2871 }
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 */;
2881 int cltype;
2882 int idtype;
2883 val* var3 /* : ABreakExpr */;
2884 val* var4 /* : null */;
2885 val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */;
2886 long var5 /* : Int */;
2887 long var6 /* : Int */;
2888 var_p = p0;
2889 var = NULL;
2890 var_node_list = var;
2891 {
2892 var1 = nit___nit__Parser___pop(var_p);
2893 }
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) {
2900 var2 = 1;
2901 } else {
2902 if(cltype >= var_tkwbreaknode2->type->table_size) {
2903 var2 = 0;
2904 } else {
2905 var2 = var_tkwbreaknode2->type->type_table[cltype] == idtype;
2906 }
2907 }
2908 if (unlikely(!var2)) {
2909 PRINT_ERROR("Runtime error: %s", "Assert failed");
2910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5584);
2911 show_backtrace(1);
2912 }
2913 var3 = NEW_nit__ABreakExpr(&type_nit__ABreakExpr);
2914 var4 = NULL;
2915 {
2916 nit__parser_prod___ABreakExpr___init_abreakexpr(var3, var_tkwbreaknode2, var4); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var3:ABreakExpr>*/
2917 }
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> */
2921 {
2922 var6 = nit___nit__Parser___go_to(var_p, var5);
2923 }
2924 {
2925 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2926 }
2927 RET_LABEL:;
2928 }
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 */;
2940 int cltype;
2941 int idtype;
2942 val* var_plabelnode3 /* var plabelnode3: nullable Object */;
2943 short int var4 /* : Bool */;
2944 int cltype5;
2945 int idtype6;
2946 val* var7 /* : ABreakExpr */;
2947 val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */;
2948 long var8 /* : Int */;
2949 long var9 /* : Int */;
2950 var_p = p0;
2951 var = NULL;
2952 var_node_list = var;
2953 {
2954 var1 = nit___nit__Parser___pop(var_p);
2955 }
2956 var_nodearraylist2 = var1;
2957 {
2958 var2 = nit___nit__Parser___pop(var_p);
2959 }
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) {
2966 var3 = 1;
2967 } else {
2968 if(cltype >= var_tkwbreaknode2->type->table_size) {
2969 var3 = 0;
2970 } else {
2971 var3 = var_tkwbreaknode2->type->type_table[cltype] == idtype;
2972 }
2973 }
2974 if (unlikely(!var3)) {
2975 PRINT_ERROR("Runtime error: %s", "Assert failed");
2976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5601);
2977 show_backtrace(1);
2978 }
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) {
2984 var4 = 1;
2985 } else {
2986 if(cltype5 >= var_plabelnode3->type->table_size) {
2987 var4 = 0;
2988 } else {
2989 var4 = var_plabelnode3->type->type_table[cltype5] == idtype6;
2990 }
2991 }
2992 if (unlikely(!var4)) {
2993 PRINT_ERROR("Runtime error: %s", "Assert failed");
2994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5603);
2995 show_backtrace(1);
2996 }
2997 var7 = NEW_nit__ABreakExpr(&type_nit__ABreakExpr);
2998 {
2999 nit__parser_prod___ABreakExpr___init_abreakexpr(var7, var_tkwbreaknode2, var_plabelnode3); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on <var7:ABreakExpr>*/
3000 }
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> */
3004 {
3005 var9 = nit___nit__Parser___go_to(var_p, var8);
3006 }
3007 {
3008 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3009 }
3010 RET_LABEL:;
3011 }
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 */;
3021 int cltype;
3022 int idtype;
3023 val* var3 /* : AAbortExpr */;
3024 val* var_pexprnode1 /* var pexprnode1: nullable AAbortExpr */;
3025 long var4 /* : Int */;
3026 long var5 /* : Int */;
3027 var_p = p0;
3028 var = NULL;
3029 var_node_list = var;
3030 {
3031 var1 = nit___nit__Parser___pop(var_p);
3032 }
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) {
3039 var2 = 1;
3040 } else {
3041 if(cltype >= var_tkwabortnode2->type->table_size) {
3042 var2 = 0;
3043 } else {
3044 var2 = var_tkwabortnode2->type->type_table[cltype] == idtype;
3045 }
3046 }
3047 if (unlikely(!var2)) {
3048 PRINT_ERROR("Runtime error: %s", "Assert failed");
3049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5619);
3050 show_backtrace(1);
3051 }
3052 var3 = NEW_nit__AAbortExpr(&type_nit__AAbortExpr);
3053 {
3054 nit__parser_prod___AAbortExpr___init_aabortexpr(var3, var_tkwabortnode2); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on <var3:AAbortExpr>*/
3055 }
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> */
3059 {
3060 var5 = nit___nit__Parser___go_to(var_p, var4);
3061 }
3062 {
3063 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3064 }
3065 RET_LABEL:;
3066 }
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 */;
3076 int cltype;
3077 int idtype;
3078 val* var3 /* : AContinueExpr */;
3079 val* var4 /* : null */;
3080 val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */;
3081 long var5 /* : Int */;
3082 long var6 /* : Int */;
3083 var_p = p0;
3084 var = NULL;
3085 var_node_list = var;
3086 {
3087 var1 = nit___nit__Parser___pop(var_p);
3088 }
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) {
3095 var2 = 1;
3096 } else {
3097 if(cltype >= var_tkwcontinuenode2->type->table_size) {
3098 var2 = 0;
3099 } else {
3100 var2 = var_tkwcontinuenode2->type->type_table[cltype] == idtype;
3101 }
3102 }
3103 if (unlikely(!var2)) {
3104 PRINT_ERROR("Runtime error: %s", "Assert failed");
3105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5634);
3106 show_backtrace(1);
3107 }
3108 var3 = NEW_nit__AContinueExpr(&type_nit__AContinueExpr);
3109 var4 = NULL;
3110 {
3111 nit__parser_prod___AContinueExpr___init_acontinueexpr(var3, var_tkwcontinuenode2, var4); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var3:AContinueExpr>*/
3112 }
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> */
3116 {
3117 var6 = nit___nit__Parser___go_to(var_p, var5);
3118 }
3119 {
3120 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3121 }
3122 RET_LABEL:;
3123 }
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 */;
3135 int cltype;
3136 int idtype;
3137 val* var_plabelnode3 /* var plabelnode3: nullable Object */;
3138 short int var4 /* : Bool */;
3139 int cltype5;
3140 int idtype6;
3141 val* var7 /* : AContinueExpr */;
3142 val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */;
3143 long var8 /* : Int */;
3144 long var9 /* : Int */;
3145 var_p = p0;
3146 var = NULL;
3147 var_node_list = var;
3148 {
3149 var1 = nit___nit__Parser___pop(var_p);
3150 }
3151 var_nodearraylist2 = var1;
3152 {
3153 var2 = nit___nit__Parser___pop(var_p);
3154 }
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) {
3161 var3 = 1;
3162 } else {
3163 if(cltype >= var_tkwcontinuenode2->type->table_size) {
3164 var3 = 0;
3165 } else {
3166 var3 = var_tkwcontinuenode2->type->type_table[cltype] == idtype;
3167 }
3168 }
3169 if (unlikely(!var3)) {
3170 PRINT_ERROR("Runtime error: %s", "Assert failed");
3171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5651);
3172 show_backtrace(1);
3173 }
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) {
3179 var4 = 1;
3180 } else {
3181 if(cltype5 >= var_plabelnode3->type->table_size) {
3182 var4 = 0;
3183 } else {
3184 var4 = var_plabelnode3->type->type_table[cltype5] == idtype6;
3185 }
3186 }
3187 if (unlikely(!var4)) {
3188 PRINT_ERROR("Runtime error: %s", "Assert failed");
3189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5653);
3190 show_backtrace(1);
3191 }
3192 var7 = NEW_nit__AContinueExpr(&type_nit__AContinueExpr);
3193 {
3194 nit__parser_prod___AContinueExpr___init_acontinueexpr(var7, var_tkwcontinuenode2, var_plabelnode3); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on <var7:AContinueExpr>*/
3195 }
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> */
3199 {
3200 var9 = nit___nit__Parser___go_to(var_p, var8);
3201 }
3202 {
3203 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3204 }
3205 RET_LABEL:;
3206 }
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 */;
3224 int cltype;
3225 int idtype;
3226 val* var_tidnode3 /* var tidnode3: nullable Object */;
3227 short int var7 /* : Bool */;
3228 int cltype8;
3229 int idtype9;
3230 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3231 short int var10 /* : Bool */;
3232 int cltype11;
3233 int idtype12;
3234 val* var13 /* : ACallExpr */;
3235 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3236 long var14 /* : Int */;
3237 long var15 /* : Int */;
3238 var_p = p0;
3239 var = NULL;
3240 var_node_list = var;
3241 {
3242 var1 = nit___nit__Parser___pop(var_p);
3243 }
3244 var_nodearraylist5 = var1;
3245 {
3246 var2 = nit___nit__Parser___pop(var_p);
3247 }
3248 var_nodearraylist4 = var2;
3249 {
3250 var3 = nit___nit__Parser___pop(var_p);
3251 }
3252 var_nodearraylist3 = var3;
3253 {
3254 var4 = nit___nit__Parser___pop(var_p);
3255 }
3256 var_nodearraylist2 = var4;
3257 {
3258 var5 = nit___nit__Parser___pop(var_p);
3259 }
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) {
3266 var6 = 1;
3267 } else {
3268 if(cltype >= var_pexprnode2->type->table_size) {
3269 var6 = 0;
3270 } else {
3271 var6 = var_pexprnode2->type->type_table[cltype] == idtype;
3272 }
3273 }
3274 if (unlikely(!var6)) {
3275 PRINT_ERROR("Runtime error: %s", "Assert failed");
3276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5673);
3277 show_backtrace(1);
3278 }
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) {
3284 var7 = 1;
3285 } else {
3286 if(cltype8 >= var_tidnode3->type->table_size) {
3287 var7 = 0;
3288 } else {
3289 var7 = var_tidnode3->type->type_table[cltype8] == idtype9;
3290 }
3291 }
3292 if (unlikely(!var7)) {
3293 PRINT_ERROR("Runtime error: %s", "Assert failed");
3294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5675);
3295 show_backtrace(1);
3296 }
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) {
3302 var10 = 1;
3303 } else {
3304 if(cltype11 >= var_pexprsnode4->type->table_size) {
3305 var10 = 0;
3306 } else {
3307 var10 = var_pexprsnode4->type->type_table[cltype11] == idtype12;
3308 }
3309 }
3310 if (unlikely(!var10)) {
3311 PRINT_ERROR("Runtime error: %s", "Assert failed");
3312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5677);
3313 show_backtrace(1);
3314 }
3315 var13 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3316 {
3317 nit__parser_prod___ACallExpr___init_acallexpr(var13, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
3318 }
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> */
3322 {
3323 var15 = nit___nit__Parser___go_to(var_p, var14);
3324 }
3325 {
3326 nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3327 }
3328 RET_LABEL:;
3329 }
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 */;
3349 int cltype;
3350 int idtype;
3351 val* var_tidnode3 /* var tidnode3: nullable Object */;
3352 short int var8 /* : Bool */;
3353 int cltype9;
3354 int idtype10;
3355 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3356 short int var11 /* : Bool */;
3357 int cltype12;
3358 int idtype13;
3359 val* var14 /* : ACallExpr */;
3360 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3361 long var15 /* : Int */;
3362 long var16 /* : Int */;
3363 var_p = p0;
3364 var = NULL;
3365 var_node_list = var;
3366 {
3367 var1 = nit___nit__Parser___pop(var_p);
3368 }
3369 var_nodearraylist6 = var1;
3370 {
3371 var2 = nit___nit__Parser___pop(var_p);
3372 }
3373 var_nodearraylist5 = var2;
3374 {
3375 var3 = nit___nit__Parser___pop(var_p);
3376 }
3377 var_nodearraylist4 = var3;
3378 {
3379 var4 = nit___nit__Parser___pop(var_p);
3380 }
3381 var_nodearraylist3 = var4;
3382 {
3383 var5 = nit___nit__Parser___pop(var_p);
3384 }
3385 var_nodearraylist2 = var5;
3386 {
3387 var6 = nit___nit__Parser___pop(var_p);
3388 }
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) {
3395 var7 = 1;
3396 } else {
3397 if(cltype >= var_pexprnode2->type->table_size) {
3398 var7 = 0;
3399 } else {
3400 var7 = var_pexprnode2->type->type_table[cltype] == idtype;
3401 }
3402 }
3403 if (unlikely(!var7)) {
3404 PRINT_ERROR("Runtime error: %s", "Assert failed");
3405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5699);
3406 show_backtrace(1);
3407 }
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) {
3413 var8 = 1;
3414 } else {
3415 if(cltype9 >= var_tidnode3->type->table_size) {
3416 var8 = 0;
3417 } else {
3418 var8 = var_tidnode3->type->type_table[cltype9] == idtype10;
3419 }
3420 }
3421 if (unlikely(!var8)) {
3422 PRINT_ERROR("Runtime error: %s", "Assert failed");
3423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5701);
3424 show_backtrace(1);
3425 }
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) {
3431 var11 = 1;
3432 } else {
3433 if(cltype12 >= var_pexprsnode4->type->table_size) {
3434 var11 = 0;
3435 } else {
3436 var11 = var_pexprsnode4->type->type_table[cltype12] == idtype13;
3437 }
3438 }
3439 if (unlikely(!var11)) {
3440 PRINT_ERROR("Runtime error: %s", "Assert failed");
3441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5703);
3442 show_backtrace(1);
3443 }
3444 var14 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3445 {
3446 nit__parser_prod___ACallExpr___init_acallexpr(var14, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var14:ACallExpr>*/
3447 }
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> */
3451 {
3452 var16 = nit___nit__Parser___go_to(var_p, var15);
3453 }
3454 {
3455 nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3456 }
3457 RET_LABEL:;
3458 }
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 */;
3480 int cltype;
3481 int idtype;
3482 val* var_tidnode3 /* var tidnode3: nullable Object */;
3483 short int var9 /* : Bool */;
3484 int cltype10;
3485 int idtype11;
3486 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3487 short int var12 /* : Bool */;
3488 int cltype13;
3489 int idtype14;
3490 val* var15 /* : ACallExpr */;
3491 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3492 long var16 /* : Int */;
3493 long var17 /* : Int */;
3494 var_p = p0;
3495 var = NULL;
3496 var_node_list = var;
3497 {
3498 var1 = nit___nit__Parser___pop(var_p);
3499 }
3500 var_nodearraylist7 = var1;
3501 {
3502 var2 = nit___nit__Parser___pop(var_p);
3503 }
3504 var_nodearraylist6 = var2;
3505 {
3506 var3 = nit___nit__Parser___pop(var_p);
3507 }
3508 var_nodearraylist5 = var3;
3509 {
3510 var4 = nit___nit__Parser___pop(var_p);
3511 }
3512 var_nodearraylist4 = var4;
3513 {
3514 var5 = nit___nit__Parser___pop(var_p);
3515 }
3516 var_nodearraylist3 = var5;
3517 {
3518 var6 = nit___nit__Parser___pop(var_p);
3519 }
3520 var_nodearraylist2 = var6;
3521 {
3522 var7 = nit___nit__Parser___pop(var_p);
3523 }
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) {
3530 var8 = 1;
3531 } else {
3532 if(cltype >= var_pexprnode2->type->table_size) {
3533 var8 = 0;
3534 } else {
3535 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
3536 }
3537 }
3538 if (unlikely(!var8)) {
3539 PRINT_ERROR("Runtime error: %s", "Assert failed");
3540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5726);
3541 show_backtrace(1);
3542 }
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) {
3548 var9 = 1;
3549 } else {
3550 if(cltype10 >= var_tidnode3->type->table_size) {
3551 var9 = 0;
3552 } else {
3553 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
3554 }
3555 }
3556 if (unlikely(!var9)) {
3557 PRINT_ERROR("Runtime error: %s", "Assert failed");
3558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5728);
3559 show_backtrace(1);
3560 }
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) {
3566 var12 = 1;
3567 } else {
3568 if(cltype13 >= var_pexprsnode4->type->table_size) {
3569 var12 = 0;
3570 } else {
3571 var12 = var_pexprsnode4->type->type_table[cltype13] == idtype14;
3572 }
3573 }
3574 if (unlikely(!var12)) {
3575 PRINT_ERROR("Runtime error: %s", "Assert failed");
3576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5730);
3577 show_backtrace(1);
3578 }
3579 var15 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3580 {
3581 nit__parser_prod___ACallExpr___init_acallexpr(var15, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var15:ACallExpr>*/
3582 }
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> */
3586 {
3587 var17 = nit___nit__Parser___go_to(var_p, var16);
3588 }
3589 {
3590 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3591 }
3592 RET_LABEL:;
3593 }
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 */;
3607 int cltype;
3608 int idtype;
3609 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3610 short int var6 /* : Bool */;
3611 int cltype7;
3612 int idtype8;
3613 val* var9 /* : ACallExpr */;
3614 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3615 long var10 /* : Int */;
3616 long var11 /* : Int */;
3617 var_p = p0;
3618 var = NULL;
3619 var_node_list = var;
3620 {
3621 var1 = nit___nit__Parser___pop(var_p);
3622 }
3623 var_nodearraylist2 = var1;
3624 {
3625 var2 = nit___nit__Parser___pop(var_p);
3626 }
3627 var_nodearraylist1 = var2;
3628 var3 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
3629 {
3630 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
3631 RET_LABEL4:(void)0;
3632 }
3633 }
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) {
3640 var5 = 1;
3641 } else {
3642 if(cltype >= var_tidnode3->type->table_size) {
3643 var5 = 0;
3644 } else {
3645 var5 = var_tidnode3->type->type_table[cltype] == idtype;
3646 }
3647 }
3648 if (unlikely(!var5)) {
3649 PRINT_ERROR("Runtime error: %s", "Assert failed");
3650 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5749);
3651 show_backtrace(1);
3652 }
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) {
3658 var6 = 1;
3659 } else {
3660 if(cltype7 >= var_pexprsnode4->type->table_size) {
3661 var6 = 0;
3662 } else {
3663 var6 = var_pexprsnode4->type->type_table[cltype7] == idtype8;
3664 }
3665 }
3666 if (unlikely(!var6)) {
3667 PRINT_ERROR("Runtime error: %s", "Assert failed");
3668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5751);
3669 show_backtrace(1);
3670 }
3671 var9 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3672 {
3673 nit__parser_prod___ACallExpr___init_acallexpr(var9, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
3674 }
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> */
3678 {
3679 var11 = nit___nit__Parser___go_to(var_p, var10);
3680 }
3681 {
3682 nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3683 }
3684 RET_LABEL:;
3685 }
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 */;
3701 int cltype;
3702 int idtype;
3703 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3704 short int var7 /* : Bool */;
3705 int cltype8;
3706 int idtype9;
3707 val* var10 /* : ACallExpr */;
3708 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3709 long var11 /* : Int */;
3710 long var12 /* : Int */;
3711 var_p = p0;
3712 var = NULL;
3713 var_node_list = var;
3714 {
3715 var1 = nit___nit__Parser___pop(var_p);
3716 }
3717 var_nodearraylist3 = var1;
3718 {
3719 var2 = nit___nit__Parser___pop(var_p);
3720 }
3721 var_nodearraylist2 = var2;
3722 {
3723 var3 = nit___nit__Parser___pop(var_p);
3724 }
3725 var_nodearraylist1 = var3;
3726 var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
3727 {
3728 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
3729 RET_LABEL5:(void)0;
3730 }
3731 }
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) {
3738 var6 = 1;
3739 } else {
3740 if(cltype >= var_tidnode3->type->table_size) {
3741 var6 = 0;
3742 } else {
3743 var6 = var_tidnode3->type->type_table[cltype] == idtype;
3744 }
3745 }
3746 if (unlikely(!var6)) {
3747 PRINT_ERROR("Runtime error: %s", "Assert failed");
3748 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5771);
3749 show_backtrace(1);
3750 }
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) {
3756 var7 = 1;
3757 } else {
3758 if(cltype8 >= var_pexprsnode4->type->table_size) {
3759 var7 = 0;
3760 } else {
3761 var7 = var_pexprsnode4->type->type_table[cltype8] == idtype9;
3762 }
3763 }
3764 if (unlikely(!var7)) {
3765 PRINT_ERROR("Runtime error: %s", "Assert failed");
3766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5773);
3767 show_backtrace(1);
3768 }
3769 var10 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3770 {
3771 nit__parser_prod___ACallExpr___init_acallexpr(var10, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
3772 }
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> */
3776 {
3777 var12 = nit___nit__Parser___go_to(var_p, var11);
3778 }
3779 {
3780 nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3781 }
3782 RET_LABEL:;
3783 }
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 */;
3801 int cltype;
3802 int idtype;
3803 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3804 short int var8 /* : Bool */;
3805 int cltype9;
3806 int idtype10;
3807 val* var11 /* : ACallExpr */;
3808 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
3809 long var12 /* : Int */;
3810 long var13 /* : Int */;
3811 var_p = p0;
3812 var = NULL;
3813 var_node_list = var;
3814 {
3815 var1 = nit___nit__Parser___pop(var_p);
3816 }
3817 var_nodearraylist4 = var1;
3818 {
3819 var2 = nit___nit__Parser___pop(var_p);
3820 }
3821 var_nodearraylist3 = var2;
3822 {
3823 var3 = nit___nit__Parser___pop(var_p);
3824 }
3825 var_nodearraylist2 = var3;
3826 {
3827 var4 = nit___nit__Parser___pop(var_p);
3828 }
3829 var_nodearraylist1 = var4;
3830 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
3831 {
3832 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
3833 RET_LABEL6:(void)0;
3834 }
3835 }
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) {
3842 var7 = 1;
3843 } else {
3844 if(cltype >= var_tidnode3->type->table_size) {
3845 var7 = 0;
3846 } else {
3847 var7 = var_tidnode3->type->type_table[cltype] == idtype;
3848 }
3849 }
3850 if (unlikely(!var7)) {
3851 PRINT_ERROR("Runtime error: %s", "Assert failed");
3852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5794);
3853 show_backtrace(1);
3854 }
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) {
3860 var8 = 1;
3861 } else {
3862 if(cltype9 >= var_pexprsnode4->type->table_size) {
3863 var8 = 0;
3864 } else {
3865 var8 = var_pexprsnode4->type->type_table[cltype9] == idtype10;
3866 }
3867 }
3868 if (unlikely(!var8)) {
3869 PRINT_ERROR("Runtime error: %s", "Assert failed");
3870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5796);
3871 show_backtrace(1);
3872 }
3873 var11 = NEW_nit__ACallExpr(&type_nit__ACallExpr);
3874 {
3875 nit__parser_prod___ACallExpr___init_acallexpr(var11, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
3876 }
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> */
3880 {
3881 var13 = nit___nit__Parser___go_to(var_p, var12);
3882 }
3883 {
3884 nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3885 }
3886 RET_LABEL:;
3887 }
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 */;
3901 int cltype;
3902 int idtype;
3903 val* var_tkwsupernode3 /* var tkwsupernode3: nullable Object */;
3904 short int var5 /* : Bool */;
3905 int cltype6;
3906 int idtype7;
3907 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3908 short int var8 /* : Bool */;
3909 int cltype9;
3910 int idtype10;
3911 val* var11 /* : ASuperExpr */;
3912 val* var_pexprnode1 /* var pexprnode1: nullable ASuperExpr */;
3913 long var12 /* : Int */;
3914 long var13 /* : Int */;
3915 var_p = p0;
3916 var = NULL;
3917 var_node_list = var;
3918 {
3919 var1 = nit___nit__Parser___pop(var_p);
3920 }
3921 var_nodearraylist3 = var1;
3922 {
3923 var2 = nit___nit__Parser___pop(var_p);
3924 }
3925 var_nodearraylist2 = var2;
3926 {
3927 var3 = nit___nit__Parser___pop(var_p);
3928 }
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) {
3935 var4 = 1;
3936 } else {
3937 if(cltype >= var_pqualifiednode2->type->table_size) {
3938 var4 = 0;
3939 } else {
3940 var4 = var_pqualifiednode2->type->type_table[cltype] == idtype;
3941 }
3942 }
3943 if (unlikely(!var4)) {
3944 PRINT_ERROR("Runtime error: %s", "Assert failed");
3945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5815);
3946 show_backtrace(1);
3947 }
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) {
3953 var5 = 1;
3954 } else {
3955 if(cltype6 >= var_tkwsupernode3->type->table_size) {
3956 var5 = 0;
3957 } else {
3958 var5 = var_tkwsupernode3->type->type_table[cltype6] == idtype7;
3959 }
3960 }
3961 if (unlikely(!var5)) {
3962 PRINT_ERROR("Runtime error: %s", "Assert failed");
3963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5817);
3964 show_backtrace(1);
3965 }
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) {
3971 var8 = 1;
3972 } else {
3973 if(cltype9 >= var_pexprsnode4->type->table_size) {
3974 var8 = 0;
3975 } else {
3976 var8 = var_pexprsnode4->type->type_table[cltype9] == idtype10;
3977 }
3978 }
3979 if (unlikely(!var8)) {
3980 PRINT_ERROR("Runtime error: %s", "Assert failed");
3981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5819);
3982 show_backtrace(1);
3983 }
3984 var11 = NEW_nit__ASuperExpr(&type_nit__ASuperExpr);
3985 {
3986 nit__parser_prod___ASuperExpr___init_asuperexpr(var11, var_pqualifiednode2, var_tkwsupernode3, var_pexprsnode4); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var11:ASuperExpr>*/
3987 }
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> */
3991 {
3992 var13 = nit___nit__Parser___go_to(var_p, var12);
3993 }
3994 {
3995 nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3996 }
3997 RET_LABEL:;
3998 }
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 */;
4016 int cltype;
4017 int idtype;
4018 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
4019 short int var7 /* : Bool */;
4020 int cltype8;
4021 int idtype9;
4022 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4023 short int var10 /* : Bool */;
4024 int cltype11;
4025 int idtype12;
4026 val* var13 /* : AInitExpr */;
4027 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4028 long var14 /* : Int */;
4029 long var15 /* : Int */;
4030 var_p = p0;
4031 var = NULL;
4032 var_node_list = var;
4033 {
4034 var1 = nit___nit__Parser___pop(var_p);
4035 }
4036 var_nodearraylist5 = var1;
4037 {
4038 var2 = nit___nit__Parser___pop(var_p);
4039 }
4040 var_nodearraylist4 = var2;
4041 {
4042 var3 = nit___nit__Parser___pop(var_p);
4043 }
4044 var_nodearraylist3 = var3;
4045 {
4046 var4 = nit___nit__Parser___pop(var_p);
4047 }
4048 var_nodearraylist2 = var4;
4049 {
4050 var5 = nit___nit__Parser___pop(var_p);
4051 }
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) {
4058 var6 = 1;
4059 } else {
4060 if(cltype >= var_pexprnode2->type->table_size) {
4061 var6 = 0;
4062 } else {
4063 var6 = var_pexprnode2->type->type_table[cltype] == idtype;
4064 }
4065 }
4066 if (unlikely(!var6)) {
4067 PRINT_ERROR("Runtime error: %s", "Assert failed");
4068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5840);
4069 show_backtrace(1);
4070 }
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) {
4076 var7 = 1;
4077 } else {
4078 if(cltype8 >= var_tkwinitnode3->type->table_size) {
4079 var7 = 0;
4080 } else {
4081 var7 = var_tkwinitnode3->type->type_table[cltype8] == idtype9;
4082 }
4083 }
4084 if (unlikely(!var7)) {
4085 PRINT_ERROR("Runtime error: %s", "Assert failed");
4086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5842);
4087 show_backtrace(1);
4088 }
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) {
4094 var10 = 1;
4095 } else {
4096 if(cltype11 >= var_pexprsnode4->type->table_size) {
4097 var10 = 0;
4098 } else {
4099 var10 = var_pexprsnode4->type->type_table[cltype11] == idtype12;
4100 }
4101 }
4102 if (unlikely(!var10)) {
4103 PRINT_ERROR("Runtime error: %s", "Assert failed");
4104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5844);
4105 show_backtrace(1);
4106 }
4107 var13 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4108 {
4109 nit__parser_prod___AInitExpr___init_ainitexpr(var13, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var13:AInitExpr>*/
4110 }
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> */
4114 {
4115 var15 = nit___nit__Parser___go_to(var_p, var14);
4116 }
4117 {
4118 nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4119 }
4120 RET_LABEL:;
4121 }
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 */;
4135 int cltype;
4136 int idtype;
4137 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4138 short int var6 /* : Bool */;
4139 int cltype7;
4140 int idtype8;
4141 val* var9 /* : AInitExpr */;
4142 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4143 long var10 /* : Int */;
4144 long var11 /* : Int */;
4145 var_p = p0;
4146 var = NULL;
4147 var_node_list = var;
4148 {
4149 var1 = nit___nit__Parser___pop(var_p);
4150 }
4151 var_nodearraylist2 = var1;
4152 {
4153 var2 = nit___nit__Parser___pop(var_p);
4154 }
4155 var_nodearraylist1 = var2;
4156 var3 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
4157 {
4158 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
4159 RET_LABEL4:(void)0;
4160 }
4161 }
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) {
4168 var5 = 1;
4169 } else {
4170 if(cltype >= var_tkwinitnode3->type->table_size) {
4171 var5 = 0;
4172 } else {
4173 var5 = var_tkwinitnode3->type->type_table[cltype] == idtype;
4174 }
4175 }
4176 if (unlikely(!var5)) {
4177 PRINT_ERROR("Runtime error: %s", "Assert failed");
4178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5863);
4179 show_backtrace(1);
4180 }
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) {
4186 var6 = 1;
4187 } else {
4188 if(cltype7 >= var_pexprsnode4->type->table_size) {
4189 var6 = 0;
4190 } else {
4191 var6 = var_pexprsnode4->type->type_table[cltype7] == idtype8;
4192 }
4193 }
4194 if (unlikely(!var6)) {
4195 PRINT_ERROR("Runtime error: %s", "Assert failed");
4196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5865);
4197 show_backtrace(1);
4198 }
4199 var9 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4200 {
4201 nit__parser_prod___AInitExpr___init_ainitexpr(var9, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
4202 }
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> */
4206 {
4207 var11 = nit___nit__Parser___go_to(var_p, var10);
4208 }
4209 {
4210 nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4211 }
4212 RET_LABEL:;
4213 }
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 */;
4233 int cltype;
4234 int idtype;
4235 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
4236 short int var8 /* : Bool */;
4237 int cltype9;
4238 int idtype10;
4239 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4240 short int var11 /* : Bool */;
4241 int cltype12;
4242 int idtype13;
4243 val* var14 /* : AInitExpr */;
4244 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4245 long var15 /* : Int */;
4246 long var16 /* : Int */;
4247 var_p = p0;
4248 var = NULL;
4249 var_node_list = var;
4250 {
4251 var1 = nit___nit__Parser___pop(var_p);
4252 }
4253 var_nodearraylist6 = var1;
4254 {
4255 var2 = nit___nit__Parser___pop(var_p);
4256 }
4257 var_nodearraylist5 = var2;
4258 {
4259 var3 = nit___nit__Parser___pop(var_p);
4260 }
4261 var_nodearraylist4 = var3;
4262 {
4263 var4 = nit___nit__Parser___pop(var_p);
4264 }
4265 var_nodearraylist3 = var4;
4266 {
4267 var5 = nit___nit__Parser___pop(var_p);
4268 }
4269 var_nodearraylist2 = var5;
4270 {
4271 var6 = nit___nit__Parser___pop(var_p);
4272 }
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) {
4279 var7 = 1;
4280 } else {
4281 if(cltype >= var_pexprnode2->type->table_size) {
4282 var7 = 0;
4283 } else {
4284 var7 = var_pexprnode2->type->type_table[cltype] == idtype;
4285 }
4286 }
4287 if (unlikely(!var7)) {
4288 PRINT_ERROR("Runtime error: %s", "Assert failed");
4289 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5887);
4290 show_backtrace(1);
4291 }
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) {
4297 var8 = 1;
4298 } else {
4299 if(cltype9 >= var_tkwinitnode3->type->table_size) {
4300 var8 = 0;
4301 } else {
4302 var8 = var_tkwinitnode3->type->type_table[cltype9] == idtype10;
4303 }
4304 }
4305 if (unlikely(!var8)) {
4306 PRINT_ERROR("Runtime error: %s", "Assert failed");
4307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5889);
4308 show_backtrace(1);
4309 }
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) {
4315 var11 = 1;
4316 } else {
4317 if(cltype12 >= var_pexprsnode4->type->table_size) {
4318 var11 = 0;
4319 } else {
4320 var11 = var_pexprsnode4->type->type_table[cltype12] == idtype13;
4321 }
4322 }
4323 if (unlikely(!var11)) {
4324 PRINT_ERROR("Runtime error: %s", "Assert failed");
4325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5891);
4326 show_backtrace(1);
4327 }
4328 var14 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4329 {
4330 nit__parser_prod___AInitExpr___init_ainitexpr(var14, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var14:AInitExpr>*/
4331 }
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> */
4335 {
4336 var16 = nit___nit__Parser___go_to(var_p, var15);
4337 }
4338 {
4339 nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4340 }
4341 RET_LABEL:;
4342 }
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 */;
4364 int cltype;
4365 int idtype;
4366 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
4367 short int var9 /* : Bool */;
4368 int cltype10;
4369 int idtype11;
4370 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4371 short int var12 /* : Bool */;
4372 int cltype13;
4373 int idtype14;
4374 val* var15 /* : AInitExpr */;
4375 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4376 long var16 /* : Int */;
4377 long var17 /* : Int */;
4378 var_p = p0;
4379 var = NULL;
4380 var_node_list = var;
4381 {
4382 var1 = nit___nit__Parser___pop(var_p);
4383 }
4384 var_nodearraylist7 = var1;
4385 {
4386 var2 = nit___nit__Parser___pop(var_p);
4387 }
4388 var_nodearraylist6 = var2;
4389 {
4390 var3 = nit___nit__Parser___pop(var_p);
4391 }
4392 var_nodearraylist5 = var3;
4393 {
4394 var4 = nit___nit__Parser___pop(var_p);
4395 }
4396 var_nodearraylist4 = var4;
4397 {
4398 var5 = nit___nit__Parser___pop(var_p);
4399 }
4400 var_nodearraylist3 = var5;
4401 {
4402 var6 = nit___nit__Parser___pop(var_p);
4403 }
4404 var_nodearraylist2 = var6;
4405 {
4406 var7 = nit___nit__Parser___pop(var_p);
4407 }
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) {
4414 var8 = 1;
4415 } else {
4416 if(cltype >= var_pexprnode2->type->table_size) {
4417 var8 = 0;
4418 } else {
4419 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
4420 }
4421 }
4422 if (unlikely(!var8)) {
4423 PRINT_ERROR("Runtime error: %s", "Assert failed");
4424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5914);
4425 show_backtrace(1);
4426 }
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) {
4432 var9 = 1;
4433 } else {
4434 if(cltype10 >= var_tkwinitnode3->type->table_size) {
4435 var9 = 0;
4436 } else {
4437 var9 = var_tkwinitnode3->type->type_table[cltype10] == idtype11;
4438 }
4439 }
4440 if (unlikely(!var9)) {
4441 PRINT_ERROR("Runtime error: %s", "Assert failed");
4442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5916);
4443 show_backtrace(1);
4444 }
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) {
4450 var12 = 1;
4451 } else {
4452 if(cltype13 >= var_pexprsnode4->type->table_size) {
4453 var12 = 0;
4454 } else {
4455 var12 = var_pexprsnode4->type->type_table[cltype13] == idtype14;
4456 }
4457 }
4458 if (unlikely(!var12)) {
4459 PRINT_ERROR("Runtime error: %s", "Assert failed");
4460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5918);
4461 show_backtrace(1);
4462 }
4463 var15 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4464 {
4465 nit__parser_prod___AInitExpr___init_ainitexpr(var15, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var15:AInitExpr>*/
4466 }
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> */
4470 {
4471 var17 = nit___nit__Parser___go_to(var_p, var16);
4472 }
4473 {
4474 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4475 }
4476 RET_LABEL:;
4477 }
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 */;
4493 int cltype;
4494 int idtype;
4495 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4496 short int var7 /* : Bool */;
4497 int cltype8;
4498 int idtype9;
4499 val* var10 /* : AInitExpr */;
4500 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4501 long var11 /* : Int */;
4502 long var12 /* : Int */;
4503 var_p = p0;
4504 var = NULL;
4505 var_node_list = var;
4506 {
4507 var1 = nit___nit__Parser___pop(var_p);
4508 }
4509 var_nodearraylist3 = var1;
4510 {
4511 var2 = nit___nit__Parser___pop(var_p);
4512 }
4513 var_nodearraylist2 = var2;
4514 {
4515 var3 = nit___nit__Parser___pop(var_p);
4516 }
4517 var_nodearraylist1 = var3;
4518 var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
4519 {
4520 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
4521 RET_LABEL5:(void)0;
4522 }
4523 }
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) {
4530 var6 = 1;
4531 } else {
4532 if(cltype >= var_tkwinitnode3->type->table_size) {
4533 var6 = 0;
4534 } else {
4535 var6 = var_tkwinitnode3->type->type_table[cltype] == idtype;
4536 }
4537 }
4538 if (unlikely(!var6)) {
4539 PRINT_ERROR("Runtime error: %s", "Assert failed");
4540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5938);
4541 show_backtrace(1);
4542 }
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) {
4548 var7 = 1;
4549 } else {
4550 if(cltype8 >= var_pexprsnode4->type->table_size) {
4551 var7 = 0;
4552 } else {
4553 var7 = var_pexprsnode4->type->type_table[cltype8] == idtype9;
4554 }
4555 }
4556 if (unlikely(!var7)) {
4557 PRINT_ERROR("Runtime error: %s", "Assert failed");
4558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5940);
4559 show_backtrace(1);
4560 }
4561 var10 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4562 {
4563 nit__parser_prod___AInitExpr___init_ainitexpr(var10, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
4564 }
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> */
4568 {
4569 var12 = nit___nit__Parser___go_to(var_p, var11);
4570 }
4571 {
4572 nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4573 }
4574 RET_LABEL:;
4575 }
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 */;
4593 int cltype;
4594 int idtype;
4595 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
4596 short int var8 /* : Bool */;
4597 int cltype9;
4598 int idtype10;
4599 val* var11 /* : AInitExpr */;
4600 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
4601 long var12 /* : Int */;
4602 long var13 /* : Int */;
4603 var_p = p0;
4604 var = NULL;
4605 var_node_list = var;
4606 {
4607 var1 = nit___nit__Parser___pop(var_p);
4608 }
4609 var_nodearraylist4 = var1;
4610 {
4611 var2 = nit___nit__Parser___pop(var_p);
4612 }
4613 var_nodearraylist3 = var2;
4614 {
4615 var3 = nit___nit__Parser___pop(var_p);
4616 }
4617 var_nodearraylist2 = var3;
4618 {
4619 var4 = nit___nit__Parser___pop(var_p);
4620 }
4621 var_nodearraylist1 = var4;
4622 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
4623 {
4624 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
4625 RET_LABEL6:(void)0;
4626 }
4627 }
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) {
4634 var7 = 1;
4635 } else {
4636 if(cltype >= var_tkwinitnode3->type->table_size) {
4637 var7 = 0;
4638 } else {
4639 var7 = var_tkwinitnode3->type->type_table[cltype] == idtype;
4640 }
4641 }
4642 if (unlikely(!var7)) {
4643 PRINT_ERROR("Runtime error: %s", "Assert failed");
4644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5961);
4645 show_backtrace(1);
4646 }
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) {
4652 var8 = 1;
4653 } else {
4654 if(cltype9 >= var_pexprsnode4->type->table_size) {
4655 var8 = 0;
4656 } else {
4657 var8 = var_pexprsnode4->type->type_table[cltype9] == idtype10;
4658 }
4659 }
4660 if (unlikely(!var8)) {
4661 PRINT_ERROR("Runtime error: %s", "Assert failed");
4662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5963);
4663 show_backtrace(1);
4664 }
4665 var11 = NEW_nit__AInitExpr(&type_nit__AInitExpr);
4666 {
4667 nit__parser_prod___AInitExpr___init_ainitexpr(var11, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
4668 }
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> */
4672 {
4673 var13 = nit___nit__Parser___go_to(var_p, var12);
4674 }
4675 {
4676 nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4677 }
4678 RET_LABEL:;
4679 }
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 */;
4697 int cltype;
4698 int idtype;
4699 val* var_tkwtypenode3 /* var tkwtypenode3: nullable Object */;
4700 short int var7 /* : Bool */;
4701 int cltype8;
4702 int idtype9;
4703 val* var_pexprnode4 /* var pexprnode4: nullable Object */;
4704 short int var10 /* : Bool */;
4705 int cltype11;
4706 int idtype12;
4707 val* var_ptypenode5 /* var ptypenode5: nullable Object */;
4708 short int var13 /* : Bool */;
4709 int cltype14;
4710 int idtype15;
4711 val* var16 /* : ADebugTypeExpr */;
4712 val* var_pexprnode1 /* var pexprnode1: nullable ADebugTypeExpr */;
4713 long var17 /* : Int */;
4714 long var18 /* : Int */;
4715 var_p = p0;
4716 var = NULL;
4717 var_node_list = var;
4718 {
4719 var1 = nit___nit__Parser___pop(var_p);
4720 }
4721 var_nodearraylist5 = var1;
4722 {
4723 var2 = nit___nit__Parser___pop(var_p);
4724 }
4725 var_nodearraylist4 = var2;
4726 {
4727 var3 = nit___nit__Parser___pop(var_p);
4728 }
4729 var_nodearraylist3 = var3;
4730 {
4731 var4 = nit___nit__Parser___pop(var_p);
4732 }
4733 var_nodearraylist2 = var4;
4734 {
4735 var5 = nit___nit__Parser___pop(var_p);
4736 }
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) {
4743 var6 = 1;
4744 } else {
4745 if(cltype >= var_tkwdebugnode2->type->table_size) {
4746 var6 = 0;
4747 } else {
4748 var6 = var_tkwdebugnode2->type->type_table[cltype] == idtype;
4749 }
4750 }
4751 if (unlikely(!var6)) {
4752 PRINT_ERROR("Runtime error: %s", "Assert failed");
4753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5984);
4754 show_backtrace(1);
4755 }
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) {
4761 var7 = 1;
4762 } else {
4763 if(cltype8 >= var_tkwtypenode3->type->table_size) {
4764 var7 = 0;
4765 } else {
4766 var7 = var_tkwtypenode3->type->type_table[cltype8] == idtype9;
4767 }
4768 }
4769 if (unlikely(!var7)) {
4770 PRINT_ERROR("Runtime error: %s", "Assert failed");
4771 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5986);
4772 show_backtrace(1);
4773 }
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) {
4779 var10 = 1;
4780 } else {
4781 if(cltype11 >= var_pexprnode4->type->table_size) {
4782 var10 = 0;
4783 } else {
4784 var10 = var_pexprnode4->type->type_table[cltype11] == idtype12;
4785 }
4786 }
4787 if (unlikely(!var10)) {
4788 PRINT_ERROR("Runtime error: %s", "Assert failed");
4789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5988);
4790 show_backtrace(1);
4791 }
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) {
4797 var13 = 1;
4798 } else {
4799 if(cltype14 >= var_ptypenode5->type->table_size) {
4800 var13 = 0;
4801 } else {
4802 var13 = var_ptypenode5->type->type_table[cltype14] == idtype15;
4803 }
4804 }
4805 if (unlikely(!var13)) {
4806 PRINT_ERROR("Runtime error: %s", "Assert failed");
4807 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5990);
4808 show_backtrace(1);
4809 }
4810 var16 = NEW_nit__ADebugTypeExpr(&type_nit__ADebugTypeExpr);
4811 {
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>*/
4813 }
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> */
4817 {
4818 var18 = nit___nit__Parser___go_to(var_p, var17);
4819 }
4820 {
4821 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4822 }
4823 RET_LABEL:;
4824 }
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 */;
4834 int cltype;
4835 int idtype;
4836 val* var3 /* : ALabel */;
4837 val* var4 /* : null */;
4838 val* var_plabelnode1 /* var plabelnode1: nullable ALabel */;
4839 long var5 /* : Int */;
4840 long var6 /* : Int */;
4841 var_p = p0;
4842 var = NULL;
4843 var_node_list = var;
4844 {
4845 var1 = nit___nit__Parser___pop(var_p);
4846 }
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) {
4853 var2 = 1;
4854 } else {
4855 if(cltype >= var_tkwlabelnode2->type->table_size) {
4856 var2 = 0;
4857 } else {
4858 var2 = var_tkwlabelnode2->type->type_table[cltype] == idtype;
4859 }
4860 }
4861 if (unlikely(!var2)) {
4862 PRINT_ERROR("Runtime error: %s", "Assert failed");
4863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6008);
4864 show_backtrace(1);
4865 }
4866 var3 = NEW_nit__ALabel(&type_nit__ALabel);
4867 var4 = NULL;
4868 {
4869 nit__parser_prod___ALabel___init_alabel(var3, var_tkwlabelnode2, var4); /* Direct call parser_prod#ALabel#init_alabel on <var3:ALabel>*/
4870 }
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> */
4874 {
4875 var6 = nit___nit__Parser___go_to(var_p, var5);
4876 }
4877 {
4878 nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4879 }
4880 RET_LABEL:;
4881 }
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 */;
4893 int cltype;
4894 int idtype;
4895 val* var_tidnode3 /* var tidnode3: nullable Object */;
4896 short int var4 /* : Bool */;
4897 int cltype5;
4898 int idtype6;
4899 val* var7 /* : ALabel */;
4900 val* var_plabelnode1 /* var plabelnode1: nullable ALabel */;
4901 long var8 /* : Int */;
4902 long var9 /* : Int */;
4903 var_p = p0;
4904 var = NULL;
4905 var_node_list = var;
4906 {
4907 var1 = nit___nit__Parser___pop(var_p);
4908 }
4909 var_nodearraylist2 = var1;
4910 {
4911 var2 = nit___nit__Parser___pop(var_p);
4912 }
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) {
4919 var3 = 1;
4920 } else {
4921 if(cltype >= var_tkwlabelnode2->type->table_size) {
4922 var3 = 0;
4923 } else {
4924 var3 = var_tkwlabelnode2->type->type_table[cltype] == idtype;
4925 }
4926 }
4927 if (unlikely(!var3)) {
4928 PRINT_ERROR("Runtime error: %s", "Assert failed");
4929 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6025);
4930 show_backtrace(1);
4931 }
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) {
4937 var4 = 1;
4938 } else {
4939 if(cltype5 >= var_tidnode3->type->table_size) {
4940 var4 = 0;
4941 } else {
4942 var4 = var_tidnode3->type->type_table[cltype5] == idtype6;
4943 }
4944 }
4945 if (unlikely(!var4)) {
4946 PRINT_ERROR("Runtime error: %s", "Assert failed");
4947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6027);
4948 show_backtrace(1);
4949 }
4950 var7 = NEW_nit__ALabel(&type_nit__ALabel);
4951 {
4952 nit__parser_prod___ALabel___init_alabel(var7, var_tkwlabelnode2, var_tidnode3); /* Direct call parser_prod#ALabel#init_alabel on <var7:ALabel>*/
4953 }
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> */
4957 {
4958 var9 = nit___nit__Parser___go_to(var_p, var8);
4959 }
4960 {
4961 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4962 }
4963 RET_LABEL:;
4964 }
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 */;
4978 int cltype;
4979 int idtype;
4980 val* var_tidnode3 /* var tidnode3: nullable Object */;
4981 short int var5 /* : Bool */;
4982 int cltype6;
4983 int idtype7;
4984 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
4985 short int var8 /* : Bool */;
4986 int cltype9;
4987 int idtype10;
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 */;
4995 var_p = p0;
4996 var = NULL;
4997 var_node_list = var;
4998 {
4999 var1 = nit___nit__Parser___pop(var_p);
5000 }
5001 var_nodearraylist3 = var1;
5002 {
5003 var2 = nit___nit__Parser___pop(var_p);
5004 }
5005 var_nodearraylist2 = var2;
5006 {
5007 var3 = nit___nit__Parser___pop(var_p);
5008 }
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) {
5015 var4 = 1;
5016 } else {
5017 if(cltype >= var_tkwvarnode2->type->table_size) {
5018 var4 = 0;
5019 } else {
5020 var4 = var_tkwvarnode2->type->type_table[cltype] == idtype;
5021 }
5022 }
5023 if (unlikely(!var4)) {
5024 PRINT_ERROR("Runtime error: %s", "Assert failed");
5025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6045);
5026 show_backtrace(1);
5027 }
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) {
5033 var5 = 1;
5034 } else {
5035 if(cltype6 >= var_tidnode3->type->table_size) {
5036 var5 = 0;
5037 } else {
5038 var5 = var_tidnode3->type->type_table[cltype6] == idtype7;
5039 }
5040 }
5041 if (unlikely(!var5)) {
5042 PRINT_ERROR("Runtime error: %s", "Assert failed");
5043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6047);
5044 show_backtrace(1);
5045 }
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) {
5051 var8 = 1;
5052 } else {
5053 if(cltype9 >= var_ptypenode4->type->table_size) {
5054 var8 = 0;
5055 } else {
5056 var8 = var_ptypenode4->type->type_table[cltype9] == idtype10;
5057 }
5058 }
5059 if (unlikely(!var8)) {
5060 PRINT_ERROR("Runtime error: %s", "Assert failed");
5061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6049);
5062 show_backtrace(1);
5063 }
5064 var11 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr);
5065 var12 = NULL;
5066 var13 = NULL;
5067 var14 = NULL;
5068 {
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>*/
5070 }
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> */
5074 {
5075 var16 = nit___nit__Parser___go_to(var_p, var15);
5076 }
5077 {
5078 nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5079 }
5080 RET_LABEL:;
5081 }
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 */;
5097 int cltype;
5098 int idtype;
5099 val* var_tidnode3 /* var tidnode3: nullable Object */;
5100 short int var6 /* : Bool */;
5101 int cltype7;
5102 int idtype8;
5103 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
5104 short int var9 /* : Bool */;
5105 int cltype10;
5106 int idtype11;
5107 val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */;
5108 short int var12 /* : Bool */;
5109 int cltype13;
5110 int idtype14;
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 */;
5117 var_p = p0;
5118 var = NULL;
5119 var_node_list = var;
5120 {
5121 var1 = nit___nit__Parser___pop(var_p);
5122 }
5123 var_nodearraylist4 = var1;
5124 {
5125 var2 = nit___nit__Parser___pop(var_p);
5126 }
5127 var_nodearraylist3 = var2;
5128 {
5129 var3 = nit___nit__Parser___pop(var_p);
5130 }
5131 var_nodearraylist2 = var3;
5132 {
5133 var4 = nit___nit__Parser___pop(var_p);
5134 }
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) {
5141 var5 = 1;
5142 } else {
5143 if(cltype >= var_tkwvarnode2->type->table_size) {
5144 var5 = 0;
5145 } else {
5146 var5 = var_tkwvarnode2->type->type_table[cltype] == idtype;
5147 }
5148 }
5149 if (unlikely(!var5)) {
5150 PRINT_ERROR("Runtime error: %s", "Assert failed");
5151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6072);
5152 show_backtrace(1);
5153 }
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) {
5159 var6 = 1;
5160 } else {
5161 if(cltype7 >= var_tidnode3->type->table_size) {
5162 var6 = 0;
5163 } else {
5164 var6 = var_tidnode3->type->type_table[cltype7] == idtype8;
5165 }
5166 }
5167 if (unlikely(!var6)) {
5168 PRINT_ERROR("Runtime error: %s", "Assert failed");
5169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6074);
5170 show_backtrace(1);
5171 }
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) {
5177 var9 = 1;
5178 } else {
5179 if(cltype10 >= var_ptypenode4->type->table_size) {
5180 var9 = 0;
5181 } else {
5182 var9 = var_ptypenode4->type->type_table[cltype10] == idtype11;
5183 }
5184 }
5185 if (unlikely(!var9)) {
5186 PRINT_ERROR("Runtime error: %s", "Assert failed");
5187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6076);
5188 show_backtrace(1);
5189 }
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) {
5195 var12 = 1;
5196 } else {
5197 if(cltype13 >= var_pannotationsnode7->type->table_size) {
5198 var12 = 0;
5199 } else {
5200 var12 = var_pannotationsnode7->type->type_table[cltype13] == idtype14;
5201 }
5202 }
5203 if (unlikely(!var12)) {
5204 PRINT_ERROR("Runtime error: %s", "Assert failed");
5205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6078);
5206 show_backtrace(1);
5207 }
5208 var15 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr);
5209 var16 = NULL;
5210 var17 = NULL;
5211 {
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>*/
5213 }
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> */
5217 {
5218 var19 = nit___nit__Parser___go_to(var_p, var18);
5219 }
5220 {
5221 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5222 }
5223 RET_LABEL:;
5224 }
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 */;
5244 int cltype;
5245 int idtype;
5246 val* var_tidnode3 /* var tidnode3: nullable Object */;
5247 short int var8 /* : Bool */;
5248 int cltype9;
5249 int idtype10;
5250 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
5251 short int var11 /* : Bool */;
5252 int cltype12;
5253 int idtype13;
5254 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
5255 short int var14 /* : Bool */;
5256 int cltype15;
5257 int idtype16;
5258 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
5259 short int var17 /* : Bool */;
5260 int cltype18;
5261 int idtype19;
5262 val* var20 /* : AVardeclExpr */;
5263 val* var21 /* : null */;
5264 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
5265 long var22 /* : Int */;
5266 long var23 /* : Int */;
5267 var_p = p0;
5268 var = NULL;
5269 var_node_list = var;
5270 {
5271 var1 = nit___nit__Parser___pop(var_p);
5272 }
5273 var_nodearraylist6 = var1;
5274 {
5275 var2 = nit___nit__Parser___pop(var_p);
5276 }
5277 var_nodearraylist5 = var2;
5278 {
5279 var3 = nit___nit__Parser___pop(var_p);
5280 }
5281 var_nodearraylist4 = var3;
5282 {
5283 var4 = nit___nit__Parser___pop(var_p);
5284 }
5285 var_nodearraylist3 = var4;
5286 {
5287 var5 = nit___nit__Parser___pop(var_p);
5288 }
5289 var_nodearraylist2 = var5;
5290 {
5291 var6 = nit___nit__Parser___pop(var_p);
5292 }
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) {
5299 var7 = 1;
5300 } else {
5301 if(cltype >= var_tkwvarnode2->type->table_size) {
5302 var7 = 0;
5303 } else {
5304 var7 = var_tkwvarnode2->type->type_table[cltype] == idtype;
5305 }
5306 }
5307 if (unlikely(!var7)) {
5308 PRINT_ERROR("Runtime error: %s", "Assert failed");
5309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6103);
5310 show_backtrace(1);
5311 }
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) {
5317 var8 = 1;
5318 } else {
5319 if(cltype9 >= var_tidnode3->type->table_size) {
5320 var8 = 0;
5321 } else {
5322 var8 = var_tidnode3->type->type_table[cltype9] == idtype10;
5323 }
5324 }
5325 if (unlikely(!var8)) {
5326 PRINT_ERROR("Runtime error: %s", "Assert failed");
5327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6105);
5328 show_backtrace(1);
5329 }
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) {
5335 var11 = 1;
5336 } else {
5337 if(cltype12 >= var_ptypenode4->type->table_size) {
5338 var11 = 0;
5339 } else {
5340 var11 = var_ptypenode4->type->type_table[cltype12] == idtype13;
5341 }
5342 }
5343 if (unlikely(!var11)) {
5344 PRINT_ERROR("Runtime error: %s", "Assert failed");
5345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6107);
5346 show_backtrace(1);
5347 }
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) {
5353 var14 = 1;
5354 } else {
5355 if(cltype15 >= var_tassignnode5->type->table_size) {
5356 var14 = 0;
5357 } else {
5358 var14 = var_tassignnode5->type->type_table[cltype15] == idtype16;
5359 }
5360 }
5361 if (unlikely(!var14)) {
5362 PRINT_ERROR("Runtime error: %s", "Assert failed");
5363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6109);
5364 show_backtrace(1);
5365 }
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) {
5371 var17 = 1;
5372 } else {
5373 if(cltype18 >= var_pexprnode6->type->table_size) {
5374 var17 = 0;
5375 } else {
5376 var17 = var_pexprnode6->type->type_table[cltype18] == idtype19;
5377 }
5378 }
5379 if (unlikely(!var17)) {
5380 PRINT_ERROR("Runtime error: %s", "Assert failed");
5381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6111);
5382 show_backtrace(1);
5383 }
5384 var20 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr);
5385 var21 = NULL;
5386 {
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>*/
5388 }
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> */
5392 {
5393 var23 = nit___nit__Parser___go_to(var_p, var22);
5394 }
5395 {
5396 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5397 }
5398 RET_LABEL:;
5399 }
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 */;
5421 int cltype;
5422 int idtype;
5423 val* var_tidnode3 /* var tidnode3: nullable Object */;
5424 short int var9 /* : Bool */;
5425 int cltype10;
5426 int idtype11;
5427 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
5428 short int var12 /* : Bool */;
5429 int cltype13;
5430 int idtype14;
5431 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
5432 short int var15 /* : Bool */;
5433 int cltype16;
5434 int idtype17;
5435 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
5436 short int var18 /* : Bool */;
5437 int cltype19;
5438 int idtype20;
5439 val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */;
5440 short int var21 /* : Bool */;
5441 int cltype22;
5442 int idtype23;
5443 val* var24 /* : AVardeclExpr */;
5444 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
5445 long var25 /* : Int */;
5446 long var26 /* : Int */;
5447 var_p = p0;
5448 var = NULL;
5449 var_node_list = var;
5450 {
5451 var1 = nit___nit__Parser___pop(var_p);
5452 }
5453 var_nodearraylist7 = var1;
5454 {
5455 var2 = nit___nit__Parser___pop(var_p);
5456 }
5457 var_nodearraylist6 = var2;
5458 {
5459 var3 = nit___nit__Parser___pop(var_p);
5460 }
5461 var_nodearraylist5 = var3;
5462 {
5463 var4 = nit___nit__Parser___pop(var_p);
5464 }
5465 var_nodearraylist4 = var4;
5466 {
5467 var5 = nit___nit__Parser___pop(var_p);
5468 }
5469 var_nodearraylist3 = var5;
5470 {
5471 var6 = nit___nit__Parser___pop(var_p);
5472 }
5473 var_nodearraylist2 = var6;
5474 {
5475 var7 = nit___nit__Parser___pop(var_p);
5476 }
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) {
5483 var8 = 1;
5484 } else {
5485 if(cltype >= var_tkwvarnode2->type->table_size) {
5486 var8 = 0;
5487 } else {
5488 var8 = var_tkwvarnode2->type->type_table[cltype] == idtype;
5489 }
5490 }
5491 if (unlikely(!var8)) {
5492 PRINT_ERROR("Runtime error: %s", "Assert failed");
5493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6137);
5494 show_backtrace(1);
5495 }
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) {
5501 var9 = 1;
5502 } else {
5503 if(cltype10 >= var_tidnode3->type->table_size) {
5504 var9 = 0;
5505 } else {
5506 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
5507 }
5508 }
5509 if (unlikely(!var9)) {
5510 PRINT_ERROR("Runtime error: %s", "Assert failed");
5511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6139);
5512 show_backtrace(1);
5513 }
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) {
5519 var12 = 1;
5520 } else {
5521 if(cltype13 >= var_ptypenode4->type->table_size) {
5522 var12 = 0;
5523 } else {
5524 var12 = var_ptypenode4->type->type_table[cltype13] == idtype14;
5525 }
5526 }
5527 if (unlikely(!var12)) {
5528 PRINT_ERROR("Runtime error: %s", "Assert failed");
5529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6141);
5530 show_backtrace(1);
5531 }
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) {
5537 var15 = 1;
5538 } else {
5539 if(cltype16 >= var_tassignnode5->type->table_size) {
5540 var15 = 0;
5541 } else {
5542 var15 = var_tassignnode5->type->type_table[cltype16] == idtype17;
5543 }
5544 }
5545 if (unlikely(!var15)) {
5546 PRINT_ERROR("Runtime error: %s", "Assert failed");
5547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6143);
5548 show_backtrace(1);
5549 }
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) {
5555 var18 = 1;
5556 } else {
5557 if(cltype19 >= var_pexprnode6->type->table_size) {
5558 var18 = 0;
5559 } else {
5560 var18 = var_pexprnode6->type->type_table[cltype19] == idtype20;
5561 }
5562 }
5563 if (unlikely(!var18)) {
5564 PRINT_ERROR("Runtime error: %s", "Assert failed");
5565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6145);
5566 show_backtrace(1);
5567 }
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) {
5573 var21 = 1;
5574 } else {
5575 if(cltype22 >= var_pannotationsnode7->type->table_size) {
5576 var21 = 0;
5577 } else {
5578 var21 = var_pannotationsnode7->type->type_table[cltype22] == idtype23;
5579 }
5580 }
5581 if (unlikely(!var21)) {
5582 PRINT_ERROR("Runtime error: %s", "Assert failed");
5583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6147);
5584 show_backtrace(1);
5585 }
5586 var24 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr);
5587 {
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>*/
5589 }
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> */
5593 {
5594 var26 = nit___nit__Parser___go_to(var_p, var25);
5595 }
5596 {
5597 nit___nit__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5598 }
5599 RET_LABEL:;
5600 }
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 */;
5622 int cltype;
5623 int idtype;
5624 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
5625 short int var9 /* : Bool */;
5626 int cltype10;
5627 int idtype11;
5628 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
5629 short int var12 /* : Bool */;
5630 int cltype13;
5631 int idtype14;
5632 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
5633 short int var15 /* : Bool */;
5634 int cltype16;
5635 int idtype17;
5636 val* var18 /* : AAttrAssignExpr */;
5637 val* var_pexprnode1 /* var pexprnode1: nullable AAttrAssignExpr */;
5638 long var19 /* : Int */;
5639 long var20 /* : Int */;
5640 var_p = p0;
5641 var = NULL;
5642 var_node_list = var;
5643 {
5644 var1 = nit___nit__Parser___pop(var_p);
5645 }
5646 var_nodearraylist7 = var1;
5647 {
5648 var2 = nit___nit__Parser___pop(var_p);
5649 }
5650 var_nodearraylist6 = var2;
5651 {
5652 var3 = nit___nit__Parser___pop(var_p);
5653 }
5654 var_nodearraylist5 = var3;
5655 {
5656 var4 = nit___nit__Parser___pop(var_p);
5657 }
5658 var_nodearraylist4 = var4;
5659 {
5660 var5 = nit___nit__Parser___pop(var_p);
5661 }
5662 var_nodearraylist3 = var5;
5663 {
5664 var6 = nit___nit__Parser___pop(var_p);
5665 }
5666 var_nodearraylist2 = var6;
5667 {
5668 var7 = nit___nit__Parser___pop(var_p);
5669 }
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) {
5676 var8 = 1;
5677 } else {
5678 if(cltype >= var_pexprnode2->type->table_size) {
5679 var8 = 0;
5680 } else {
5681 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
5682 }
5683 }
5684 if (unlikely(!var8)) {
5685 PRINT_ERROR("Runtime error: %s", "Assert failed");
5686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6173);
5687 show_backtrace(1);
5688 }
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) {
5694 var9 = 1;
5695 } else {
5696 if(cltype10 >= var_tattridnode3->type->table_size) {
5697 var9 = 0;
5698 } else {
5699 var9 = var_tattridnode3->type->type_table[cltype10] == idtype11;
5700 }
5701 }
5702 if (unlikely(!var9)) {
5703 PRINT_ERROR("Runtime error: %s", "Assert failed");
5704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6175);
5705 show_backtrace(1);
5706 }
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) {
5712 var12 = 1;
5713 } else {
5714 if(cltype13 >= var_tassignnode4->type->table_size) {
5715 var12 = 0;
5716 } else {
5717 var12 = var_tassignnode4->type->type_table[cltype13] == idtype14;
5718 }
5719 }
5720 if (unlikely(!var12)) {
5721 PRINT_ERROR("Runtime error: %s", "Assert failed");
5722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6177);
5723 show_backtrace(1);
5724 }
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) {
5730 var15 = 1;
5731 } else {
5732 if(cltype16 >= var_pexprnode5->type->table_size) {
5733 var15 = 0;
5734 } else {
5735 var15 = var_pexprnode5->type->type_table[cltype16] == idtype17;
5736 }
5737 }
5738 if (unlikely(!var15)) {
5739 PRINT_ERROR("Runtime error: %s", "Assert failed");
5740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6179);
5741 show_backtrace(1);
5742 }
5743 var18 = NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr);
5744 {
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>*/
5746 }
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> */
5750 {
5751 var20 = nit___nit__Parser___go_to(var_p, var19);
5752 }
5753 {
5754 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5755 }
5756 RET_LABEL:;
5757 }
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 */;
5775 int cltype;
5776 int idtype;
5777 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
5778 short int var8 /* : Bool */;
5779 int cltype9;
5780 int idtype10;
5781 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
5782 short int var11 /* : Bool */;
5783 int cltype12;
5784 int idtype13;
5785 val* var14 /* : AAttrAssignExpr */;
5786 val* var_pexprnode1 /* var pexprnode1: nullable AAttrAssignExpr */;
5787 long var15 /* : Int */;
5788 long var16 /* : Int */;
5789 var_p = p0;
5790 var = NULL;
5791 var_node_list = var;
5792 {
5793 var1 = nit___nit__Parser___pop(var_p);
5794 }
5795 var_nodearraylist4 = var1;
5796 {
5797 var2 = nit___nit__Parser___pop(var_p);
5798 }
5799 var_nodearraylist3 = var2;
5800 {
5801 var3 = nit___nit__Parser___pop(var_p);
5802 }
5803 var_nodearraylist2 = var3;
5804 {
5805 var4 = nit___nit__Parser___pop(var_p);
5806 }
5807 var_nodearraylist1 = var4;
5808 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
5809 {
5810 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5811 RET_LABEL6:(void)0;
5812 }
5813 }
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) {
5820 var7 = 1;
5821 } else {
5822 if(cltype >= var_tattridnode3->type->table_size) {
5823 var7 = 0;
5824 } else {
5825 var7 = var_tattridnode3->type->type_table[cltype] == idtype;
5826 }
5827 }
5828 if (unlikely(!var7)) {
5829 PRINT_ERROR("Runtime error: %s", "Assert failed");
5830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6201);
5831 show_backtrace(1);
5832 }
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) {
5838 var8 = 1;
5839 } else {
5840 if(cltype9 >= var_tassignnode4->type->table_size) {
5841 var8 = 0;
5842 } else {
5843 var8 = var_tassignnode4->type->type_table[cltype9] == idtype10;
5844 }
5845 }
5846 if (unlikely(!var8)) {
5847 PRINT_ERROR("Runtime error: %s", "Assert failed");
5848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6203);
5849 show_backtrace(1);
5850 }
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) {
5856 var11 = 1;
5857 } else {
5858 if(cltype12 >= var_pexprnode5->type->table_size) {
5859 var11 = 0;
5860 } else {
5861 var11 = var_pexprnode5->type->type_table[cltype12] == idtype13;
5862 }
5863 }
5864 if (unlikely(!var11)) {
5865 PRINT_ERROR("Runtime error: %s", "Assert failed");
5866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6205);
5867 show_backtrace(1);
5868 }
5869 var14 = NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr);
5870 {
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>*/
5872 }
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> */
5876 {
5877 var16 = nit___nit__Parser___go_to(var_p, var15);
5878 }
5879 {
5880 nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5881 }
5882 RET_LABEL:;
5883 }
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 */;
5905 int cltype;
5906 int idtype;
5907 val* var_tidnode3 /* var tidnode3: nullable Object */;
5908 short int var9 /* : Bool */;
5909 int cltype10;
5910 int idtype11;
5911 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
5912 short int var12 /* : Bool */;
5913 int cltype13;
5914 int idtype14;
5915 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
5916 short int var15 /* : Bool */;
5917 int cltype16;
5918 int idtype17;
5919 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
5920 short int var18 /* : Bool */;
5921 int cltype19;
5922 int idtype20;
5923 val* var21 /* : ACallAssignExpr */;
5924 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
5925 long var22 /* : Int */;
5926 long var23 /* : Int */;
5927 var_p = p0;
5928 var = NULL;
5929 var_node_list = var;
5930 {
5931 var1 = nit___nit__Parser___pop(var_p);
5932 }
5933 var_nodearraylist7 = var1;
5934 {
5935 var2 = nit___nit__Parser___pop(var_p);
5936 }
5937 var_nodearraylist6 = var2;
5938 {
5939 var3 = nit___nit__Parser___pop(var_p);
5940 }
5941 var_nodearraylist5 = var3;
5942 {
5943 var4 = nit___nit__Parser___pop(var_p);
5944 }
5945 var_nodearraylist4 = var4;
5946 {
5947 var5 = nit___nit__Parser___pop(var_p);
5948 }
5949 var_nodearraylist3 = var5;
5950 {
5951 var6 = nit___nit__Parser___pop(var_p);
5952 }
5953 var_nodearraylist2 = var6;
5954 {
5955 var7 = nit___nit__Parser___pop(var_p);
5956 }
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) {
5963 var8 = 1;
5964 } else {
5965 if(cltype >= var_pexprnode2->type->table_size) {
5966 var8 = 0;
5967 } else {
5968 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
5969 }
5970 }
5971 if (unlikely(!var8)) {
5972 PRINT_ERROR("Runtime error: %s", "Assert failed");
5973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6229);
5974 show_backtrace(1);
5975 }
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) {
5981 var9 = 1;
5982 } else {
5983 if(cltype10 >= var_tidnode3->type->table_size) {
5984 var9 = 0;
5985 } else {
5986 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
5987 }
5988 }
5989 if (unlikely(!var9)) {
5990 PRINT_ERROR("Runtime error: %s", "Assert failed");
5991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6231);
5992 show_backtrace(1);
5993 }
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) {
5999 var12 = 1;
6000 } else {
6001 if(cltype13 >= var_pexprsnode4->type->table_size) {
6002 var12 = 0;
6003 } else {
6004 var12 = var_pexprsnode4->type->type_table[cltype13] == idtype14;
6005 }
6006 }
6007 if (unlikely(!var12)) {
6008 PRINT_ERROR("Runtime error: %s", "Assert failed");
6009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6233);
6010 show_backtrace(1);
6011 }
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) {
6017 var15 = 1;
6018 } else {
6019 if(cltype16 >= var_tassignnode5->type->table_size) {
6020 var15 = 0;
6021 } else {
6022 var15 = var_tassignnode5->type->type_table[cltype16] == idtype17;
6023 }
6024 }
6025 if (unlikely(!var15)) {
6026 PRINT_ERROR("Runtime error: %s", "Assert failed");
6027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6235);
6028 show_backtrace(1);
6029 }
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) {
6035 var18 = 1;
6036 } else {
6037 if(cltype19 >= var_pexprnode6->type->table_size) {
6038 var18 = 0;
6039 } else {
6040 var18 = var_pexprnode6->type->type_table[cltype19] == idtype20;
6041 }
6042 }
6043 if (unlikely(!var18)) {
6044 PRINT_ERROR("Runtime error: %s", "Assert failed");
6045 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6237);
6046 show_backtrace(1);
6047 }
6048 var21 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6049 {
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>*/
6051 }
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> */
6055 {
6056 var23 = nit___nit__Parser___go_to(var_p, var22);
6057 }
6058 {
6059 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6060 }
6061 RET_LABEL:;
6062 }
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 */;
6082 int cltype;
6083 int idtype;
6084 val* var_tidnode3 /* var tidnode3: nullable Object */;
6085 short int var8 /* : Bool */;
6086 int cltype9;
6087 int idtype10;
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 */;
6094 int cltype14;
6095 int idtype15;
6096 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
6097 short int var16 /* : Bool */;
6098 int cltype17;
6099 int idtype18;
6100 val* var19 /* : ACallAssignExpr */;
6101 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6102 long var20 /* : Int */;
6103 long var21 /* : Int */;
6104 var_p = p0;
6105 var = NULL;
6106 var_node_list = var;
6107 {
6108 var1 = nit___nit__Parser___pop(var_p);
6109 }
6110 var_nodearraylist6 = var1;
6111 {
6112 var2 = nit___nit__Parser___pop(var_p);
6113 }
6114 var_nodearraylist5 = var2;
6115 {
6116 var3 = nit___nit__Parser___pop(var_p);
6117 }
6118 var_nodearraylist4 = var3;
6119 {
6120 var4 = nit___nit__Parser___pop(var_p);
6121 }
6122 var_nodearraylist3 = var4;
6123 {
6124 var5 = nit___nit__Parser___pop(var_p);
6125 }
6126 var_nodearraylist2 = var5;
6127 {
6128 var6 = nit___nit__Parser___pop(var_p);
6129 }
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) {
6136 var7 = 1;
6137 } else {
6138 if(cltype >= var_pexprnode2->type->table_size) {
6139 var7 = 0;
6140 } else {
6141 var7 = var_pexprnode2->type->type_table[cltype] == idtype;
6142 }
6143 }
6144 if (unlikely(!var7)) {
6145 PRINT_ERROR("Runtime error: %s", "Assert failed");
6146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6261);
6147 show_backtrace(1);
6148 }
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) {
6154 var8 = 1;
6155 } else {
6156 if(cltype9 >= var_tidnode3->type->table_size) {
6157 var8 = 0;
6158 } else {
6159 var8 = var_tidnode3->type->type_table[cltype9] == idtype10;
6160 }
6161 }
6162 if (unlikely(!var8)) {
6163 PRINT_ERROR("Runtime error: %s", "Assert failed");
6164 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6263);
6165 show_backtrace(1);
6166 }
6167 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
6168 {
6169 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
6170 }
6171 var_listnode5 = var11;
6172 var12 = NEW_nit__AListExprs(&type_nit__AListExprs);
6173 {
6174 nit__parser_prod___AListExprs___init_alistexprs(var12, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
6175 }
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) {
6182 var13 = 1;
6183 } else {
6184 if(cltype14 >= var_tassignnode6->type->table_size) {
6185 var13 = 0;
6186 } else {
6187 var13 = var_tassignnode6->type->type_table[cltype14] == idtype15;
6188 }
6189 }
6190 if (unlikely(!var13)) {
6191 PRINT_ERROR("Runtime error: %s", "Assert failed");
6192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6269);
6193 show_backtrace(1);
6194 }
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) {
6200 var16 = 1;
6201 } else {
6202 if(cltype17 >= var_pexprnode7->type->table_size) {
6203 var16 = 0;
6204 } else {
6205 var16 = var_pexprnode7->type->type_table[cltype17] == idtype18;
6206 }
6207 }
6208 if (unlikely(!var16)) {
6209 PRINT_ERROR("Runtime error: %s", "Assert failed");
6210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6271);
6211 show_backtrace(1);
6212 }
6213 var19 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6214 {
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>*/
6216 }
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> */
6220 {
6221 var21 = nit___nit__Parser___go_to(var_p, var20);
6222 }
6223 {
6224 nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6225 }
6226 RET_LABEL:;
6227 }
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 */;
6251 int cltype;
6252 int idtype;
6253 val* var_tidnode3 /* var tidnode3: nullable Object */;
6254 short int var10 /* : Bool */;
6255 int cltype11;
6256 int idtype12;
6257 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
6258 short int var13 /* : Bool */;
6259 int cltype14;
6260 int idtype15;
6261 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
6262 short int var16 /* : Bool */;
6263 int cltype17;
6264 int idtype18;
6265 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
6266 short int var19 /* : Bool */;
6267 int cltype20;
6268 int idtype21;
6269 val* var22 /* : ACallAssignExpr */;
6270 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6271 long var23 /* : Int */;
6272 long var24 /* : Int */;
6273 var_p = p0;
6274 var = NULL;
6275 var_node_list = var;
6276 {
6277 var1 = nit___nit__Parser___pop(var_p);
6278 }
6279 var_nodearraylist8 = var1;
6280 {
6281 var2 = nit___nit__Parser___pop(var_p);
6282 }
6283 var_nodearraylist7 = var2;
6284 {
6285 var3 = nit___nit__Parser___pop(var_p);
6286 }
6287 var_nodearraylist6 = var3;
6288 {
6289 var4 = nit___nit__Parser___pop(var_p);
6290 }
6291 var_nodearraylist5 = var4;
6292 {
6293 var5 = nit___nit__Parser___pop(var_p);
6294 }
6295 var_nodearraylist4 = var5;
6296 {
6297 var6 = nit___nit__Parser___pop(var_p);
6298 }
6299 var_nodearraylist3 = var6;
6300 {
6301 var7 = nit___nit__Parser___pop(var_p);
6302 }
6303 var_nodearraylist2 = var7;
6304 {
6305 var8 = nit___nit__Parser___pop(var_p);
6306 }
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) {
6313 var9 = 1;
6314 } else {
6315 if(cltype >= var_pexprnode2->type->table_size) {
6316 var9 = 0;
6317 } else {
6318 var9 = var_pexprnode2->type->type_table[cltype] == idtype;
6319 }
6320 }
6321 if (unlikely(!var9)) {
6322 PRINT_ERROR("Runtime error: %s", "Assert failed");
6323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6297);
6324 show_backtrace(1);
6325 }
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) {
6331 var10 = 1;
6332 } else {
6333 if(cltype11 >= var_tidnode3->type->table_size) {
6334 var10 = 0;
6335 } else {
6336 var10 = var_tidnode3->type->type_table[cltype11] == idtype12;
6337 }
6338 }
6339 if (unlikely(!var10)) {
6340 PRINT_ERROR("Runtime error: %s", "Assert failed");
6341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6299);
6342 show_backtrace(1);
6343 }
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) {
6349 var13 = 1;
6350 } else {
6351 if(cltype14 >= var_pexprsnode4->type->table_size) {
6352 var13 = 0;
6353 } else {
6354 var13 = var_pexprsnode4->type->type_table[cltype14] == idtype15;
6355 }
6356 }
6357 if (unlikely(!var13)) {
6358 PRINT_ERROR("Runtime error: %s", "Assert failed");
6359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6301);
6360 show_backtrace(1);
6361 }
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) {
6367 var16 = 1;
6368 } else {
6369 if(cltype17 >= var_tassignnode5->type->table_size) {
6370 var16 = 0;
6371 } else {
6372 var16 = var_tassignnode5->type->type_table[cltype17] == idtype18;
6373 }
6374 }
6375 if (unlikely(!var16)) {
6376 PRINT_ERROR("Runtime error: %s", "Assert failed");
6377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6303);
6378 show_backtrace(1);
6379 }
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) {
6385 var19 = 1;
6386 } else {
6387 if(cltype20 >= var_pexprnode6->type->table_size) {
6388 var19 = 0;
6389 } else {
6390 var19 = var_pexprnode6->type->type_table[cltype20] == idtype21;
6391 }
6392 }
6393 if (unlikely(!var19)) {
6394 PRINT_ERROR("Runtime error: %s", "Assert failed");
6395 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6305);
6396 show_backtrace(1);
6397 }
6398 var22 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6399 {
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>*/
6401 }
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> */
6405 {
6406 var24 = nit___nit__Parser___go_to(var_p, var23);
6407 }
6408 {
6409 nit___nit__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6410 }
6411 RET_LABEL:;
6412 }
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 */;
6434 int cltype;
6435 int idtype;
6436 val* var_tidnode3 /* var tidnode3: nullable Object */;
6437 short int var9 /* : Bool */;
6438 int cltype10;
6439 int idtype11;
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 */;
6446 int cltype15;
6447 int idtype16;
6448 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
6449 short int var17 /* : Bool */;
6450 int cltype18;
6451 int idtype19;
6452 val* var20 /* : ACallAssignExpr */;
6453 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6454 long var21 /* : Int */;
6455 long var22 /* : Int */;
6456 var_p = p0;
6457 var = NULL;
6458 var_node_list = var;
6459 {
6460 var1 = nit___nit__Parser___pop(var_p);
6461 }
6462 var_nodearraylist7 = var1;
6463 {
6464 var2 = nit___nit__Parser___pop(var_p);
6465 }
6466 var_nodearraylist6 = var2;
6467 {
6468 var3 = nit___nit__Parser___pop(var_p);
6469 }
6470 var_nodearraylist5 = var3;
6471 {
6472 var4 = nit___nit__Parser___pop(var_p);
6473 }
6474 var_nodearraylist4 = var4;
6475 {
6476 var5 = nit___nit__Parser___pop(var_p);
6477 }
6478 var_nodearraylist3 = var5;
6479 {
6480 var6 = nit___nit__Parser___pop(var_p);
6481 }
6482 var_nodearraylist2 = var6;
6483 {
6484 var7 = nit___nit__Parser___pop(var_p);
6485 }
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) {
6492 var8 = 1;
6493 } else {
6494 if(cltype >= var_pexprnode2->type->table_size) {
6495 var8 = 0;
6496 } else {
6497 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
6498 }
6499 }
6500 if (unlikely(!var8)) {
6501 PRINT_ERROR("Runtime error: %s", "Assert failed");
6502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6330);
6503 show_backtrace(1);
6504 }
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) {
6510 var9 = 1;
6511 } else {
6512 if(cltype10 >= var_tidnode3->type->table_size) {
6513 var9 = 0;
6514 } else {
6515 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
6516 }
6517 }
6518 if (unlikely(!var9)) {
6519 PRINT_ERROR("Runtime error: %s", "Assert failed");
6520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6332);
6521 show_backtrace(1);
6522 }
6523 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
6524 {
6525 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
6526 }
6527 var_listnode5 = var12;
6528 var13 = NEW_nit__AListExprs(&type_nit__AListExprs);
6529 {
6530 nit__parser_prod___AListExprs___init_alistexprs(var13, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
6531 }
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) {
6538 var14 = 1;
6539 } else {
6540 if(cltype15 >= var_tassignnode6->type->table_size) {
6541 var14 = 0;
6542 } else {
6543 var14 = var_tassignnode6->type->type_table[cltype15] == idtype16;
6544 }
6545 }
6546 if (unlikely(!var14)) {
6547 PRINT_ERROR("Runtime error: %s", "Assert failed");
6548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6338);
6549 show_backtrace(1);
6550 }
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) {
6556 var17 = 1;
6557 } else {
6558 if(cltype18 >= var_pexprnode7->type->table_size) {
6559 var17 = 0;
6560 } else {
6561 var17 = var_pexprnode7->type->type_table[cltype18] == idtype19;
6562 }
6563 }
6564 if (unlikely(!var17)) {
6565 PRINT_ERROR("Runtime error: %s", "Assert failed");
6566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6340);
6567 show_backtrace(1);
6568 }
6569 var20 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6570 {
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>*/
6572 }
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> */
6576 {
6577 var22 = nit___nit__Parser___go_to(var_p, var21);
6578 }
6579 {
6580 nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6581 }
6582 RET_LABEL:;
6583 }
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 */;
6609 int cltype;
6610 int idtype;
6611 val* var_tidnode3 /* var tidnode3: nullable Object */;
6612 short int var11 /* : Bool */;
6613 int cltype12;
6614 int idtype13;
6615 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
6616 short int var14 /* : Bool */;
6617 int cltype15;
6618 int idtype16;
6619 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
6620 short int var17 /* : Bool */;
6621 int cltype18;
6622 int idtype19;
6623 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
6624 short int var20 /* : Bool */;
6625 int cltype21;
6626 int idtype22;
6627 val* var23 /* : ACallAssignExpr */;
6628 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6629 long var24 /* : Int */;
6630 long var25 /* : Int */;
6631 var_p = p0;
6632 var = NULL;
6633 var_node_list = var;
6634 {
6635 var1 = nit___nit__Parser___pop(var_p);
6636 }
6637 var_nodearraylist9 = var1;
6638 {
6639 var2 = nit___nit__Parser___pop(var_p);
6640 }
6641 var_nodearraylist8 = var2;
6642 {
6643 var3 = nit___nit__Parser___pop(var_p);
6644 }
6645 var_nodearraylist7 = var3;
6646 {
6647 var4 = nit___nit__Parser___pop(var_p);
6648 }
6649 var_nodearraylist6 = var4;
6650 {
6651 var5 = nit___nit__Parser___pop(var_p);
6652 }
6653 var_nodearraylist5 = var5;
6654 {
6655 var6 = nit___nit__Parser___pop(var_p);
6656 }
6657 var_nodearraylist4 = var6;
6658 {
6659 var7 = nit___nit__Parser___pop(var_p);
6660 }
6661 var_nodearraylist3 = var7;
6662 {
6663 var8 = nit___nit__Parser___pop(var_p);
6664 }
6665 var_nodearraylist2 = var8;
6666 {
6667 var9 = nit___nit__Parser___pop(var_p);
6668 }
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) {
6675 var10 = 1;
6676 } else {
6677 if(cltype >= var_pexprnode2->type->table_size) {
6678 var10 = 0;
6679 } else {
6680 var10 = var_pexprnode2->type->type_table[cltype] == idtype;
6681 }
6682 }
6683 if (unlikely(!var10)) {
6684 PRINT_ERROR("Runtime error: %s", "Assert failed");
6685 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6367);
6686 show_backtrace(1);
6687 }
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) {
6693 var11 = 1;
6694 } else {
6695 if(cltype12 >= var_tidnode3->type->table_size) {
6696 var11 = 0;
6697 } else {
6698 var11 = var_tidnode3->type->type_table[cltype12] == idtype13;
6699 }
6700 }
6701 if (unlikely(!var11)) {
6702 PRINT_ERROR("Runtime error: %s", "Assert failed");
6703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6369);
6704 show_backtrace(1);
6705 }
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) {
6711 var14 = 1;
6712 } else {
6713 if(cltype15 >= var_pexprsnode4->type->table_size) {
6714 var14 = 0;
6715 } else {
6716 var14 = var_pexprsnode4->type->type_table[cltype15] == idtype16;
6717 }
6718 }
6719 if (unlikely(!var14)) {
6720 PRINT_ERROR("Runtime error: %s", "Assert failed");
6721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6371);
6722 show_backtrace(1);
6723 }
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) {
6729 var17 = 1;
6730 } else {
6731 if(cltype18 >= var_tassignnode5->type->table_size) {
6732 var17 = 0;
6733 } else {
6734 var17 = var_tassignnode5->type->type_table[cltype18] == idtype19;
6735 }
6736 }
6737 if (unlikely(!var17)) {
6738 PRINT_ERROR("Runtime error: %s", "Assert failed");
6739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6373);
6740 show_backtrace(1);
6741 }
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) {
6747 var20 = 1;
6748 } else {
6749 if(cltype21 >= var_pexprnode6->type->table_size) {
6750 var20 = 0;
6751 } else {
6752 var20 = var_pexprnode6->type->type_table[cltype21] == idtype22;
6753 }
6754 }
6755 if (unlikely(!var20)) {
6756 PRINT_ERROR("Runtime error: %s", "Assert failed");
6757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6375);
6758 show_backtrace(1);
6759 }
6760 var23 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6761 {
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>*/
6763 }
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> */
6767 {
6768 var25 = nit___nit__Parser___go_to(var_p, var24);
6769 }
6770 {
6771 nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6772 }
6773 RET_LABEL:;
6774 }
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 */;
6798 int cltype;
6799 int idtype;
6800 val* var_tidnode3 /* var tidnode3: nullable Object */;
6801 short int var10 /* : Bool */;
6802 int cltype11;
6803 int idtype12;
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 */;
6810 int cltype16;
6811 int idtype17;
6812 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
6813 short int var18 /* : Bool */;
6814 int cltype19;
6815 int idtype20;
6816 val* var21 /* : ACallAssignExpr */;
6817 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6818 long var22 /* : Int */;
6819 long var23 /* : Int */;
6820 var_p = p0;
6821 var = NULL;
6822 var_node_list = var;
6823 {
6824 var1 = nit___nit__Parser___pop(var_p);
6825 }
6826 var_nodearraylist8 = var1;
6827 {
6828 var2 = nit___nit__Parser___pop(var_p);
6829 }
6830 var_nodearraylist7 = var2;
6831 {
6832 var3 = nit___nit__Parser___pop(var_p);
6833 }
6834 var_nodearraylist6 = var3;
6835 {
6836 var4 = nit___nit__Parser___pop(var_p);
6837 }
6838 var_nodearraylist5 = var4;
6839 {
6840 var5 = nit___nit__Parser___pop(var_p);
6841 }
6842 var_nodearraylist4 = var5;
6843 {
6844 var6 = nit___nit__Parser___pop(var_p);
6845 }
6846 var_nodearraylist3 = var6;
6847 {
6848 var7 = nit___nit__Parser___pop(var_p);
6849 }
6850 var_nodearraylist2 = var7;
6851 {
6852 var8 = nit___nit__Parser___pop(var_p);
6853 }
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) {
6860 var9 = 1;
6861 } else {
6862 if(cltype >= var_pexprnode2->type->table_size) {
6863 var9 = 0;
6864 } else {
6865 var9 = var_pexprnode2->type->type_table[cltype] == idtype;
6866 }
6867 }
6868 if (unlikely(!var9)) {
6869 PRINT_ERROR("Runtime error: %s", "Assert failed");
6870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6401);
6871 show_backtrace(1);
6872 }
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) {
6878 var10 = 1;
6879 } else {
6880 if(cltype11 >= var_tidnode3->type->table_size) {
6881 var10 = 0;
6882 } else {
6883 var10 = var_tidnode3->type->type_table[cltype11] == idtype12;
6884 }
6885 }
6886 if (unlikely(!var10)) {
6887 PRINT_ERROR("Runtime error: %s", "Assert failed");
6888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6403);
6889 show_backtrace(1);
6890 }
6891 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
6892 {
6893 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
6894 }
6895 var_listnode5 = var13;
6896 var14 = NEW_nit__AListExprs(&type_nit__AListExprs);
6897 {
6898 nit__parser_prod___AListExprs___init_alistexprs(var14, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
6899 }
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) {
6906 var15 = 1;
6907 } else {
6908 if(cltype16 >= var_tassignnode6->type->table_size) {
6909 var15 = 0;
6910 } else {
6911 var15 = var_tassignnode6->type->type_table[cltype16] == idtype17;
6912 }
6913 }
6914 if (unlikely(!var15)) {
6915 PRINT_ERROR("Runtime error: %s", "Assert failed");
6916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6409);
6917 show_backtrace(1);
6918 }
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) {
6924 var18 = 1;
6925 } else {
6926 if(cltype19 >= var_pexprnode7->type->table_size) {
6927 var18 = 0;
6928 } else {
6929 var18 = var_pexprnode7->type->type_table[cltype19] == idtype20;
6930 }
6931 }
6932 if (unlikely(!var18)) {
6933 PRINT_ERROR("Runtime error: %s", "Assert failed");
6934 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6411);
6935 show_backtrace(1);
6936 }
6937 var21 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
6938 {
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>*/
6940 }
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> */
6944 {
6945 var23 = nit___nit__Parser___go_to(var_p, var22);
6946 }
6947 {
6948 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6949 }
6950 RET_LABEL:;
6951 }
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 */;
6969 int cltype;
6970 int idtype;
6971 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
6972 short int var8 /* : Bool */;
6973 int cltype9;
6974 int idtype10;
6975 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
6976 short int var11 /* : Bool */;
6977 int cltype12;
6978 int idtype13;
6979 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
6980 short int var14 /* : Bool */;
6981 int cltype15;
6982 int idtype16;
6983 val* var17 /* : ACallAssignExpr */;
6984 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6985 long var18 /* : Int */;
6986 long var19 /* : Int */;
6987 var_p = p0;
6988 var = NULL;
6989 var_node_list = var;
6990 {
6991 var1 = nit___nit__Parser___pop(var_p);
6992 }
6993 var_nodearraylist4 = var1;
6994 {
6995 var2 = nit___nit__Parser___pop(var_p);
6996 }
6997 var_nodearraylist3 = var2;
6998 {
6999 var3 = nit___nit__Parser___pop(var_p);
7000 }
7001 var_nodearraylist2 = var3;
7002 {
7003 var4 = nit___nit__Parser___pop(var_p);
7004 }
7005 var_nodearraylist1 = var4;
7006 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7007 {
7008 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
7009 RET_LABEL6:(void)0;
7010 }
7011 }
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) {
7018 var7 = 1;
7019 } else {
7020 if(cltype >= var_tidnode3->type->table_size) {
7021 var7 = 0;
7022 } else {
7023 var7 = var_tidnode3->type->type_table[cltype] == idtype;
7024 }
7025 }
7026 if (unlikely(!var7)) {
7027 PRINT_ERROR("Runtime error: %s", "Assert failed");
7028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6434);
7029 show_backtrace(1);
7030 }
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) {
7036 var8 = 1;
7037 } else {
7038 if(cltype9 >= var_pexprsnode4->type->table_size) {
7039 var8 = 0;
7040 } else {
7041 var8 = var_pexprsnode4->type->type_table[cltype9] == idtype10;
7042 }
7043 }
7044 if (unlikely(!var8)) {
7045 PRINT_ERROR("Runtime error: %s", "Assert failed");
7046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6436);
7047 show_backtrace(1);
7048 }
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) {
7054 var11 = 1;
7055 } else {
7056 if(cltype12 >= var_tassignnode5->type->table_size) {
7057 var11 = 0;
7058 } else {
7059 var11 = var_tassignnode5->type->type_table[cltype12] == idtype13;
7060 }
7061 }
7062 if (unlikely(!var11)) {
7063 PRINT_ERROR("Runtime error: %s", "Assert failed");
7064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6438);
7065 show_backtrace(1);
7066 }
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) {
7072 var14 = 1;
7073 } else {
7074 if(cltype15 >= var_pexprnode6->type->table_size) {
7075 var14 = 0;
7076 } else {
7077 var14 = var_pexprnode6->type->type_table[cltype15] == idtype16;
7078 }
7079 }
7080 if (unlikely(!var14)) {
7081 PRINT_ERROR("Runtime error: %s", "Assert failed");
7082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6440);
7083 show_backtrace(1);
7084 }
7085 var17 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7086 {
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>*/
7088 }
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> */
7092 {
7093 var19 = nit___nit__Parser___go_to(var_p, var18);
7094 }
7095 {
7096 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7097 }
7098 RET_LABEL:;
7099 }
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 */;
7115 int cltype;
7116 int idtype;
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 */;
7123 int cltype10;
7124 int idtype11;
7125 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
7126 short int var12 /* : Bool */;
7127 int cltype13;
7128 int idtype14;
7129 val* var15 /* : ACallAssignExpr */;
7130 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7131 long var16 /* : Int */;
7132 long var17 /* : Int */;
7133 var_p = p0;
7134 var = NULL;
7135 var_node_list = var;
7136 {
7137 var1 = nit___nit__Parser___pop(var_p);
7138 }
7139 var_nodearraylist3 = var1;
7140 {
7141 var2 = nit___nit__Parser___pop(var_p);
7142 }
7143 var_nodearraylist2 = var2;
7144 {
7145 var3 = nit___nit__Parser___pop(var_p);
7146 }
7147 var_nodearraylist1 = var3;
7148 var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7149 {
7150 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
7151 RET_LABEL5:(void)0;
7152 }
7153 }
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) {
7160 var6 = 1;
7161 } else {
7162 if(cltype >= var_tidnode3->type->table_size) {
7163 var6 = 0;
7164 } else {
7165 var6 = var_tidnode3->type->type_table[cltype] == idtype;
7166 }
7167 }
7168 if (unlikely(!var6)) {
7169 PRINT_ERROR("Runtime error: %s", "Assert failed");
7170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6462);
7171 show_backtrace(1);
7172 }
7173 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
7174 {
7175 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
7176 }
7177 var_listnode5 = var7;
7178 var8 = NEW_nit__AListExprs(&type_nit__AListExprs);
7179 {
7180 nit__parser_prod___AListExprs___init_alistexprs(var8, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
7181 }
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) {
7188 var9 = 1;
7189 } else {
7190 if(cltype10 >= var_tassignnode6->type->table_size) {
7191 var9 = 0;
7192 } else {
7193 var9 = var_tassignnode6->type->type_table[cltype10] == idtype11;
7194 }
7195 }
7196 if (unlikely(!var9)) {
7197 PRINT_ERROR("Runtime error: %s", "Assert failed");
7198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6468);
7199 show_backtrace(1);
7200 }
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) {
7206 var12 = 1;
7207 } else {
7208 if(cltype13 >= var_pexprnode7->type->table_size) {
7209 var12 = 0;
7210 } else {
7211 var12 = var_pexprnode7->type->type_table[cltype13] == idtype14;
7212 }
7213 }
7214 if (unlikely(!var12)) {
7215 PRINT_ERROR("Runtime error: %s", "Assert failed");
7216 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6470);
7217 show_backtrace(1);
7218 }
7219 var15 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7220 {
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>*/
7222 }
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> */
7226 {
7227 var17 = nit___nit__Parser___go_to(var_p, var16);
7228 }
7229 {
7230 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7231 }
7232 RET_LABEL:;
7233 }
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 */;
7253 int cltype;
7254 int idtype;
7255 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
7256 short int var9 /* : Bool */;
7257 int cltype10;
7258 int idtype11;
7259 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
7260 short int var12 /* : Bool */;
7261 int cltype13;
7262 int idtype14;
7263 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
7264 short int var15 /* : Bool */;
7265 int cltype16;
7266 int idtype17;
7267 val* var18 /* : ACallAssignExpr */;
7268 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7269 long var19 /* : Int */;
7270 long var20 /* : Int */;
7271 var_p = p0;
7272 var = NULL;
7273 var_node_list = var;
7274 {
7275 var1 = nit___nit__Parser___pop(var_p);
7276 }
7277 var_nodearraylist5 = var1;
7278 {
7279 var2 = nit___nit__Parser___pop(var_p);
7280 }
7281 var_nodearraylist4 = var2;
7282 {
7283 var3 = nit___nit__Parser___pop(var_p);
7284 }
7285 var_nodearraylist3 = var3;
7286 {
7287 var4 = nit___nit__Parser___pop(var_p);
7288 }
7289 var_nodearraylist2 = var4;
7290 {
7291 var5 = nit___nit__Parser___pop(var_p);
7292 }
7293 var_nodearraylist1 = var5;
7294 var6 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7295 {
7296 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
7297 RET_LABEL7:(void)0;
7298 }
7299 }
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) {
7306 var8 = 1;
7307 } else {
7308 if(cltype >= var_tidnode3->type->table_size) {
7309 var8 = 0;
7310 } else {
7311 var8 = var_tidnode3->type->type_table[cltype] == idtype;
7312 }
7313 }
7314 if (unlikely(!var8)) {
7315 PRINT_ERROR("Runtime error: %s", "Assert failed");
7316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6494);
7317 show_backtrace(1);
7318 }
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) {
7324 var9 = 1;
7325 } else {
7326 if(cltype10 >= var_pexprsnode4->type->table_size) {
7327 var9 = 0;
7328 } else {
7329 var9 = var_pexprsnode4->type->type_table[cltype10] == idtype11;
7330 }
7331 }
7332 if (unlikely(!var9)) {
7333 PRINT_ERROR("Runtime error: %s", "Assert failed");
7334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6496);
7335 show_backtrace(1);
7336 }
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) {
7342 var12 = 1;
7343 } else {
7344 if(cltype13 >= var_tassignnode5->type->table_size) {
7345 var12 = 0;
7346 } else {
7347 var12 = var_tassignnode5->type->type_table[cltype13] == idtype14;
7348 }
7349 }
7350 if (unlikely(!var12)) {
7351 PRINT_ERROR("Runtime error: %s", "Assert failed");
7352 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6498);
7353 show_backtrace(1);
7354 }
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) {
7360 var15 = 1;
7361 } else {
7362 if(cltype16 >= var_pexprnode6->type->table_size) {
7363 var15 = 0;
7364 } else {
7365 var15 = var_pexprnode6->type->type_table[cltype16] == idtype17;
7366 }
7367 }
7368 if (unlikely(!var15)) {
7369 PRINT_ERROR("Runtime error: %s", "Assert failed");
7370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6500);
7371 show_backtrace(1);
7372 }
7373 var18 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7374 {
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>*/
7376 }
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> */
7380 {
7381 var20 = nit___nit__Parser___go_to(var_p, var19);
7382 }
7383 {
7384 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7385 }
7386 RET_LABEL:;
7387 }
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 */;
7405 int cltype;
7406 int idtype;
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 */;
7413 int cltype11;
7414 int idtype12;
7415 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
7416 short int var13 /* : Bool */;
7417 int cltype14;
7418 int idtype15;
7419 val* var16 /* : ACallAssignExpr */;
7420 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7421 long var17 /* : Int */;
7422 long var18 /* : Int */;
7423 var_p = p0;
7424 var = NULL;
7425 var_node_list = var;
7426 {
7427 var1 = nit___nit__Parser___pop(var_p);
7428 }
7429 var_nodearraylist4 = var1;
7430 {
7431 var2 = nit___nit__Parser___pop(var_p);
7432 }
7433 var_nodearraylist3 = var2;
7434 {
7435 var3 = nit___nit__Parser___pop(var_p);
7436 }
7437 var_nodearraylist2 = var3;
7438 {
7439 var4 = nit___nit__Parser___pop(var_p);
7440 }
7441 var_nodearraylist1 = var4;
7442 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7443 {
7444 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
7445 RET_LABEL6:(void)0;
7446 }
7447 }
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) {
7454 var7 = 1;
7455 } else {
7456 if(cltype >= var_tidnode3->type->table_size) {
7457 var7 = 0;
7458 } else {
7459 var7 = var_tidnode3->type->type_table[cltype] == idtype;
7460 }
7461 }
7462 if (unlikely(!var7)) {
7463 PRINT_ERROR("Runtime error: %s", "Assert failed");
7464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6523);
7465 show_backtrace(1);
7466 }
7467 var8 = NEW_standard__Array(&type_standard__Array__standard__Object);
7468 {
7469 standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on <var8:Array[Object]>*/
7470 }
7471 var_listnode5 = var8;
7472 var9 = NEW_nit__AListExprs(&type_nit__AListExprs);
7473 {
7474 nit__parser_prod___AListExprs___init_alistexprs(var9, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
7475 }
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) {
7482 var10 = 1;
7483 } else {
7484 if(cltype11 >= var_tassignnode6->type->table_size) {
7485 var10 = 0;
7486 } else {
7487 var10 = var_tassignnode6->type->type_table[cltype11] == idtype12;
7488 }
7489 }
7490 if (unlikely(!var10)) {
7491 PRINT_ERROR("Runtime error: %s", "Assert failed");
7492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6529);
7493 show_backtrace(1);
7494 }
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) {
7500 var13 = 1;
7501 } else {
7502 if(cltype14 >= var_pexprnode7->type->table_size) {
7503 var13 = 0;
7504 } else {
7505 var13 = var_pexprnode7->type->type_table[cltype14] == idtype15;
7506 }
7507 }
7508 if (unlikely(!var13)) {
7509 PRINT_ERROR("Runtime error: %s", "Assert failed");
7510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6531);
7511 show_backtrace(1);
7512 }
7513 var16 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7514 {
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>*/
7516 }
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> */
7520 {
7521 var18 = nit___nit__Parser___go_to(var_p, var17);
7522 }
7523 {
7524 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7525 }
7526 RET_LABEL:;
7527 }
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 */;
7549 int cltype;
7550 int idtype;
7551 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
7552 short int var10 /* : Bool */;
7553 int cltype11;
7554 int idtype12;
7555 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
7556 short int var13 /* : Bool */;
7557 int cltype14;
7558 int idtype15;
7559 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
7560 short int var16 /* : Bool */;
7561 int cltype17;
7562 int idtype18;
7563 val* var19 /* : ACallAssignExpr */;
7564 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7565 long var20 /* : Int */;
7566 long var21 /* : Int */;
7567 var_p = p0;
7568 var = NULL;
7569 var_node_list = var;
7570 {
7571 var1 = nit___nit__Parser___pop(var_p);
7572 }
7573 var_nodearraylist6 = var1;
7574 {
7575 var2 = nit___nit__Parser___pop(var_p);
7576 }
7577 var_nodearraylist5 = var2;
7578 {
7579 var3 = nit___nit__Parser___pop(var_p);
7580 }
7581 var_nodearraylist4 = var3;
7582 {
7583 var4 = nit___nit__Parser___pop(var_p);
7584 }
7585 var_nodearraylist3 = var4;
7586 {
7587 var5 = nit___nit__Parser___pop(var_p);
7588 }
7589 var_nodearraylist2 = var5;
7590 {
7591 var6 = nit___nit__Parser___pop(var_p);
7592 }
7593 var_nodearraylist1 = var6;
7594 var7 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7595 {
7596 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on <var7:AImplicitSelfExpr> */
7597 RET_LABEL8:(void)0;
7598 }
7599 }
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) {
7606 var9 = 1;
7607 } else {
7608 if(cltype >= var_tidnode3->type->table_size) {
7609 var9 = 0;
7610 } else {
7611 var9 = var_tidnode3->type->type_table[cltype] == idtype;
7612 }
7613 }
7614 if (unlikely(!var9)) {
7615 PRINT_ERROR("Runtime error: %s", "Assert failed");
7616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6556);
7617 show_backtrace(1);
7618 }
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) {
7624 var10 = 1;
7625 } else {
7626 if(cltype11 >= var_pexprsnode4->type->table_size) {
7627 var10 = 0;
7628 } else {
7629 var10 = var_pexprsnode4->type->type_table[cltype11] == idtype12;
7630 }
7631 }
7632 if (unlikely(!var10)) {
7633 PRINT_ERROR("Runtime error: %s", "Assert failed");
7634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6558);
7635 show_backtrace(1);
7636 }
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) {
7642 var13 = 1;
7643 } else {
7644 if(cltype14 >= var_tassignnode5->type->table_size) {
7645 var13 = 0;
7646 } else {
7647 var13 = var_tassignnode5->type->type_table[cltype14] == idtype15;
7648 }
7649 }
7650 if (unlikely(!var13)) {
7651 PRINT_ERROR("Runtime error: %s", "Assert failed");
7652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6560);
7653 show_backtrace(1);
7654 }
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) {
7660 var16 = 1;
7661 } else {
7662 if(cltype17 >= var_pexprnode6->type->table_size) {
7663 var16 = 0;
7664 } else {
7665 var16 = var_pexprnode6->type->type_table[cltype17] == idtype18;
7666 }
7667 }
7668 if (unlikely(!var16)) {
7669 PRINT_ERROR("Runtime error: %s", "Assert failed");
7670 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6562);
7671 show_backtrace(1);
7672 }
7673 var19 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7674 {
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>*/
7676 }
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> */
7680 {
7681 var21 = nit___nit__Parser___go_to(var_p, var20);
7682 }
7683 {
7684 nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7685 }
7686 RET_LABEL:;
7687 }
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 */;
7707 int cltype;
7708 int idtype;
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 */;
7715 int cltype12;
7716 int idtype13;
7717 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
7718 short int var14 /* : Bool */;
7719 int cltype15;
7720 int idtype16;
7721 val* var17 /* : ACallAssignExpr */;
7722 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7723 long var18 /* : Int */;
7724 long var19 /* : Int */;
7725 var_p = p0;
7726 var = NULL;
7727 var_node_list = var;
7728 {
7729 var1 = nit___nit__Parser___pop(var_p);
7730 }
7731 var_nodearraylist5 = var1;
7732 {
7733 var2 = nit___nit__Parser___pop(var_p);
7734 }
7735 var_nodearraylist4 = var2;
7736 {
7737 var3 = nit___nit__Parser___pop(var_p);
7738 }
7739 var_nodearraylist3 = var3;
7740 {
7741 var4 = nit___nit__Parser___pop(var_p);
7742 }
7743 var_nodearraylist2 = var4;
7744 {
7745 var5 = nit___nit__Parser___pop(var_p);
7746 }
7747 var_nodearraylist1 = var5;
7748 var6 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
7749 {
7750 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
7751 RET_LABEL7:(void)0;
7752 }
7753 }
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) {
7760 var8 = 1;
7761 } else {
7762 if(cltype >= var_tidnode3->type->table_size) {
7763 var8 = 0;
7764 } else {
7765 var8 = var_tidnode3->type->type_table[cltype] == idtype;
7766 }
7767 }
7768 if (unlikely(!var8)) {
7769 PRINT_ERROR("Runtime error: %s", "Assert failed");
7770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6586);
7771 show_backtrace(1);
7772 }
7773 var9 = NEW_standard__Array(&type_standard__Array__standard__Object);
7774 {
7775 standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on <var9:Array[Object]>*/
7776 }
7777 var_listnode5 = var9;
7778 var10 = NEW_nit__AListExprs(&type_nit__AListExprs);
7779 {
7780 nit__parser_prod___AListExprs___init_alistexprs(var10, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
7781 }
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) {
7788 var11 = 1;
7789 } else {
7790 if(cltype12 >= var_tassignnode6->type->table_size) {
7791 var11 = 0;
7792 } else {
7793 var11 = var_tassignnode6->type->type_table[cltype12] == idtype13;
7794 }
7795 }
7796 if (unlikely(!var11)) {
7797 PRINT_ERROR("Runtime error: %s", "Assert failed");
7798 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6592);
7799 show_backtrace(1);
7800 }
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) {
7806 var14 = 1;
7807 } else {
7808 if(cltype15 >= var_pexprnode7->type->table_size) {
7809 var14 = 0;
7810 } else {
7811 var14 = var_pexprnode7->type->type_table[cltype15] == idtype16;
7812 }
7813 }
7814 if (unlikely(!var14)) {
7815 PRINT_ERROR("Runtime error: %s", "Assert failed");
7816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6594);
7817 show_backtrace(1);
7818 }
7819 var17 = NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr);
7820 {
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>*/
7822 }
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> */
7826 {
7827 var19 = nit___nit__Parser___go_to(var_p, var18);
7828 }
7829 {
7830 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7831 }
7832 RET_LABEL:;
7833 }
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 */;
7849 int cltype;
7850 int idtype;
7851 val* var_pexprsnode3 /* var pexprsnode3: nullable Object */;
7852 short int var6 /* : Bool */;
7853 int cltype7;
7854 int idtype8;
7855 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
7856 short int var9 /* : Bool */;
7857 int cltype10;
7858 int idtype11;
7859 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
7860 short int var12 /* : Bool */;
7861 int cltype13;
7862 int idtype14;
7863 val* var15 /* : ABraAssignExpr */;
7864 val* var_pexprnode1 /* var pexprnode1: nullable ABraAssignExpr */;
7865 long var16 /* : Int */;
7866 long var17 /* : Int */;
7867 var_p = p0;
7868 var = NULL;
7869 var_node_list = var;
7870 {
7871 var1 = nit___nit__Parser___pop(var_p);
7872 }
7873 var_nodearraylist4 = var1;
7874 {
7875 var2 = nit___nit__Parser___pop(var_p);
7876 }
7877 var_nodearraylist3 = var2;
7878 {
7879 var3 = nit___nit__Parser___pop(var_p);
7880 }
7881 var_nodearraylist2 = var3;
7882 {
7883 var4 = nit___nit__Parser___pop(var_p);
7884 }
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) {
7891 var5 = 1;
7892 } else {
7893 if(cltype >= var_pexprnode2->type->table_size) {
7894 var5 = 0;
7895 } else {
7896 var5 = var_pexprnode2->type->type_table[cltype] == idtype;
7897 }
7898 }
7899 if (unlikely(!var5)) {
7900 PRINT_ERROR("Runtime error: %s", "Assert failed");
7901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6616);
7902 show_backtrace(1);
7903 }
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) {
7909 var6 = 1;
7910 } else {
7911 if(cltype7 >= var_pexprsnode3->type->table_size) {
7912 var6 = 0;
7913 } else {
7914 var6 = var_pexprsnode3->type->type_table[cltype7] == idtype8;
7915 }
7916 }
7917 if (unlikely(!var6)) {
7918 PRINT_ERROR("Runtime error: %s", "Assert failed");
7919 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6618);
7920 show_backtrace(1);
7921 }
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) {
7927 var9 = 1;
7928 } else {
7929 if(cltype10 >= var_tassignnode4->type->table_size) {
7930 var9 = 0;
7931 } else {
7932 var9 = var_tassignnode4->type->type_table[cltype10] == idtype11;
7933 }
7934 }
7935 if (unlikely(!var9)) {
7936 PRINT_ERROR("Runtime error: %s", "Assert failed");
7937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6620);
7938 show_backtrace(1);
7939 }
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) {
7945 var12 = 1;
7946 } else {
7947 if(cltype13 >= var_pexprnode5->type->table_size) {
7948 var12 = 0;
7949 } else {
7950 var12 = var_pexprnode5->type->type_table[cltype13] == idtype14;
7951 }
7952 }
7953 if (unlikely(!var12)) {
7954 PRINT_ERROR("Runtime error: %s", "Assert failed");
7955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6622);
7956 show_backtrace(1);
7957 }
7958 var15 = NEW_nit__ABraAssignExpr(&type_nit__ABraAssignExpr);
7959 {
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>*/
7961 }
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> */
7965 {
7966 var17 = nit___nit__Parser___go_to(var_p, var16);
7967 }
7968 {
7969 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7970 }
7971 RET_LABEL:;
7972 }
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 */;
7994 int cltype;
7995 int idtype;
7996 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
7997 short int var9 /* : Bool */;
7998 int cltype10;
7999 int idtype11;
8000 val* var_passignopnode4 /* var passignopnode4: nullable Object */;
8001 short int var12 /* : Bool */;
8002 int cltype13;
8003 int idtype14;
8004 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
8005 short int var15 /* : Bool */;
8006 int cltype16;
8007 int idtype17;
8008 val* var18 /* : AAttrReassignExpr */;
8009 val* var_pexprnode1 /* var pexprnode1: nullable AAttrReassignExpr */;
8010 long var19 /* : Int */;
8011 long var20 /* : Int */;
8012 var_p = p0;
8013 var = NULL;
8014 var_node_list = var;
8015 {
8016 var1 = nit___nit__Parser___pop(var_p);
8017 }
8018 var_nodearraylist7 = var1;
8019 {
8020 var2 = nit___nit__Parser___pop(var_p);
8021 }
8022 var_nodearraylist6 = var2;
8023 {
8024 var3 = nit___nit__Parser___pop(var_p);
8025 }
8026 var_nodearraylist5 = var3;
8027 {
8028 var4 = nit___nit__Parser___pop(var_p);
8029 }
8030 var_nodearraylist4 = var4;
8031 {
8032 var5 = nit___nit__Parser___pop(var_p);
8033 }
8034 var_nodearraylist3 = var5;
8035 {
8036 var6 = nit___nit__Parser___pop(var_p);
8037 }
8038 var_nodearraylist2 = var6;
8039 {
8040 var7 = nit___nit__Parser___pop(var_p);
8041 }
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) {
8048 var8 = 1;
8049 } else {
8050 if(cltype >= var_pexprnode2->type->table_size) {
8051 var8 = 0;
8052 } else {
8053 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
8054 }
8055 }
8056 if (unlikely(!var8)) {
8057 PRINT_ERROR("Runtime error: %s", "Assert failed");
8058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6646);
8059 show_backtrace(1);
8060 }
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) {
8066 var9 = 1;
8067 } else {
8068 if(cltype10 >= var_tattridnode3->type->table_size) {
8069 var9 = 0;
8070 } else {
8071 var9 = var_tattridnode3->type->type_table[cltype10] == idtype11;
8072 }
8073 }
8074 if (unlikely(!var9)) {
8075 PRINT_ERROR("Runtime error: %s", "Assert failed");
8076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6648);
8077 show_backtrace(1);
8078 }
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) {
8084 var12 = 1;
8085 } else {
8086 if(cltype13 >= var_passignopnode4->type->table_size) {
8087 var12 = 0;
8088 } else {
8089 var12 = var_passignopnode4->type->type_table[cltype13] == idtype14;
8090 }
8091 }
8092 if (unlikely(!var12)) {
8093 PRINT_ERROR("Runtime error: %s", "Assert failed");
8094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6650);
8095 show_backtrace(1);
8096 }
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) {
8102 var15 = 1;
8103 } else {
8104 if(cltype16 >= var_pexprnode5->type->table_size) {
8105 var15 = 0;
8106 } else {
8107 var15 = var_pexprnode5->type->type_table[cltype16] == idtype17;
8108 }
8109 }
8110 if (unlikely(!var15)) {
8111 PRINT_ERROR("Runtime error: %s", "Assert failed");
8112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6652);
8113 show_backtrace(1);
8114 }
8115 var18 = NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr);
8116 {
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>*/
8118 }
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> */
8122 {
8123 var20 = nit___nit__Parser___go_to(var_p, var19);
8124 }
8125 {
8126 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8127 }
8128 RET_LABEL:;
8129 }
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 */;
8147 int cltype;
8148 int idtype;
8149 val* var_passignopnode4 /* var passignopnode4: nullable Object */;
8150 short int var8 /* : Bool */;
8151 int cltype9;
8152 int idtype10;
8153 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
8154 short int var11 /* : Bool */;
8155 int cltype12;
8156 int idtype13;
8157 val* var14 /* : AAttrReassignExpr */;
8158 val* var_pexprnode1 /* var pexprnode1: nullable AAttrReassignExpr */;
8159 long var15 /* : Int */;
8160 long var16 /* : Int */;
8161 var_p = p0;
8162 var = NULL;
8163 var_node_list = var;
8164 {
8165 var1 = nit___nit__Parser___pop(var_p);
8166 }
8167 var_nodearraylist4 = var1;
8168 {
8169 var2 = nit___nit__Parser___pop(var_p);
8170 }
8171 var_nodearraylist3 = var2;
8172 {
8173 var3 = nit___nit__Parser___pop(var_p);
8174 }
8175 var_nodearraylist2 = var3;
8176 {
8177 var4 = nit___nit__Parser___pop(var_p);
8178 }
8179 var_nodearraylist1 = var4;
8180 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
8181 {
8182 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
8183 RET_LABEL6:(void)0;
8184 }
8185 }
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) {
8192 var7 = 1;
8193 } else {
8194 if(cltype >= var_tattridnode3->type->table_size) {
8195 var7 = 0;
8196 } else {
8197 var7 = var_tattridnode3->type->type_table[cltype] == idtype;
8198 }
8199 }
8200 if (unlikely(!var7)) {
8201 PRINT_ERROR("Runtime error: %s", "Assert failed");
8202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6674);
8203 show_backtrace(1);
8204 }
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) {
8210 var8 = 1;
8211 } else {
8212 if(cltype9 >= var_passignopnode4->type->table_size) {
8213 var8 = 0;
8214 } else {
8215 var8 = var_passignopnode4->type->type_table[cltype9] == idtype10;
8216 }
8217 }
8218 if (unlikely(!var8)) {
8219 PRINT_ERROR("Runtime error: %s", "Assert failed");
8220 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6676);
8221 show_backtrace(1);
8222 }
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) {
8228 var11 = 1;
8229 } else {
8230 if(cltype12 >= var_pexprnode5->type->table_size) {
8231 var11 = 0;
8232 } else {
8233 var11 = var_pexprnode5->type->type_table[cltype12] == idtype13;
8234 }
8235 }
8236 if (unlikely(!var11)) {
8237 PRINT_ERROR("Runtime error: %s", "Assert failed");
8238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6678);
8239 show_backtrace(1);
8240 }
8241 var14 = NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr);
8242 {
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>*/
8244 }
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> */
8248 {
8249 var16 = nit___nit__Parser___go_to(var_p, var15);
8250 }
8251 {
8252 nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8253 }
8254 RET_LABEL:;
8255 }
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 */;
8277 int cltype;
8278 int idtype;
8279 val* var_tidnode3 /* var tidnode3: nullable Object */;
8280 short int var9 /* : Bool */;
8281 int cltype10;
8282 int idtype11;
8283 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
8284 short int var12 /* : Bool */;
8285 int cltype13;
8286 int idtype14;
8287 val* var_passignopnode5 /* var passignopnode5: nullable Object */;
8288 short int var15 /* : Bool */;
8289 int cltype16;
8290 int idtype17;
8291 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
8292 short int var18 /* : Bool */;
8293 int cltype19;
8294 int idtype20;
8295 val* var21 /* : ACallReassignExpr */;
8296 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8297 long var22 /* : Int */;
8298 long var23 /* : Int */;
8299 var_p = p0;
8300 var = NULL;
8301 var_node_list = var;
8302 {
8303 var1 = nit___nit__Parser___pop(var_p);
8304 }
8305 var_nodearraylist7 = var1;
8306 {
8307 var2 = nit___nit__Parser___pop(var_p);
8308 }
8309 var_nodearraylist6 = var2;
8310 {
8311 var3 = nit___nit__Parser___pop(var_p);
8312 }
8313 var_nodearraylist5 = var3;
8314 {
8315 var4 = nit___nit__Parser___pop(var_p);
8316 }
8317 var_nodearraylist4 = var4;
8318 {
8319 var5 = nit___nit__Parser___pop(var_p);
8320 }
8321 var_nodearraylist3 = var5;
8322 {
8323 var6 = nit___nit__Parser___pop(var_p);
8324 }
8325 var_nodearraylist2 = var6;
8326 {
8327 var7 = nit___nit__Parser___pop(var_p);
8328 }
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) {
8335 var8 = 1;
8336 } else {
8337 if(cltype >= var_pexprnode2->type->table_size) {
8338 var8 = 0;
8339 } else {
8340 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
8341 }
8342 }
8343 if (unlikely(!var8)) {
8344 PRINT_ERROR("Runtime error: %s", "Assert failed");
8345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6702);
8346 show_backtrace(1);
8347 }
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) {
8353 var9 = 1;
8354 } else {
8355 if(cltype10 >= var_tidnode3->type->table_size) {
8356 var9 = 0;
8357 } else {
8358 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
8359 }
8360 }
8361 if (unlikely(!var9)) {
8362 PRINT_ERROR("Runtime error: %s", "Assert failed");
8363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6704);
8364 show_backtrace(1);
8365 }
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) {
8371 var12 = 1;
8372 } else {
8373 if(cltype13 >= var_pexprsnode4->type->table_size) {
8374 var12 = 0;
8375 } else {
8376 var12 = var_pexprsnode4->type->type_table[cltype13] == idtype14;
8377 }
8378 }
8379 if (unlikely(!var12)) {
8380 PRINT_ERROR("Runtime error: %s", "Assert failed");
8381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6706);
8382 show_backtrace(1);
8383 }
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) {
8389 var15 = 1;
8390 } else {
8391 if(cltype16 >= var_passignopnode5->type->table_size) {
8392 var15 = 0;
8393 } else {
8394 var15 = var_passignopnode5->type->type_table[cltype16] == idtype17;
8395 }
8396 }
8397 if (unlikely(!var15)) {
8398 PRINT_ERROR("Runtime error: %s", "Assert failed");
8399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6708);
8400 show_backtrace(1);
8401 }
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) {
8407 var18 = 1;
8408 } else {
8409 if(cltype19 >= var_pexprnode6->type->table_size) {
8410 var18 = 0;
8411 } else {
8412 var18 = var_pexprnode6->type->type_table[cltype19] == idtype20;
8413 }
8414 }
8415 if (unlikely(!var18)) {
8416 PRINT_ERROR("Runtime error: %s", "Assert failed");
8417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6710);
8418 show_backtrace(1);
8419 }
8420 var21 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
8421 {
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>*/
8423 }
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> */
8427 {
8428 var23 = nit___nit__Parser___go_to(var_p, var22);
8429 }
8430 {
8431 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8432 }
8433 RET_LABEL:;
8434 }
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 */;
8454 int cltype;
8455 int idtype;
8456 val* var_tidnode3 /* var tidnode3: nullable Object */;
8457 short int var8 /* : Bool */;
8458 int cltype9;
8459 int idtype10;
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 */;
8466 int cltype14;
8467 int idtype15;
8468 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
8469 short int var16 /* : Bool */;
8470 int cltype17;
8471 int idtype18;
8472 val* var19 /* : ACallReassignExpr */;
8473 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8474 long var20 /* : Int */;
8475 long var21 /* : Int */;
8476 var_p = p0;
8477 var = NULL;
8478 var_node_list = var;
8479 {
8480 var1 = nit___nit__Parser___pop(var_p);
8481 }
8482 var_nodearraylist6 = var1;
8483 {
8484 var2 = nit___nit__Parser___pop(var_p);
8485 }
8486 var_nodearraylist5 = var2;
8487 {
8488 var3 = nit___nit__Parser___pop(var_p);
8489 }
8490 var_nodearraylist4 = var3;
8491 {
8492 var4 = nit___nit__Parser___pop(var_p);
8493 }
8494 var_nodearraylist3 = var4;
8495 {
8496 var5 = nit___nit__Parser___pop(var_p);
8497 }
8498 var_nodearraylist2 = var5;
8499 {
8500 var6 = nit___nit__Parser___pop(var_p);
8501 }
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) {
8508 var7 = 1;
8509 } else {
8510 if(cltype >= var_pexprnode2->type->table_size) {
8511 var7 = 0;
8512 } else {
8513 var7 = var_pexprnode2->type->type_table[cltype] == idtype;
8514 }
8515 }
8516 if (unlikely(!var7)) {
8517 PRINT_ERROR("Runtime error: %s", "Assert failed");
8518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6734);
8519 show_backtrace(1);
8520 }
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) {
8526 var8 = 1;
8527 } else {
8528 if(cltype9 >= var_tidnode3->type->table_size) {
8529 var8 = 0;
8530 } else {
8531 var8 = var_tidnode3->type->type_table[cltype9] == idtype10;
8532 }
8533 }
8534 if (unlikely(!var8)) {
8535 PRINT_ERROR("Runtime error: %s", "Assert failed");
8536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6736);
8537 show_backtrace(1);
8538 }
8539 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
8540 {
8541 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
8542 }
8543 var_listnode5 = var11;
8544 var12 = NEW_nit__AListExprs(&type_nit__AListExprs);
8545 {
8546 nit__parser_prod___AListExprs___init_alistexprs(var12, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
8547 }
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) {
8554 var13 = 1;
8555 } else {
8556 if(cltype14 >= var_passignopnode6->type->table_size) {
8557 var13 = 0;
8558 } else {
8559 var13 = var_passignopnode6->type->type_table[cltype14] == idtype15;
8560 }
8561 }
8562 if (unlikely(!var13)) {
8563 PRINT_ERROR("Runtime error: %s", "Assert failed");
8564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6742);
8565 show_backtrace(1);
8566 }
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) {
8572 var16 = 1;
8573 } else {
8574 if(cltype17 >= var_pexprnode7->type->table_size) {
8575 var16 = 0;
8576 } else {
8577 var16 = var_pexprnode7->type->type_table[cltype17] == idtype18;
8578 }
8579 }
8580 if (unlikely(!var16)) {
8581 PRINT_ERROR("Runtime error: %s", "Assert failed");
8582 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6744);
8583 show_backtrace(1);
8584 }
8585 var19 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
8586 {
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>*/
8588 }
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> */
8592 {
8593 var21 = nit___nit__Parser___go_to(var_p, var20);
8594 }
8595 {
8596 nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8597 }
8598 RET_LABEL:;
8599 }
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 */;
8623 int cltype;
8624 int idtype;
8625 val* var_tidnode3 /* var tidnode3: nullable Object */;
8626 short int var10 /* : Bool */;
8627 int cltype11;
8628 int idtype12;
8629 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
8630 short int var13 /* : Bool */;
8631 int cltype14;
8632 int idtype15;
8633 val* var_passignopnode5 /* var passignopnode5: nullable Object */;
8634 short int var16 /* : Bool */;
8635 int cltype17;
8636 int idtype18;
8637 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
8638 short int var19 /* : Bool */;
8639 int cltype20;
8640 int idtype21;
8641 val* var22 /* : ACallReassignExpr */;
8642 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8643 long var23 /* : Int */;
8644 long var24 /* : Int */;
8645 var_p = p0;
8646 var = NULL;
8647 var_node_list = var;
8648 {
8649 var1 = nit___nit__Parser___pop(var_p);
8650 }
8651 var_nodearraylist8 = var1;
8652 {
8653 var2 = nit___nit__Parser___pop(var_p);
8654 }
8655 var_nodearraylist7 = var2;
8656 {
8657 var3 = nit___nit__Parser___pop(var_p);
8658 }
8659 var_nodearraylist6 = var3;
8660 {
8661 var4 = nit___nit__Parser___pop(var_p);
8662 }
8663 var_nodearraylist5 = var4;
8664 {
8665 var5 = nit___nit__Parser___pop(var_p);
8666 }
8667 var_nodearraylist4 = var5;
8668 {
8669 var6 = nit___nit__Parser___pop(var_p);
8670 }
8671 var_nodearraylist3 = var6;
8672 {
8673 var7 = nit___nit__Parser___pop(var_p);
8674 }
8675 var_nodearraylist2 = var7;
8676 {
8677 var8 = nit___nit__Parser___pop(var_p);
8678 }
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) {
8685 var9 = 1;
8686 } else {
8687 if(cltype >= var_pexprnode2->type->table_size) {
8688 var9 = 0;
8689 } else {
8690 var9 = var_pexprnode2->type->type_table[cltype] == idtype;
8691 }
8692 }
8693 if (unlikely(!var9)) {
8694 PRINT_ERROR("Runtime error: %s", "Assert failed");
8695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6770);
8696 show_backtrace(1);
8697 }
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) {
8703 var10 = 1;
8704 } else {
8705 if(cltype11 >= var_tidnode3->type->table_size) {
8706 var10 = 0;
8707 } else {
8708 var10 = var_tidnode3->type->type_table[cltype11] == idtype12;
8709 }
8710 }
8711 if (unlikely(!var10)) {
8712 PRINT_ERROR("Runtime error: %s", "Assert failed");
8713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6772);
8714 show_backtrace(1);
8715 }
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) {
8721 var13 = 1;
8722 } else {
8723 if(cltype14 >= var_pexprsnode4->type->table_size) {
8724 var13 = 0;
8725 } else {
8726 var13 = var_pexprsnode4->type->type_table[cltype14] == idtype15;
8727 }
8728 }
8729 if (unlikely(!var13)) {
8730 PRINT_ERROR("Runtime error: %s", "Assert failed");
8731 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6774);
8732 show_backtrace(1);
8733 }
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) {
8739 var16 = 1;
8740 } else {
8741 if(cltype17 >= var_passignopnode5->type->table_size) {
8742 var16 = 0;
8743 } else {
8744 var16 = var_passignopnode5->type->type_table[cltype17] == idtype18;
8745 }
8746 }
8747 if (unlikely(!var16)) {
8748 PRINT_ERROR("Runtime error: %s", "Assert failed");
8749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6776);
8750 show_backtrace(1);
8751 }
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) {
8757 var19 = 1;
8758 } else {
8759 if(cltype20 >= var_pexprnode6->type->table_size) {
8760 var19 = 0;
8761 } else {
8762 var19 = var_pexprnode6->type->type_table[cltype20] == idtype21;
8763 }
8764 }
8765 if (unlikely(!var19)) {
8766 PRINT_ERROR("Runtime error: %s", "Assert failed");
8767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6778);
8768 show_backtrace(1);
8769 }
8770 var22 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
8771 {
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>*/
8773 }
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> */
8777 {
8778 var24 = nit___nit__Parser___go_to(var_p, var23);
8779 }
8780 {
8781 nit___nit__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8782 }
8783 RET_LABEL:;
8784 }
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 */;
8806 int cltype;
8807 int idtype;
8808 val* var_tidnode3 /* var tidnode3: nullable Object */;
8809 short int var9 /* : Bool */;
8810 int cltype10;
8811 int idtype11;
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 */;
8818 int cltype15;
8819 int idtype16;
8820 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
8821 short int var17 /* : Bool */;
8822 int cltype18;
8823 int idtype19;
8824 val* var20 /* : ACallReassignExpr */;
8825 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8826 long var21 /* : Int */;
8827 long var22 /* : Int */;
8828 var_p = p0;
8829 var = NULL;
8830 var_node_list = var;
8831 {
8832 var1 = nit___nit__Parser___pop(var_p);
8833 }
8834 var_nodearraylist7 = var1;
8835 {
8836 var2 = nit___nit__Parser___pop(var_p);
8837 }
8838 var_nodearraylist6 = var2;
8839 {
8840 var3 = nit___nit__Parser___pop(var_p);
8841 }
8842 var_nodearraylist5 = var3;
8843 {
8844 var4 = nit___nit__Parser___pop(var_p);
8845 }
8846 var_nodearraylist4 = var4;
8847 {
8848 var5 = nit___nit__Parser___pop(var_p);
8849 }
8850 var_nodearraylist3 = var5;
8851 {
8852 var6 = nit___nit__Parser___pop(var_p);
8853 }
8854 var_nodearraylist2 = var6;
8855 {
8856 var7 = nit___nit__Parser___pop(var_p);
8857 }
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) {
8864 var8 = 1;
8865 } else {
8866 if(cltype >= var_pexprnode2->type->table_size) {
8867 var8 = 0;
8868 } else {
8869 var8 = var_pexprnode2->type->type_table[cltype] == idtype;
8870 }
8871 }
8872 if (unlikely(!var8)) {
8873 PRINT_ERROR("Runtime error: %s", "Assert failed");
8874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6803);
8875 show_backtrace(1);
8876 }
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) {
8882 var9 = 1;
8883 } else {
8884 if(cltype10 >= var_tidnode3->type->table_size) {
8885 var9 = 0;
8886 } else {
8887 var9 = var_tidnode3->type->type_table[cltype10] == idtype11;
8888 }
8889 }
8890 if (unlikely(!var9)) {
8891 PRINT_ERROR("Runtime error: %s", "Assert failed");
8892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6805);
8893 show_backtrace(1);
8894 }
8895 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
8896 {
8897 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
8898 }
8899 var_listnode5 = var12;
8900 var13 = NEW_nit__AListExprs(&type_nit__AListExprs);
8901 {
8902 nit__parser_prod___AListExprs___init_alistexprs(var13, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
8903 }
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) {
8910 var14 = 1;
8911 } else {
8912 if(cltype15 >= var_passignopnode6->type->table_size) {
8913 var14 = 0;
8914 } else {
8915 var14 = var_passignopnode6->type->type_table[cltype15] == idtype16;
8916 }
8917 }
8918 if (unlikely(!var14)) {
8919 PRINT_ERROR("Runtime error: %s", "Assert failed");
8920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6811);
8921 show_backtrace(1);
8922 }
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) {
8928 var17 = 1;
8929 } else {
8930 if(cltype18 >= var_pexprnode7->type->table_size) {
8931 var17 = 0;
8932 } else {
8933 var17 = var_pexprnode7->type->type_table[cltype18] == idtype19;
8934 }
8935 }
8936 if (unlikely(!var17)) {
8937 PRINT_ERROR("Runtime error: %s", "Assert failed");
8938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6813);
8939 show_backtrace(1);
8940 }
8941 var20 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
8942 {
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>*/
8944 }
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> */
8948 {
8949 var22 = nit___nit__Parser___go_to(var_p, var21);
8950 }
8951 {
8952 nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8953 }
8954 RET_LABEL:;
8955 }
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 */;
8981 int cltype;
8982 int idtype;
8983 val* var_tidnode3 /* var tidnode3: nullable Object */;
8984 short int var11 /* : Bool */;
8985 int cltype12;
8986 int idtype13;
8987 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
8988 short int var14 /* : Bool */;
8989 int cltype15;
8990 int idtype16;
8991 val* var_passignopnode5 /* var passignopnode5: nullable Object */;
8992 short int var17 /* : Bool */;
8993 int cltype18;
8994 int idtype19;
8995 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
8996 short int var20 /* : Bool */;
8997 int cltype21;
8998 int idtype22;
8999 val* var23 /* : ACallReassignExpr */;
9000 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9001 long var24 /* : Int */;
9002 long var25 /* : Int */;
9003 var_p = p0;
9004 var = NULL;
9005 var_node_list = var;
9006 {
9007 var1 = nit___nit__Parser___pop(var_p);
9008 }
9009 var_nodearraylist9 = var1;
9010 {
9011 var2 = nit___nit__Parser___pop(var_p);
9012 }
9013 var_nodearraylist8 = var2;
9014 {
9015 var3 = nit___nit__Parser___pop(var_p);
9016 }
9017 var_nodearraylist7 = var3;
9018 {
9019 var4 = nit___nit__Parser___pop(var_p);
9020 }
9021 var_nodearraylist6 = var4;
9022 {
9023 var5 = nit___nit__Parser___pop(var_p);
9024 }
9025 var_nodearraylist5 = var5;
9026 {
9027 var6 = nit___nit__Parser___pop(var_p);
9028 }
9029 var_nodearraylist4 = var6;
9030 {
9031 var7 = nit___nit__Parser___pop(var_p);
9032 }
9033 var_nodearraylist3 = var7;
9034 {
9035 var8 = nit___nit__Parser___pop(var_p);
9036 }
9037 var_nodearraylist2 = var8;
9038 {
9039 var9 = nit___nit__Parser___pop(var_p);
9040 }
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) {
9047 var10 = 1;
9048 } else {
9049 if(cltype >= var_pexprnode2->type->table_size) {
9050 var10 = 0;
9051 } else {
9052 var10 = var_pexprnode2->type->type_table[cltype] == idtype;
9053 }
9054 }
9055 if (unlikely(!var10)) {
9056 PRINT_ERROR("Runtime error: %s", "Assert failed");
9057 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6840);
9058 show_backtrace(1);
9059 }
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) {
9065 var11 = 1;
9066 } else {
9067 if(cltype12 >= var_tidnode3->type->table_size) {
9068 var11 = 0;
9069 } else {
9070 var11 = var_tidnode3->type->type_table[cltype12] == idtype13;
9071 }
9072 }
9073 if (unlikely(!var11)) {
9074 PRINT_ERROR("Runtime error: %s", "Assert failed");
9075 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6842);
9076 show_backtrace(1);
9077 }
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) {
9083 var14 = 1;
9084 } else {
9085 if(cltype15 >= var_pexprsnode4->type->table_size) {
9086 var14 = 0;
9087 } else {
9088 var14 = var_pexprsnode4->type->type_table[cltype15] == idtype16;
9089 }
9090 }
9091 if (unlikely(!var14)) {
9092 PRINT_ERROR("Runtime error: %s", "Assert failed");
9093 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6844);
9094 show_backtrace(1);
9095 }
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) {
9101 var17 = 1;
9102 } else {
9103 if(cltype18 >= var_passignopnode5->type->table_size) {
9104 var17 = 0;
9105 } else {
9106 var17 = var_passignopnode5->type->type_table[cltype18] == idtype19;
9107 }
9108 }
9109 if (unlikely(!var17)) {
9110 PRINT_ERROR("Runtime error: %s", "Assert failed");
9111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6846);
9112 show_backtrace(1);
9113 }
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) {
9119 var20 = 1;
9120 } else {
9121 if(cltype21 >= var_pexprnode6->type->table_size) {
9122 var20 = 0;
9123 } else {
9124 var20 = var_pexprnode6->type->type_table[cltype21] == idtype22;
9125 }
9126 }
9127 if (unlikely(!var20)) {
9128 PRINT_ERROR("Runtime error: %s", "Assert failed");
9129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6848);
9130 show_backtrace(1);
9131 }
9132 var23 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9133 {
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>*/
9135 }
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> */
9139 {
9140 var25 = nit___nit__Parser___go_to(var_p, var24);
9141 }
9142 {
9143 nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9144 }
9145 RET_LABEL:;
9146 }
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 */;
9170 int cltype;
9171 int idtype;
9172 val* var_tidnode3 /* var tidnode3: nullable Object */;
9173 short int var10 /* : Bool */;
9174 int cltype11;
9175 int idtype12;
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 */;
9182 int cltype16;
9183 int idtype17;
9184 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
9185 short int var18 /* : Bool */;
9186 int cltype19;
9187 int idtype20;
9188 val* var21 /* : ACallReassignExpr */;
9189 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9190 long var22 /* : Int */;
9191 long var23 /* : Int */;
9192 var_p = p0;
9193 var = NULL;
9194 var_node_list = var;
9195 {
9196 var1 = nit___nit__Parser___pop(var_p);
9197 }
9198 var_nodearraylist8 = var1;
9199 {
9200 var2 = nit___nit__Parser___pop(var_p);
9201 }
9202 var_nodearraylist7 = var2;
9203 {
9204 var3 = nit___nit__Parser___pop(var_p);
9205 }
9206 var_nodearraylist6 = var3;
9207 {
9208 var4 = nit___nit__Parser___pop(var_p);
9209 }
9210 var_nodearraylist5 = var4;
9211 {
9212 var5 = nit___nit__Parser___pop(var_p);
9213 }
9214 var_nodearraylist4 = var5;
9215 {
9216 var6 = nit___nit__Parser___pop(var_p);
9217 }
9218 var_nodearraylist3 = var6;
9219 {
9220 var7 = nit___nit__Parser___pop(var_p);
9221 }
9222 var_nodearraylist2 = var7;
9223 {
9224 var8 = nit___nit__Parser___pop(var_p);
9225 }
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) {
9232 var9 = 1;
9233 } else {
9234 if(cltype >= var_pexprnode2->type->table_size) {
9235 var9 = 0;
9236 } else {
9237 var9 = var_pexprnode2->type->type_table[cltype] == idtype;
9238 }
9239 }
9240 if (unlikely(!var9)) {
9241 PRINT_ERROR("Runtime error: %s", "Assert failed");
9242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6874);
9243 show_backtrace(1);
9244 }
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) {
9250 var10 = 1;
9251 } else {
9252 if(cltype11 >= var_tidnode3->type->table_size) {
9253 var10 = 0;
9254 } else {
9255 var10 = var_tidnode3->type->type_table[cltype11] == idtype12;
9256 }
9257 }
9258 if (unlikely(!var10)) {
9259 PRINT_ERROR("Runtime error: %s", "Assert failed");
9260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6876);
9261 show_backtrace(1);
9262 }
9263 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
9264 {
9265 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
9266 }
9267 var_listnode5 = var13;
9268 var14 = NEW_nit__AListExprs(&type_nit__AListExprs);
9269 {
9270 nit__parser_prod___AListExprs___init_alistexprs(var14, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
9271 }
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) {
9278 var15 = 1;
9279 } else {
9280 if(cltype16 >= var_passignopnode6->type->table_size) {
9281 var15 = 0;
9282 } else {
9283 var15 = var_passignopnode6->type->type_table[cltype16] == idtype17;
9284 }
9285 }
9286 if (unlikely(!var15)) {
9287 PRINT_ERROR("Runtime error: %s", "Assert failed");
9288 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6882);
9289 show_backtrace(1);
9290 }
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) {
9296 var18 = 1;
9297 } else {
9298 if(cltype19 >= var_pexprnode7->type->table_size) {
9299 var18 = 0;
9300 } else {
9301 var18 = var_pexprnode7->type->type_table[cltype19] == idtype20;
9302 }
9303 }
9304 if (unlikely(!var18)) {
9305 PRINT_ERROR("Runtime error: %s", "Assert failed");
9306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6884);
9307 show_backtrace(1);
9308 }
9309 var21 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9310 {
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>*/
9312 }
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> */
9316 {
9317 var23 = nit___nit__Parser___go_to(var_p, var22);
9318 }
9319 {
9320 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9321 }
9322 RET_LABEL:;
9323 }
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 */;
9341 int cltype;
9342 int idtype;
9343 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
9344 short int var8 /* : Bool */;
9345 int cltype9;
9346 int idtype10;
9347 val* var_passignopnode5 /* var passignopnode5: nullable Object */;
9348 short int var11 /* : Bool */;
9349 int cltype12;
9350 int idtype13;
9351 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
9352 short int var14 /* : Bool */;
9353 int cltype15;
9354 int idtype16;
9355 val* var17 /* : ACallReassignExpr */;
9356 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9357 long var18 /* : Int */;
9358 long var19 /* : Int */;
9359 var_p = p0;
9360 var = NULL;
9361 var_node_list = var;
9362 {
9363 var1 = nit___nit__Parser___pop(var_p);
9364 }
9365 var_nodearraylist4 = var1;
9366 {
9367 var2 = nit___nit__Parser___pop(var_p);
9368 }
9369 var_nodearraylist3 = var2;
9370 {
9371 var3 = nit___nit__Parser___pop(var_p);
9372 }
9373 var_nodearraylist2 = var3;
9374 {
9375 var4 = nit___nit__Parser___pop(var_p);
9376 }
9377 var_nodearraylist1 = var4;
9378 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
9379 {
9380 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
9381 RET_LABEL6:(void)0;
9382 }
9383 }
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) {
9390 var7 = 1;
9391 } else {
9392 if(cltype >= var_tidnode3->type->table_size) {
9393 var7 = 0;
9394 } else {
9395 var7 = var_tidnode3->type->type_table[cltype] == idtype;
9396 }
9397 }
9398 if (unlikely(!var7)) {
9399 PRINT_ERROR("Runtime error: %s", "Assert failed");
9400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6907);
9401 show_backtrace(1);
9402 }
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) {
9408 var8 = 1;
9409 } else {
9410 if(cltype9 >= var_pexprsnode4->type->table_size) {
9411 var8 = 0;
9412 } else {
9413 var8 = var_pexprsnode4->type->type_table[cltype9] == idtype10;
9414 }
9415 }
9416 if (unlikely(!var8)) {
9417 PRINT_ERROR("Runtime error: %s", "Assert failed");
9418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6909);
9419 show_backtrace(1);
9420 }
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) {
9426 var11 = 1;
9427 } else {
9428 if(cltype12 >= var_passignopnode5->type->table_size) {
9429 var11 = 0;
9430 } else {
9431 var11 = var_passignopnode5->type->type_table[cltype12] == idtype13;
9432 }
9433 }
9434 if (unlikely(!var11)) {
9435 PRINT_ERROR("Runtime error: %s", "Assert failed");
9436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6911);
9437 show_backtrace(1);
9438 }
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) {
9444 var14 = 1;
9445 } else {
9446 if(cltype15 >= var_pexprnode6->type->table_size) {
9447 var14 = 0;
9448 } else {
9449 var14 = var_pexprnode6->type->type_table[cltype15] == idtype16;
9450 }
9451 }
9452 if (unlikely(!var14)) {
9453 PRINT_ERROR("Runtime error: %s", "Assert failed");
9454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6913);
9455 show_backtrace(1);
9456 }
9457 var17 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9458 {
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>*/
9460 }
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> */
9464 {
9465 var19 = nit___nit__Parser___go_to(var_p, var18);
9466 }
9467 {
9468 nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9469 }
9470 RET_LABEL:;
9471 }
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 */;
9487 int cltype;
9488 int idtype;
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 */;
9495 int cltype10;
9496 int idtype11;
9497 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
9498 short int var12 /* : Bool */;
9499 int cltype13;
9500 int idtype14;
9501 val* var15 /* : ACallReassignExpr */;
9502 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9503 long var16 /* : Int */;
9504 long var17 /* : Int */;
9505 var_p = p0;
9506 var = NULL;
9507 var_node_list = var;
9508 {
9509 var1 = nit___nit__Parser___pop(var_p);
9510 }
9511 var_nodearraylist3 = var1;
9512 {
9513 var2 = nit___nit__Parser___pop(var_p);
9514 }
9515 var_nodearraylist2 = var2;
9516 {
9517 var3 = nit___nit__Parser___pop(var_p);
9518 }
9519 var_nodearraylist1 = var3;
9520 var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
9521 {
9522 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
9523 RET_LABEL5:(void)0;
9524 }
9525 }
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) {
9532 var6 = 1;
9533 } else {
9534 if(cltype >= var_tidnode3->type->table_size) {
9535 var6 = 0;
9536 } else {
9537 var6 = var_tidnode3->type->type_table[cltype] == idtype;
9538 }
9539 }
9540 if (unlikely(!var6)) {
9541 PRINT_ERROR("Runtime error: %s", "Assert failed");
9542 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6935);
9543 show_backtrace(1);
9544 }
9545 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
9546 {
9547 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
9548 }
9549 var_listnode5 = var7;
9550 var8 = NEW_nit__AListExprs(&type_nit__AListExprs);
9551 {
9552 nit__parser_prod___AListExprs___init_alistexprs(var8, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
9553 }
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) {
9560 var9 = 1;
9561 } else {
9562 if(cltype10 >= var_passignopnode6->type->table_size) {
9563 var9 = 0;
9564 } else {
9565 var9 = var_passignopnode6->type->type_table[cltype10] == idtype11;
9566 }
9567 }
9568 if (unlikely(!var9)) {
9569 PRINT_ERROR("Runtime error: %s", "Assert failed");
9570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6941);
9571 show_backtrace(1);
9572 }
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) {
9578 var12 = 1;
9579 } else {
9580 if(cltype13 >= var_pexprnode7->type->table_size) {
9581 var12 = 0;
9582 } else {
9583 var12 = var_pexprnode7->type->type_table[cltype13] == idtype14;
9584 }
9585 }
9586 if (unlikely(!var12)) {
9587 PRINT_ERROR("Runtime error: %s", "Assert failed");
9588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6943);
9589 show_backtrace(1);
9590 }
9591 var15 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9592 {
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>*/
9594 }
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> */
9598 {
9599 var17 = nit___nit__Parser___go_to(var_p, var16);
9600 }
9601 {
9602 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9603 }
9604 RET_LABEL:;
9605 }
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 */;
9625 int cltype;
9626 int idtype;
9627 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
9628 short int var9 /* : Bool */;
9629 int cltype10;
9630 int idtype11;
9631 val* var_passignopnode5 /* var passignopnode5: nullable Object */;
9632 short int var12 /* : Bool */;
9633 int cltype13;
9634 int idtype14;
9635 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
9636 short int var15 /* : Bool */;
9637 int cltype16;
9638 int idtype17;
9639 val* var18 /* : ACallReassignExpr */;
9640 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9641 long var19 /* : Int */;
9642 long var20 /* : Int */;
9643 var_p = p0;
9644 var = NULL;
9645 var_node_list = var;
9646 {
9647 var1 = nit___nit__Parser___pop(var_p);
9648 }
9649 var_nodearraylist5 = var1;
9650 {
9651 var2 = nit___nit__Parser___pop(var_p);
9652 }
9653 var_nodearraylist4 = var2;
9654 {
9655 var3 = nit___nit__Parser___pop(var_p);
9656 }
9657 var_nodearraylist3 = var3;
9658 {
9659 var4 = nit___nit__Parser___pop(var_p);
9660 }
9661 var_nodearraylist2 = var4;
9662 {
9663 var5 = nit___nit__Parser___pop(var_p);
9664 }
9665 var_nodearraylist1 = var5;
9666 var6 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
9667 {
9668 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
9669 RET_LABEL7:(void)0;
9670 }
9671 }
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) {
9678 var8 = 1;
9679 } else {
9680 if(cltype >= var_tidnode3->type->table_size) {
9681 var8 = 0;
9682 } else {
9683 var8 = var_tidnode3->type->type_table[cltype] == idtype;
9684 }
9685 }
9686 if (unlikely(!var8)) {
9687 PRINT_ERROR("Runtime error: %s", "Assert failed");
9688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6967);
9689 show_backtrace(1);
9690 }
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) {
9696 var9 = 1;
9697 } else {
9698 if(cltype10 >= var_pexprsnode4->type->table_size) {
9699 var9 = 0;
9700 } else {
9701 var9 = var_pexprsnode4->type->type_table[cltype10] == idtype11;
9702 }
9703 }
9704 if (unlikely(!var9)) {
9705 PRINT_ERROR("Runtime error: %s", "Assert failed");
9706 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6969);
9707 show_backtrace(1);
9708 }
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) {
9714 var12 = 1;
9715 } else {
9716 if(cltype13 >= var_passignopnode5->type->table_size) {
9717 var12 = 0;
9718 } else {
9719 var12 = var_passignopnode5->type->type_table[cltype13] == idtype14;
9720 }
9721 }
9722 if (unlikely(!var12)) {
9723 PRINT_ERROR("Runtime error: %s", "Assert failed");
9724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6971);
9725 show_backtrace(1);
9726 }
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) {
9732 var15 = 1;
9733 } else {
9734 if(cltype16 >= var_pexprnode6->type->table_size) {
9735 var15 = 0;
9736 } else {
9737 var15 = var_pexprnode6->type->type_table[cltype16] == idtype17;
9738 }
9739 }
9740 if (unlikely(!var15)) {
9741 PRINT_ERROR("Runtime error: %s", "Assert failed");
9742 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6973);
9743 show_backtrace(1);
9744 }
9745 var18 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9746 {
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>*/
9748 }
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> */
9752 {
9753 var20 = nit___nit__Parser___go_to(var_p, var19);
9754 }
9755 {
9756 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9757 }
9758 RET_LABEL:;
9759 }
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 */;
9777 int cltype;
9778 int idtype;
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 */;
9785 int cltype11;
9786 int idtype12;
9787 val* var_pexprnode7 /* var pexprnode7: nullable Object */;
9788 short int var13 /* : Bool */;
9789 int cltype14;
9790 int idtype15;
9791 val* var16 /* : ACallReassignExpr */;
9792 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9793 long var17 /* : Int */;
9794 long var18 /* : Int */;
9795 var_p = p0;
9796 var = NULL;
9797 var_node_list = var;
9798 {
9799 var1 = nit___nit__Parser___pop(var_p);
9800 }
9801 var_nodearraylist4 = var1;
9802 {
9803 var2 = nit___nit__Parser___pop(var_p);
9804 }
9805 var_nodearraylist3 = var2;
9806 {
9807 var3 = nit___nit__Parser___pop(var_p);
9808 }
9809 var_nodearraylist2 = var3;
9810 {
9811 var4 = nit___nit__Parser___pop(var_p);
9812 }
9813 var_nodearraylist1 = var4;
9814 var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr);
9815 {
9816 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
9817 RET_LABEL6:(void)0;
9818 }
9819 }
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) {
9826 var7 = 1;
9827 } else {
9828 if(cltype >= var_tidnode3->type->table_size) {
9829 var7 = 0;
9830 } else {
9831 var7 = var_tidnode3->type->type_table[cltype] == idtype;
9832 }
9833 }
9834 if (unlikely(!var7)) {
9835 PRINT_ERROR("Runtime error: %s", "Assert failed");
9836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 6996);
9837 show_backtrace(1);
9838 }
9839 var8 = NEW_standard__Array(&type_standard__Array__standard__Object);
9840 {
9841 standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on <var8:Array[Object]>*/
9842 }
9843 var_listnode5 = var8;
9844 var9 = NEW_nit__AListExprs(&type_nit__AListExprs);
9845 {
9846 nit__parser_prod___AListExprs___init_alistexprs(var9, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
9847 }
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) {
9854 var10 = 1;
9855 } else {
9856 if(cltype11 >= var_passignopnode6->type->table_size) {
9857 var10 = 0;
9858 } else {
9859 var10 = var_passignopnode6->type->type_table[cltype11] == idtype12;
9860 }
9861 }
9862 if (unlikely(!var10)) {
9863 PRINT_ERROR("Runtime error: %s", "Assert failed");
9864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7002);
9865 show_backtrace(1);
9866 }
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) {
9872 var13 = 1;
9873 } else {
9874 if(cltype14 >= var_pexprnode7->type->table_size) {
9875 var13 = 0;
9876 } else {
9877 var13 = var_pexprnode7->type->type_table[cltype14] == idtype15;
9878 }
9879 }
9880 if (unlikely(!var13)) {
9881 PRINT_ERROR("Runtime error: %s", "Assert failed");
9882 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7004);
9883 show_backtrace(1);
9884 }
9885 var16 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr);
9886 {
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>*/
9888 }
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> */
9892 {
9893 var18 = nit___nit__Parser___go_to(var_p, var17);
9894 }
9895 {
9896 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9897 }
9898 RET_LABEL:;
9899 }