misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__parser.sep.2.c
1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction0#action for (self: ReduceAction0, Parser) */
3 void nit__parser___nit__parser__ReduceAction0___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_nodearraylist1 /* var nodearraylist1: nullable Object */;
9 val* var2 /* : Array[Object] */;
10 val* var_listnode3 /* var listnode3: Array[Object] */;
11 val* var3 /* : Array[Object] */;
12 val* var_listnode4 /* var listnode4: Array[Object] */;
13 val* var4 /* : Array[Object] */;
14 val* var_listnode6 /* var listnode6: Array[Object] */;
15 val* var_pclassdefnode5 /* var pclassdefnode5: nullable Object */;
16 short int var5 /* : Bool */;
17 int cltype;
18 int idtype;
19 val* var6 /* : null */;
20 short int var7 /* : Bool */;
21 short int var8 /* : Bool */;
22 val* var_other /* var other: nullable Object */;
23 short int var10 /* : Bool */;
24 short int var11 /* : Bool */;
25 val* var12 /* : AModule */;
26 val* var13 /* : null */;
27 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
28 long var14 /* : Int */;
29 long var15 /* : Int */;
30 var_p = p0;
31 var = NULL;
32 var_node_list = var;
33 {
34 var1 = nit___nit__Parser___pop(var_p);
35 }
36 var_nodearraylist1 = var1;
37 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
38 {
39 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
40 }
41 var_listnode3 = var2;
42 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
43 {
44 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
45 }
46 var_listnode4 = var3;
47 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
48 {
49 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
50 }
51 var_listnode6 = var4;
52 var_pclassdefnode5 = var_nodearraylist1;
53 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
54 cltype = type_nullable__nit__AClassdef.color;
55 idtype = type_nullable__nit__AClassdef.id;
56 if(var_pclassdefnode5 == NULL) {
57 var5 = 1;
58 } else {
59 if(cltype >= var_pclassdefnode5->type->table_size) {
60 var5 = 0;
61 } else {
62 var5 = var_pclassdefnode5->type->type_table[cltype] == idtype;
63 }
64 }
65 if (unlikely(!var5)) {
66 PRINT_ERROR("Runtime error: %s", "Assert failed");
67 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1043);
68 show_backtrace(1);
69 }
70 var6 = NULL;
71 if (var_pclassdefnode5 == NULL) {
72 var7 = 0; /* is null */
73 } else {
74 var7 = 1; /* arg is null and recv is not */
75 }
76 if (0) {
77 { /* Inline kernel#Object#!= (var_pclassdefnode5,var6) on <var_pclassdefnode5:nullable Object(nullable AClassdef)> */
78 var_other = var6;
79 {
80 var10 = ((short int (*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other) /* == on <var_pclassdefnode5:nullable AClassdef(AClassdef)>*/;
81 }
82 var11 = !var10;
83 var8 = var11;
84 goto RET_LABEL9;
85 RET_LABEL9:(void)0;
86 }
87 var7 = var8;
88 }
89 if (var7){
90 {
91 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode6, var_pclassdefnode5); /* Direct call array#Array#add on <var_listnode6:Array[Object]>*/
92 }
93 } else {
94 }
95 var12 = NEW_nit__AModule(&type_nit__AModule);
96 var13 = NULL;
97 {
98 nit__parser_prod___AModule___init_amodule(var12, var13, var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on <var12:AModule>*/
99 }
100 var_pmodulenode1 = var12;
101 var_node_list = var_pmodulenode1;
102 var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction0> */
103 {
104 var15 = nit___nit__Parser___go_to(var_p, var14);
105 }
106 {
107 nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
108 }
109 RET_LABEL:;
110 }
111 /* method parser#ReduceAction1#action for (self: ReduceAction1, Parser) */
112 void nit__parser___nit__parser__ReduceAction1___nit__parser_work__ReduceAction__action(val* self, val* p0) {
113 val* var_p /* var p: Parser */;
114 val* var /* : null */;
115 val* var_node_list /* var node_list: nullable Object */;
116 val* var1 /* : nullable Object */;
117 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
118 val* var2 /* : nullable Object */;
119 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
120 val* var3 /* : Array[Object] */;
121 val* var_listnode3 /* var listnode3: Array[Object] */;
122 val* var4 /* : Array[Object] */;
123 val* var_listnode4 /* var listnode4: Array[Object] */;
124 val* var5 /* : Array[Object] */;
125 val* var_listnode6 /* var listnode6: Array[Object] */;
126 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
127 short int var6 /* : Bool */;
128 int cltype;
129 int idtype;
130 val* var_pclassdefnode5 /* var pclassdefnode5: nullable Object */;
131 short int var7 /* : Bool */;
132 int cltype8;
133 int idtype9;
134 val* var10 /* : null */;
135 short int var11 /* : Bool */;
136 short int var12 /* : Bool */;
137 val* var_other /* var other: nullable Object */;
138 short int var14 /* : Bool */;
139 short int var15 /* : Bool */;
140 val* var16 /* : AModule */;
141 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
142 long var17 /* : Int */;
143 long var18 /* : Int */;
144 var_p = p0;
145 var = NULL;
146 var_node_list = var;
147 {
148 var1 = nit___nit__Parser___pop(var_p);
149 }
150 var_nodearraylist2 = var1;
151 {
152 var2 = nit___nit__Parser___pop(var_p);
153 }
154 var_nodearraylist1 = var2;
155 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
156 {
157 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
158 }
159 var_listnode3 = var3;
160 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
161 {
162 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
163 }
164 var_listnode4 = var4;
165 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
166 {
167 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
168 }
169 var_listnode6 = var5;
170 var_pmoduledeclnode2 = var_nodearraylist1;
171 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
172 cltype = type_nullable__nit__AModuledecl.color;
173 idtype = type_nullable__nit__AModuledecl.id;
174 if(var_pmoduledeclnode2 == NULL) {
175 var6 = 1;
176 } else {
177 if(cltype >= var_pmoduledeclnode2->type->table_size) {
178 var6 = 0;
179 } else {
180 var6 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
181 }
182 }
183 if (unlikely(!var6)) {
184 PRINT_ERROR("Runtime error: %s", "Assert failed");
185 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1068);
186 show_backtrace(1);
187 }
188 var_pclassdefnode5 = var_nodearraylist2;
189 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
190 cltype8 = type_nullable__nit__AClassdef.color;
191 idtype9 = type_nullable__nit__AClassdef.id;
192 if(var_pclassdefnode5 == NULL) {
193 var7 = 1;
194 } else {
195 if(cltype8 >= var_pclassdefnode5->type->table_size) {
196 var7 = 0;
197 } else {
198 var7 = var_pclassdefnode5->type->type_table[cltype8] == idtype9;
199 }
200 }
201 if (unlikely(!var7)) {
202 PRINT_ERROR("Runtime error: %s", "Assert failed");
203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1070);
204 show_backtrace(1);
205 }
206 var10 = NULL;
207 if (var_pclassdefnode5 == NULL) {
208 var11 = 0; /* is null */
209 } else {
210 var11 = 1; /* arg is null and recv is not */
211 }
212 if (0) {
213 { /* Inline kernel#Object#!= (var_pclassdefnode5,var10) on <var_pclassdefnode5:nullable Object(nullable AClassdef)> */
214 var_other = var10;
215 {
216 var14 = ((short int (*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other) /* == on <var_pclassdefnode5:nullable AClassdef(AClassdef)>*/;
217 }
218 var15 = !var14;
219 var12 = var15;
220 goto RET_LABEL13;
221 RET_LABEL13:(void)0;
222 }
223 var11 = var12;
224 }
225 if (var11){
226 {
227 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode6, var_pclassdefnode5); /* Direct call array#Array#add on <var_listnode6:Array[Object]>*/
228 }
229 } else {
230 }
231 var16 = NEW_nit__AModule(&type_nit__AModule);
232 {
233 nit__parser_prod___AModule___init_amodule(var16, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on <var16:AModule>*/
234 }
235 var_pmodulenode1 = var16;
236 var_node_list = var_pmodulenode1;
237 var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction1> */
238 {
239 var18 = nit___nit__Parser___go_to(var_p, var17);
240 }
241 {
242 nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
243 }
244 RET_LABEL:;
245 }
246 /* method parser#ReduceAction2#action for (self: ReduceAction2, Parser) */
247 void nit__parser___nit__parser__ReduceAction2___nit__parser_work__ReduceAction__action(val* self, val* p0) {
248 val* var_p /* var p: Parser */;
249 val* var /* : null */;
250 val* var_node_list /* var node_list: nullable Object */;
251 val* var1 /* : nullable Object */;
252 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
253 val* var2 /* : nullable Object */;
254 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
255 val* var3 /* : Array[Object] */;
256 val* var_listnode4 /* var listnode4: Array[Object] */;
257 val* var4 /* : Array[Object] */;
258 val* var_listnode5 /* var listnode5: Array[Object] */;
259 val* var5 /* : Array[Object] */;
260 val* var_listnode7 /* var listnode7: Array[Object] */;
261 val* var_listnode3 /* var listnode3: nullable Object */;
262 short int var6 /* : Bool */;
263 int cltype;
264 int idtype;
265 val* var7 /* : Array[Object] */;
266 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
267 short int var8 /* : Bool */;
268 int cltype9;
269 int idtype10;
270 val* var11 /* : null */;
271 short int var12 /* : Bool */;
272 short int var13 /* : Bool */;
273 val* var_other /* var other: nullable Object */;
274 short int var15 /* : Bool */;
275 short int var16 /* : Bool */;
276 val* var17 /* : AModule */;
277 val* var18 /* : null */;
278 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
279 long var19 /* : Int */;
280 long var20 /* : Int */;
281 var_p = p0;
282 var = NULL;
283 var_node_list = var;
284 {
285 var1 = nit___nit__Parser___pop(var_p);
286 }
287 var_nodearraylist2 = var1;
288 {
289 var2 = nit___nit__Parser___pop(var_p);
290 }
291 var_nodearraylist1 = var2;
292 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
293 {
294 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
295 }
296 var_listnode4 = var3;
297 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
298 {
299 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
300 }
301 var_listnode5 = var4;
302 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
303 {
304 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
305 }
306 var_listnode7 = var5;
307 var_listnode3 = var_nodearraylist1;
308 /* <var_listnode3:nullable Object> isa Array[Object] */
309 cltype = type_standard__Array__standard__Object.color;
310 idtype = type_standard__Array__standard__Object.id;
311 if(var_listnode3 == NULL) {
312 var6 = 0;
313 } else {
314 if(cltype >= var_listnode3->type->table_size) {
315 var6 = 0;
316 } else {
317 var6 = var_listnode3->type->type_table[cltype] == idtype;
318 }
319 }
320 if (unlikely(!var6)) {
321 PRINT_ERROR("Runtime error: %s", "Assert failed");
322 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1095);
323 show_backtrace(1);
324 }
325 {
326 var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
327 }
328 var_listnode4 = var7;
329 var_pclassdefnode6 = var_nodearraylist2;
330 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
331 cltype9 = type_nullable__nit__AClassdef.color;
332 idtype10 = type_nullable__nit__AClassdef.id;
333 if(var_pclassdefnode6 == NULL) {
334 var8 = 1;
335 } else {
336 if(cltype9 >= var_pclassdefnode6->type->table_size) {
337 var8 = 0;
338 } else {
339 var8 = var_pclassdefnode6->type->type_table[cltype9] == idtype10;
340 }
341 }
342 if (unlikely(!var8)) {
343 PRINT_ERROR("Runtime error: %s", "Assert failed");
344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1098);
345 show_backtrace(1);
346 }
347 var11 = NULL;
348 if (var_pclassdefnode6 == NULL) {
349 var12 = 0; /* is null */
350 } else {
351 var12 = 1; /* arg is null and recv is not */
352 }
353 if (0) {
354 { /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
355 var_other = var11;
356 {
357 var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
358 }
359 var16 = !var15;
360 var13 = var16;
361 goto RET_LABEL14;
362 RET_LABEL14:(void)0;
363 }
364 var12 = var13;
365 }
366 if (var12){
367 {
368 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
369 }
370 } else {
371 }
372 var17 = NEW_nit__AModule(&type_nit__AModule);
373 var18 = NULL;
374 {
375 nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var17:AModule>*/
376 }
377 var_pmodulenode1 = var17;
378 var_node_list = var_pmodulenode1;
379 var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction2> */
380 {
381 var20 = nit___nit__Parser___go_to(var_p, var19);
382 }
383 {
384 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
385 }
386 RET_LABEL:;
387 }
388 /* method parser#ReduceAction3#action for (self: ReduceAction3, Parser) */
389 void nit__parser___nit__parser__ReduceAction3___nit__parser_work__ReduceAction__action(val* self, val* p0) {
390 val* var_p /* var p: Parser */;
391 val* var /* : null */;
392 val* var_node_list /* var node_list: nullable Object */;
393 val* var1 /* : nullable Object */;
394 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
395 val* var2 /* : nullable Object */;
396 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
397 val* var3 /* : nullable Object */;
398 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
399 val* var4 /* : Array[Object] */;
400 val* var_listnode4 /* var listnode4: Array[Object] */;
401 val* var5 /* : Array[Object] */;
402 val* var_listnode5 /* var listnode5: Array[Object] */;
403 val* var6 /* : Array[Object] */;
404 val* var_listnode7 /* var listnode7: Array[Object] */;
405 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
406 short int var7 /* : Bool */;
407 int cltype;
408 int idtype;
409 val* var_listnode3 /* var listnode3: nullable Object */;
410 short int var8 /* : Bool */;
411 int cltype9;
412 int idtype10;
413 val* var11 /* : Array[Object] */;
414 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
415 short int var12 /* : Bool */;
416 int cltype13;
417 int idtype14;
418 val* var15 /* : null */;
419 short int var16 /* : Bool */;
420 short int var17 /* : Bool */;
421 val* var_other /* var other: nullable Object */;
422 short int var19 /* : Bool */;
423 short int var20 /* : Bool */;
424 val* var21 /* : AModule */;
425 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
426 long var22 /* : Int */;
427 long var23 /* : Int */;
428 var_p = p0;
429 var = NULL;
430 var_node_list = var;
431 {
432 var1 = nit___nit__Parser___pop(var_p);
433 }
434 var_nodearraylist3 = var1;
435 {
436 var2 = nit___nit__Parser___pop(var_p);
437 }
438 var_nodearraylist2 = var2;
439 {
440 var3 = nit___nit__Parser___pop(var_p);
441 }
442 var_nodearraylist1 = var3;
443 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
444 {
445 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
446 }
447 var_listnode4 = var4;
448 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
449 {
450 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
451 }
452 var_listnode5 = var5;
453 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
454 {
455 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
456 }
457 var_listnode7 = var6;
458 var_pmoduledeclnode2 = var_nodearraylist1;
459 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
460 cltype = type_nullable__nit__AModuledecl.color;
461 idtype = type_nullable__nit__AModuledecl.id;
462 if(var_pmoduledeclnode2 == NULL) {
463 var7 = 1;
464 } else {
465 if(cltype >= var_pmoduledeclnode2->type->table_size) {
466 var7 = 0;
467 } else {
468 var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
469 }
470 }
471 if (unlikely(!var7)) {
472 PRINT_ERROR("Runtime error: %s", "Assert failed");
473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1124);
474 show_backtrace(1);
475 }
476 var_listnode3 = var_nodearraylist2;
477 /* <var_listnode3:nullable Object> isa Array[Object] */
478 cltype9 = type_standard__Array__standard__Object.color;
479 idtype10 = type_standard__Array__standard__Object.id;
480 if(var_listnode3 == NULL) {
481 var8 = 0;
482 } else {
483 if(cltype9 >= var_listnode3->type->table_size) {
484 var8 = 0;
485 } else {
486 var8 = var_listnode3->type->type_table[cltype9] == idtype10;
487 }
488 }
489 if (unlikely(!var8)) {
490 PRINT_ERROR("Runtime error: %s", "Assert failed");
491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1126);
492 show_backtrace(1);
493 }
494 {
495 var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
496 }
497 var_listnode4 = var11;
498 var_pclassdefnode6 = var_nodearraylist3;
499 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
500 cltype13 = type_nullable__nit__AClassdef.color;
501 idtype14 = type_nullable__nit__AClassdef.id;
502 if(var_pclassdefnode6 == NULL) {
503 var12 = 1;
504 } else {
505 if(cltype13 >= var_pclassdefnode6->type->table_size) {
506 var12 = 0;
507 } else {
508 var12 = var_pclassdefnode6->type->type_table[cltype13] == idtype14;
509 }
510 }
511 if (unlikely(!var12)) {
512 PRINT_ERROR("Runtime error: %s", "Assert failed");
513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1129);
514 show_backtrace(1);
515 }
516 var15 = NULL;
517 if (var_pclassdefnode6 == NULL) {
518 var16 = 0; /* is null */
519 } else {
520 var16 = 1; /* arg is null and recv is not */
521 }
522 if (0) {
523 { /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
524 var_other = var15;
525 {
526 var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
527 }
528 var20 = !var19;
529 var17 = var20;
530 goto RET_LABEL18;
531 RET_LABEL18:(void)0;
532 }
533 var16 = var17;
534 }
535 if (var16){
536 {
537 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
538 }
539 } else {
540 }
541 var21 = NEW_nit__AModule(&type_nit__AModule);
542 {
543 nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var21:AModule>*/
544 }
545 var_pmodulenode1 = var21;
546 var_node_list = var_pmodulenode1;
547 var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction3> */
548 {
549 var23 = nit___nit__Parser___go_to(var_p, var22);
550 }
551 {
552 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
553 }
554 RET_LABEL:;
555 }
556 /* method parser#ReduceAction4#action for (self: ReduceAction4, Parser) */
557 void nit__parser___nit__parser__ReduceAction4___nit__parser_work__ReduceAction__action(val* self, val* p0) {
558 val* var_p /* var p: Parser */;
559 val* var /* : null */;
560 val* var_node_list /* var node_list: nullable Object */;
561 val* var1 /* : nullable Object */;
562 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
563 val* var2 /* : nullable Object */;
564 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
565 val* var3 /* : Array[Object] */;
566 val* var_listnode3 /* var listnode3: Array[Object] */;
567 val* var4 /* : Array[Object] */;
568 val* var_listnode5 /* var listnode5: Array[Object] */;
569 val* var5 /* : Array[Object] */;
570 val* var_listnode7 /* var listnode7: Array[Object] */;
571 val* var_listnode4 /* var listnode4: nullable Object */;
572 short int var6 /* : Bool */;
573 int cltype;
574 int idtype;
575 val* var7 /* : Array[Object] */;
576 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
577 short int var8 /* : Bool */;
578 int cltype9;
579 int idtype10;
580 val* var11 /* : null */;
581 short int var12 /* : Bool */;
582 short int var13 /* : Bool */;
583 val* var_other /* var other: nullable Object */;
584 short int var15 /* : Bool */;
585 short int var16 /* : Bool */;
586 val* var17 /* : AModule */;
587 val* var18 /* : null */;
588 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
589 long var19 /* : Int */;
590 long var20 /* : Int */;
591 var_p = p0;
592 var = NULL;
593 var_node_list = var;
594 {
595 var1 = nit___nit__Parser___pop(var_p);
596 }
597 var_nodearraylist2 = var1;
598 {
599 var2 = nit___nit__Parser___pop(var_p);
600 }
601 var_nodearraylist1 = var2;
602 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
603 {
604 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
605 }
606 var_listnode3 = var3;
607 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
608 {
609 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
610 }
611 var_listnode5 = var4;
612 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
613 {
614 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
615 }
616 var_listnode7 = var5;
617 var_listnode4 = var_nodearraylist1;
618 /* <var_listnode4:nullable Object> isa Array[Object] */
619 cltype = type_standard__Array__standard__Object.color;
620 idtype = type_standard__Array__standard__Object.id;
621 if(var_listnode4 == NULL) {
622 var6 = 0;
623 } else {
624 if(cltype >= var_listnode4->type->table_size) {
625 var6 = 0;
626 } else {
627 var6 = var_listnode4->type->type_table[cltype] == idtype;
628 }
629 }
630 if (unlikely(!var6)) {
631 PRINT_ERROR("Runtime error: %s", "Assert failed");
632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1154);
633 show_backtrace(1);
634 }
635 {
636 var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
637 }
638 var_listnode5 = var7;
639 var_pclassdefnode6 = var_nodearraylist2;
640 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
641 cltype9 = type_nullable__nit__AClassdef.color;
642 idtype10 = type_nullable__nit__AClassdef.id;
643 if(var_pclassdefnode6 == NULL) {
644 var8 = 1;
645 } else {
646 if(cltype9 >= var_pclassdefnode6->type->table_size) {
647 var8 = 0;
648 } else {
649 var8 = var_pclassdefnode6->type->type_table[cltype9] == idtype10;
650 }
651 }
652 if (unlikely(!var8)) {
653 PRINT_ERROR("Runtime error: %s", "Assert failed");
654 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1157);
655 show_backtrace(1);
656 }
657 var11 = NULL;
658 if (var_pclassdefnode6 == NULL) {
659 var12 = 0; /* is null */
660 } else {
661 var12 = 1; /* arg is null and recv is not */
662 }
663 if (0) {
664 { /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
665 var_other = var11;
666 {
667 var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
668 }
669 var16 = !var15;
670 var13 = var16;
671 goto RET_LABEL14;
672 RET_LABEL14:(void)0;
673 }
674 var12 = var13;
675 }
676 if (var12){
677 {
678 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
679 }
680 } else {
681 }
682 var17 = NEW_nit__AModule(&type_nit__AModule);
683 var18 = NULL;
684 {
685 nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var17:AModule>*/
686 }
687 var_pmodulenode1 = var17;
688 var_node_list = var_pmodulenode1;
689 var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction4> */
690 {
691 var20 = nit___nit__Parser___go_to(var_p, var19);
692 }
693 {
694 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
695 }
696 RET_LABEL:;
697 }
698 /* method parser#ReduceAction5#action for (self: ReduceAction5, Parser) */
699 void nit__parser___nit__parser__ReduceAction5___nit__parser_work__ReduceAction__action(val* self, val* p0) {
700 val* var_p /* var p: Parser */;
701 val* var /* : null */;
702 val* var_node_list /* var node_list: nullable Object */;
703 val* var1 /* : nullable Object */;
704 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
705 val* var2 /* : nullable Object */;
706 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
707 val* var3 /* : nullable Object */;
708 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
709 val* var4 /* : Array[Object] */;
710 val* var_listnode3 /* var listnode3: Array[Object] */;
711 val* var5 /* : Array[Object] */;
712 val* var_listnode5 /* var listnode5: Array[Object] */;
713 val* var6 /* : Array[Object] */;
714 val* var_listnode7 /* var listnode7: Array[Object] */;
715 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
716 short int var7 /* : Bool */;
717 int cltype;
718 int idtype;
719 val* var_listnode4 /* var listnode4: nullable Object */;
720 short int var8 /* : Bool */;
721 int cltype9;
722 int idtype10;
723 val* var11 /* : Array[Object] */;
724 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
725 short int var12 /* : Bool */;
726 int cltype13;
727 int idtype14;
728 val* var15 /* : null */;
729 short int var16 /* : Bool */;
730 short int var17 /* : Bool */;
731 val* var_other /* var other: nullable Object */;
732 short int var19 /* : Bool */;
733 short int var20 /* : Bool */;
734 val* var21 /* : AModule */;
735 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
736 long var22 /* : Int */;
737 long var23 /* : Int */;
738 var_p = p0;
739 var = NULL;
740 var_node_list = var;
741 {
742 var1 = nit___nit__Parser___pop(var_p);
743 }
744 var_nodearraylist3 = var1;
745 {
746 var2 = nit___nit__Parser___pop(var_p);
747 }
748 var_nodearraylist2 = var2;
749 {
750 var3 = nit___nit__Parser___pop(var_p);
751 }
752 var_nodearraylist1 = var3;
753 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
754 {
755 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
756 }
757 var_listnode3 = var4;
758 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
759 {
760 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
761 }
762 var_listnode5 = var5;
763 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
764 {
765 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
766 }
767 var_listnode7 = var6;
768 var_pmoduledeclnode2 = var_nodearraylist1;
769 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
770 cltype = type_nullable__nit__AModuledecl.color;
771 idtype = type_nullable__nit__AModuledecl.id;
772 if(var_pmoduledeclnode2 == NULL) {
773 var7 = 1;
774 } else {
775 if(cltype >= var_pmoduledeclnode2->type->table_size) {
776 var7 = 0;
777 } else {
778 var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
779 }
780 }
781 if (unlikely(!var7)) {
782 PRINT_ERROR("Runtime error: %s", "Assert failed");
783 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1183);
784 show_backtrace(1);
785 }
786 var_listnode4 = var_nodearraylist2;
787 /* <var_listnode4:nullable Object> isa Array[Object] */
788 cltype9 = type_standard__Array__standard__Object.color;
789 idtype10 = type_standard__Array__standard__Object.id;
790 if(var_listnode4 == NULL) {
791 var8 = 0;
792 } else {
793 if(cltype9 >= var_listnode4->type->table_size) {
794 var8 = 0;
795 } else {
796 var8 = var_listnode4->type->type_table[cltype9] == idtype10;
797 }
798 }
799 if (unlikely(!var8)) {
800 PRINT_ERROR("Runtime error: %s", "Assert failed");
801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1185);
802 show_backtrace(1);
803 }
804 {
805 var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
806 }
807 var_listnode5 = var11;
808 var_pclassdefnode6 = var_nodearraylist3;
809 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
810 cltype13 = type_nullable__nit__AClassdef.color;
811 idtype14 = type_nullable__nit__AClassdef.id;
812 if(var_pclassdefnode6 == NULL) {
813 var12 = 1;
814 } else {
815 if(cltype13 >= var_pclassdefnode6->type->table_size) {
816 var12 = 0;
817 } else {
818 var12 = var_pclassdefnode6->type->type_table[cltype13] == idtype14;
819 }
820 }
821 if (unlikely(!var12)) {
822 PRINT_ERROR("Runtime error: %s", "Assert failed");
823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1188);
824 show_backtrace(1);
825 }
826 var15 = NULL;
827 if (var_pclassdefnode6 == NULL) {
828 var16 = 0; /* is null */
829 } else {
830 var16 = 1; /* arg is null and recv is not */
831 }
832 if (0) {
833 { /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
834 var_other = var15;
835 {
836 var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
837 }
838 var20 = !var19;
839 var17 = var20;
840 goto RET_LABEL18;
841 RET_LABEL18:(void)0;
842 }
843 var16 = var17;
844 }
845 if (var16){
846 {
847 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
848 }
849 } else {
850 }
851 var21 = NEW_nit__AModule(&type_nit__AModule);
852 {
853 nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var21:AModule>*/
854 }
855 var_pmodulenode1 = var21;
856 var_node_list = var_pmodulenode1;
857 var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction5> */
858 {
859 var23 = nit___nit__Parser___go_to(var_p, var22);
860 }
861 {
862 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
863 }
864 RET_LABEL:;
865 }
866 /* method parser#ReduceAction6#action for (self: ReduceAction6, Parser) */
867 void nit__parser___nit__parser__ReduceAction6___nit__parser_work__ReduceAction__action(val* self, val* p0) {
868 val* var_p /* var p: Parser */;
869 val* var /* : null */;
870 val* var_node_list /* var node_list: nullable Object */;
871 val* var1 /* : nullable Object */;
872 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
873 val* var2 /* : nullable Object */;
874 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
875 val* var3 /* : nullable Object */;
876 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
877 val* var4 /* : Array[Object] */;
878 val* var_listnode4 /* var listnode4: Array[Object] */;
879 val* var5 /* : Array[Object] */;
880 val* var_listnode6 /* var listnode6: Array[Object] */;
881 val* var6 /* : Array[Object] */;
882 val* var_listnode8 /* var listnode8: Array[Object] */;
883 val* var_listnode3 /* var listnode3: nullable Object */;
884 short int var7 /* : Bool */;
885 int cltype;
886 int idtype;
887 val* var8 /* : Array[Object] */;
888 val* var_listnode5 /* var listnode5: nullable Object */;
889 short int var9 /* : Bool */;
890 int cltype10;
891 int idtype11;
892 val* var12 /* : Array[Object] */;
893 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
894 short int var13 /* : Bool */;
895 int cltype14;
896 int idtype15;
897 val* var16 /* : null */;
898 short int var17 /* : Bool */;
899 short int var18 /* : Bool */;
900 val* var_other /* var other: nullable Object */;
901 short int var20 /* : Bool */;
902 short int var21 /* : Bool */;
903 val* var22 /* : AModule */;
904 val* var23 /* : null */;
905 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
906 long var24 /* : Int */;
907 long var25 /* : Int */;
908 var_p = p0;
909 var = NULL;
910 var_node_list = var;
911 {
912 var1 = nit___nit__Parser___pop(var_p);
913 }
914 var_nodearraylist3 = var1;
915 {
916 var2 = nit___nit__Parser___pop(var_p);
917 }
918 var_nodearraylist2 = var2;
919 {
920 var3 = nit___nit__Parser___pop(var_p);
921 }
922 var_nodearraylist1 = var3;
923 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
924 {
925 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
926 }
927 var_listnode4 = var4;
928 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
929 {
930 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
931 }
932 var_listnode6 = var5;
933 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
934 {
935 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
936 }
937 var_listnode8 = var6;
938 var_listnode3 = var_nodearraylist1;
939 /* <var_listnode3:nullable Object> isa Array[Object] */
940 cltype = type_standard__Array__standard__Object.color;
941 idtype = type_standard__Array__standard__Object.id;
942 if(var_listnode3 == NULL) {
943 var7 = 0;
944 } else {
945 if(cltype >= var_listnode3->type->table_size) {
946 var7 = 0;
947 } else {
948 var7 = var_listnode3->type->type_table[cltype] == idtype;
949 }
950 }
951 if (unlikely(!var7)) {
952 PRINT_ERROR("Runtime error: %s", "Assert failed");
953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1214);
954 show_backtrace(1);
955 }
956 {
957 var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
958 }
959 var_listnode4 = var8;
960 var_listnode5 = var_nodearraylist2;
961 /* <var_listnode5:nullable Object> isa Array[Object] */
962 cltype10 = type_standard__Array__standard__Object.color;
963 idtype11 = type_standard__Array__standard__Object.id;
964 if(var_listnode5 == NULL) {
965 var9 = 0;
966 } else {
967 if(cltype10 >= var_listnode5->type->table_size) {
968 var9 = 0;
969 } else {
970 var9 = var_listnode5->type->type_table[cltype10] == idtype11;
971 }
972 }
973 if (unlikely(!var9)) {
974 PRINT_ERROR("Runtime error: %s", "Assert failed");
975 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1217);
976 show_backtrace(1);
977 }
978 {
979 var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
980 }
981 var_listnode6 = var12;
982 var_pclassdefnode7 = var_nodearraylist3;
983 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
984 cltype14 = type_nullable__nit__AClassdef.color;
985 idtype15 = type_nullable__nit__AClassdef.id;
986 if(var_pclassdefnode7 == NULL) {
987 var13 = 1;
988 } else {
989 if(cltype14 >= var_pclassdefnode7->type->table_size) {
990 var13 = 0;
991 } else {
992 var13 = var_pclassdefnode7->type->type_table[cltype14] == idtype15;
993 }
994 }
995 if (unlikely(!var13)) {
996 PRINT_ERROR("Runtime error: %s", "Assert failed");
997 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1220);
998 show_backtrace(1);
999 }
1000 var16 = NULL;
1001 if (var_pclassdefnode7 == NULL) {
1002 var17 = 0; /* is null */
1003 } else {
1004 var17 = 1; /* arg is null and recv is not */
1005 }
1006 if (0) {
1007 { /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
1008 var_other = var16;
1009 {
1010 var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
1011 }
1012 var21 = !var20;
1013 var18 = var21;
1014 goto RET_LABEL19;
1015 RET_LABEL19:(void)0;
1016 }
1017 var17 = var18;
1018 }
1019 if (var17){
1020 {
1021 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
1022 }
1023 } else {
1024 }
1025 var22 = NEW_nit__AModule(&type_nit__AModule);
1026 var23 = NULL;
1027 {
1028 nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var22:AModule>*/
1029 }
1030 var_pmodulenode1 = var22;
1031 var_node_list = var_pmodulenode1;
1032 var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction6> */
1033 {
1034 var25 = nit___nit__Parser___go_to(var_p, var24);
1035 }
1036 {
1037 nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1038 }
1039 RET_LABEL:;
1040 }
1041 /* method parser#ReduceAction7#action for (self: ReduceAction7, Parser) */
1042 void nit__parser___nit__parser__ReduceAction7___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1043 val* var_p /* var p: Parser */;
1044 val* var /* : null */;
1045 val* var_node_list /* var node_list: nullable Object */;
1046 val* var1 /* : nullable Object */;
1047 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1048 val* var2 /* : nullable Object */;
1049 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1050 val* var3 /* : nullable Object */;
1051 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1052 val* var4 /* : nullable Object */;
1053 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1054 val* var5 /* : Array[Object] */;
1055 val* var_listnode4 /* var listnode4: Array[Object] */;
1056 val* var6 /* : Array[Object] */;
1057 val* var_listnode6 /* var listnode6: Array[Object] */;
1058 val* var7 /* : Array[Object] */;
1059 val* var_listnode8 /* var listnode8: Array[Object] */;
1060 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
1061 short int var8 /* : Bool */;
1062 int cltype;
1063 int idtype;
1064 val* var_listnode3 /* var listnode3: nullable Object */;
1065 short int var9 /* : Bool */;
1066 int cltype10;
1067 int idtype11;
1068 val* var12 /* : Array[Object] */;
1069 val* var_listnode5 /* var listnode5: nullable Object */;
1070 short int var13 /* : Bool */;
1071 int cltype14;
1072 int idtype15;
1073 val* var16 /* : Array[Object] */;
1074 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
1075 short int var17 /* : Bool */;
1076 int cltype18;
1077 int idtype19;
1078 val* var20 /* : null */;
1079 short int var21 /* : Bool */;
1080 short int var22 /* : Bool */;
1081 val* var_other /* var other: nullable Object */;
1082 short int var24 /* : Bool */;
1083 short int var25 /* : Bool */;
1084 val* var26 /* : AModule */;
1085 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1086 long var27 /* : Int */;
1087 long var28 /* : Int */;
1088 var_p = p0;
1089 var = NULL;
1090 var_node_list = var;
1091 {
1092 var1 = nit___nit__Parser___pop(var_p);
1093 }
1094 var_nodearraylist4 = var1;
1095 {
1096 var2 = nit___nit__Parser___pop(var_p);
1097 }
1098 var_nodearraylist3 = var2;
1099 {
1100 var3 = nit___nit__Parser___pop(var_p);
1101 }
1102 var_nodearraylist2 = var3;
1103 {
1104 var4 = nit___nit__Parser___pop(var_p);
1105 }
1106 var_nodearraylist1 = var4;
1107 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1108 {
1109 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1110 }
1111 var_listnode4 = var5;
1112 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
1113 {
1114 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
1115 }
1116 var_listnode6 = var6;
1117 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
1118 {
1119 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
1120 }
1121 var_listnode8 = var7;
1122 var_pmoduledeclnode2 = var_nodearraylist1;
1123 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1124 cltype = type_nullable__nit__AModuledecl.color;
1125 idtype = type_nullable__nit__AModuledecl.id;
1126 if(var_pmoduledeclnode2 == NULL) {
1127 var8 = 1;
1128 } else {
1129 if(cltype >= var_pmoduledeclnode2->type->table_size) {
1130 var8 = 0;
1131 } else {
1132 var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
1133 }
1134 }
1135 if (unlikely(!var8)) {
1136 PRINT_ERROR("Runtime error: %s", "Assert failed");
1137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1247);
1138 show_backtrace(1);
1139 }
1140 var_listnode3 = var_nodearraylist2;
1141 /* <var_listnode3:nullable Object> isa Array[Object] */
1142 cltype10 = type_standard__Array__standard__Object.color;
1143 idtype11 = type_standard__Array__standard__Object.id;
1144 if(var_listnode3 == NULL) {
1145 var9 = 0;
1146 } else {
1147 if(cltype10 >= var_listnode3->type->table_size) {
1148 var9 = 0;
1149 } else {
1150 var9 = var_listnode3->type->type_table[cltype10] == idtype11;
1151 }
1152 }
1153 if (unlikely(!var9)) {
1154 PRINT_ERROR("Runtime error: %s", "Assert failed");
1155 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1249);
1156 show_backtrace(1);
1157 }
1158 {
1159 var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
1160 }
1161 var_listnode4 = var12;
1162 var_listnode5 = var_nodearraylist3;
1163 /* <var_listnode5:nullable Object> isa Array[Object] */
1164 cltype14 = type_standard__Array__standard__Object.color;
1165 idtype15 = type_standard__Array__standard__Object.id;
1166 if(var_listnode5 == NULL) {
1167 var13 = 0;
1168 } else {
1169 if(cltype14 >= var_listnode5->type->table_size) {
1170 var13 = 0;
1171 } else {
1172 var13 = var_listnode5->type->type_table[cltype14] == idtype15;
1173 }
1174 }
1175 if (unlikely(!var13)) {
1176 PRINT_ERROR("Runtime error: %s", "Assert failed");
1177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1252);
1178 show_backtrace(1);
1179 }
1180 {
1181 var16 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
1182 }
1183 var_listnode6 = var16;
1184 var_pclassdefnode7 = var_nodearraylist4;
1185 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
1186 cltype18 = type_nullable__nit__AClassdef.color;
1187 idtype19 = type_nullable__nit__AClassdef.id;
1188 if(var_pclassdefnode7 == NULL) {
1189 var17 = 1;
1190 } else {
1191 if(cltype18 >= var_pclassdefnode7->type->table_size) {
1192 var17 = 0;
1193 } else {
1194 var17 = var_pclassdefnode7->type->type_table[cltype18] == idtype19;
1195 }
1196 }
1197 if (unlikely(!var17)) {
1198 PRINT_ERROR("Runtime error: %s", "Assert failed");
1199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1255);
1200 show_backtrace(1);
1201 }
1202 var20 = NULL;
1203 if (var_pclassdefnode7 == NULL) {
1204 var21 = 0; /* is null */
1205 } else {
1206 var21 = 1; /* arg is null and recv is not */
1207 }
1208 if (0) {
1209 { /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
1210 var_other = var20;
1211 {
1212 var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
1213 }
1214 var25 = !var24;
1215 var22 = var25;
1216 goto RET_LABEL23;
1217 RET_LABEL23:(void)0;
1218 }
1219 var21 = var22;
1220 }
1221 if (var21){
1222 {
1223 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
1224 }
1225 } else {
1226 }
1227 var26 = NEW_nit__AModule(&type_nit__AModule);
1228 {
1229 nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var26:AModule>*/
1230 }
1231 var_pmodulenode1 = var26;
1232 var_node_list = var_pmodulenode1;
1233 var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction7> */
1234 {
1235 var28 = nit___nit__Parser___go_to(var_p, var27);
1236 }
1237 {
1238 nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1239 }
1240 RET_LABEL:;
1241 }
1242 /* method parser#ReduceAction8#action for (self: ReduceAction8, Parser) */
1243 void nit__parser___nit__parser__ReduceAction8___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1244 val* var_p /* var p: Parser */;
1245 val* var /* : null */;
1246 val* var_node_list /* var node_list: nullable Object */;
1247 val* var1 /* : nullable Object */;
1248 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1249 val* var2 /* : nullable Object */;
1250 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1251 val* var3 /* : Array[Object] */;
1252 val* var_listnode3 /* var listnode3: Array[Object] */;
1253 val* var4 /* : Array[Object] */;
1254 val* var_listnode4 /* var listnode4: Array[Object] */;
1255 val* var5 /* : Array[Object] */;
1256 val* var_listnode7 /* var listnode7: Array[Object] */;
1257 val* var_listnode5 /* var listnode5: nullable Object */;
1258 short int var6 /* : Bool */;
1259 int cltype;
1260 int idtype;
1261 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
1262 short int var7 /* : Bool */;
1263 int cltype8;
1264 int idtype9;
1265 val* var10 /* : Array[Object] */;
1266 val* var11 /* : null */;
1267 short int var12 /* : Bool */;
1268 short int var13 /* : Bool */;
1269 val* var_other /* var other: nullable Object */;
1270 short int var15 /* : Bool */;
1271 short int var16 /* : Bool */;
1272 val* var17 /* : AModule */;
1273 val* var18 /* : null */;
1274 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1275 long var19 /* : Int */;
1276 long var20 /* : Int */;
1277 var_p = p0;
1278 var = NULL;
1279 var_node_list = var;
1280 {
1281 var1 = nit___nit__Parser___pop(var_p);
1282 }
1283 var_nodearraylist2 = var1;
1284 {
1285 var2 = nit___nit__Parser___pop(var_p);
1286 }
1287 var_nodearraylist1 = var2;
1288 var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
1289 {
1290 standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
1291 }
1292 var_listnode3 = var3;
1293 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
1294 {
1295 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
1296 }
1297 var_listnode4 = var4;
1298 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1299 {
1300 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1301 }
1302 var_listnode7 = var5;
1303 var_listnode5 = var_nodearraylist1;
1304 /* <var_listnode5:nullable Object> isa Array[Object] */
1305 cltype = type_standard__Array__standard__Object.color;
1306 idtype = type_standard__Array__standard__Object.id;
1307 if(var_listnode5 == NULL) {
1308 var6 = 0;
1309 } else {
1310 if(cltype >= var_listnode5->type->table_size) {
1311 var6 = 0;
1312 } else {
1313 var6 = var_listnode5->type->type_table[cltype] == idtype;
1314 }
1315 }
1316 if (unlikely(!var6)) {
1317 PRINT_ERROR("Runtime error: %s", "Assert failed");
1318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1280);
1319 show_backtrace(1);
1320 }
1321 var_pclassdefnode6 = var_nodearraylist2;
1322 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
1323 cltype8 = type_nullable__nit__AClassdef.color;
1324 idtype9 = type_nullable__nit__AClassdef.id;
1325 if(var_pclassdefnode6 == NULL) {
1326 var7 = 1;
1327 } else {
1328 if(cltype8 >= var_pclassdefnode6->type->table_size) {
1329 var7 = 0;
1330 } else {
1331 var7 = var_pclassdefnode6->type->type_table[cltype8] == idtype9;
1332 }
1333 }
1334 if (unlikely(!var7)) {
1335 PRINT_ERROR("Runtime error: %s", "Assert failed");
1336 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1282);
1337 show_backtrace(1);
1338 }
1339 {
1340 var10 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5);
1341 }
1342 var_listnode7 = var10;
1343 var11 = NULL;
1344 if (var_pclassdefnode6 == NULL) {
1345 var12 = 0; /* is null */
1346 } else {
1347 var12 = 1; /* arg is null and recv is not */
1348 }
1349 if (0) {
1350 { /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
1351 var_other = var11;
1352 {
1353 var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
1354 }
1355 var16 = !var15;
1356 var13 = var16;
1357 goto RET_LABEL14;
1358 RET_LABEL14:(void)0;
1359 }
1360 var12 = var13;
1361 }
1362 if (var12){
1363 {
1364 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
1365 }
1366 } else {
1367 }
1368 var17 = NEW_nit__AModule(&type_nit__AModule);
1369 var18 = NULL;
1370 {
1371 nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var17:AModule>*/
1372 }
1373 var_pmodulenode1 = var17;
1374 var_node_list = var_pmodulenode1;
1375 var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction8> */
1376 {
1377 var20 = nit___nit__Parser___go_to(var_p, var19);
1378 }
1379 {
1380 nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1381 }
1382 RET_LABEL:;
1383 }
1384 /* method parser#ReduceAction9#action for (self: ReduceAction9, Parser) */
1385 void nit__parser___nit__parser__ReduceAction9___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1386 val* var_p /* var p: Parser */;
1387 val* var /* : null */;
1388 val* var_node_list /* var node_list: nullable Object */;
1389 val* var1 /* : nullable Object */;
1390 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1391 val* var2 /* : nullable Object */;
1392 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1393 val* var3 /* : nullable Object */;
1394 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1395 val* var4 /* : Array[Object] */;
1396 val* var_listnode3 /* var listnode3: Array[Object] */;
1397 val* var5 /* : Array[Object] */;
1398 val* var_listnode4 /* var listnode4: Array[Object] */;
1399 val* var6 /* : Array[Object] */;
1400 val* var_listnode7 /* var listnode7: Array[Object] */;
1401 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
1402 short int var7 /* : Bool */;
1403 int cltype;
1404 int idtype;
1405 val* var_listnode5 /* var listnode5: nullable Object */;
1406 short int var8 /* : Bool */;
1407 int cltype9;
1408 int idtype10;
1409 val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */;
1410 short int var11 /* : Bool */;
1411 int cltype12;
1412 int idtype13;
1413 val* var14 /* : Array[Object] */;
1414 val* var15 /* : null */;
1415 short int var16 /* : Bool */;
1416 short int var17 /* : Bool */;
1417 val* var_other /* var other: nullable Object */;
1418 short int var19 /* : Bool */;
1419 short int var20 /* : Bool */;
1420 val* var21 /* : AModule */;
1421 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1422 long var22 /* : Int */;
1423 long var23 /* : Int */;
1424 var_p = p0;
1425 var = NULL;
1426 var_node_list = var;
1427 {
1428 var1 = nit___nit__Parser___pop(var_p);
1429 }
1430 var_nodearraylist3 = var1;
1431 {
1432 var2 = nit___nit__Parser___pop(var_p);
1433 }
1434 var_nodearraylist2 = var2;
1435 {
1436 var3 = nit___nit__Parser___pop(var_p);
1437 }
1438 var_nodearraylist1 = var3;
1439 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
1440 {
1441 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
1442 }
1443 var_listnode3 = var4;
1444 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1445 {
1446 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1447 }
1448 var_listnode4 = var5;
1449 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
1450 {
1451 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
1452 }
1453 var_listnode7 = var6;
1454 var_pmoduledeclnode2 = var_nodearraylist1;
1455 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1456 cltype = type_nullable__nit__AModuledecl.color;
1457 idtype = type_nullable__nit__AModuledecl.id;
1458 if(var_pmoduledeclnode2 == NULL) {
1459 var7 = 1;
1460 } else {
1461 if(cltype >= var_pmoduledeclnode2->type->table_size) {
1462 var7 = 0;
1463 } else {
1464 var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
1465 }
1466 }
1467 if (unlikely(!var7)) {
1468 PRINT_ERROR("Runtime error: %s", "Assert failed");
1469 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1309);
1470 show_backtrace(1);
1471 }
1472 var_listnode5 = var_nodearraylist2;
1473 /* <var_listnode5:nullable Object> isa Array[Object] */
1474 cltype9 = type_standard__Array__standard__Object.color;
1475 idtype10 = type_standard__Array__standard__Object.id;
1476 if(var_listnode5 == NULL) {
1477 var8 = 0;
1478 } else {
1479 if(cltype9 >= var_listnode5->type->table_size) {
1480 var8 = 0;
1481 } else {
1482 var8 = var_listnode5->type->type_table[cltype9] == idtype10;
1483 }
1484 }
1485 if (unlikely(!var8)) {
1486 PRINT_ERROR("Runtime error: %s", "Assert failed");
1487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1311);
1488 show_backtrace(1);
1489 }
1490 var_pclassdefnode6 = var_nodearraylist3;
1491 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
1492 cltype12 = type_nullable__nit__AClassdef.color;
1493 idtype13 = type_nullable__nit__AClassdef.id;
1494 if(var_pclassdefnode6 == NULL) {
1495 var11 = 1;
1496 } else {
1497 if(cltype12 >= var_pclassdefnode6->type->table_size) {
1498 var11 = 0;
1499 } else {
1500 var11 = var_pclassdefnode6->type->type_table[cltype12] == idtype13;
1501 }
1502 }
1503 if (unlikely(!var11)) {
1504 PRINT_ERROR("Runtime error: %s", "Assert failed");
1505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1313);
1506 show_backtrace(1);
1507 }
1508 {
1509 var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5);
1510 }
1511 var_listnode7 = var14;
1512 var15 = NULL;
1513 if (var_pclassdefnode6 == NULL) {
1514 var16 = 0; /* is null */
1515 } else {
1516 var16 = 1; /* arg is null and recv is not */
1517 }
1518 if (0) {
1519 { /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on <var_pclassdefnode6:nullable Object(nullable AClassdef)> */
1520 var_other = var15;
1521 {
1522 var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on <var_pclassdefnode6:nullable AClassdef(AClassdef)>*/;
1523 }
1524 var20 = !var19;
1525 var17 = var20;
1526 goto RET_LABEL18;
1527 RET_LABEL18:(void)0;
1528 }
1529 var16 = var17;
1530 }
1531 if (var16){
1532 {
1533 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on <var_listnode7:Array[Object]>*/
1534 }
1535 } else {
1536 }
1537 var21 = NEW_nit__AModule(&type_nit__AModule);
1538 {
1539 nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on <var21:AModule>*/
1540 }
1541 var_pmodulenode1 = var21;
1542 var_node_list = var_pmodulenode1;
1543 var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction9> */
1544 {
1545 var23 = nit___nit__Parser___go_to(var_p, var22);
1546 }
1547 {
1548 nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1549 }
1550 RET_LABEL:;
1551 }
1552 /* method parser#ReduceAction10#action for (self: ReduceAction10, Parser) */
1553 void nit__parser___nit__parser__ReduceAction10___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1554 val* var_p /* var p: Parser */;
1555 val* var /* : null */;
1556 val* var_node_list /* var node_list: nullable Object */;
1557 val* var1 /* : nullable Object */;
1558 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1559 val* var2 /* : nullable Object */;
1560 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1561 val* var3 /* : nullable Object */;
1562 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1563 val* var4 /* : Array[Object] */;
1564 val* var_listnode4 /* var listnode4: Array[Object] */;
1565 val* var5 /* : Array[Object] */;
1566 val* var_listnode5 /* var listnode5: Array[Object] */;
1567 val* var6 /* : Array[Object] */;
1568 val* var_listnode8 /* var listnode8: Array[Object] */;
1569 val* var_listnode3 /* var listnode3: nullable Object */;
1570 short int var7 /* : Bool */;
1571 int cltype;
1572 int idtype;
1573 val* var8 /* : Array[Object] */;
1574 val* var_listnode6 /* var listnode6: nullable Object */;
1575 short int var9 /* : Bool */;
1576 int cltype10;
1577 int idtype11;
1578 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
1579 short int var12 /* : Bool */;
1580 int cltype13;
1581 int idtype14;
1582 val* var15 /* : Array[Object] */;
1583 val* var16 /* : null */;
1584 short int var17 /* : Bool */;
1585 short int var18 /* : Bool */;
1586 val* var_other /* var other: nullable Object */;
1587 short int var20 /* : Bool */;
1588 short int var21 /* : Bool */;
1589 val* var22 /* : AModule */;
1590 val* var23 /* : null */;
1591 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1592 long var24 /* : Int */;
1593 long var25 /* : Int */;
1594 var_p = p0;
1595 var = NULL;
1596 var_node_list = var;
1597 {
1598 var1 = nit___nit__Parser___pop(var_p);
1599 }
1600 var_nodearraylist3 = var1;
1601 {
1602 var2 = nit___nit__Parser___pop(var_p);
1603 }
1604 var_nodearraylist2 = var2;
1605 {
1606 var3 = nit___nit__Parser___pop(var_p);
1607 }
1608 var_nodearraylist1 = var3;
1609 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
1610 {
1611 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
1612 }
1613 var_listnode4 = var4;
1614 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1615 {
1616 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1617 }
1618 var_listnode5 = var5;
1619 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
1620 {
1621 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
1622 }
1623 var_listnode8 = var6;
1624 var_listnode3 = var_nodearraylist1;
1625 /* <var_listnode3:nullable Object> isa Array[Object] */
1626 cltype = type_standard__Array__standard__Object.color;
1627 idtype = type_standard__Array__standard__Object.id;
1628 if(var_listnode3 == NULL) {
1629 var7 = 0;
1630 } else {
1631 if(cltype >= var_listnode3->type->table_size) {
1632 var7 = 0;
1633 } else {
1634 var7 = var_listnode3->type->type_table[cltype] == idtype;
1635 }
1636 }
1637 if (unlikely(!var7)) {
1638 PRINT_ERROR("Runtime error: %s", "Assert failed");
1639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1340);
1640 show_backtrace(1);
1641 }
1642 {
1643 var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
1644 }
1645 var_listnode4 = var8;
1646 var_listnode6 = var_nodearraylist2;
1647 /* <var_listnode6:nullable Object> isa Array[Object] */
1648 cltype10 = type_standard__Array__standard__Object.color;
1649 idtype11 = type_standard__Array__standard__Object.id;
1650 if(var_listnode6 == NULL) {
1651 var9 = 0;
1652 } else {
1653 if(cltype10 >= var_listnode6->type->table_size) {
1654 var9 = 0;
1655 } else {
1656 var9 = var_listnode6->type->type_table[cltype10] == idtype11;
1657 }
1658 }
1659 if (unlikely(!var9)) {
1660 PRINT_ERROR("Runtime error: %s", "Assert failed");
1661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1343);
1662 show_backtrace(1);
1663 }
1664 var_pclassdefnode7 = var_nodearraylist3;
1665 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
1666 cltype13 = type_nullable__nit__AClassdef.color;
1667 idtype14 = type_nullable__nit__AClassdef.id;
1668 if(var_pclassdefnode7 == NULL) {
1669 var12 = 1;
1670 } else {
1671 if(cltype13 >= var_pclassdefnode7->type->table_size) {
1672 var12 = 0;
1673 } else {
1674 var12 = var_pclassdefnode7->type->type_table[cltype13] == idtype14;
1675 }
1676 }
1677 if (unlikely(!var12)) {
1678 PRINT_ERROR("Runtime error: %s", "Assert failed");
1679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1345);
1680 show_backtrace(1);
1681 }
1682 {
1683 var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6);
1684 }
1685 var_listnode8 = var15;
1686 var16 = NULL;
1687 if (var_pclassdefnode7 == NULL) {
1688 var17 = 0; /* is null */
1689 } else {
1690 var17 = 1; /* arg is null and recv is not */
1691 }
1692 if (0) {
1693 { /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
1694 var_other = var16;
1695 {
1696 var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
1697 }
1698 var21 = !var20;
1699 var18 = var21;
1700 goto RET_LABEL19;
1701 RET_LABEL19:(void)0;
1702 }
1703 var17 = var18;
1704 }
1705 if (var17){
1706 {
1707 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
1708 }
1709 } else {
1710 }
1711 var22 = NEW_nit__AModule(&type_nit__AModule);
1712 var23 = NULL;
1713 {
1714 nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var22:AModule>*/
1715 }
1716 var_pmodulenode1 = var22;
1717 var_node_list = var_pmodulenode1;
1718 var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction10> */
1719 {
1720 var25 = nit___nit__Parser___go_to(var_p, var24);
1721 }
1722 {
1723 nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1724 }
1725 RET_LABEL:;
1726 }
1727 /* method parser#ReduceAction11#action for (self: ReduceAction11, Parser) */
1728 void nit__parser___nit__parser__ReduceAction11___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1729 val* var_p /* var p: Parser */;
1730 val* var /* : null */;
1731 val* var_node_list /* var node_list: nullable Object */;
1732 val* var1 /* : nullable Object */;
1733 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1734 val* var2 /* : nullable Object */;
1735 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1736 val* var3 /* : nullable Object */;
1737 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1738 val* var4 /* : nullable Object */;
1739 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1740 val* var5 /* : Array[Object] */;
1741 val* var_listnode4 /* var listnode4: Array[Object] */;
1742 val* var6 /* : Array[Object] */;
1743 val* var_listnode5 /* var listnode5: Array[Object] */;
1744 val* var7 /* : Array[Object] */;
1745 val* var_listnode8 /* var listnode8: Array[Object] */;
1746 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
1747 short int var8 /* : Bool */;
1748 int cltype;
1749 int idtype;
1750 val* var_listnode3 /* var listnode3: nullable Object */;
1751 short int var9 /* : Bool */;
1752 int cltype10;
1753 int idtype11;
1754 val* var12 /* : Array[Object] */;
1755 val* var_listnode6 /* var listnode6: nullable Object */;
1756 short int var13 /* : Bool */;
1757 int cltype14;
1758 int idtype15;
1759 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
1760 short int var16 /* : Bool */;
1761 int cltype17;
1762 int idtype18;
1763 val* var19 /* : Array[Object] */;
1764 val* var20 /* : null */;
1765 short int var21 /* : Bool */;
1766 short int var22 /* : Bool */;
1767 val* var_other /* var other: nullable Object */;
1768 short int var24 /* : Bool */;
1769 short int var25 /* : Bool */;
1770 val* var26 /* : AModule */;
1771 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1772 long var27 /* : Int */;
1773 long var28 /* : Int */;
1774 var_p = p0;
1775 var = NULL;
1776 var_node_list = var;
1777 {
1778 var1 = nit___nit__Parser___pop(var_p);
1779 }
1780 var_nodearraylist4 = var1;
1781 {
1782 var2 = nit___nit__Parser___pop(var_p);
1783 }
1784 var_nodearraylist3 = var2;
1785 {
1786 var3 = nit___nit__Parser___pop(var_p);
1787 }
1788 var_nodearraylist2 = var3;
1789 {
1790 var4 = nit___nit__Parser___pop(var_p);
1791 }
1792 var_nodearraylist1 = var4;
1793 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1794 {
1795 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1796 }
1797 var_listnode4 = var5;
1798 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
1799 {
1800 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
1801 }
1802 var_listnode5 = var6;
1803 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
1804 {
1805 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
1806 }
1807 var_listnode8 = var7;
1808 var_pmoduledeclnode2 = var_nodearraylist1;
1809 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1810 cltype = type_nullable__nit__AModuledecl.color;
1811 idtype = type_nullable__nit__AModuledecl.id;
1812 if(var_pmoduledeclnode2 == NULL) {
1813 var8 = 1;
1814 } else {
1815 if(cltype >= var_pmoduledeclnode2->type->table_size) {
1816 var8 = 0;
1817 } else {
1818 var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
1819 }
1820 }
1821 if (unlikely(!var8)) {
1822 PRINT_ERROR("Runtime error: %s", "Assert failed");
1823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1373);
1824 show_backtrace(1);
1825 }
1826 var_listnode3 = var_nodearraylist2;
1827 /* <var_listnode3:nullable Object> isa Array[Object] */
1828 cltype10 = type_standard__Array__standard__Object.color;
1829 idtype11 = type_standard__Array__standard__Object.id;
1830 if(var_listnode3 == NULL) {
1831 var9 = 0;
1832 } else {
1833 if(cltype10 >= var_listnode3->type->table_size) {
1834 var9 = 0;
1835 } else {
1836 var9 = var_listnode3->type->type_table[cltype10] == idtype11;
1837 }
1838 }
1839 if (unlikely(!var9)) {
1840 PRINT_ERROR("Runtime error: %s", "Assert failed");
1841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1375);
1842 show_backtrace(1);
1843 }
1844 {
1845 var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
1846 }
1847 var_listnode4 = var12;
1848 var_listnode6 = var_nodearraylist3;
1849 /* <var_listnode6:nullable Object> isa Array[Object] */
1850 cltype14 = type_standard__Array__standard__Object.color;
1851 idtype15 = type_standard__Array__standard__Object.id;
1852 if(var_listnode6 == NULL) {
1853 var13 = 0;
1854 } else {
1855 if(cltype14 >= var_listnode6->type->table_size) {
1856 var13 = 0;
1857 } else {
1858 var13 = var_listnode6->type->type_table[cltype14] == idtype15;
1859 }
1860 }
1861 if (unlikely(!var13)) {
1862 PRINT_ERROR("Runtime error: %s", "Assert failed");
1863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1378);
1864 show_backtrace(1);
1865 }
1866 var_pclassdefnode7 = var_nodearraylist4;
1867 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
1868 cltype17 = type_nullable__nit__AClassdef.color;
1869 idtype18 = type_nullable__nit__AClassdef.id;
1870 if(var_pclassdefnode7 == NULL) {
1871 var16 = 1;
1872 } else {
1873 if(cltype17 >= var_pclassdefnode7->type->table_size) {
1874 var16 = 0;
1875 } else {
1876 var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18;
1877 }
1878 }
1879 if (unlikely(!var16)) {
1880 PRINT_ERROR("Runtime error: %s", "Assert failed");
1881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1380);
1882 show_backtrace(1);
1883 }
1884 {
1885 var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6);
1886 }
1887 var_listnode8 = var19;
1888 var20 = NULL;
1889 if (var_pclassdefnode7 == NULL) {
1890 var21 = 0; /* is null */
1891 } else {
1892 var21 = 1; /* arg is null and recv is not */
1893 }
1894 if (0) {
1895 { /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
1896 var_other = var20;
1897 {
1898 var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
1899 }
1900 var25 = !var24;
1901 var22 = var25;
1902 goto RET_LABEL23;
1903 RET_LABEL23:(void)0;
1904 }
1905 var21 = var22;
1906 }
1907 if (var21){
1908 {
1909 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
1910 }
1911 } else {
1912 }
1913 var26 = NEW_nit__AModule(&type_nit__AModule);
1914 {
1915 nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var26:AModule>*/
1916 }
1917 var_pmodulenode1 = var26;
1918 var_node_list = var_pmodulenode1;
1919 var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction11> */
1920 {
1921 var28 = nit___nit__Parser___go_to(var_p, var27);
1922 }
1923 {
1924 nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1925 }
1926 RET_LABEL:;
1927 }
1928 /* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */
1929 void nit__parser___nit__parser__ReduceAction12___nit__parser_work__ReduceAction__action(val* self, val* p0) {
1930 val* var_p /* var p: Parser */;
1931 val* var /* : null */;
1932 val* var_node_list /* var node_list: nullable Object */;
1933 val* var1 /* : nullable Object */;
1934 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1935 val* var2 /* : nullable Object */;
1936 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1937 val* var3 /* : nullable Object */;
1938 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1939 val* var4 /* : Array[Object] */;
1940 val* var_listnode3 /* var listnode3: Array[Object] */;
1941 val* var5 /* : Array[Object] */;
1942 val* var_listnode5 /* var listnode5: Array[Object] */;
1943 val* var6 /* : Array[Object] */;
1944 val* var_listnode8 /* var listnode8: Array[Object] */;
1945 val* var_listnode4 /* var listnode4: nullable Object */;
1946 short int var7 /* : Bool */;
1947 int cltype;
1948 int idtype;
1949 val* var8 /* : Array[Object] */;
1950 val* var_listnode6 /* var listnode6: nullable Object */;
1951 short int var9 /* : Bool */;
1952 int cltype10;
1953 int idtype11;
1954 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
1955 short int var12 /* : Bool */;
1956 int cltype13;
1957 int idtype14;
1958 val* var15 /* : Array[Object] */;
1959 val* var16 /* : null */;
1960 short int var17 /* : Bool */;
1961 short int var18 /* : Bool */;
1962 val* var_other /* var other: nullable Object */;
1963 short int var20 /* : Bool */;
1964 short int var21 /* : Bool */;
1965 val* var22 /* : AModule */;
1966 val* var23 /* : null */;
1967 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
1968 long var24 /* : Int */;
1969 long var25 /* : Int */;
1970 var_p = p0;
1971 var = NULL;
1972 var_node_list = var;
1973 {
1974 var1 = nit___nit__Parser___pop(var_p);
1975 }
1976 var_nodearraylist3 = var1;
1977 {
1978 var2 = nit___nit__Parser___pop(var_p);
1979 }
1980 var_nodearraylist2 = var2;
1981 {
1982 var3 = nit___nit__Parser___pop(var_p);
1983 }
1984 var_nodearraylist1 = var3;
1985 var4 = NEW_standard__Array(&type_standard__Array__standard__Object);
1986 {
1987 standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on <var4:Array[Object]>*/
1988 }
1989 var_listnode3 = var4;
1990 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
1991 {
1992 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
1993 }
1994 var_listnode5 = var5;
1995 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
1996 {
1997 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
1998 }
1999 var_listnode8 = var6;
2000 var_listnode4 = var_nodearraylist1;
2001 /* <var_listnode4:nullable Object> isa Array[Object] */
2002 cltype = type_standard__Array__standard__Object.color;
2003 idtype = type_standard__Array__standard__Object.id;
2004 if(var_listnode4 == NULL) {
2005 var7 = 0;
2006 } else {
2007 if(cltype >= var_listnode4->type->table_size) {
2008 var7 = 0;
2009 } else {
2010 var7 = var_listnode4->type->type_table[cltype] == idtype;
2011 }
2012 }
2013 if (unlikely(!var7)) {
2014 PRINT_ERROR("Runtime error: %s", "Assert failed");
2015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1407);
2016 show_backtrace(1);
2017 }
2018 {
2019 var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
2020 }
2021 var_listnode5 = var8;
2022 var_listnode6 = var_nodearraylist2;
2023 /* <var_listnode6:nullable Object> isa Array[Object] */
2024 cltype10 = type_standard__Array__standard__Object.color;
2025 idtype11 = type_standard__Array__standard__Object.id;
2026 if(var_listnode6 == NULL) {
2027 var9 = 0;
2028 } else {
2029 if(cltype10 >= var_listnode6->type->table_size) {
2030 var9 = 0;
2031 } else {
2032 var9 = var_listnode6->type->type_table[cltype10] == idtype11;
2033 }
2034 }
2035 if (unlikely(!var9)) {
2036 PRINT_ERROR("Runtime error: %s", "Assert failed");
2037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1410);
2038 show_backtrace(1);
2039 }
2040 var_pclassdefnode7 = var_nodearraylist3;
2041 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
2042 cltype13 = type_nullable__nit__AClassdef.color;
2043 idtype14 = type_nullable__nit__AClassdef.id;
2044 if(var_pclassdefnode7 == NULL) {
2045 var12 = 1;
2046 } else {
2047 if(cltype13 >= var_pclassdefnode7->type->table_size) {
2048 var12 = 0;
2049 } else {
2050 var12 = var_pclassdefnode7->type->type_table[cltype13] == idtype14;
2051 }
2052 }
2053 if (unlikely(!var12)) {
2054 PRINT_ERROR("Runtime error: %s", "Assert failed");
2055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1412);
2056 show_backtrace(1);
2057 }
2058 {
2059 var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6);
2060 }
2061 var_listnode8 = var15;
2062 var16 = NULL;
2063 if (var_pclassdefnode7 == NULL) {
2064 var17 = 0; /* is null */
2065 } else {
2066 var17 = 1; /* arg is null and recv is not */
2067 }
2068 if (0) {
2069 { /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
2070 var_other = var16;
2071 {
2072 var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
2073 }
2074 var21 = !var20;
2075 var18 = var21;
2076 goto RET_LABEL19;
2077 RET_LABEL19:(void)0;
2078 }
2079 var17 = var18;
2080 }
2081 if (var17){
2082 {
2083 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
2084 }
2085 } else {
2086 }
2087 var22 = NEW_nit__AModule(&type_nit__AModule);
2088 var23 = NULL;
2089 {
2090 nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var22:AModule>*/
2091 }
2092 var_pmodulenode1 = var22;
2093 var_node_list = var_pmodulenode1;
2094 var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction12> */
2095 {
2096 var25 = nit___nit__Parser___go_to(var_p, var24);
2097 }
2098 {
2099 nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2100 }
2101 RET_LABEL:;
2102 }
2103 /* method parser#ReduceAction13#action for (self: ReduceAction13, Parser) */
2104 void nit__parser___nit__parser__ReduceAction13___nit__parser_work__ReduceAction__action(val* self, val* p0) {
2105 val* var_p /* var p: Parser */;
2106 val* var /* : null */;
2107 val* var_node_list /* var node_list: nullable Object */;
2108 val* var1 /* : nullable Object */;
2109 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2110 val* var2 /* : nullable Object */;
2111 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2112 val* var3 /* : nullable Object */;
2113 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2114 val* var4 /* : nullable Object */;
2115 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2116 val* var5 /* : Array[Object] */;
2117 val* var_listnode3 /* var listnode3: Array[Object] */;
2118 val* var6 /* : Array[Object] */;
2119 val* var_listnode5 /* var listnode5: Array[Object] */;
2120 val* var7 /* : Array[Object] */;
2121 val* var_listnode8 /* var listnode8: Array[Object] */;
2122 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
2123 short int var8 /* : Bool */;
2124 int cltype;
2125 int idtype;
2126 val* var_listnode4 /* var listnode4: nullable Object */;
2127 short int var9 /* : Bool */;
2128 int cltype10;
2129 int idtype11;
2130 val* var12 /* : Array[Object] */;
2131 val* var_listnode6 /* var listnode6: nullable Object */;
2132 short int var13 /* : Bool */;
2133 int cltype14;
2134 int idtype15;
2135 val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */;
2136 short int var16 /* : Bool */;
2137 int cltype17;
2138 int idtype18;
2139 val* var19 /* : Array[Object] */;
2140 val* var20 /* : null */;
2141 short int var21 /* : Bool */;
2142 short int var22 /* : Bool */;
2143 val* var_other /* var other: nullable Object */;
2144 short int var24 /* : Bool */;
2145 short int var25 /* : Bool */;
2146 val* var26 /* : AModule */;
2147 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
2148 long var27 /* : Int */;
2149 long var28 /* : Int */;
2150 var_p = p0;
2151 var = NULL;
2152 var_node_list = var;
2153 {
2154 var1 = nit___nit__Parser___pop(var_p);
2155 }
2156 var_nodearraylist4 = var1;
2157 {
2158 var2 = nit___nit__Parser___pop(var_p);
2159 }
2160 var_nodearraylist3 = var2;
2161 {
2162 var3 = nit___nit__Parser___pop(var_p);
2163 }
2164 var_nodearraylist2 = var3;
2165 {
2166 var4 = nit___nit__Parser___pop(var_p);
2167 }
2168 var_nodearraylist1 = var4;
2169 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
2170 {
2171 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
2172 }
2173 var_listnode3 = var5;
2174 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
2175 {
2176 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
2177 }
2178 var_listnode5 = var6;
2179 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
2180 {
2181 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
2182 }
2183 var_listnode8 = var7;
2184 var_pmoduledeclnode2 = var_nodearraylist1;
2185 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2186 cltype = type_nullable__nit__AModuledecl.color;
2187 idtype = type_nullable__nit__AModuledecl.id;
2188 if(var_pmoduledeclnode2 == NULL) {
2189 var8 = 1;
2190 } else {
2191 if(cltype >= var_pmoduledeclnode2->type->table_size) {
2192 var8 = 0;
2193 } else {
2194 var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
2195 }
2196 }
2197 if (unlikely(!var8)) {
2198 PRINT_ERROR("Runtime error: %s", "Assert failed");
2199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1440);
2200 show_backtrace(1);
2201 }
2202 var_listnode4 = var_nodearraylist2;
2203 /* <var_listnode4:nullable Object> isa Array[Object] */
2204 cltype10 = type_standard__Array__standard__Object.color;
2205 idtype11 = type_standard__Array__standard__Object.id;
2206 if(var_listnode4 == NULL) {
2207 var9 = 0;
2208 } else {
2209 if(cltype10 >= var_listnode4->type->table_size) {
2210 var9 = 0;
2211 } else {
2212 var9 = var_listnode4->type->type_table[cltype10] == idtype11;
2213 }
2214 }
2215 if (unlikely(!var9)) {
2216 PRINT_ERROR("Runtime error: %s", "Assert failed");
2217 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1442);
2218 show_backtrace(1);
2219 }
2220 {
2221 var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
2222 }
2223 var_listnode5 = var12;
2224 var_listnode6 = var_nodearraylist3;
2225 /* <var_listnode6:nullable Object> isa Array[Object] */
2226 cltype14 = type_standard__Array__standard__Object.color;
2227 idtype15 = type_standard__Array__standard__Object.id;
2228 if(var_listnode6 == NULL) {
2229 var13 = 0;
2230 } else {
2231 if(cltype14 >= var_listnode6->type->table_size) {
2232 var13 = 0;
2233 } else {
2234 var13 = var_listnode6->type->type_table[cltype14] == idtype15;
2235 }
2236 }
2237 if (unlikely(!var13)) {
2238 PRINT_ERROR("Runtime error: %s", "Assert failed");
2239 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1445);
2240 show_backtrace(1);
2241 }
2242 var_pclassdefnode7 = var_nodearraylist4;
2243 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
2244 cltype17 = type_nullable__nit__AClassdef.color;
2245 idtype18 = type_nullable__nit__AClassdef.id;
2246 if(var_pclassdefnode7 == NULL) {
2247 var16 = 1;
2248 } else {
2249 if(cltype17 >= var_pclassdefnode7->type->table_size) {
2250 var16 = 0;
2251 } else {
2252 var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18;
2253 }
2254 }
2255 if (unlikely(!var16)) {
2256 PRINT_ERROR("Runtime error: %s", "Assert failed");
2257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1447);
2258 show_backtrace(1);
2259 }
2260 {
2261 var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6);
2262 }
2263 var_listnode8 = var19;
2264 var20 = NULL;
2265 if (var_pclassdefnode7 == NULL) {
2266 var21 = 0; /* is null */
2267 } else {
2268 var21 = 1; /* arg is null and recv is not */
2269 }
2270 if (0) {
2271 { /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on <var_pclassdefnode7:nullable Object(nullable AClassdef)> */
2272 var_other = var20;
2273 {
2274 var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on <var_pclassdefnode7:nullable AClassdef(AClassdef)>*/;
2275 }
2276 var25 = !var24;
2277 var22 = var25;
2278 goto RET_LABEL23;
2279 RET_LABEL23:(void)0;
2280 }
2281 var21 = var22;
2282 }
2283 if (var21){
2284 {
2285 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
2286 }
2287 } else {
2288 }
2289 var26 = NEW_nit__AModule(&type_nit__AModule);
2290 {
2291 nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on <var26:AModule>*/
2292 }
2293 var_pmodulenode1 = var26;
2294 var_node_list = var_pmodulenode1;
2295 var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction13> */
2296 {
2297 var28 = nit___nit__Parser___go_to(var_p, var27);
2298 }
2299 {
2300 nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2301 }
2302 RET_LABEL:;
2303 }
2304 /* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */
2305 void nit__parser___nit__parser__ReduceAction14___nit__parser_work__ReduceAction__action(val* self, val* p0) {
2306 val* var_p /* var p: Parser */;
2307 val* var /* : null */;
2308 val* var_node_list /* var node_list: nullable Object */;
2309 val* var1 /* : nullable Object */;
2310 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2311 val* var2 /* : nullable Object */;
2312 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2313 val* var3 /* : nullable Object */;
2314 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2315 val* var4 /* : nullable Object */;
2316 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2317 val* var5 /* : Array[Object] */;
2318 val* var_listnode4 /* var listnode4: Array[Object] */;
2319 val* var6 /* : Array[Object] */;
2320 val* var_listnode6 /* var listnode6: Array[Object] */;
2321 val* var7 /* : Array[Object] */;
2322 val* var_listnode9 /* var listnode9: Array[Object] */;
2323 val* var_listnode3 /* var listnode3: nullable Object */;
2324 short int var8 /* : Bool */;
2325 int cltype;
2326 int idtype;
2327 val* var9 /* : Array[Object] */;
2328 val* var_listnode5 /* var listnode5: nullable Object */;
2329 short int var10 /* : Bool */;
2330 int cltype11;
2331 int idtype12;
2332 val* var13 /* : Array[Object] */;
2333 val* var_listnode7 /* var listnode7: nullable Object */;
2334 short int var14 /* : Bool */;
2335 int cltype15;
2336 int idtype16;
2337 val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */;
2338 short int var17 /* : Bool */;
2339 int cltype18;
2340 int idtype19;
2341 val* var20 /* : Array[Object] */;
2342 val* var21 /* : null */;
2343 short int var22 /* : Bool */;
2344 short int var23 /* : Bool */;
2345 val* var_other /* var other: nullable Object */;
2346 short int var25 /* : Bool */;
2347 short int var26 /* : Bool */;
2348 val* var27 /* : AModule */;
2349 val* var28 /* : null */;
2350 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
2351 long var29 /* : Int */;
2352 long var30 /* : Int */;
2353 var_p = p0;
2354 var = NULL;
2355 var_node_list = var;
2356 {
2357 var1 = nit___nit__Parser___pop(var_p);
2358 }
2359 var_nodearraylist4 = var1;
2360 {
2361 var2 = nit___nit__Parser___pop(var_p);
2362 }
2363 var_nodearraylist3 = var2;
2364 {
2365 var3 = nit___nit__Parser___pop(var_p);
2366 }
2367 var_nodearraylist2 = var3;
2368 {
2369 var4 = nit___nit__Parser___pop(var_p);
2370 }
2371 var_nodearraylist1 = var4;
2372 var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
2373 {
2374 standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
2375 }
2376 var_listnode4 = var5;
2377 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
2378 {
2379 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
2380 }
2381 var_listnode6 = var6;
2382 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
2383 {
2384 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
2385 }
2386 var_listnode9 = var7;
2387 var_listnode3 = var_nodearraylist1;
2388 /* <var_listnode3:nullable Object> isa Array[Object] */
2389 cltype = type_standard__Array__standard__Object.color;
2390 idtype = type_standard__Array__standard__Object.id;
2391 if(var_listnode3 == NULL) {
2392 var8 = 0;
2393 } else {
2394 if(cltype >= var_listnode3->type->table_size) {
2395 var8 = 0;
2396 } else {
2397 var8 = var_listnode3->type->type_table[cltype] == idtype;
2398 }
2399 }
2400 if (unlikely(!var8)) {
2401 PRINT_ERROR("Runtime error: %s", "Assert failed");
2402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1475);
2403 show_backtrace(1);
2404 }
2405 {
2406 var9 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
2407 }
2408 var_listnode4 = var9;
2409 var_listnode5 = var_nodearraylist2;
2410 /* <var_listnode5:nullable Object> isa Array[Object] */
2411 cltype11 = type_standard__Array__standard__Object.color;
2412 idtype12 = type_standard__Array__standard__Object.id;
2413 if(var_listnode5 == NULL) {
2414 var10 = 0;
2415 } else {
2416 if(cltype11 >= var_listnode5->type->table_size) {
2417 var10 = 0;
2418 } else {
2419 var10 = var_listnode5->type->type_table[cltype11] == idtype12;
2420 }
2421 }
2422 if (unlikely(!var10)) {
2423 PRINT_ERROR("Runtime error: %s", "Assert failed");
2424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1478);
2425 show_backtrace(1);
2426 }
2427 {
2428 var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
2429 }
2430 var_listnode6 = var13;
2431 var_listnode7 = var_nodearraylist3;
2432 /* <var_listnode7:nullable Object> isa Array[Object] */
2433 cltype15 = type_standard__Array__standard__Object.color;
2434 idtype16 = type_standard__Array__standard__Object.id;
2435 if(var_listnode7 == NULL) {
2436 var14 = 0;
2437 } else {
2438 if(cltype15 >= var_listnode7->type->table_size) {
2439 var14 = 0;
2440 } else {
2441 var14 = var_listnode7->type->type_table[cltype15] == idtype16;
2442 }
2443 }
2444 if (unlikely(!var14)) {
2445 PRINT_ERROR("Runtime error: %s", "Assert failed");
2446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1481);
2447 show_backtrace(1);
2448 }
2449 var_pclassdefnode8 = var_nodearraylist4;
2450 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
2451 cltype18 = type_nullable__nit__AClassdef.color;
2452 idtype19 = type_nullable__nit__AClassdef.id;
2453 if(var_pclassdefnode8 == NULL) {
2454 var17 = 1;
2455 } else {
2456 if(cltype18 >= var_pclassdefnode8->type->table_size) {
2457 var17 = 0;
2458 } else {
2459 var17 = var_pclassdefnode8->type->type_table[cltype18] == idtype19;
2460 }
2461 }
2462 if (unlikely(!var17)) {
2463 PRINT_ERROR("Runtime error: %s", "Assert failed");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1483);
2465 show_backtrace(1);
2466 }
2467 {
2468 var20 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7);
2469 }
2470 var_listnode9 = var20;
2471 var21 = NULL;
2472 if (var_pclassdefnode8 == NULL) {
2473 var22 = 0; /* is null */
2474 } else {
2475 var22 = 1; /* arg is null and recv is not */
2476 }
2477 if (0) {
2478 { /* Inline kernel#Object#!= (var_pclassdefnode8,var21) on <var_pclassdefnode8:nullable Object(nullable AClassdef)> */
2479 var_other = var21;
2480 {
2481 var25 = ((short int (*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on <var_pclassdefnode8:nullable AClassdef(AClassdef)>*/;
2482 }
2483 var26 = !var25;
2484 var23 = var26;
2485 goto RET_LABEL24;
2486 RET_LABEL24:(void)0;
2487 }
2488 var22 = var23;
2489 }
2490 if (var22){
2491 {
2492 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on <var_listnode9:Array[Object]>*/
2493 }
2494 } else {
2495 }
2496 var27 = NEW_nit__AModule(&type_nit__AModule);
2497 var28 = NULL;
2498 {
2499 nit__parser_prod___AModule___init_amodule(var27, var28, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on <var27:AModule>*/
2500 }
2501 var_pmodulenode1 = var27;
2502 var_node_list = var_pmodulenode1;
2503 var29 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction14> */
2504 {
2505 var30 = nit___nit__Parser___go_to(var_p, var29);
2506 }
2507 {
2508 nit___nit__Parser___push(var_p, var30, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2509 }
2510 RET_LABEL:;
2511 }
2512 /* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */
2513 void nit__parser___nit__parser__ReduceAction15___nit__parser_work__ReduceAction__action(val* self, val* p0) {
2514 val* var_p /* var p: Parser */;
2515 val* var /* : null */;
2516 val* var_node_list /* var node_list: nullable Object */;
2517 val* var1 /* : nullable Object */;
2518 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2519 val* var2 /* : nullable Object */;
2520 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2521 val* var3 /* : nullable Object */;
2522 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2523 val* var4 /* : nullable Object */;
2524 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2525 val* var5 /* : nullable Object */;
2526 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2527 val* var6 /* : Array[Object] */;
2528 val* var_listnode4 /* var listnode4: Array[Object] */;
2529 val* var7 /* : Array[Object] */;
2530 val* var_listnode6 /* var listnode6: Array[Object] */;
2531 val* var8 /* : Array[Object] */;
2532 val* var_listnode9 /* var listnode9: Array[Object] */;
2533 val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */;
2534 short int var9 /* : Bool */;
2535 int cltype;
2536 int idtype;
2537 val* var_listnode3 /* var listnode3: nullable Object */;
2538 short int var10 /* : Bool */;
2539 int cltype11;
2540 int idtype12;
2541 val* var13 /* : Array[Object] */;
2542 val* var_listnode5 /* var listnode5: nullable Object */;
2543 short int var14 /* : Bool */;
2544 int cltype15;
2545 int idtype16;
2546 val* var17 /* : Array[Object] */;
2547 val* var_listnode7 /* var listnode7: nullable Object */;
2548 short int var18 /* : Bool */;
2549 int cltype19;
2550 int idtype20;
2551 val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */;
2552 short int var21 /* : Bool */;
2553 int cltype22;
2554 int idtype23;
2555 val* var24 /* : Array[Object] */;
2556 val* var25 /* : null */;
2557 short int var26 /* : Bool */;
2558 short int var27 /* : Bool */;
2559 val* var_other /* var other: nullable Object */;
2560 short int var29 /* : Bool */;
2561 short int var30 /* : Bool */;
2562 val* var31 /* : AModule */;
2563 val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */;
2564 long var32 /* : Int */;
2565 long var33 /* : Int */;
2566 var_p = p0;
2567 var = NULL;
2568 var_node_list = var;
2569 {
2570 var1 = nit___nit__Parser___pop(var_p);
2571 }
2572 var_nodearraylist5 = var1;
2573 {
2574 var2 = nit___nit__Parser___pop(var_p);
2575 }
2576 var_nodearraylist4 = var2;
2577 {
2578 var3 = nit___nit__Parser___pop(var_p);
2579 }
2580 var_nodearraylist3 = var3;
2581 {
2582 var4 = nit___nit__Parser___pop(var_p);
2583 }
2584 var_nodearraylist2 = var4;
2585 {
2586 var5 = nit___nit__Parser___pop(var_p);
2587 }
2588 var_nodearraylist1 = var5;
2589 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
2590 {
2591 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
2592 }
2593 var_listnode4 = var6;
2594 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
2595 {
2596 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
2597 }
2598 var_listnode6 = var7;
2599 var8 = NEW_standard__Array(&type_standard__Array__standard__Object);
2600 {
2601 standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on <var8:Array[Object]>*/
2602 }
2603 var_listnode9 = var8;
2604 var_pmoduledeclnode2 = var_nodearraylist1;
2605 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2606 cltype = type_nullable__nit__AModuledecl.color;
2607 idtype = type_nullable__nit__AModuledecl.id;
2608 if(var_pmoduledeclnode2 == NULL) {
2609 var9 = 1;
2610 } else {
2611 if(cltype >= var_pmoduledeclnode2->type->table_size) {
2612 var9 = 0;
2613 } else {
2614 var9 = var_pmoduledeclnode2->type->type_table[cltype] == idtype;
2615 }
2616 }
2617 if (unlikely(!var9)) {
2618 PRINT_ERROR("Runtime error: %s", "Assert failed");
2619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1512);
2620 show_backtrace(1);
2621 }
2622 var_listnode3 = var_nodearraylist2;
2623 /* <var_listnode3:nullable Object> isa Array[Object] */
2624 cltype11 = type_standard__Array__standard__Object.color;
2625 idtype12 = type_standard__Array__standard__Object.id;
2626 if(var_listnode3 == NULL) {
2627 var10 = 0;
2628 } else {
2629 if(cltype11 >= var_listnode3->type->table_size) {
2630 var10 = 0;
2631 } else {
2632 var10 = var_listnode3->type->type_table[cltype11] == idtype12;
2633 }
2634 }
2635 if (unlikely(!var10)) {
2636 PRINT_ERROR("Runtime error: %s", "Assert failed");
2637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1514);
2638 show_backtrace(1);
2639 }
2640 {
2641 var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
2642 }
2643 var_listnode4 = var13;
2644 var_listnode5 = var_nodearraylist3;
2645 /* <var_listnode5:nullable Object> isa Array[Object] */
2646 cltype15 = type_standard__Array__standard__Object.color;
2647 idtype16 = type_standard__Array__standard__Object.id;
2648 if(var_listnode5 == NULL) {
2649 var14 = 0;
2650 } else {
2651 if(cltype15 >= var_listnode5->type->table_size) {
2652 var14 = 0;
2653 } else {
2654 var14 = var_listnode5->type->type_table[cltype15] == idtype16;
2655 }
2656 }
2657 if (unlikely(!var14)) {
2658 PRINT_ERROR("Runtime error: %s", "Assert failed");
2659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1517);
2660 show_backtrace(1);
2661 }
2662 {
2663 var17 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
2664 }
2665 var_listnode6 = var17;
2666 var_listnode7 = var_nodearraylist4;
2667 /* <var_listnode7:nullable Object> isa Array[Object] */
2668 cltype19 = type_standard__Array__standard__Object.color;
2669 idtype20 = type_standard__Array__standard__Object.id;
2670 if(var_listnode7 == NULL) {
2671 var18 = 0;
2672 } else {
2673 if(cltype19 >= var_listnode7->type->table_size) {
2674 var18 = 0;
2675 } else {
2676 var18 = var_listnode7->type->type_table[cltype19] == idtype20;
2677 }
2678 }
2679 if (unlikely(!var18)) {
2680 PRINT_ERROR("Runtime error: %s", "Assert failed");
2681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1520);
2682 show_backtrace(1);
2683 }
2684 var_pclassdefnode8 = var_nodearraylist5;
2685 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
2686 cltype22 = type_nullable__nit__AClassdef.color;
2687 idtype23 = type_nullable__nit__AClassdef.id;
2688 if(var_pclassdefnode8 == NULL) {
2689 var21 = 1;
2690 } else {
2691 if(cltype22 >= var_pclassdefnode8->type->table_size) {
2692 var21 = 0;
2693 } else {
2694 var21 = var_pclassdefnode8->type->type_table[cltype22] == idtype23;
2695 }
2696 }
2697 if (unlikely(!var21)) {
2698 PRINT_ERROR("Runtime error: %s", "Assert failed");
2699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1522);
2700 show_backtrace(1);
2701 }
2702 {
2703 var24 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7);
2704 }
2705 var_listnode9 = var24;
2706 var25 = NULL;
2707 if (var_pclassdefnode8 == NULL) {
2708 var26 = 0; /* is null */
2709 } else {
2710 var26 = 1; /* arg is null and recv is not */
2711 }
2712 if (0) {
2713 { /* Inline kernel#Object#!= (var_pclassdefnode8,var25) on <var_pclassdefnode8:nullable Object(nullable AClassdef)> */
2714 var_other = var25;
2715 {
2716 var29 = ((short int (*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on <var_pclassdefnode8:nullable AClassdef(AClassdef)>*/;
2717 }
2718 var30 = !var29;
2719 var27 = var30;
2720 goto RET_LABEL28;
2721 RET_LABEL28:(void)0;
2722 }
2723 var26 = var27;
2724 }
2725 if (var26){
2726 {
2727 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on <var_listnode9:Array[Object]>*/
2728 }
2729 } else {
2730 }
2731 var31 = NEW_nit__AModule(&type_nit__AModule);
2732 {
2733 nit__parser_prod___AModule___init_amodule(var31, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on <var31:AModule>*/
2734 }
2735 var_pmodulenode1 = var31;
2736 var_node_list = var_pmodulenode1;
2737 var32 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction15> */
2738 {
2739 var33 = nit___nit__Parser___go_to(var_p, var32);
2740 }
2741 {
2742 nit___nit__Parser___push(var_p, var33, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2743 }
2744 RET_LABEL:;
2745 }
2746 /* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */
2747 void nit__parser___nit__parser__ReduceAction16___nit__parser_work__ReduceAction__action(val* self, val* p0) {
2748 val* var_p /* var p: Parser */;
2749 val* var /* : null */;
2750 val* var_node_list /* var node_list: nullable Object */;
2751 val* var1 /* : nullable Object */;
2752 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2753 val* var2 /* : nullable Object */;
2754 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2755 val* var3 /* : nullable Object */;
2756 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2757 val* var4 /* : nullable Object */;
2758 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2759 val* var5 /* : nullable Object */;
2760 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2761 val* var6 /* : nullable Object */;
2762 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2763 val* var7 /* : nullable Object */;
2764 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2765 val* var8 /* : nullable Object */;
2766 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2767 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2768 short int var9 /* : Bool */;
2769 int cltype;
2770 int idtype;
2771 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2772 short int var10 /* : Bool */;
2773 int cltype11;
2774 int idtype12;
2775 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2776 short int var13 /* : Bool */;
2777 int cltype14;
2778 int idtype15;
2779 val* var_tkwmodulenode5 /* var tkwmodulenode5: nullable Object */;
2780 short int var16 /* : Bool */;
2781 int cltype17;
2782 int idtype18;
2783 val* var_pmodulenamenode6 /* var pmodulenamenode6: nullable Object */;
2784 short int var19 /* : Bool */;
2785 int cltype20;
2786 int idtype21;
2787 val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */;
2788 short int var22 /* : Bool */;
2789 int cltype23;
2790 int idtype24;
2791 val* var25 /* : AModuledecl */;
2792 val* var_pmoduledeclnode1 /* var pmoduledeclnode1: nullable AModuledecl */;
2793 long var26 /* : Int */;
2794 long var27 /* : Int */;
2795 var_p = p0;
2796 var = NULL;
2797 var_node_list = var;
2798 {
2799 var1 = nit___nit__Parser___pop(var_p);
2800 }
2801 var_nodearraylist8 = var1;
2802 {
2803 var2 = nit___nit__Parser___pop(var_p);
2804 }
2805 var_nodearraylist7 = var2;
2806 {
2807 var3 = nit___nit__Parser___pop(var_p);
2808 }
2809 var_nodearraylist6 = var3;
2810 {
2811 var4 = nit___nit__Parser___pop(var_p);
2812 }
2813 var_nodearraylist5 = var4;
2814 {
2815 var5 = nit___nit__Parser___pop(var_p);
2816 }
2817 var_nodearraylist4 = var5;
2818 {
2819 var6 = nit___nit__Parser___pop(var_p);
2820 }
2821 var_nodearraylist3 = var6;
2822 {
2823 var7 = nit___nit__Parser___pop(var_p);
2824 }
2825 var_nodearraylist2 = var7;
2826 {
2827 var8 = nit___nit__Parser___pop(var_p);
2828 }
2829 var_nodearraylist1 = var8;
2830 var_pdocnode2 = var_nodearraylist1;
2831 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2832 cltype = type_nullable__nit__ADoc.color;
2833 idtype = type_nullable__nit__ADoc.id;
2834 if(var_pdocnode2 == NULL) {
2835 var9 = 1;
2836 } else {
2837 if(cltype >= var_pdocnode2->type->table_size) {
2838 var9 = 0;
2839 } else {
2840 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2841 }
2842 }
2843 if (unlikely(!var9)) {
2844 PRINT_ERROR("Runtime error: %s", "Assert failed");
2845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1551);
2846 show_backtrace(1);
2847 }
2848 var_tkwredefnode3 = var_nodearraylist2;
2849 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2850 cltype11 = type_nullable__nit__TKwredef.color;
2851 idtype12 = type_nullable__nit__TKwredef.id;
2852 if(var_tkwredefnode3 == NULL) {
2853 var10 = 1;
2854 } else {
2855 if(cltype11 >= var_tkwredefnode3->type->table_size) {
2856 var10 = 0;
2857 } else {
2858 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
2859 }
2860 }
2861 if (unlikely(!var10)) {
2862 PRINT_ERROR("Runtime error: %s", "Assert failed");
2863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1553);
2864 show_backtrace(1);
2865 }
2866 var_pvisibilitynode4 = var_nodearraylist3;
2867 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2868 cltype14 = type_nullable__nit__AVisibility.color;
2869 idtype15 = type_nullable__nit__AVisibility.id;
2870 if(var_pvisibilitynode4 == NULL) {
2871 var13 = 1;
2872 } else {
2873 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2874 var13 = 0;
2875 } else {
2876 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2877 }
2878 }
2879 if (unlikely(!var13)) {
2880 PRINT_ERROR("Runtime error: %s", "Assert failed");
2881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1555);
2882 show_backtrace(1);
2883 }
2884 var_tkwmodulenode5 = var_nodearraylist4;
2885 /* <var_tkwmodulenode5:nullable Object> isa nullable TKwmodule */
2886 cltype17 = type_nullable__nit__TKwmodule.color;
2887 idtype18 = type_nullable__nit__TKwmodule.id;
2888 if(var_tkwmodulenode5 == NULL) {
2889 var16 = 1;
2890 } else {
2891 if(cltype17 >= var_tkwmodulenode5->type->table_size) {
2892 var16 = 0;
2893 } else {
2894 var16 = var_tkwmodulenode5->type->type_table[cltype17] == idtype18;
2895 }
2896 }
2897 if (unlikely(!var16)) {
2898 PRINT_ERROR("Runtime error: %s", "Assert failed");
2899 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1557);
2900 show_backtrace(1);
2901 }
2902 var_pmodulenamenode6 = var_nodearraylist6;
2903 /* <var_pmodulenamenode6:nullable Object> isa nullable AModuleName */
2904 cltype20 = type_nullable__nit__AModuleName.color;
2905 idtype21 = type_nullable__nit__AModuleName.id;
2906 if(var_pmodulenamenode6 == NULL) {
2907 var19 = 1;
2908 } else {
2909 if(cltype20 >= var_pmodulenamenode6->type->table_size) {
2910 var19 = 0;
2911 } else {
2912 var19 = var_pmodulenamenode6->type->type_table[cltype20] == idtype21;
2913 }
2914 }
2915 if (unlikely(!var19)) {
2916 PRINT_ERROR("Runtime error: %s", "Assert failed");
2917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1559);
2918 show_backtrace(1);
2919 }
2920 var_pannotationsnode7 = var_nodearraylist7;
2921 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
2922 cltype23 = type_nullable__nit__AAnnotations.color;
2923 idtype24 = type_nullable__nit__AAnnotations.id;
2924 if(var_pannotationsnode7 == NULL) {
2925 var22 = 1;
2926 } else {
2927 if(cltype23 >= var_pannotationsnode7->type->table_size) {
2928 var22 = 0;
2929 } else {
2930 var22 = var_pannotationsnode7->type->type_table[cltype23] == idtype24;
2931 }
2932 }
2933 if (unlikely(!var22)) {
2934 PRINT_ERROR("Runtime error: %s", "Assert failed");
2935 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1561);
2936 show_backtrace(1);
2937 }
2938 var25 = NEW_nit__AModuledecl(&type_nit__AModuledecl);
2939 {
2940 nit__parser_prod___AModuledecl___init_amoduledecl(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmodulenode5, var_pmodulenamenode6, var_pannotationsnode7); /* Direct call parser_prod#AModuledecl#init_amoduledecl on <var25:AModuledecl>*/
2941 }
2942 var_pmoduledeclnode1 = var25;
2943 var_node_list = var_pmoduledeclnode1;
2944 var26 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction16> */
2945 {
2946 var27 = nit___nit__Parser___go_to(var_p, var26);
2947 }
2948 {
2949 nit___nit__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2950 }
2951 RET_LABEL:;
2952 }
2953 /* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */
2954 void nit__parser___nit__parser__ReduceAction17___nit__parser_work__ReduceAction__action(val* self, val* p0) {
2955 val* var_p /* var p: Parser */;
2956 val* var /* : null */;
2957 val* var_node_list /* var node_list: nullable Object */;
2958 val* var1 /* : nullable Object */;
2959 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2960 val* var2 /* : nullable Object */;
2961 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2962 val* var3 /* : nullable Object */;
2963 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2964 val* var4 /* : nullable Object */;
2965 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2966 val* var5 /* : nullable Object */;
2967 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2968 val* var6 /* : nullable Object */;
2969 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2970 val* var7 /* : nullable Object */;
2971 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2972 val* var8 /* : nullable Object */;
2973 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2974 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
2975 short int var9 /* : Bool */;
2976 int cltype;
2977 int idtype;
2978 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
2979 short int var10 /* : Bool */;
2980 int cltype11;
2981 int idtype12;
2982 val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */;
2983 short int var13 /* : Bool */;
2984 int cltype14;
2985 int idtype15;
2986 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
2987 short int var16 /* : Bool */;
2988 int cltype17;
2989 int idtype18;
2990 val* var19 /* : AStdImport */;
2991 val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */;
2992 long var20 /* : Int */;
2993 long var21 /* : Int */;
2994 var_p = p0;
2995 var = NULL;
2996 var_node_list = var;
2997 {
2998 var1 = nit___nit__Parser___pop(var_p);
2999 }
3000 var_nodearraylist8 = var1;
3001 {
3002 var2 = nit___nit__Parser___pop(var_p);
3003 }
3004 var_nodearraylist7 = var2;
3005 {
3006 var3 = nit___nit__Parser___pop(var_p);
3007 }
3008 var_nodearraylist6 = var3;
3009 {
3010 var4 = nit___nit__Parser___pop(var_p);
3011 }
3012 var_nodearraylist5 = var4;
3013 {
3014 var5 = nit___nit__Parser___pop(var_p);
3015 }
3016 var_nodearraylist4 = var5;
3017 {
3018 var6 = nit___nit__Parser___pop(var_p);
3019 }
3020 var_nodearraylist3 = var6;
3021 {
3022 var7 = nit___nit__Parser___pop(var_p);
3023 }
3024 var_nodearraylist2 = var7;
3025 {
3026 var8 = nit___nit__Parser___pop(var_p);
3027 }
3028 var_nodearraylist1 = var8;
3029 var_pvisibilitynode2 = var_nodearraylist3;
3030 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
3031 cltype = type_nullable__nit__AVisibility.color;
3032 idtype = type_nullable__nit__AVisibility.id;
3033 if(var_pvisibilitynode2 == NULL) {
3034 var9 = 1;
3035 } else {
3036 if(cltype >= var_pvisibilitynode2->type->table_size) {
3037 var9 = 0;
3038 } else {
3039 var9 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
3040 }
3041 }
3042 if (unlikely(!var9)) {
3043 PRINT_ERROR("Runtime error: %s", "Assert failed");
3044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1588);
3045 show_backtrace(1);
3046 }
3047 var_tkwimportnode3 = var_nodearraylist4;
3048 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
3049 cltype11 = type_nullable__nit__TKwimport.color;
3050 idtype12 = type_nullable__nit__TKwimport.id;
3051 if(var_tkwimportnode3 == NULL) {
3052 var10 = 1;
3053 } else {
3054 if(cltype11 >= var_tkwimportnode3->type->table_size) {
3055 var10 = 0;
3056 } else {
3057 var10 = var_tkwimportnode3->type->type_table[cltype11] == idtype12;
3058 }
3059 }
3060 if (unlikely(!var10)) {
3061 PRINT_ERROR("Runtime error: %s", "Assert failed");
3062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1590);
3063 show_backtrace(1);
3064 }
3065 var_pmodulenamenode4 = var_nodearraylist6;
3066 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
3067 cltype14 = type_nullable__nit__AModuleName.color;
3068 idtype15 = type_nullable__nit__AModuleName.id;
3069 if(var_pmodulenamenode4 == NULL) {
3070 var13 = 1;
3071 } else {
3072 if(cltype14 >= var_pmodulenamenode4->type->table_size) {
3073 var13 = 0;
3074 } else {
3075 var13 = var_pmodulenamenode4->type->type_table[cltype14] == idtype15;
3076 }
3077 }
3078 if (unlikely(!var13)) {
3079 PRINT_ERROR("Runtime error: %s", "Assert failed");
3080 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1592);
3081 show_backtrace(1);
3082 }
3083 var_pannotationsnode5 = var_nodearraylist7;
3084 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
3085 cltype17 = type_nullable__nit__AAnnotations.color;
3086 idtype18 = type_nullable__nit__AAnnotations.id;
3087 if(var_pannotationsnode5 == NULL) {
3088 var16 = 1;
3089 } else {
3090 if(cltype17 >= var_pannotationsnode5->type->table_size) {
3091 var16 = 0;
3092 } else {
3093 var16 = var_pannotationsnode5->type->type_table[cltype17] == idtype18;
3094 }
3095 }
3096 if (unlikely(!var16)) {
3097 PRINT_ERROR("Runtime error: %s", "Assert failed");
3098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1594);
3099 show_backtrace(1);
3100 }
3101 var19 = NEW_nit__AStdImport(&type_nit__AStdImport);
3102 {
3103 nit__parser_prod___AStdImport___init_astdimport(var19, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5); /* Direct call parser_prod#AStdImport#init_astdimport on <var19:AStdImport>*/
3104 }
3105 var_pimportnode1 = var19;
3106 var_node_list = var_pimportnode1;
3107 var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction17> */
3108 {
3109 var21 = nit___nit__Parser___go_to(var_p, var20);
3110 }
3111 {
3112 nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3113 }
3114 RET_LABEL:;
3115 }
3116 /* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */
3117 void nit__parser___nit__parser__ReduceAction18___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3118 val* var_p /* var p: Parser */;
3119 val* var /* : null */;
3120 val* var_node_list /* var node_list: nullable Object */;
3121 val* var1 /* : nullable Object */;
3122 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3123 val* var2 /* : nullable Object */;
3124 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3125 val* var3 /* : nullable Object */;
3126 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3127 val* var4 /* : nullable Object */;
3128 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3129 val* var5 /* : nullable Object */;
3130 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3131 val* var6 /* : nullable Object */;
3132 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3133 val* var7 /* : nullable Object */;
3134 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3135 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
3136 short int var8 /* : Bool */;
3137 int cltype;
3138 int idtype;
3139 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
3140 short int var9 /* : Bool */;
3141 int cltype10;
3142 int idtype11;
3143 val* var_tkwendnode4 /* var tkwendnode4: nullable Object */;
3144 short int var12 /* : Bool */;
3145 int cltype13;
3146 int idtype14;
3147 val* var15 /* : ANoImport */;
3148 val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */;
3149 long var16 /* : Int */;
3150 long var17 /* : Int */;
3151 var_p = p0;
3152 var = NULL;
3153 var_node_list = var;
3154 {
3155 var1 = nit___nit__Parser___pop(var_p);
3156 }
3157 var_nodearraylist7 = var1;
3158 {
3159 var2 = nit___nit__Parser___pop(var_p);
3160 }
3161 var_nodearraylist6 = var2;
3162 {
3163 var3 = nit___nit__Parser___pop(var_p);
3164 }
3165 var_nodearraylist5 = var3;
3166 {
3167 var4 = nit___nit__Parser___pop(var_p);
3168 }
3169 var_nodearraylist4 = var4;
3170 {
3171 var5 = nit___nit__Parser___pop(var_p);
3172 }
3173 var_nodearraylist3 = var5;
3174 {
3175 var6 = nit___nit__Parser___pop(var_p);
3176 }
3177 var_nodearraylist2 = var6;
3178 {
3179 var7 = nit___nit__Parser___pop(var_p);
3180 }
3181 var_nodearraylist1 = var7;
3182 var_pvisibilitynode2 = var_nodearraylist3;
3183 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
3184 cltype = type_nullable__nit__AVisibility.color;
3185 idtype = type_nullable__nit__AVisibility.id;
3186 if(var_pvisibilitynode2 == NULL) {
3187 var8 = 1;
3188 } else {
3189 if(cltype >= var_pvisibilitynode2->type->table_size) {
3190 var8 = 0;
3191 } else {
3192 var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
3193 }
3194 }
3195 if (unlikely(!var8)) {
3196 PRINT_ERROR("Runtime error: %s", "Assert failed");
3197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1618);
3198 show_backtrace(1);
3199 }
3200 var_tkwimportnode3 = var_nodearraylist4;
3201 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
3202 cltype10 = type_nullable__nit__TKwimport.color;
3203 idtype11 = type_nullable__nit__TKwimport.id;
3204 if(var_tkwimportnode3 == NULL) {
3205 var9 = 1;
3206 } else {
3207 if(cltype10 >= var_tkwimportnode3->type->table_size) {
3208 var9 = 0;
3209 } else {
3210 var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11;
3211 }
3212 }
3213 if (unlikely(!var9)) {
3214 PRINT_ERROR("Runtime error: %s", "Assert failed");
3215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1620);
3216 show_backtrace(1);
3217 }
3218 var_tkwendnode4 = var_nodearraylist6;
3219 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
3220 cltype13 = type_nullable__nit__TKwend.color;
3221 idtype14 = type_nullable__nit__TKwend.id;
3222 if(var_tkwendnode4 == NULL) {
3223 var12 = 1;
3224 } else {
3225 if(cltype13 >= var_tkwendnode4->type->table_size) {
3226 var12 = 0;
3227 } else {
3228 var12 = var_tkwendnode4->type->type_table[cltype13] == idtype14;
3229 }
3230 }
3231 if (unlikely(!var12)) {
3232 PRINT_ERROR("Runtime error: %s", "Assert failed");
3233 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1622);
3234 show_backtrace(1);
3235 }
3236 var15 = NEW_nit__ANoImport(&type_nit__ANoImport);
3237 {
3238 nit__parser_prod___ANoImport___init_anoimport(var15, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4); /* Direct call parser_prod#ANoImport#init_anoimport on <var15:ANoImport>*/
3239 }
3240 var_pimportnode1 = var15;
3241 var_node_list = var_pimportnode1;
3242 var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction18> */
3243 {
3244 var17 = nit___nit__Parser___go_to(var_p, var16);
3245 }
3246 {
3247 nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3248 }
3249 RET_LABEL:;
3250 }
3251 /* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */
3252 void nit__parser___nit__parser__ReduceAction19___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3253 val* var_p /* var p: Parser */;
3254 val* var /* : null */;
3255 val* var_node_list /* var node_list: nullable Object */;
3256 val* var1 /* : nullable Object */;
3257 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3258 val* var_pclassdefnode1 /* var pclassdefnode1: nullable Object */;
3259 long var2 /* : Int */;
3260 long var3 /* : Int */;
3261 var_p = p0;
3262 var = NULL;
3263 var_node_list = var;
3264 {
3265 var1 = nit___nit__Parser___pop(var_p);
3266 }
3267 var_nodearraylist1 = var1;
3268 var_pclassdefnode1 = var_nodearraylist1;
3269 var_node_list = var_pclassdefnode1;
3270 var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction19> */
3271 {
3272 var3 = nit___nit__Parser___go_to(var_p, var2);
3273 }
3274 {
3275 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3276 }
3277 RET_LABEL:;
3278 }
3279 /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */
3280 void nit__parser___nit__parser__ReduceAction20___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3281 val* var_p /* var p: Parser */;
3282 val* var /* : null */;
3283 val* var_node_list /* var node_list: nullable Object */;
3284 val* var1 /* : nullable Object */;
3285 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3286 val* var2 /* : Array[Object] */;
3287 val* var_listnode3 /* var listnode3: Array[Object] */;
3288 val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */;
3289 short int var3 /* : Bool */;
3290 int cltype;
3291 int idtype;
3292 val* var4 /* : null */;
3293 short int var5 /* : Bool */;
3294 short int var6 /* : Bool */;
3295 val* var_other /* var other: nullable Object */;
3296 short int var8 /* : Bool */;
3297 short int var9 /* : Bool */;
3298 val* var10 /* : ATopClassdef */;
3299 val* var_pclassdefnode1 /* var pclassdefnode1: nullable ATopClassdef */;
3300 long var11 /* : Int */;
3301 long var12 /* : Int */;
3302 var_p = p0;
3303 var = NULL;
3304 var_node_list = var;
3305 {
3306 var1 = nit___nit__Parser___pop(var_p);
3307 }
3308 var_nodearraylist1 = var1;
3309 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
3310 {
3311 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
3312 }
3313 var_listnode3 = var2;
3314 var_ppropdefnode2 = var_nodearraylist1;
3315 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
3316 cltype = type_nullable__nit__APropdef.color;
3317 idtype = type_nullable__nit__APropdef.id;
3318 if(var_ppropdefnode2 == NULL) {
3319 var3 = 1;
3320 } else {
3321 if(cltype >= var_ppropdefnode2->type->table_size) {
3322 var3 = 0;
3323 } else {
3324 var3 = var_ppropdefnode2->type->type_table[cltype] == idtype;
3325 }
3326 }
3327 if (unlikely(!var3)) {
3328 PRINT_ERROR("Runtime error: %s", "Assert failed");
3329 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1651);
3330 show_backtrace(1);
3331 }
3332 var4 = NULL;
3333 if (var_ppropdefnode2 == NULL) {
3334 var5 = 0; /* is null */
3335 } else {
3336 var5 = 1; /* arg is null and recv is not */
3337 }
3338 if (0) {
3339 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
3340 var_other = var4;
3341 {
3342 var8 = ((short int (*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
3343 }
3344 var9 = !var8;
3345 var6 = var9;
3346 goto RET_LABEL7;
3347 RET_LABEL7:(void)0;
3348 }
3349 var5 = var6;
3350 }
3351 if (var5){
3352 {
3353 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
3354 }
3355 } else {
3356 }
3357 var10 = NEW_nit__ATopClassdef(&type_nit__ATopClassdef);
3358 {
3359 nit__parser_prod___ATopClassdef___init_atopclassdef(var10, var_listnode3); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on <var10:ATopClassdef>*/
3360 }
3361 var_pclassdefnode1 = var10;
3362 var_node_list = var_pclassdefnode1;
3363 var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction20> */
3364 {
3365 var12 = nit___nit__Parser___go_to(var_p, var11);
3366 }
3367 {
3368 nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3369 }
3370 RET_LABEL:;
3371 }
3372 /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */
3373 void nit__parser___nit__parser__ReduceAction21___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3374 val* var_p /* var p: Parser */;
3375 val* var /* : null */;
3376 val* var_node_list /* var node_list: nullable Object */;
3377 val* var1 /* : nullable Object */;
3378 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3379 val* var2 /* : Array[Object] */;
3380 val* var_listnode3 /* var listnode3: Array[Object] */;
3381 val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */;
3382 short int var3 /* : Bool */;
3383 int cltype;
3384 int idtype;
3385 val* var4 /* : null */;
3386 short int var5 /* : Bool */;
3387 short int var6 /* : Bool */;
3388 val* var_other /* var other: nullable Object */;
3389 short int var8 /* : Bool */;
3390 short int var9 /* : Bool */;
3391 val* var10 /* : AMainClassdef */;
3392 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */;
3393 long var11 /* : Int */;
3394 long var12 /* : Int */;
3395 var_p = p0;
3396 var = NULL;
3397 var_node_list = var;
3398 {
3399 var1 = nit___nit__Parser___pop(var_p);
3400 }
3401 var_nodearraylist1 = var1;
3402 var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
3403 {
3404 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
3405 }
3406 var_listnode3 = var2;
3407 var_ppropdefnode2 = var_nodearraylist1;
3408 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
3409 cltype = type_nullable__nit__APropdef.color;
3410 idtype = type_nullable__nit__APropdef.id;
3411 if(var_ppropdefnode2 == NULL) {
3412 var3 = 1;
3413 } else {
3414 if(cltype >= var_ppropdefnode2->type->table_size) {
3415 var3 = 0;
3416 } else {
3417 var3 = var_ppropdefnode2->type->type_table[cltype] == idtype;
3418 }
3419 }
3420 if (unlikely(!var3)) {
3421 PRINT_ERROR("Runtime error: %s", "Assert failed");
3422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1670);
3423 show_backtrace(1);
3424 }
3425 var4 = NULL;
3426 if (var_ppropdefnode2 == NULL) {
3427 var5 = 0; /* is null */
3428 } else {
3429 var5 = 1; /* arg is null and recv is not */
3430 }
3431 if (0) {
3432 { /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on <var_ppropdefnode2:nullable Object(nullable APropdef)> */
3433 var_other = var4;
3434 {
3435 var8 = ((short int (*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on <var_ppropdefnode2:nullable APropdef(APropdef)>*/;
3436 }
3437 var9 = !var8;
3438 var6 = var9;
3439 goto RET_LABEL7;
3440 RET_LABEL7:(void)0;
3441 }
3442 var5 = var6;
3443 }
3444 if (var5){
3445 {
3446 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
3447 }
3448 } else {
3449 }
3450 var10 = NEW_nit__AMainClassdef(&type_nit__AMainClassdef);
3451 {
3452 nit__parser_prod___AMainClassdef___init_amainclassdef(var10, var_listnode3); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on <var10:AMainClassdef>*/
3453 }
3454 var_pclassdefnode1 = var10;
3455 var_node_list = var_pclassdefnode1;
3456 var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction21> */
3457 {
3458 var12 = nit___nit__Parser___go_to(var_p, var11);
3459 }
3460 {
3461 nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3462 }
3463 RET_LABEL:;
3464 }
3465 /* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */
3466 void nit__parser___nit__parser__ReduceAction22___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3467 val* var_p /* var p: Parser */;
3468 val* var /* : null */;
3469 val* var_node_list /* var node_list: nullable Object */;
3470 val* var1 /* : null */;
3471 long var2 /* : Int */;
3472 long var3 /* : Int */;
3473 var_p = p0;
3474 var = NULL;
3475 var_node_list = var;
3476 var1 = NULL;
3477 var_node_list = var1;
3478 var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction22> */
3479 {
3480 var3 = nit___nit__Parser___go_to(var_p, var2);
3481 }
3482 {
3483 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3484 }
3485 RET_LABEL:;
3486 }
3487 /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */
3488 void nit__parser___nit__parser__ReduceAction23___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3489 val* var_p /* var p: Parser */;
3490 val* var /* : null */;
3491 val* var_node_list /* var node_list: nullable Object */;
3492 val* var1 /* : nullable Object */;
3493 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3494 val* var2 /* : null */;
3495 long var3 /* : Int */;
3496 long var4 /* : Int */;
3497 var_p = p0;
3498 var = NULL;
3499 var_node_list = var;
3500 {
3501 var1 = nit___nit__Parser___pop(var_p);
3502 }
3503 var_nodearraylist1 = var1;
3504 var2 = NULL;
3505 var_node_list = var2;
3506 var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction23> */
3507 {
3508 var4 = nit___nit__Parser___go_to(var_p, var3);
3509 }
3510 {
3511 nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3512 }
3513 RET_LABEL:;
3514 }
3515 /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */
3516 void nit__parser___nit__parser__ReduceAction24___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3517 val* var_p /* var p: Parser */;
3518 val* var /* : null */;
3519 val* var_node_list /* var node_list: nullable Object */;
3520 val* var1 /* : nullable Object */;
3521 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3522 val* var2 /* : nullable Object */;
3523 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3524 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
3525 short int var3 /* : Bool */;
3526 int cltype;
3527 int idtype;
3528 val* var4 /* : AMainMethPropdef */;
3529 val* var5 /* : null */;
3530 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */;
3531 long var6 /* : Int */;
3532 long var7 /* : Int */;
3533 var_p = p0;
3534 var = NULL;
3535 var_node_list = var;
3536 {
3537 var1 = nit___nit__Parser___pop(var_p);
3538 }
3539 var_nodearraylist2 = var1;
3540 {
3541 var2 = nit___nit__Parser___pop(var_p);
3542 }
3543 var_nodearraylist1 = var2;
3544 var_pexprnode3 = var_nodearraylist2;
3545 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3546 cltype = type_nullable__nit__AExpr.color;
3547 idtype = type_nullable__nit__AExpr.id;
3548 if(var_pexprnode3 == NULL) {
3549 var3 = 1;
3550 } else {
3551 if(cltype >= var_pexprnode3->type->table_size) {
3552 var3 = 0;
3553 } else {
3554 var3 = var_pexprnode3->type->type_table[cltype] == idtype;
3555 }
3556 }
3557 if (unlikely(!var3)) {
3558 PRINT_ERROR("Runtime error: %s", "Assert failed");
3559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1708);
3560 show_backtrace(1);
3561 }
3562 var4 = NEW_nit__AMainMethPropdef(&type_nit__AMainMethPropdef);
3563 var5 = NULL;
3564 {
3565 nit__parser_prod___AMainMethPropdef___init_amainmethpropdef(var4, var5, var_pexprnode3); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on <var4:AMainMethPropdef>*/
3566 }
3567 var_ppropdefnode1 = var4;
3568 var_node_list = var_ppropdefnode1;
3569 var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction24> */
3570 {
3571 var7 = nit___nit__Parser___go_to(var_p, var6);
3572 }
3573 {
3574 nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3575 }
3576 RET_LABEL:;
3577 }
3578 /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */
3579 void nit__parser___nit__parser__ReduceAction26___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3580 val* var_p /* var p: Parser */;
3581 val* var /* : null */;
3582 val* var_node_list /* var node_list: nullable Object */;
3583 val* var1 /* : nullable Object */;
3584 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3585 val* var2 /* : nullable Object */;
3586 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3587 val* var3 /* : nullable Object */;
3588 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3589 val* var4 /* : nullable Object */;
3590 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3591 val* var5 /* : nullable Object */;
3592 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3593 val* var6 /* : nullable Object */;
3594 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3595 val* var7 /* : nullable Object */;
3596 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3597 val* var8 /* : nullable Object */;
3598 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3599 val* var9 /* : nullable Object */;
3600 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3601 val* var10 /* : Array[Object] */;
3602 val* var_listnode8 /* var listnode8: Array[Object] */;
3603 val* var11 /* : Array[Object] */;
3604 val* var_listnode11 /* var listnode11: Array[Object] */;
3605 val* var12 /* : Array[Object] */;
3606 val* var_listnode12 /* var listnode12: Array[Object] */;
3607 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3608 short int var13 /* : Bool */;
3609 int cltype;
3610 int idtype;
3611 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3612 short int var14 /* : Bool */;
3613 int cltype15;
3614 int idtype16;
3615 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3616 short int var17 /* : Bool */;
3617 int cltype18;
3618 int idtype19;
3619 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3620 short int var20 /* : Bool */;
3621 int cltype21;
3622 int idtype22;
3623 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3624 short int var23 /* : Bool */;
3625 int cltype24;
3626 int idtype25;
3627 val* var_listnode7 /* var listnode7: nullable Object */;
3628 short int var26 /* : Bool */;
3629 int cltype27;
3630 int idtype28;
3631 val* var29 /* : Array[Object] */;
3632 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3633 short int var30 /* : Bool */;
3634 int cltype31;
3635 int idtype32;
3636 val* var33 /* : AStdClassdef */;
3637 val* var34 /* : null */;
3638 val* var35 /* : null */;
3639 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3640 long var36 /* : Int */;
3641 long var37 /* : Int */;
3642 var_p = p0;
3643 var = NULL;
3644 var_node_list = var;
3645 {
3646 var1 = nit___nit__Parser___pop(var_p);
3647 }
3648 var_nodearraylist9 = var1;
3649 {
3650 var2 = nit___nit__Parser___pop(var_p);
3651 }
3652 var_nodearraylist8 = var2;
3653 {
3654 var3 = nit___nit__Parser___pop(var_p);
3655 }
3656 var_nodearraylist7 = var3;
3657 {
3658 var4 = nit___nit__Parser___pop(var_p);
3659 }
3660 var_nodearraylist6 = var4;
3661 {
3662 var5 = nit___nit__Parser___pop(var_p);
3663 }
3664 var_nodearraylist5 = var5;
3665 {
3666 var6 = nit___nit__Parser___pop(var_p);
3667 }
3668 var_nodearraylist4 = var6;
3669 {
3670 var7 = nit___nit__Parser___pop(var_p);
3671 }
3672 var_nodearraylist3 = var7;
3673 {
3674 var8 = nit___nit__Parser___pop(var_p);
3675 }
3676 var_nodearraylist2 = var8;
3677 {
3678 var9 = nit___nit__Parser___pop(var_p);
3679 }
3680 var_nodearraylist1 = var9;
3681 var10 = NEW_standard__Array(&type_standard__Array__standard__Object);
3682 {
3683 standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on <var10:Array[Object]>*/
3684 }
3685 var_listnode8 = var10;
3686 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
3687 {
3688 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
3689 }
3690 var_listnode11 = var11;
3691 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
3692 {
3693 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
3694 }
3695 var_listnode12 = var12;
3696 var_pdocnode2 = var_nodearraylist1;
3697 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3698 cltype = type_nullable__nit__ADoc.color;
3699 idtype = type_nullable__nit__ADoc.id;
3700 if(var_pdocnode2 == NULL) {
3701 var13 = 1;
3702 } else {
3703 if(cltype >= var_pdocnode2->type->table_size) {
3704 var13 = 0;
3705 } else {
3706 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3707 }
3708 }
3709 if (unlikely(!var13)) {
3710 PRINT_ERROR("Runtime error: %s", "Assert failed");
3711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1735);
3712 show_backtrace(1);
3713 }
3714 var_tkwredefnode3 = var_nodearraylist2;
3715 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3716 cltype15 = type_nullable__nit__TKwredef.color;
3717 idtype16 = type_nullable__nit__TKwredef.id;
3718 if(var_tkwredefnode3 == NULL) {
3719 var14 = 1;
3720 } else {
3721 if(cltype15 >= var_tkwredefnode3->type->table_size) {
3722 var14 = 0;
3723 } else {
3724 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
3725 }
3726 }
3727 if (unlikely(!var14)) {
3728 PRINT_ERROR("Runtime error: %s", "Assert failed");
3729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1737);
3730 show_backtrace(1);
3731 }
3732 var_pvisibilitynode4 = var_nodearraylist3;
3733 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3734 cltype18 = type_nullable__nit__AVisibility.color;
3735 idtype19 = type_nullable__nit__AVisibility.id;
3736 if(var_pvisibilitynode4 == NULL) {
3737 var17 = 1;
3738 } else {
3739 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3740 var17 = 0;
3741 } else {
3742 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3743 }
3744 }
3745 if (unlikely(!var17)) {
3746 PRINT_ERROR("Runtime error: %s", "Assert failed");
3747 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1739);
3748 show_backtrace(1);
3749 }
3750 var_pclasskindnode5 = var_nodearraylist4;
3751 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3752 cltype21 = type_nullable__nit__AClasskind.color;
3753 idtype22 = type_nullable__nit__AClasskind.id;
3754 if(var_pclasskindnode5 == NULL) {
3755 var20 = 1;
3756 } else {
3757 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3758 var20 = 0;
3759 } else {
3760 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3761 }
3762 }
3763 if (unlikely(!var20)) {
3764 PRINT_ERROR("Runtime error: %s", "Assert failed");
3765 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1741);
3766 show_backtrace(1);
3767 }
3768 var_tclassidnode6 = var_nodearraylist6;
3769 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3770 cltype24 = type_nullable__nit__TClassid.color;
3771 idtype25 = type_nullable__nit__TClassid.id;
3772 if(var_tclassidnode6 == NULL) {
3773 var23 = 1;
3774 } else {
3775 if(cltype24 >= var_tclassidnode6->type->table_size) {
3776 var23 = 0;
3777 } else {
3778 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3779 }
3780 }
3781 if (unlikely(!var23)) {
3782 PRINT_ERROR("Runtime error: %s", "Assert failed");
3783 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1743);
3784 show_backtrace(1);
3785 }
3786 var_listnode7 = var_nodearraylist7;
3787 /* <var_listnode7:nullable Object> isa Array[Object] */
3788 cltype27 = type_standard__Array__standard__Object.color;
3789 idtype28 = type_standard__Array__standard__Object.id;
3790 if(var_listnode7 == NULL) {
3791 var26 = 0;
3792 } else {
3793 if(cltype27 >= var_listnode7->type->table_size) {
3794 var26 = 0;
3795 } else {
3796 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
3797 }
3798 }
3799 if (unlikely(!var26)) {
3800 PRINT_ERROR("Runtime error: %s", "Assert failed");
3801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1745);
3802 show_backtrace(1);
3803 }
3804 {
3805 var29 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
3806 }
3807 var_listnode8 = var29;
3808 var_tkwendnode13 = var_nodearraylist9;
3809 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3810 cltype31 = type_nullable__nit__TKwend.color;
3811 idtype32 = type_nullable__nit__TKwend.id;
3812 if(var_tkwendnode13 == NULL) {
3813 var30 = 1;
3814 } else {
3815 if(cltype31 >= var_tkwendnode13->type->table_size) {
3816 var30 = 0;
3817 } else {
3818 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
3819 }
3820 }
3821 if (unlikely(!var30)) {
3822 PRINT_ERROR("Runtime error: %s", "Assert failed");
3823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1748);
3824 show_backtrace(1);
3825 }
3826 var33 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
3827 var34 = NULL;
3828 var35 = NULL;
3829 {
3830 nit__parser_prod___AStdClassdef___init_astdclassdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var33:AStdClassdef>*/
3831 }
3832 var_pclassdefnode1 = var33;
3833 var_node_list = var_pclassdefnode1;
3834 var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction26> */
3835 {
3836 var37 = nit___nit__Parser___go_to(var_p, var36);
3837 }
3838 {
3839 nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3840 }
3841 RET_LABEL:;
3842 }
3843 /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */
3844 void nit__parser___nit__parser__ReduceAction27___nit__parser_work__ReduceAction__action(val* self, val* p0) {
3845 val* var_p /* var p: Parser */;
3846 val* var /* : null */;
3847 val* var_node_list /* var node_list: nullable Object */;
3848 val* var1 /* : nullable Object */;
3849 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3850 val* var2 /* : nullable Object */;
3851 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3852 val* var3 /* : nullable Object */;
3853 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3854 val* var4 /* : nullable Object */;
3855 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3856 val* var5 /* : nullable Object */;
3857 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3858 val* var6 /* : nullable Object */;
3859 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3860 val* var7 /* : nullable Object */;
3861 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3862 val* var8 /* : nullable Object */;
3863 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3864 val* var9 /* : nullable Object */;
3865 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3866 val* var10 /* : nullable Object */;
3867 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3868 val* var11 /* : Array[Object] */;
3869 val* var_listnode8 /* var listnode8: Array[Object] */;
3870 val* var12 /* : Array[Object] */;
3871 val* var_listnode16 /* var listnode16: Array[Object] */;
3872 val* var13 /* : Array[Object] */;
3873 val* var_listnode17 /* var listnode17: Array[Object] */;
3874 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3875 short int var14 /* : Bool */;
3876 int cltype;
3877 int idtype;
3878 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3879 short int var15 /* : Bool */;
3880 int cltype16;
3881 int idtype17;
3882 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3883 short int var18 /* : Bool */;
3884 int cltype19;
3885 int idtype20;
3886 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3887 short int var21 /* : Bool */;
3888 int cltype22;
3889 int idtype23;
3890 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3891 short int var24 /* : Bool */;
3892 int cltype25;
3893 int idtype26;
3894 val* var_listnode7 /* var listnode7: nullable Object */;
3895 short int var27 /* : Bool */;
3896 int cltype28;
3897 int idtype29;
3898 val* var30 /* : Array[Object] */;
3899 val* var31 /* : Array[Object] */;
3900 val* var_listnode13 /* var listnode13: Array[Object] */;
3901 val* var_listnode12 /* var listnode12: nullable Object */;
3902 short int var32 /* : Bool */;
3903 int cltype33;
3904 int idtype34;
3905 val* var35 /* : Array[Object] */;
3906 val* var36 /* : AAnnotations */;
3907 val* var37 /* : null */;
3908 val* var38 /* : null */;
3909 val* var39 /* : null */;
3910 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3911 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3912 short int var40 /* : Bool */;
3913 int cltype41;
3914 int idtype42;
3915 val* var43 /* : AStdClassdef */;
3916 val* var44 /* : null */;
3917 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3918 long var45 /* : Int */;
3919 long var46 /* : Int */;
3920 var_p = p0;
3921 var = NULL;
3922 var_node_list = var;
3923 {
3924 var1 = nit___nit__Parser___pop(var_p);
3925 }
3926 var_nodearraylist10 = var1;
3927 {
3928 var2 = nit___nit__Parser___pop(var_p);
3929 }
3930 var_nodearraylist9 = var2;
3931 {
3932 var3 = nit___nit__Parser___pop(var_p);
3933 }
3934 var_nodearraylist8 = var3;
3935 {
3936 var4 = nit___nit__Parser___pop(var_p);
3937 }
3938 var_nodearraylist7 = var4;
3939 {
3940 var5 = nit___nit__Parser___pop(var_p);
3941 }
3942 var_nodearraylist6 = var5;
3943 {
3944 var6 = nit___nit__Parser___pop(var_p);
3945 }
3946 var_nodearraylist5 = var6;
3947 {
3948 var7 = nit___nit__Parser___pop(var_p);
3949 }
3950 var_nodearraylist4 = var7;
3951 {
3952 var8 = nit___nit__Parser___pop(var_p);
3953 }
3954 var_nodearraylist3 = var8;
3955 {
3956 var9 = nit___nit__Parser___pop(var_p);
3957 }
3958 var_nodearraylist2 = var9;
3959 {
3960 var10 = nit___nit__Parser___pop(var_p);
3961 }
3962 var_nodearraylist1 = var10;
3963 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
3964 {
3965 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
3966 }
3967 var_listnode8 = var11;
3968 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
3969 {
3970 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
3971 }
3972 var_listnode16 = var12;
3973 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
3974 {
3975 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
3976 }
3977 var_listnode17 = var13;
3978 var_pdocnode2 = var_nodearraylist1;
3979 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3980 cltype = type_nullable__nit__ADoc.color;
3981 idtype = type_nullable__nit__ADoc.id;
3982 if(var_pdocnode2 == NULL) {
3983 var14 = 1;
3984 } else {
3985 if(cltype >= var_pdocnode2->type->table_size) {
3986 var14 = 0;
3987 } else {
3988 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3989 }
3990 }
3991 if (unlikely(!var14)) {
3992 PRINT_ERROR("Runtime error: %s", "Assert failed");
3993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1785);
3994 show_backtrace(1);
3995 }
3996 var_tkwredefnode3 = var_nodearraylist2;
3997 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3998 cltype16 = type_nullable__nit__TKwredef.color;
3999 idtype17 = type_nullable__nit__TKwredef.id;
4000 if(var_tkwredefnode3 == NULL) {
4001 var15 = 1;
4002 } else {
4003 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4004 var15 = 0;
4005 } else {
4006 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4007 }
4008 }
4009 if (unlikely(!var15)) {
4010 PRINT_ERROR("Runtime error: %s", "Assert failed");
4011 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1787);
4012 show_backtrace(1);
4013 }
4014 var_pvisibilitynode4 = var_nodearraylist3;
4015 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4016 cltype19 = type_nullable__nit__AVisibility.color;
4017 idtype20 = type_nullable__nit__AVisibility.id;
4018 if(var_pvisibilitynode4 == NULL) {
4019 var18 = 1;
4020 } else {
4021 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4022 var18 = 0;
4023 } else {
4024 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4025 }
4026 }
4027 if (unlikely(!var18)) {
4028 PRINT_ERROR("Runtime error: %s", "Assert failed");
4029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1789);
4030 show_backtrace(1);
4031 }
4032 var_pclasskindnode5 = var_nodearraylist4;
4033 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4034 cltype22 = type_nullable__nit__AClasskind.color;
4035 idtype23 = type_nullable__nit__AClasskind.id;
4036 if(var_pclasskindnode5 == NULL) {
4037 var21 = 1;
4038 } else {
4039 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4040 var21 = 0;
4041 } else {
4042 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4043 }
4044 }
4045 if (unlikely(!var21)) {
4046 PRINT_ERROR("Runtime error: %s", "Assert failed");
4047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1791);
4048 show_backtrace(1);
4049 }
4050 var_tclassidnode6 = var_nodearraylist6;
4051 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4052 cltype25 = type_nullable__nit__TClassid.color;
4053 idtype26 = type_nullable__nit__TClassid.id;
4054 if(var_tclassidnode6 == NULL) {
4055 var24 = 1;
4056 } else {
4057 if(cltype25 >= var_tclassidnode6->type->table_size) {
4058 var24 = 0;
4059 } else {
4060 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4061 }
4062 }
4063 if (unlikely(!var24)) {
4064 PRINT_ERROR("Runtime error: %s", "Assert failed");
4065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1793);
4066 show_backtrace(1);
4067 }
4068 var_listnode7 = var_nodearraylist7;
4069 /* <var_listnode7:nullable Object> isa Array[Object] */
4070 cltype28 = type_standard__Array__standard__Object.color;
4071 idtype29 = type_standard__Array__standard__Object.id;
4072 if(var_listnode7 == NULL) {
4073 var27 = 0;
4074 } else {
4075 if(cltype28 >= var_listnode7->type->table_size) {
4076 var27 = 0;
4077 } else {
4078 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4079 }
4080 }
4081 if (unlikely(!var27)) {
4082 PRINT_ERROR("Runtime error: %s", "Assert failed");
4083 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1795);
4084 show_backtrace(1);
4085 }
4086 {
4087 var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
4088 }
4089 var_listnode8 = var30;
4090 var31 = NEW_standard__Array(&type_standard__Array__standard__Object);
4091 {
4092 standard___standard__Array___standard__kernel__Object__init(var31); /* Direct call array#Array#init on <var31:Array[Object]>*/
4093 }
4094 var_listnode13 = var31;
4095 var_listnode12 = var_nodearraylist8;
4096 /* <var_listnode12:nullable Object> isa Array[Object] */
4097 cltype33 = type_standard__Array__standard__Object.color;
4098 idtype34 = type_standard__Array__standard__Object.id;
4099 if(var_listnode12 == NULL) {
4100 var32 = 0;
4101 } else {
4102 if(cltype33 >= var_listnode12->type->table_size) {
4103 var32 = 0;
4104 } else {
4105 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4106 }
4107 }
4108 if (unlikely(!var32)) {
4109 PRINT_ERROR("Runtime error: %s", "Assert failed");
4110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1799);
4111 show_backtrace(1);
4112 }
4113 {
4114 var35 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
4115 }
4116 var_listnode13 = var35;
4117 var36 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
4118 var37 = NULL;
4119 var38 = NULL;
4120 var39 = NULL;
4121 {
4122 nit__parser_prod___AAnnotations___init_aannotations(var36, var37, var38, var_listnode13, var39); /* Direct call parser_prod#AAnnotations#init_aannotations on <var36:AAnnotations>*/
4123 }
4124 var_pannotationsnode9 = var36;
4125 var_tkwendnode18 = var_nodearraylist10;
4126 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4127 cltype41 = type_nullable__nit__TKwend.color;
4128 idtype42 = type_nullable__nit__TKwend.id;
4129 if(var_tkwendnode18 == NULL) {
4130 var40 = 1;
4131 } else {
4132 if(cltype41 >= var_tkwendnode18->type->table_size) {
4133 var40 = 0;
4134 } else {
4135 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
4136 }
4137 }
4138 if (unlikely(!var40)) {
4139 PRINT_ERROR("Runtime error: %s", "Assert failed");
4140 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1808);
4141 show_backtrace(1);
4142 }
4143 var43 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
4144 var44 = NULL;
4145 {
4146 nit__parser_prod___AStdClassdef___init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var43:AStdClassdef>*/
4147 }
4148 var_pclassdefnode1 = var43;
4149 var_node_list = var_pclassdefnode1;
4150 var45 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction27> */
4151 {
4152 var46 = nit___nit__Parser___go_to(var_p, var45);
4153 }
4154 {
4155 nit___nit__Parser___push(var_p, var46, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4156 }
4157 RET_LABEL:;
4158 }
4159 /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */
4160 void nit__parser___nit__parser__ReduceAction28___nit__parser_work__ReduceAction__action(val* self, val* p0) {
4161 val* var_p /* var p: Parser */;
4162 val* var /* : null */;
4163 val* var_node_list /* var node_list: nullable Object */;
4164 val* var1 /* : nullable Object */;
4165 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4166 val* var2 /* : nullable Object */;
4167 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4168 val* var3 /* : nullable Object */;
4169 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4170 val* var4 /* : nullable Object */;
4171 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4172 val* var5 /* : nullable Object */;
4173 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4174 val* var6 /* : nullable Object */;
4175 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4176 val* var7 /* : nullable Object */;
4177 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4178 val* var8 /* : nullable Object */;
4179 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4180 val* var9 /* : nullable Object */;
4181 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4182 val* var10 /* : nullable Object */;
4183 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4184 val* var11 /* : Array[Object] */;
4185 val* var_listnode8 /* var listnode8: Array[Object] */;
4186 val* var12 /* : Array[Object] */;
4187 val* var_listnode11 /* var listnode11: Array[Object] */;
4188 val* var13 /* : Array[Object] */;
4189 val* var_listnode12 /* var listnode12: Array[Object] */;
4190 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4191 short int var14 /* : Bool */;
4192 int cltype;
4193 int idtype;
4194 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4195 short int var15 /* : Bool */;
4196 int cltype16;
4197 int idtype17;
4198 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4199 short int var18 /* : Bool */;
4200 int cltype19;
4201 int idtype20;
4202 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4203 short int var21 /* : Bool */;
4204 int cltype22;
4205 int idtype23;
4206 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4207 short int var24 /* : Bool */;
4208 int cltype25;
4209 int idtype26;
4210 val* var_listnode7 /* var listnode7: nullable Object */;
4211 short int var27 /* : Bool */;
4212 int cltype28;
4213 int idtype29;
4214 val* var30 /* : Array[Object] */;
4215 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4216 short int var31 /* : Bool */;
4217 int cltype32;
4218 int idtype33;
4219 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
4220 short int var34 /* : Bool */;
4221 int cltype35;
4222 int idtype36;
4223 val* var37 /* : AStdClassdef */;
4224 val* var38 /* : null */;
4225 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4226 long var39 /* : Int */;
4227 long var40 /* : Int */;
4228 var_p = p0;
4229 var = NULL;
4230 var_node_list = var;
4231 {
4232 var1 = nit___nit__Parser___pop(var_p);
4233 }
4234 var_nodearraylist10 = var1;
4235 {
4236 var2 = nit___nit__Parser___pop(var_p);
4237 }
4238 var_nodearraylist9 = var2;
4239 {
4240 var3 = nit___nit__Parser___pop(var_p);
4241 }
4242 var_nodearraylist8 = var3;
4243 {
4244 var4 = nit___nit__Parser___pop(var_p);
4245 }
4246 var_nodearraylist7 = var4;
4247 {
4248 var5 = nit___nit__Parser___pop(var_p);
4249 }
4250 var_nodearraylist6 = var5;
4251 {
4252 var6 = nit___nit__Parser___pop(var_p);
4253 }
4254 var_nodearraylist5 = var6;
4255 {
4256 var7 = nit___nit__Parser___pop(var_p);
4257 }
4258 var_nodearraylist4 = var7;
4259 {
4260 var8 = nit___nit__Parser___pop(var_p);
4261 }
4262 var_nodearraylist3 = var8;
4263 {
4264 var9 = nit___nit__Parser___pop(var_p);
4265 }
4266 var_nodearraylist2 = var9;
4267 {
4268 var10 = nit___nit__Parser___pop(var_p);
4269 }
4270 var_nodearraylist1 = var10;
4271 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
4272 {
4273 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
4274 }
4275 var_listnode8 = var11;
4276 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
4277 {
4278 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
4279 }
4280 var_listnode11 = var12;
4281 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
4282 {
4283 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
4284 }
4285 var_listnode12 = var13;
4286 var_pdocnode2 = var_nodearraylist1;
4287 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4288 cltype = type_nullable__nit__ADoc.color;
4289 idtype = type_nullable__nit__ADoc.id;
4290 if(var_pdocnode2 == NULL) {
4291 var14 = 1;
4292 } else {
4293 if(cltype >= var_pdocnode2->type->table_size) {
4294 var14 = 0;
4295 } else {
4296 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4297 }
4298 }
4299 if (unlikely(!var14)) {
4300 PRINT_ERROR("Runtime error: %s", "Assert failed");
4301 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1845);
4302 show_backtrace(1);
4303 }
4304 var_tkwredefnode3 = var_nodearraylist2;
4305 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4306 cltype16 = type_nullable__nit__TKwredef.color;
4307 idtype17 = type_nullable__nit__TKwredef.id;
4308 if(var_tkwredefnode3 == NULL) {
4309 var15 = 1;
4310 } else {
4311 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4312 var15 = 0;
4313 } else {
4314 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4315 }
4316 }
4317 if (unlikely(!var15)) {
4318 PRINT_ERROR("Runtime error: %s", "Assert failed");
4319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1847);
4320 show_backtrace(1);
4321 }
4322 var_pvisibilitynode4 = var_nodearraylist3;
4323 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4324 cltype19 = type_nullable__nit__AVisibility.color;
4325 idtype20 = type_nullable__nit__AVisibility.id;
4326 if(var_pvisibilitynode4 == NULL) {
4327 var18 = 1;
4328 } else {
4329 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4330 var18 = 0;
4331 } else {
4332 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4333 }
4334 }
4335 if (unlikely(!var18)) {
4336 PRINT_ERROR("Runtime error: %s", "Assert failed");
4337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1849);
4338 show_backtrace(1);
4339 }
4340 var_pclasskindnode5 = var_nodearraylist4;
4341 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4342 cltype22 = type_nullable__nit__AClasskind.color;
4343 idtype23 = type_nullable__nit__AClasskind.id;
4344 if(var_pclasskindnode5 == NULL) {
4345 var21 = 1;
4346 } else {
4347 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4348 var21 = 0;
4349 } else {
4350 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4351 }
4352 }
4353 if (unlikely(!var21)) {
4354 PRINT_ERROR("Runtime error: %s", "Assert failed");
4355 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1851);
4356 show_backtrace(1);
4357 }
4358 var_tclassidnode6 = var_nodearraylist6;
4359 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4360 cltype25 = type_nullable__nit__TClassid.color;
4361 idtype26 = type_nullable__nit__TClassid.id;
4362 if(var_tclassidnode6 == NULL) {
4363 var24 = 1;
4364 } else {
4365 if(cltype25 >= var_tclassidnode6->type->table_size) {
4366 var24 = 0;
4367 } else {
4368 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4369 }
4370 }
4371 if (unlikely(!var24)) {
4372 PRINT_ERROR("Runtime error: %s", "Assert failed");
4373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1853);
4374 show_backtrace(1);
4375 }
4376 var_listnode7 = var_nodearraylist7;
4377 /* <var_listnode7:nullable Object> isa Array[Object] */
4378 cltype28 = type_standard__Array__standard__Object.color;
4379 idtype29 = type_standard__Array__standard__Object.id;
4380 if(var_listnode7 == NULL) {
4381 var27 = 0;
4382 } else {
4383 if(cltype28 >= var_listnode7->type->table_size) {
4384 var27 = 0;
4385 } else {
4386 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4387 }
4388 }
4389 if (unlikely(!var27)) {
4390 PRINT_ERROR("Runtime error: %s", "Assert failed");
4391 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1855);
4392 show_backtrace(1);
4393 }
4394 {
4395 var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
4396 }
4397 var_listnode8 = var30;
4398 var_pexterncodeblocknode10 = var_nodearraylist8;
4399 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4400 cltype32 = type_nullable__nit__AExternCodeBlock.color;
4401 idtype33 = type_nullable__nit__AExternCodeBlock.id;
4402 if(var_pexterncodeblocknode10 == NULL) {
4403 var31 = 1;
4404 } else {
4405 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
4406 var31 = 0;
4407 } else {
4408 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
4409 }
4410 }
4411 if (unlikely(!var31)) {
4412 PRINT_ERROR("Runtime error: %s", "Assert failed");
4413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1858);
4414 show_backtrace(1);
4415 }
4416 var_tkwendnode13 = var_nodearraylist10;
4417 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4418 cltype35 = type_nullable__nit__TKwend.color;
4419 idtype36 = type_nullable__nit__TKwend.id;
4420 if(var_tkwendnode13 == NULL) {
4421 var34 = 1;
4422 } else {
4423 if(cltype35 >= var_tkwendnode13->type->table_size) {
4424 var34 = 0;
4425 } else {
4426 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
4427 }
4428 }
4429 if (unlikely(!var34)) {
4430 PRINT_ERROR("Runtime error: %s", "Assert failed");
4431 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1860);
4432 show_backtrace(1);
4433 }
4434 var37 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
4435 var38 = NULL;
4436 {
4437 nit__parser_prod___AStdClassdef___init_astdclassdef(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var37:AStdClassdef>*/
4438 }
4439 var_pclassdefnode1 = var37;
4440 var_node_list = var_pclassdefnode1;
4441 var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction28> */
4442 {
4443 var40 = nit___nit__Parser___go_to(var_p, var39);
4444 }
4445 {
4446 nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4447 }
4448 RET_LABEL:;
4449 }
4450 /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */
4451 void nit__parser___nit__parser__ReduceAction29___nit__parser_work__ReduceAction__action(val* self, val* p0) {
4452 val* var_p /* var p: Parser */;
4453 val* var /* : null */;
4454 val* var_node_list /* var node_list: nullable Object */;
4455 val* var1 /* : nullable Object */;
4456 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4457 val* var2 /* : nullable Object */;
4458 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4459 val* var3 /* : nullable Object */;
4460 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4461 val* var4 /* : nullable Object */;
4462 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4463 val* var5 /* : nullable Object */;
4464 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4465 val* var6 /* : nullable Object */;
4466 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4467 val* var7 /* : nullable Object */;
4468 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4469 val* var8 /* : nullable Object */;
4470 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4471 val* var9 /* : nullable Object */;
4472 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4473 val* var10 /* : nullable Object */;
4474 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4475 val* var11 /* : nullable Object */;
4476 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4477 val* var12 /* : Array[Object] */;
4478 val* var_listnode8 /* var listnode8: Array[Object] */;
4479 val* var13 /* : Array[Object] */;
4480 val* var_listnode16 /* var listnode16: Array[Object] */;
4481 val* var14 /* : Array[Object] */;
4482 val* var_listnode17 /* var listnode17: Array[Object] */;
4483 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4484 short int var15 /* : Bool */;
4485 int cltype;
4486 int idtype;
4487 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4488 short int var16 /* : Bool */;
4489 int cltype17;
4490 int idtype18;
4491 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4492 short int var19 /* : Bool */;
4493 int cltype20;
4494 int idtype21;
4495 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4496 short int var22 /* : Bool */;
4497 int cltype23;
4498 int idtype24;
4499 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4500 short int var25 /* : Bool */;
4501 int cltype26;
4502 int idtype27;
4503 val* var_listnode7 /* var listnode7: nullable Object */;
4504 short int var28 /* : Bool */;
4505 int cltype29;
4506 int idtype30;
4507 val* var31 /* : Array[Object] */;
4508 val* var32 /* : Array[Object] */;
4509 val* var_listnode13 /* var listnode13: Array[Object] */;
4510 val* var_listnode12 /* var listnode12: nullable Object */;
4511 short int var33 /* : Bool */;
4512 int cltype34;
4513 int idtype35;
4514 val* var36 /* : Array[Object] */;
4515 val* var37 /* : AAnnotations */;
4516 val* var38 /* : null */;
4517 val* var39 /* : null */;
4518 val* var40 /* : null */;
4519 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4520 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4521 short int var41 /* : Bool */;
4522 int cltype42;
4523 int idtype43;
4524 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4525 short int var44 /* : Bool */;
4526 int cltype45;
4527 int idtype46;
4528 val* var47 /* : AStdClassdef */;
4529 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4530 long var48 /* : Int */;
4531 long var49 /* : Int */;
4532 var_p = p0;
4533 var = NULL;
4534 var_node_list = var;
4535 {
4536 var1 = nit___nit__Parser___pop(var_p);
4537 }
4538 var_nodearraylist11 = var1;
4539 {
4540 var2 = nit___nit__Parser___pop(var_p);
4541 }
4542 var_nodearraylist10 = var2;
4543 {
4544 var3 = nit___nit__Parser___pop(var_p);
4545 }
4546 var_nodearraylist9 = var3;
4547 {
4548 var4 = nit___nit__Parser___pop(var_p);
4549 }
4550 var_nodearraylist8 = var4;
4551 {
4552 var5 = nit___nit__Parser___pop(var_p);
4553 }
4554 var_nodearraylist7 = var5;
4555 {
4556 var6 = nit___nit__Parser___pop(var_p);
4557 }
4558 var_nodearraylist6 = var6;
4559 {
4560 var7 = nit___nit__Parser___pop(var_p);
4561 }
4562 var_nodearraylist5 = var7;
4563 {
4564 var8 = nit___nit__Parser___pop(var_p);
4565 }
4566 var_nodearraylist4 = var8;
4567 {
4568 var9 = nit___nit__Parser___pop(var_p);
4569 }
4570 var_nodearraylist3 = var9;
4571 {
4572 var10 = nit___nit__Parser___pop(var_p);
4573 }
4574 var_nodearraylist2 = var10;
4575 {
4576 var11 = nit___nit__Parser___pop(var_p);
4577 }
4578 var_nodearraylist1 = var11;
4579 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
4580 {
4581 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
4582 }
4583 var_listnode8 = var12;
4584 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
4585 {
4586 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
4587 }
4588 var_listnode16 = var13;
4589 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
4590 {
4591 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
4592 }
4593 var_listnode17 = var14;
4594 var_pdocnode2 = var_nodearraylist1;
4595 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4596 cltype = type_nullable__nit__ADoc.color;
4597 idtype = type_nullable__nit__ADoc.id;
4598 if(var_pdocnode2 == NULL) {
4599 var15 = 1;
4600 } else {
4601 if(cltype >= var_pdocnode2->type->table_size) {
4602 var15 = 0;
4603 } else {
4604 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4605 }
4606 }
4607 if (unlikely(!var15)) {
4608 PRINT_ERROR("Runtime error: %s", "Assert failed");
4609 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1898);
4610 show_backtrace(1);
4611 }
4612 var_tkwredefnode3 = var_nodearraylist2;
4613 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4614 cltype17 = type_nullable__nit__TKwredef.color;
4615 idtype18 = type_nullable__nit__TKwredef.id;
4616 if(var_tkwredefnode3 == NULL) {
4617 var16 = 1;
4618 } else {
4619 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4620 var16 = 0;
4621 } else {
4622 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4623 }
4624 }
4625 if (unlikely(!var16)) {
4626 PRINT_ERROR("Runtime error: %s", "Assert failed");
4627 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1900);
4628 show_backtrace(1);
4629 }
4630 var_pvisibilitynode4 = var_nodearraylist3;
4631 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4632 cltype20 = type_nullable__nit__AVisibility.color;
4633 idtype21 = type_nullable__nit__AVisibility.id;
4634 if(var_pvisibilitynode4 == NULL) {
4635 var19 = 1;
4636 } else {
4637 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4638 var19 = 0;
4639 } else {
4640 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4641 }
4642 }
4643 if (unlikely(!var19)) {
4644 PRINT_ERROR("Runtime error: %s", "Assert failed");
4645 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1902);
4646 show_backtrace(1);
4647 }
4648 var_pclasskindnode5 = var_nodearraylist4;
4649 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4650 cltype23 = type_nullable__nit__AClasskind.color;
4651 idtype24 = type_nullable__nit__AClasskind.id;
4652 if(var_pclasskindnode5 == NULL) {
4653 var22 = 1;
4654 } else {
4655 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4656 var22 = 0;
4657 } else {
4658 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4659 }
4660 }
4661 if (unlikely(!var22)) {
4662 PRINT_ERROR("Runtime error: %s", "Assert failed");
4663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1904);
4664 show_backtrace(1);
4665 }
4666 var_tclassidnode6 = var_nodearraylist6;
4667 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4668 cltype26 = type_nullable__nit__TClassid.color;
4669 idtype27 = type_nullable__nit__TClassid.id;
4670 if(var_tclassidnode6 == NULL) {
4671 var25 = 1;
4672 } else {
4673 if(cltype26 >= var_tclassidnode6->type->table_size) {
4674 var25 = 0;
4675 } else {
4676 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4677 }
4678 }
4679 if (unlikely(!var25)) {
4680 PRINT_ERROR("Runtime error: %s", "Assert failed");
4681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1906);
4682 show_backtrace(1);
4683 }
4684 var_listnode7 = var_nodearraylist7;
4685 /* <var_listnode7:nullable Object> isa Array[Object] */
4686 cltype29 = type_standard__Array__standard__Object.color;
4687 idtype30 = type_standard__Array__standard__Object.id;
4688 if(var_listnode7 == NULL) {
4689 var28 = 0;
4690 } else {
4691 if(cltype29 >= var_listnode7->type->table_size) {
4692 var28 = 0;
4693 } else {
4694 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
4695 }
4696 }
4697 if (unlikely(!var28)) {
4698 PRINT_ERROR("Runtime error: %s", "Assert failed");
4699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1908);
4700 show_backtrace(1);
4701 }
4702 {
4703 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
4704 }
4705 var_listnode8 = var31;
4706 var32 = NEW_standard__Array(&type_standard__Array__standard__Object);
4707 {
4708 standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on <var32:Array[Object]>*/
4709 }
4710 var_listnode13 = var32;
4711 var_listnode12 = var_nodearraylist8;
4712 /* <var_listnode12:nullable Object> isa Array[Object] */
4713 cltype34 = type_standard__Array__standard__Object.color;
4714 idtype35 = type_standard__Array__standard__Object.id;
4715 if(var_listnode12 == NULL) {
4716 var33 = 0;
4717 } else {
4718 if(cltype34 >= var_listnode12->type->table_size) {
4719 var33 = 0;
4720 } else {
4721 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
4722 }
4723 }
4724 if (unlikely(!var33)) {
4725 PRINT_ERROR("Runtime error: %s", "Assert failed");
4726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1912);
4727 show_backtrace(1);
4728 }
4729 {
4730 var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
4731 }
4732 var_listnode13 = var36;
4733 var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
4734 var38 = NULL;
4735 var39 = NULL;
4736 var40 = NULL;
4737 {
4738 nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
4739 }
4740 var_pannotationsnode9 = var37;
4741 var_pexterncodeblocknode15 = var_nodearraylist9;
4742 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4743 cltype42 = type_nullable__nit__AExternCodeBlock.color;
4744 idtype43 = type_nullable__nit__AExternCodeBlock.id;
4745 if(var_pexterncodeblocknode15 == NULL) {
4746 var41 = 1;
4747 } else {
4748 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
4749 var41 = 0;
4750 } else {
4751 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
4752 }
4753 }
4754 if (unlikely(!var41)) {
4755 PRINT_ERROR("Runtime error: %s", "Assert failed");
4756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1921);
4757 show_backtrace(1);
4758 }
4759 var_tkwendnode18 = var_nodearraylist11;
4760 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4761 cltype45 = type_nullable__nit__TKwend.color;
4762 idtype46 = type_nullable__nit__TKwend.id;
4763 if(var_tkwendnode18 == NULL) {
4764 var44 = 1;
4765 } else {
4766 if(cltype45 >= var_tkwendnode18->type->table_size) {
4767 var44 = 0;
4768 } else {
4769 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
4770 }
4771 }
4772 if (unlikely(!var44)) {
4773 PRINT_ERROR("Runtime error: %s", "Assert failed");
4774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1923);
4775 show_backtrace(1);
4776 }
4777 var47 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
4778 {
4779 nit__parser_prod___AStdClassdef___init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var47:AStdClassdef>*/
4780 }
4781 var_pclassdefnode1 = var47;
4782 var_node_list = var_pclassdefnode1;
4783 var48 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction29> */
4784 {
4785 var49 = nit___nit__Parser___go_to(var_p, var48);
4786 }
4787 {
4788 nit___nit__Parser___push(var_p, var49, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4789 }
4790 RET_LABEL:;
4791 }
4792 /* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */
4793 void nit__parser___nit__parser__ReduceAction30___nit__parser_work__ReduceAction__action(val* self, val* p0) {
4794 val* var_p /* var p: Parser */;
4795 val* var /* : null */;
4796 val* var_node_list /* var node_list: nullable Object */;
4797 val* var1 /* : nullable Object */;
4798 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4799 val* var2 /* : nullable Object */;
4800 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4801 val* var3 /* : nullable Object */;
4802 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4803 val* var4 /* : nullable Object */;
4804 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4805 val* var5 /* : nullable Object */;
4806 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4807 val* var6 /* : nullable Object */;
4808 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4809 val* var7 /* : nullable Object */;
4810 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4811 val* var8 /* : nullable Object */;
4812 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4813 val* var9 /* : nullable Object */;
4814 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4815 val* var10 /* : nullable Object */;
4816 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4817 val* var11 /* : Array[Object] */;
4818 val* var_listnode8 /* var listnode8: Array[Object] */;
4819 val* var12 /* : Array[Object] */;
4820 val* var_listnode12 /* var listnode12: Array[Object] */;
4821 val* var13 /* : Array[Object] */;
4822 val* var_listnode13 /* var listnode13: Array[Object] */;
4823 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4824 short int var14 /* : Bool */;
4825 int cltype;
4826 int idtype;
4827 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4828 short int var15 /* : Bool */;
4829 int cltype16;
4830 int idtype17;
4831 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4832 short int var18 /* : Bool */;
4833 int cltype19;
4834 int idtype20;
4835 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4836 short int var21 /* : Bool */;
4837 int cltype22;
4838 int idtype23;
4839 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4840 short int var24 /* : Bool */;
4841 int cltype25;
4842 int idtype26;
4843 val* var_listnode7 /* var listnode7: nullable Object */;
4844 short int var27 /* : Bool */;
4845 int cltype28;
4846 int idtype29;
4847 val* var30 /* : Array[Object] */;
4848 val* var_listnode11 /* var listnode11: nullable Object */;
4849 short int var31 /* : Bool */;
4850 int cltype32;
4851 int idtype33;
4852 val* var34 /* : Array[Object] */;
4853 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4854 short int var35 /* : Bool */;
4855 int cltype36;
4856 int idtype37;
4857 val* var38 /* : AStdClassdef */;
4858 val* var39 /* : null */;
4859 val* var40 /* : null */;
4860 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4861 long var41 /* : Int */;
4862 long var42 /* : Int */;
4863 var_p = p0;
4864 var = NULL;
4865 var_node_list = var;
4866 {
4867 var1 = nit___nit__Parser___pop(var_p);
4868 }
4869 var_nodearraylist10 = var1;
4870 {
4871 var2 = nit___nit__Parser___pop(var_p);
4872 }
4873 var_nodearraylist9 = var2;
4874 {
4875 var3 = nit___nit__Parser___pop(var_p);
4876 }
4877 var_nodearraylist8 = var3;
4878 {
4879 var4 = nit___nit__Parser___pop(var_p);
4880 }
4881 var_nodearraylist7 = var4;
4882 {
4883 var5 = nit___nit__Parser___pop(var_p);
4884 }
4885 var_nodearraylist6 = var5;
4886 {
4887 var6 = nit___nit__Parser___pop(var_p);
4888 }
4889 var_nodearraylist5 = var6;
4890 {
4891 var7 = nit___nit__Parser___pop(var_p);
4892 }
4893 var_nodearraylist4 = var7;
4894 {
4895 var8 = nit___nit__Parser___pop(var_p);
4896 }
4897 var_nodearraylist3 = var8;
4898 {
4899 var9 = nit___nit__Parser___pop(var_p);
4900 }
4901 var_nodearraylist2 = var9;
4902 {
4903 var10 = nit___nit__Parser___pop(var_p);
4904 }
4905 var_nodearraylist1 = var10;
4906 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
4907 {
4908 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
4909 }
4910 var_listnode8 = var11;
4911 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
4912 {
4913 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
4914 }
4915 var_listnode12 = var12;
4916 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
4917 {
4918 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
4919 }
4920 var_listnode13 = var13;
4921 var_pdocnode2 = var_nodearraylist1;
4922 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4923 cltype = type_nullable__nit__ADoc.color;
4924 idtype = type_nullable__nit__ADoc.id;
4925 if(var_pdocnode2 == NULL) {
4926 var14 = 1;
4927 } else {
4928 if(cltype >= var_pdocnode2->type->table_size) {
4929 var14 = 0;
4930 } else {
4931 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4932 }
4933 }
4934 if (unlikely(!var14)) {
4935 PRINT_ERROR("Runtime error: %s", "Assert failed");
4936 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1960);
4937 show_backtrace(1);
4938 }
4939 var_tkwredefnode3 = var_nodearraylist2;
4940 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4941 cltype16 = type_nullable__nit__TKwredef.color;
4942 idtype17 = type_nullable__nit__TKwredef.id;
4943 if(var_tkwredefnode3 == NULL) {
4944 var15 = 1;
4945 } else {
4946 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4947 var15 = 0;
4948 } else {
4949 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4950 }
4951 }
4952 if (unlikely(!var15)) {
4953 PRINT_ERROR("Runtime error: %s", "Assert failed");
4954 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1962);
4955 show_backtrace(1);
4956 }
4957 var_pvisibilitynode4 = var_nodearraylist3;
4958 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4959 cltype19 = type_nullable__nit__AVisibility.color;
4960 idtype20 = type_nullable__nit__AVisibility.id;
4961 if(var_pvisibilitynode4 == NULL) {
4962 var18 = 1;
4963 } else {
4964 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4965 var18 = 0;
4966 } else {
4967 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4968 }
4969 }
4970 if (unlikely(!var18)) {
4971 PRINT_ERROR("Runtime error: %s", "Assert failed");
4972 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1964);
4973 show_backtrace(1);
4974 }
4975 var_pclasskindnode5 = var_nodearraylist4;
4976 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4977 cltype22 = type_nullable__nit__AClasskind.color;
4978 idtype23 = type_nullable__nit__AClasskind.id;
4979 if(var_pclasskindnode5 == NULL) {
4980 var21 = 1;
4981 } else {
4982 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4983 var21 = 0;
4984 } else {
4985 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4986 }
4987 }
4988 if (unlikely(!var21)) {
4989 PRINT_ERROR("Runtime error: %s", "Assert failed");
4990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1966);
4991 show_backtrace(1);
4992 }
4993 var_tclassidnode6 = var_nodearraylist6;
4994 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4995 cltype25 = type_nullable__nit__TClassid.color;
4996 idtype26 = type_nullable__nit__TClassid.id;
4997 if(var_tclassidnode6 == NULL) {
4998 var24 = 1;
4999 } else {
5000 if(cltype25 >= var_tclassidnode6->type->table_size) {
5001 var24 = 0;
5002 } else {
5003 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5004 }
5005 }
5006 if (unlikely(!var24)) {
5007 PRINT_ERROR("Runtime error: %s", "Assert failed");
5008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1968);
5009 show_backtrace(1);
5010 }
5011 var_listnode7 = var_nodearraylist7;
5012 /* <var_listnode7:nullable Object> isa Array[Object] */
5013 cltype28 = type_standard__Array__standard__Object.color;
5014 idtype29 = type_standard__Array__standard__Object.id;
5015 if(var_listnode7 == NULL) {
5016 var27 = 0;
5017 } else {
5018 if(cltype28 >= var_listnode7->type->table_size) {
5019 var27 = 0;
5020 } else {
5021 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
5022 }
5023 }
5024 if (unlikely(!var27)) {
5025 PRINT_ERROR("Runtime error: %s", "Assert failed");
5026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1970);
5027 show_backtrace(1);
5028 }
5029 {
5030 var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
5031 }
5032 var_listnode8 = var30;
5033 var_listnode11 = var_nodearraylist8;
5034 /* <var_listnode11:nullable Object> isa Array[Object] */
5035 cltype32 = type_standard__Array__standard__Object.color;
5036 idtype33 = type_standard__Array__standard__Object.id;
5037 if(var_listnode11 == NULL) {
5038 var31 = 0;
5039 } else {
5040 if(cltype32 >= var_listnode11->type->table_size) {
5041 var31 = 0;
5042 } else {
5043 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
5044 }
5045 }
5046 if (unlikely(!var31)) {
5047 PRINT_ERROR("Runtime error: %s", "Assert failed");
5048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1973);
5049 show_backtrace(1);
5050 }
5051 {
5052 var34 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11);
5053 }
5054 var_listnode12 = var34;
5055 var_tkwendnode14 = var_nodearraylist10;
5056 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5057 cltype36 = type_nullable__nit__TKwend.color;
5058 idtype37 = type_nullable__nit__TKwend.id;
5059 if(var_tkwendnode14 == NULL) {
5060 var35 = 1;
5061 } else {
5062 if(cltype36 >= var_tkwendnode14->type->table_size) {
5063 var35 = 0;
5064 } else {
5065 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
5066 }
5067 }
5068 if (unlikely(!var35)) {
5069 PRINT_ERROR("Runtime error: %s", "Assert failed");
5070 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1976);
5071 show_backtrace(1);
5072 }
5073 var38 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
5074 var39 = NULL;
5075 var40 = NULL;
5076 {
5077 nit__parser_prod___AStdClassdef___init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var38:AStdClassdef>*/
5078 }
5079 var_pclassdefnode1 = var38;
5080 var_node_list = var_pclassdefnode1;
5081 var41 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction30> */
5082 {
5083 var42 = nit___nit__Parser___go_to(var_p, var41);
5084 }
5085 {
5086 nit___nit__Parser___push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5087 }
5088 RET_LABEL:;
5089 }
5090 /* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */
5091 void nit__parser___nit__parser__ReduceAction31___nit__parser_work__ReduceAction__action(val* self, val* p0) {
5092 val* var_p /* var p: Parser */;
5093 val* var /* : null */;
5094 val* var_node_list /* var node_list: nullable Object */;
5095 val* var1 /* : nullable Object */;
5096 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5097 val* var2 /* : nullable Object */;
5098 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5099 val* var3 /* : nullable Object */;
5100 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5101 val* var4 /* : nullable Object */;
5102 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5103 val* var5 /* : nullable Object */;
5104 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5105 val* var6 /* : nullable Object */;
5106 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5107 val* var7 /* : nullable Object */;
5108 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5109 val* var8 /* : nullable Object */;
5110 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5111 val* var9 /* : nullable Object */;
5112 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5113 val* var10 /* : nullable Object */;
5114 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5115 val* var11 /* : nullable Object */;
5116 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5117 val* var12 /* : Array[Object] */;
5118 val* var_listnode8 /* var listnode8: Array[Object] */;
5119 val* var13 /* : Array[Object] */;
5120 val* var_listnode17 /* var listnode17: Array[Object] */;
5121 val* var14 /* : Array[Object] */;
5122 val* var_listnode18 /* var listnode18: Array[Object] */;
5123 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5124 short int var15 /* : Bool */;
5125 int cltype;
5126 int idtype;
5127 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5128 short int var16 /* : Bool */;
5129 int cltype17;
5130 int idtype18;
5131 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5132 short int var19 /* : Bool */;
5133 int cltype20;
5134 int idtype21;
5135 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5136 short int var22 /* : Bool */;
5137 int cltype23;
5138 int idtype24;
5139 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5140 short int var25 /* : Bool */;
5141 int cltype26;
5142 int idtype27;
5143 val* var_listnode7 /* var listnode7: nullable Object */;
5144 short int var28 /* : Bool */;
5145 int cltype29;
5146 int idtype30;
5147 val* var31 /* : Array[Object] */;
5148 val* var32 /* : Array[Object] */;
5149 val* var_listnode13 /* var listnode13: Array[Object] */;
5150 val* var_listnode12 /* var listnode12: nullable Object */;
5151 short int var33 /* : Bool */;
5152 int cltype34;
5153 int idtype35;
5154 val* var36 /* : Array[Object] */;
5155 val* var37 /* : AAnnotations */;
5156 val* var38 /* : null */;
5157 val* var39 /* : null */;
5158 val* var40 /* : null */;
5159 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5160 val* var_listnode16 /* var listnode16: nullable Object */;
5161 short int var41 /* : Bool */;
5162 int cltype42;
5163 int idtype43;
5164 val* var44 /* : Array[Object] */;
5165 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5166 short int var45 /* : Bool */;
5167 int cltype46;
5168 int idtype47;
5169 val* var48 /* : AStdClassdef */;
5170 val* var49 /* : null */;
5171 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5172 long var50 /* : Int */;
5173 long var51 /* : Int */;
5174 var_p = p0;
5175 var = NULL;
5176 var_node_list = var;
5177 {
5178 var1 = nit___nit__Parser___pop(var_p);
5179 }
5180 var_nodearraylist11 = var1;
5181 {
5182 var2 = nit___nit__Parser___pop(var_p);
5183 }
5184 var_nodearraylist10 = var2;
5185 {
5186 var3 = nit___nit__Parser___pop(var_p);
5187 }
5188 var_nodearraylist9 = var3;
5189 {
5190 var4 = nit___nit__Parser___pop(var_p);
5191 }
5192 var_nodearraylist8 = var4;
5193 {
5194 var5 = nit___nit__Parser___pop(var_p);
5195 }
5196 var_nodearraylist7 = var5;
5197 {
5198 var6 = nit___nit__Parser___pop(var_p);
5199 }
5200 var_nodearraylist6 = var6;
5201 {
5202 var7 = nit___nit__Parser___pop(var_p);
5203 }
5204 var_nodearraylist5 = var7;
5205 {
5206 var8 = nit___nit__Parser___pop(var_p);
5207 }
5208 var_nodearraylist4 = var8;
5209 {
5210 var9 = nit___nit__Parser___pop(var_p);
5211 }
5212 var_nodearraylist3 = var9;
5213 {
5214 var10 = nit___nit__Parser___pop(var_p);
5215 }
5216 var_nodearraylist2 = var10;
5217 {
5218 var11 = nit___nit__Parser___pop(var_p);
5219 }
5220 var_nodearraylist1 = var11;
5221 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
5222 {
5223 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
5224 }
5225 var_listnode8 = var12;
5226 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
5227 {
5228 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
5229 }
5230 var_listnode17 = var13;
5231 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
5232 {
5233 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
5234 }
5235 var_listnode18 = var14;
5236 var_pdocnode2 = var_nodearraylist1;
5237 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5238 cltype = type_nullable__nit__ADoc.color;
5239 idtype = type_nullable__nit__ADoc.id;
5240 if(var_pdocnode2 == NULL) {
5241 var15 = 1;
5242 } else {
5243 if(cltype >= var_pdocnode2->type->table_size) {
5244 var15 = 0;
5245 } else {
5246 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5247 }
5248 }
5249 if (unlikely(!var15)) {
5250 PRINT_ERROR("Runtime error: %s", "Assert failed");
5251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2014);
5252 show_backtrace(1);
5253 }
5254 var_tkwredefnode3 = var_nodearraylist2;
5255 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5256 cltype17 = type_nullable__nit__TKwredef.color;
5257 idtype18 = type_nullable__nit__TKwredef.id;
5258 if(var_tkwredefnode3 == NULL) {
5259 var16 = 1;
5260 } else {
5261 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5262 var16 = 0;
5263 } else {
5264 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5265 }
5266 }
5267 if (unlikely(!var16)) {
5268 PRINT_ERROR("Runtime error: %s", "Assert failed");
5269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2016);
5270 show_backtrace(1);
5271 }
5272 var_pvisibilitynode4 = var_nodearraylist3;
5273 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5274 cltype20 = type_nullable__nit__AVisibility.color;
5275 idtype21 = type_nullable__nit__AVisibility.id;
5276 if(var_pvisibilitynode4 == NULL) {
5277 var19 = 1;
5278 } else {
5279 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5280 var19 = 0;
5281 } else {
5282 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5283 }
5284 }
5285 if (unlikely(!var19)) {
5286 PRINT_ERROR("Runtime error: %s", "Assert failed");
5287 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2018);
5288 show_backtrace(1);
5289 }
5290 var_pclasskindnode5 = var_nodearraylist4;
5291 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5292 cltype23 = type_nullable__nit__AClasskind.color;
5293 idtype24 = type_nullable__nit__AClasskind.id;
5294 if(var_pclasskindnode5 == NULL) {
5295 var22 = 1;
5296 } else {
5297 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5298 var22 = 0;
5299 } else {
5300 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5301 }
5302 }
5303 if (unlikely(!var22)) {
5304 PRINT_ERROR("Runtime error: %s", "Assert failed");
5305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2020);
5306 show_backtrace(1);
5307 }
5308 var_tclassidnode6 = var_nodearraylist6;
5309 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5310 cltype26 = type_nullable__nit__TClassid.color;
5311 idtype27 = type_nullable__nit__TClassid.id;
5312 if(var_tclassidnode6 == NULL) {
5313 var25 = 1;
5314 } else {
5315 if(cltype26 >= var_tclassidnode6->type->table_size) {
5316 var25 = 0;
5317 } else {
5318 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5319 }
5320 }
5321 if (unlikely(!var25)) {
5322 PRINT_ERROR("Runtime error: %s", "Assert failed");
5323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2022);
5324 show_backtrace(1);
5325 }
5326 var_listnode7 = var_nodearraylist7;
5327 /* <var_listnode7:nullable Object> isa Array[Object] */
5328 cltype29 = type_standard__Array__standard__Object.color;
5329 idtype30 = type_standard__Array__standard__Object.id;
5330 if(var_listnode7 == NULL) {
5331 var28 = 0;
5332 } else {
5333 if(cltype29 >= var_listnode7->type->table_size) {
5334 var28 = 0;
5335 } else {
5336 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5337 }
5338 }
5339 if (unlikely(!var28)) {
5340 PRINT_ERROR("Runtime error: %s", "Assert failed");
5341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2024);
5342 show_backtrace(1);
5343 }
5344 {
5345 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
5346 }
5347 var_listnode8 = var31;
5348 var32 = NEW_standard__Array(&type_standard__Array__standard__Object);
5349 {
5350 standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on <var32:Array[Object]>*/
5351 }
5352 var_listnode13 = var32;
5353 var_listnode12 = var_nodearraylist8;
5354 /* <var_listnode12:nullable Object> isa Array[Object] */
5355 cltype34 = type_standard__Array__standard__Object.color;
5356 idtype35 = type_standard__Array__standard__Object.id;
5357 if(var_listnode12 == NULL) {
5358 var33 = 0;
5359 } else {
5360 if(cltype34 >= var_listnode12->type->table_size) {
5361 var33 = 0;
5362 } else {
5363 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
5364 }
5365 }
5366 if (unlikely(!var33)) {
5367 PRINT_ERROR("Runtime error: %s", "Assert failed");
5368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2028);
5369 show_backtrace(1);
5370 }
5371 {
5372 var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
5373 }
5374 var_listnode13 = var36;
5375 var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
5376 var38 = NULL;
5377 var39 = NULL;
5378 var40 = NULL;
5379 {
5380 nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
5381 }
5382 var_pannotationsnode9 = var37;
5383 var_listnode16 = var_nodearraylist9;
5384 /* <var_listnode16:nullable Object> isa Array[Object] */
5385 cltype42 = type_standard__Array__standard__Object.color;
5386 idtype43 = type_standard__Array__standard__Object.id;
5387 if(var_listnode16 == NULL) {
5388 var41 = 0;
5389 } else {
5390 if(cltype42 >= var_listnode16->type->table_size) {
5391 var41 = 0;
5392 } else {
5393 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
5394 }
5395 }
5396 if (unlikely(!var41)) {
5397 PRINT_ERROR("Runtime error: %s", "Assert failed");
5398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2037);
5399 show_backtrace(1);
5400 }
5401 {
5402 var44 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16);
5403 }
5404 var_listnode17 = var44;
5405 var_tkwendnode19 = var_nodearraylist11;
5406 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5407 cltype46 = type_nullable__nit__TKwend.color;
5408 idtype47 = type_nullable__nit__TKwend.id;
5409 if(var_tkwendnode19 == NULL) {
5410 var45 = 1;
5411 } else {
5412 if(cltype46 >= var_tkwendnode19->type->table_size) {
5413 var45 = 0;
5414 } else {
5415 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
5416 }
5417 }
5418 if (unlikely(!var45)) {
5419 PRINT_ERROR("Runtime error: %s", "Assert failed");
5420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2040);
5421 show_backtrace(1);
5422 }
5423 var48 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
5424 var49 = NULL;
5425 {
5426 nit__parser_prod___AStdClassdef___init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var48:AStdClassdef>*/
5427 }
5428 var_pclassdefnode1 = var48;
5429 var_node_list = var_pclassdefnode1;
5430 var50 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction31> */
5431 {
5432 var51 = nit___nit__Parser___go_to(var_p, var50);
5433 }
5434 {
5435 nit___nit__Parser___push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5436 }
5437 RET_LABEL:;
5438 }
5439 /* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */
5440 void nit__parser___nit__parser__ReduceAction32___nit__parser_work__ReduceAction__action(val* self, val* p0) {
5441 val* var_p /* var p: Parser */;
5442 val* var /* : null */;
5443 val* var_node_list /* var node_list: nullable Object */;
5444 val* var1 /* : nullable Object */;
5445 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5446 val* var2 /* : nullable Object */;
5447 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5448 val* var3 /* : nullable Object */;
5449 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5450 val* var4 /* : nullable Object */;
5451 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5452 val* var5 /* : nullable Object */;
5453 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5454 val* var6 /* : nullable Object */;
5455 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5456 val* var7 /* : nullable Object */;
5457 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5458 val* var8 /* : nullable Object */;
5459 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5460 val* var9 /* : nullable Object */;
5461 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5462 val* var10 /* : nullable Object */;
5463 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5464 val* var11 /* : nullable Object */;
5465 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5466 val* var12 /* : Array[Object] */;
5467 val* var_listnode8 /* var listnode8: Array[Object] */;
5468 val* var13 /* : Array[Object] */;
5469 val* var_listnode12 /* var listnode12: Array[Object] */;
5470 val* var14 /* : Array[Object] */;
5471 val* var_listnode13 /* var listnode13: Array[Object] */;
5472 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5473 short int var15 /* : Bool */;
5474 int cltype;
5475 int idtype;
5476 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5477 short int var16 /* : Bool */;
5478 int cltype17;
5479 int idtype18;
5480 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5481 short int var19 /* : Bool */;
5482 int cltype20;
5483 int idtype21;
5484 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5485 short int var22 /* : Bool */;
5486 int cltype23;
5487 int idtype24;
5488 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5489 short int var25 /* : Bool */;
5490 int cltype26;
5491 int idtype27;
5492 val* var_listnode7 /* var listnode7: nullable Object */;
5493 short int var28 /* : Bool */;
5494 int cltype29;
5495 int idtype30;
5496 val* var31 /* : Array[Object] */;
5497 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5498 short int var32 /* : Bool */;
5499 int cltype33;
5500 int idtype34;
5501 val* var_listnode11 /* var listnode11: nullable Object */;
5502 short int var35 /* : Bool */;
5503 int cltype36;
5504 int idtype37;
5505 val* var38 /* : Array[Object] */;
5506 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5507 short int var39 /* : Bool */;
5508 int cltype40;
5509 int idtype41;
5510 val* var42 /* : AStdClassdef */;
5511 val* var43 /* : null */;
5512 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5513 long var44 /* : Int */;
5514 long var45 /* : Int */;
5515 var_p = p0;
5516 var = NULL;
5517 var_node_list = var;
5518 {
5519 var1 = nit___nit__Parser___pop(var_p);
5520 }
5521 var_nodearraylist11 = var1;
5522 {
5523 var2 = nit___nit__Parser___pop(var_p);
5524 }
5525 var_nodearraylist10 = var2;
5526 {
5527 var3 = nit___nit__Parser___pop(var_p);
5528 }
5529 var_nodearraylist9 = var3;
5530 {
5531 var4 = nit___nit__Parser___pop(var_p);
5532 }
5533 var_nodearraylist8 = var4;
5534 {
5535 var5 = nit___nit__Parser___pop(var_p);
5536 }
5537 var_nodearraylist7 = var5;
5538 {
5539 var6 = nit___nit__Parser___pop(var_p);
5540 }
5541 var_nodearraylist6 = var6;
5542 {
5543 var7 = nit___nit__Parser___pop(var_p);
5544 }
5545 var_nodearraylist5 = var7;
5546 {
5547 var8 = nit___nit__Parser___pop(var_p);
5548 }
5549 var_nodearraylist4 = var8;
5550 {
5551 var9 = nit___nit__Parser___pop(var_p);
5552 }
5553 var_nodearraylist3 = var9;
5554 {
5555 var10 = nit___nit__Parser___pop(var_p);
5556 }
5557 var_nodearraylist2 = var10;
5558 {
5559 var11 = nit___nit__Parser___pop(var_p);
5560 }
5561 var_nodearraylist1 = var11;
5562 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
5563 {
5564 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
5565 }
5566 var_listnode8 = var12;
5567 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
5568 {
5569 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
5570 }
5571 var_listnode12 = var13;
5572 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
5573 {
5574 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
5575 }
5576 var_listnode13 = var14;
5577 var_pdocnode2 = var_nodearraylist1;
5578 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5579 cltype = type_nullable__nit__ADoc.color;
5580 idtype = type_nullable__nit__ADoc.id;
5581 if(var_pdocnode2 == NULL) {
5582 var15 = 1;
5583 } else {
5584 if(cltype >= var_pdocnode2->type->table_size) {
5585 var15 = 0;
5586 } else {
5587 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5588 }
5589 }
5590 if (unlikely(!var15)) {
5591 PRINT_ERROR("Runtime error: %s", "Assert failed");
5592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2078);
5593 show_backtrace(1);
5594 }
5595 var_tkwredefnode3 = var_nodearraylist2;
5596 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5597 cltype17 = type_nullable__nit__TKwredef.color;
5598 idtype18 = type_nullable__nit__TKwredef.id;
5599 if(var_tkwredefnode3 == NULL) {
5600 var16 = 1;
5601 } else {
5602 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5603 var16 = 0;
5604 } else {
5605 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5606 }
5607 }
5608 if (unlikely(!var16)) {
5609 PRINT_ERROR("Runtime error: %s", "Assert failed");
5610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2080);
5611 show_backtrace(1);
5612 }
5613 var_pvisibilitynode4 = var_nodearraylist3;
5614 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5615 cltype20 = type_nullable__nit__AVisibility.color;
5616 idtype21 = type_nullable__nit__AVisibility.id;
5617 if(var_pvisibilitynode4 == NULL) {
5618 var19 = 1;
5619 } else {
5620 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5621 var19 = 0;
5622 } else {
5623 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5624 }
5625 }
5626 if (unlikely(!var19)) {
5627 PRINT_ERROR("Runtime error: %s", "Assert failed");
5628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2082);
5629 show_backtrace(1);
5630 }
5631 var_pclasskindnode5 = var_nodearraylist4;
5632 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5633 cltype23 = type_nullable__nit__AClasskind.color;
5634 idtype24 = type_nullable__nit__AClasskind.id;
5635 if(var_pclasskindnode5 == NULL) {
5636 var22 = 1;
5637 } else {
5638 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5639 var22 = 0;
5640 } else {
5641 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5642 }
5643 }
5644 if (unlikely(!var22)) {
5645 PRINT_ERROR("Runtime error: %s", "Assert failed");
5646 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2084);
5647 show_backtrace(1);
5648 }
5649 var_tclassidnode6 = var_nodearraylist6;
5650 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5651 cltype26 = type_nullable__nit__TClassid.color;
5652 idtype27 = type_nullable__nit__TClassid.id;
5653 if(var_tclassidnode6 == NULL) {
5654 var25 = 1;
5655 } else {
5656 if(cltype26 >= var_tclassidnode6->type->table_size) {
5657 var25 = 0;
5658 } else {
5659 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5660 }
5661 }
5662 if (unlikely(!var25)) {
5663 PRINT_ERROR("Runtime error: %s", "Assert failed");
5664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2086);
5665 show_backtrace(1);
5666 }
5667 var_listnode7 = var_nodearraylist7;
5668 /* <var_listnode7:nullable Object> isa Array[Object] */
5669 cltype29 = type_standard__Array__standard__Object.color;
5670 idtype30 = type_standard__Array__standard__Object.id;
5671 if(var_listnode7 == NULL) {
5672 var28 = 0;
5673 } else {
5674 if(cltype29 >= var_listnode7->type->table_size) {
5675 var28 = 0;
5676 } else {
5677 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5678 }
5679 }
5680 if (unlikely(!var28)) {
5681 PRINT_ERROR("Runtime error: %s", "Assert failed");
5682 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2088);
5683 show_backtrace(1);
5684 }
5685 {
5686 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
5687 }
5688 var_listnode8 = var31;
5689 var_pexterncodeblocknode10 = var_nodearraylist8;
5690 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5691 cltype33 = type_nullable__nit__AExternCodeBlock.color;
5692 idtype34 = type_nullable__nit__AExternCodeBlock.id;
5693 if(var_pexterncodeblocknode10 == NULL) {
5694 var32 = 1;
5695 } else {
5696 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
5697 var32 = 0;
5698 } else {
5699 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
5700 }
5701 }
5702 if (unlikely(!var32)) {
5703 PRINT_ERROR("Runtime error: %s", "Assert failed");
5704 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2091);
5705 show_backtrace(1);
5706 }
5707 var_listnode11 = var_nodearraylist9;
5708 /* <var_listnode11:nullable Object> isa Array[Object] */
5709 cltype36 = type_standard__Array__standard__Object.color;
5710 idtype37 = type_standard__Array__standard__Object.id;
5711 if(var_listnode11 == NULL) {
5712 var35 = 0;
5713 } else {
5714 if(cltype36 >= var_listnode11->type->table_size) {
5715 var35 = 0;
5716 } else {
5717 var35 = var_listnode11->type->type_table[cltype36] == idtype37;
5718 }
5719 }
5720 if (unlikely(!var35)) {
5721 PRINT_ERROR("Runtime error: %s", "Assert failed");
5722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2093);
5723 show_backtrace(1);
5724 }
5725 {
5726 var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11);
5727 }
5728 var_listnode12 = var38;
5729 var_tkwendnode14 = var_nodearraylist11;
5730 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5731 cltype40 = type_nullable__nit__TKwend.color;
5732 idtype41 = type_nullable__nit__TKwend.id;
5733 if(var_tkwendnode14 == NULL) {
5734 var39 = 1;
5735 } else {
5736 if(cltype40 >= var_tkwendnode14->type->table_size) {
5737 var39 = 0;
5738 } else {
5739 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
5740 }
5741 }
5742 if (unlikely(!var39)) {
5743 PRINT_ERROR("Runtime error: %s", "Assert failed");
5744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2096);
5745 show_backtrace(1);
5746 }
5747 var42 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
5748 var43 = NULL;
5749 {
5750 nit__parser_prod___AStdClassdef___init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var42:AStdClassdef>*/
5751 }
5752 var_pclassdefnode1 = var42;
5753 var_node_list = var_pclassdefnode1;
5754 var44 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction32> */
5755 {
5756 var45 = nit___nit__Parser___go_to(var_p, var44);
5757 }
5758 {
5759 nit___nit__Parser___push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5760 }
5761 RET_LABEL:;
5762 }
5763 /* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */
5764 void nit__parser___nit__parser__ReduceAction33___nit__parser_work__ReduceAction__action(val* self, val* p0) {
5765 val* var_p /* var p: Parser */;
5766 val* var /* : null */;
5767 val* var_node_list /* var node_list: nullable Object */;
5768 val* var1 /* : nullable Object */;
5769 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5770 val* var2 /* : nullable Object */;
5771 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5772 val* var3 /* : nullable Object */;
5773 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5774 val* var4 /* : nullable Object */;
5775 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5776 val* var5 /* : nullable Object */;
5777 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5778 val* var6 /* : nullable Object */;
5779 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5780 val* var7 /* : nullable Object */;
5781 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5782 val* var8 /* : nullable Object */;
5783 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5784 val* var9 /* : nullable Object */;
5785 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5786 val* var10 /* : nullable Object */;
5787 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5788 val* var11 /* : nullable Object */;
5789 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5790 val* var12 /* : nullable Object */;
5791 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5792 val* var13 /* : Array[Object] */;
5793 val* var_listnode8 /* var listnode8: Array[Object] */;
5794 val* var14 /* : Array[Object] */;
5795 val* var_listnode17 /* var listnode17: Array[Object] */;
5796 val* var15 /* : Array[Object] */;
5797 val* var_listnode18 /* var listnode18: Array[Object] */;
5798 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5799 short int var16 /* : Bool */;
5800 int cltype;
5801 int idtype;
5802 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5803 short int var17 /* : Bool */;
5804 int cltype18;
5805 int idtype19;
5806 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5807 short int var20 /* : Bool */;
5808 int cltype21;
5809 int idtype22;
5810 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5811 short int var23 /* : Bool */;
5812 int cltype24;
5813 int idtype25;
5814 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5815 short int var26 /* : Bool */;
5816 int cltype27;
5817 int idtype28;
5818 val* var_listnode7 /* var listnode7: nullable Object */;
5819 short int var29 /* : Bool */;
5820 int cltype30;
5821 int idtype31;
5822 val* var32 /* : Array[Object] */;
5823 val* var33 /* : Array[Object] */;
5824 val* var_listnode13 /* var listnode13: Array[Object] */;
5825 val* var_listnode12 /* var listnode12: nullable Object */;
5826 short int var34 /* : Bool */;
5827 int cltype35;
5828 int idtype36;
5829 val* var37 /* : Array[Object] */;
5830 val* var38 /* : AAnnotations */;
5831 val* var39 /* : null */;
5832 val* var40 /* : null */;
5833 val* var41 /* : null */;
5834 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5835 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5836 short int var42 /* : Bool */;
5837 int cltype43;
5838 int idtype44;
5839 val* var_listnode16 /* var listnode16: nullable Object */;
5840 short int var45 /* : Bool */;
5841 int cltype46;
5842 int idtype47;
5843 val* var48 /* : Array[Object] */;
5844 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5845 short int var49 /* : Bool */;
5846 int cltype50;
5847 int idtype51;
5848 val* var52 /* : AStdClassdef */;
5849 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5850 long var53 /* : Int */;
5851 long var54 /* : Int */;
5852 var_p = p0;
5853 var = NULL;
5854 var_node_list = var;
5855 {
5856 var1 = nit___nit__Parser___pop(var_p);
5857 }
5858 var_nodearraylist12 = var1;
5859 {
5860 var2 = nit___nit__Parser___pop(var_p);
5861 }
5862 var_nodearraylist11 = var2;
5863 {
5864 var3 = nit___nit__Parser___pop(var_p);
5865 }
5866 var_nodearraylist10 = var3;
5867 {
5868 var4 = nit___nit__Parser___pop(var_p);
5869 }
5870 var_nodearraylist9 = var4;
5871 {
5872 var5 = nit___nit__Parser___pop(var_p);
5873 }
5874 var_nodearraylist8 = var5;
5875 {
5876 var6 = nit___nit__Parser___pop(var_p);
5877 }
5878 var_nodearraylist7 = var6;
5879 {
5880 var7 = nit___nit__Parser___pop(var_p);
5881 }
5882 var_nodearraylist6 = var7;
5883 {
5884 var8 = nit___nit__Parser___pop(var_p);
5885 }
5886 var_nodearraylist5 = var8;
5887 {
5888 var9 = nit___nit__Parser___pop(var_p);
5889 }
5890 var_nodearraylist4 = var9;
5891 {
5892 var10 = nit___nit__Parser___pop(var_p);
5893 }
5894 var_nodearraylist3 = var10;
5895 {
5896 var11 = nit___nit__Parser___pop(var_p);
5897 }
5898 var_nodearraylist2 = var11;
5899 {
5900 var12 = nit___nit__Parser___pop(var_p);
5901 }
5902 var_nodearraylist1 = var12;
5903 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
5904 {
5905 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
5906 }
5907 var_listnode8 = var13;
5908 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
5909 {
5910 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
5911 }
5912 var_listnode17 = var14;
5913 var15 = NEW_standard__Array(&type_standard__Array__standard__Object);
5914 {
5915 standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on <var15:Array[Object]>*/
5916 }
5917 var_listnode18 = var15;
5918 var_pdocnode2 = var_nodearraylist1;
5919 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5920 cltype = type_nullable__nit__ADoc.color;
5921 idtype = type_nullable__nit__ADoc.id;
5922 if(var_pdocnode2 == NULL) {
5923 var16 = 1;
5924 } else {
5925 if(cltype >= var_pdocnode2->type->table_size) {
5926 var16 = 0;
5927 } else {
5928 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5929 }
5930 }
5931 if (unlikely(!var16)) {
5932 PRINT_ERROR("Runtime error: %s", "Assert failed");
5933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2135);
5934 show_backtrace(1);
5935 }
5936 var_tkwredefnode3 = var_nodearraylist2;
5937 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5938 cltype18 = type_nullable__nit__TKwredef.color;
5939 idtype19 = type_nullable__nit__TKwredef.id;
5940 if(var_tkwredefnode3 == NULL) {
5941 var17 = 1;
5942 } else {
5943 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5944 var17 = 0;
5945 } else {
5946 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5947 }
5948 }
5949 if (unlikely(!var17)) {
5950 PRINT_ERROR("Runtime error: %s", "Assert failed");
5951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2137);
5952 show_backtrace(1);
5953 }
5954 var_pvisibilitynode4 = var_nodearraylist3;
5955 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5956 cltype21 = type_nullable__nit__AVisibility.color;
5957 idtype22 = type_nullable__nit__AVisibility.id;
5958 if(var_pvisibilitynode4 == NULL) {
5959 var20 = 1;
5960 } else {
5961 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5962 var20 = 0;
5963 } else {
5964 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5965 }
5966 }
5967 if (unlikely(!var20)) {
5968 PRINT_ERROR("Runtime error: %s", "Assert failed");
5969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2139);
5970 show_backtrace(1);
5971 }
5972 var_pclasskindnode5 = var_nodearraylist4;
5973 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5974 cltype24 = type_nullable__nit__AClasskind.color;
5975 idtype25 = type_nullable__nit__AClasskind.id;
5976 if(var_pclasskindnode5 == NULL) {
5977 var23 = 1;
5978 } else {
5979 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5980 var23 = 0;
5981 } else {
5982 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5983 }
5984 }
5985 if (unlikely(!var23)) {
5986 PRINT_ERROR("Runtime error: %s", "Assert failed");
5987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2141);
5988 show_backtrace(1);
5989 }
5990 var_tclassidnode6 = var_nodearraylist6;
5991 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5992 cltype27 = type_nullable__nit__TClassid.color;
5993 idtype28 = type_nullable__nit__TClassid.id;
5994 if(var_tclassidnode6 == NULL) {
5995 var26 = 1;
5996 } else {
5997 if(cltype27 >= var_tclassidnode6->type->table_size) {
5998 var26 = 0;
5999 } else {
6000 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6001 }
6002 }
6003 if (unlikely(!var26)) {
6004 PRINT_ERROR("Runtime error: %s", "Assert failed");
6005 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2143);
6006 show_backtrace(1);
6007 }
6008 var_listnode7 = var_nodearraylist7;
6009 /* <var_listnode7:nullable Object> isa Array[Object] */
6010 cltype30 = type_standard__Array__standard__Object.color;
6011 idtype31 = type_standard__Array__standard__Object.id;
6012 if(var_listnode7 == NULL) {
6013 var29 = 0;
6014 } else {
6015 if(cltype30 >= var_listnode7->type->table_size) {
6016 var29 = 0;
6017 } else {
6018 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
6019 }
6020 }
6021 if (unlikely(!var29)) {
6022 PRINT_ERROR("Runtime error: %s", "Assert failed");
6023 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2145);
6024 show_backtrace(1);
6025 }
6026 {
6027 var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
6028 }
6029 var_listnode8 = var32;
6030 var33 = NEW_standard__Array(&type_standard__Array__standard__Object);
6031 {
6032 standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on <var33:Array[Object]>*/
6033 }
6034 var_listnode13 = var33;
6035 var_listnode12 = var_nodearraylist8;
6036 /* <var_listnode12:nullable Object> isa Array[Object] */
6037 cltype35 = type_standard__Array__standard__Object.color;
6038 idtype36 = type_standard__Array__standard__Object.id;
6039 if(var_listnode12 == NULL) {
6040 var34 = 0;
6041 } else {
6042 if(cltype35 >= var_listnode12->type->table_size) {
6043 var34 = 0;
6044 } else {
6045 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
6046 }
6047 }
6048 if (unlikely(!var34)) {
6049 PRINT_ERROR("Runtime error: %s", "Assert failed");
6050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2149);
6051 show_backtrace(1);
6052 }
6053 {
6054 var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
6055 }
6056 var_listnode13 = var37;
6057 var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
6058 var39 = NULL;
6059 var40 = NULL;
6060 var41 = NULL;
6061 {
6062 nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
6063 }
6064 var_pannotationsnode9 = var38;
6065 var_pexterncodeblocknode15 = var_nodearraylist9;
6066 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
6067 cltype43 = type_nullable__nit__AExternCodeBlock.color;
6068 idtype44 = type_nullable__nit__AExternCodeBlock.id;
6069 if(var_pexterncodeblocknode15 == NULL) {
6070 var42 = 1;
6071 } else {
6072 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
6073 var42 = 0;
6074 } else {
6075 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
6076 }
6077 }
6078 if (unlikely(!var42)) {
6079 PRINT_ERROR("Runtime error: %s", "Assert failed");
6080 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2158);
6081 show_backtrace(1);
6082 }
6083 var_listnode16 = var_nodearraylist10;
6084 /* <var_listnode16:nullable Object> isa Array[Object] */
6085 cltype46 = type_standard__Array__standard__Object.color;
6086 idtype47 = type_standard__Array__standard__Object.id;
6087 if(var_listnode16 == NULL) {
6088 var45 = 0;
6089 } else {
6090 if(cltype46 >= var_listnode16->type->table_size) {
6091 var45 = 0;
6092 } else {
6093 var45 = var_listnode16->type->type_table[cltype46] == idtype47;
6094 }
6095 }
6096 if (unlikely(!var45)) {
6097 PRINT_ERROR("Runtime error: %s", "Assert failed");
6098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2160);
6099 show_backtrace(1);
6100 }
6101 {
6102 var48 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16);
6103 }
6104 var_listnode17 = var48;
6105 var_tkwendnode19 = var_nodearraylist12;
6106 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6107 cltype50 = type_nullable__nit__TKwend.color;
6108 idtype51 = type_nullable__nit__TKwend.id;
6109 if(var_tkwendnode19 == NULL) {
6110 var49 = 1;
6111 } else {
6112 if(cltype50 >= var_tkwendnode19->type->table_size) {
6113 var49 = 0;
6114 } else {
6115 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
6116 }
6117 }
6118 if (unlikely(!var49)) {
6119 PRINT_ERROR("Runtime error: %s", "Assert failed");
6120 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2163);
6121 show_backtrace(1);
6122 }
6123 var52 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
6124 {
6125 nit__parser_prod___AStdClassdef___init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var52:AStdClassdef>*/
6126 }
6127 var_pclassdefnode1 = var52;
6128 var_node_list = var_pclassdefnode1;
6129 var53 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction33> */
6130 {
6131 var54 = nit___nit__Parser___go_to(var_p, var53);
6132 }
6133 {
6134 nit___nit__Parser___push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6135 }
6136 RET_LABEL:;
6137 }
6138 /* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */
6139 void nit__parser___nit__parser__ReduceAction34___nit__parser_work__ReduceAction__action(val* self, val* p0) {
6140 val* var_p /* var p: Parser */;
6141 val* var /* : null */;
6142 val* var_node_list /* var node_list: nullable Object */;
6143 val* var1 /* : nullable Object */;
6144 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6145 val* var2 /* : nullable Object */;
6146 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6147 val* var3 /* : nullable Object */;
6148 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6149 val* var4 /* : nullable Object */;
6150 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6151 val* var5 /* : nullable Object */;
6152 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6153 val* var6 /* : nullable Object */;
6154 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6155 val* var7 /* : nullable Object */;
6156 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6157 val* var8 /* : nullable Object */;
6158 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6159 val* var9 /* : nullable Object */;
6160 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6161 val* var10 /* : nullable Object */;
6162 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6163 val* var11 /* : Array[Object] */;
6164 val* var_listnode8 /* var listnode8: Array[Object] */;
6165 val* var12 /* : Array[Object] */;
6166 val* var_listnode11 /* var listnode11: Array[Object] */;
6167 val* var13 /* : Array[Object] */;
6168 val* var_listnode13 /* var listnode13: Array[Object] */;
6169 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6170 short int var14 /* : Bool */;
6171 int cltype;
6172 int idtype;
6173 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6174 short int var15 /* : Bool */;
6175 int cltype16;
6176 int idtype17;
6177 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6178 short int var18 /* : Bool */;
6179 int cltype19;
6180 int idtype20;
6181 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6182 short int var21 /* : Bool */;
6183 int cltype22;
6184 int idtype23;
6185 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6186 short int var24 /* : Bool */;
6187 int cltype25;
6188 int idtype26;
6189 val* var_listnode7 /* var listnode7: nullable Object */;
6190 short int var27 /* : Bool */;
6191 int cltype28;
6192 int idtype29;
6193 val* var30 /* : Array[Object] */;
6194 val* var_listnode12 /* var listnode12: nullable Object */;
6195 short int var31 /* : Bool */;
6196 int cltype32;
6197 int idtype33;
6198 val* var34 /* : Array[Object] */;
6199 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6200 short int var35 /* : Bool */;
6201 int cltype36;
6202 int idtype37;
6203 val* var38 /* : AStdClassdef */;
6204 val* var39 /* : null */;
6205 val* var40 /* : null */;
6206 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6207 long var41 /* : Int */;
6208 long var42 /* : Int */;
6209 var_p = p0;
6210 var = NULL;
6211 var_node_list = var;
6212 {
6213 var1 = nit___nit__Parser___pop(var_p);
6214 }
6215 var_nodearraylist10 = var1;
6216 {
6217 var2 = nit___nit__Parser___pop(var_p);
6218 }
6219 var_nodearraylist9 = var2;
6220 {
6221 var3 = nit___nit__Parser___pop(var_p);
6222 }
6223 var_nodearraylist8 = var3;
6224 {
6225 var4 = nit___nit__Parser___pop(var_p);
6226 }
6227 var_nodearraylist7 = var4;
6228 {
6229 var5 = nit___nit__Parser___pop(var_p);
6230 }
6231 var_nodearraylist6 = var5;
6232 {
6233 var6 = nit___nit__Parser___pop(var_p);
6234 }
6235 var_nodearraylist5 = var6;
6236 {
6237 var7 = nit___nit__Parser___pop(var_p);
6238 }
6239 var_nodearraylist4 = var7;
6240 {
6241 var8 = nit___nit__Parser___pop(var_p);
6242 }
6243 var_nodearraylist3 = var8;
6244 {
6245 var9 = nit___nit__Parser___pop(var_p);
6246 }
6247 var_nodearraylist2 = var9;
6248 {
6249 var10 = nit___nit__Parser___pop(var_p);
6250 }
6251 var_nodearraylist1 = var10;
6252 var11 = NEW_standard__Array(&type_standard__Array__standard__Object);
6253 {
6254 standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[Object]>*/
6255 }
6256 var_listnode8 = var11;
6257 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
6258 {
6259 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
6260 }
6261 var_listnode11 = var12;
6262 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
6263 {
6264 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
6265 }
6266 var_listnode13 = var13;
6267 var_pdocnode2 = var_nodearraylist1;
6268 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6269 cltype = type_nullable__nit__ADoc.color;
6270 idtype = type_nullable__nit__ADoc.id;
6271 if(var_pdocnode2 == NULL) {
6272 var14 = 1;
6273 } else {
6274 if(cltype >= var_pdocnode2->type->table_size) {
6275 var14 = 0;
6276 } else {
6277 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6278 }
6279 }
6280 if (unlikely(!var14)) {
6281 PRINT_ERROR("Runtime error: %s", "Assert failed");
6282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2200);
6283 show_backtrace(1);
6284 }
6285 var_tkwredefnode3 = var_nodearraylist2;
6286 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6287 cltype16 = type_nullable__nit__TKwredef.color;
6288 idtype17 = type_nullable__nit__TKwredef.id;
6289 if(var_tkwredefnode3 == NULL) {
6290 var15 = 1;
6291 } else {
6292 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6293 var15 = 0;
6294 } else {
6295 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6296 }
6297 }
6298 if (unlikely(!var15)) {
6299 PRINT_ERROR("Runtime error: %s", "Assert failed");
6300 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2202);
6301 show_backtrace(1);
6302 }
6303 var_pvisibilitynode4 = var_nodearraylist3;
6304 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6305 cltype19 = type_nullable__nit__AVisibility.color;
6306 idtype20 = type_nullable__nit__AVisibility.id;
6307 if(var_pvisibilitynode4 == NULL) {
6308 var18 = 1;
6309 } else {
6310 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6311 var18 = 0;
6312 } else {
6313 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6314 }
6315 }
6316 if (unlikely(!var18)) {
6317 PRINT_ERROR("Runtime error: %s", "Assert failed");
6318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2204);
6319 show_backtrace(1);
6320 }
6321 var_pclasskindnode5 = var_nodearraylist4;
6322 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6323 cltype22 = type_nullable__nit__AClasskind.color;
6324 idtype23 = type_nullable__nit__AClasskind.id;
6325 if(var_pclasskindnode5 == NULL) {
6326 var21 = 1;
6327 } else {
6328 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6329 var21 = 0;
6330 } else {
6331 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6332 }
6333 }
6334 if (unlikely(!var21)) {
6335 PRINT_ERROR("Runtime error: %s", "Assert failed");
6336 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2206);
6337 show_backtrace(1);
6338 }
6339 var_tclassidnode6 = var_nodearraylist6;
6340 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6341 cltype25 = type_nullable__nit__TClassid.color;
6342 idtype26 = type_nullable__nit__TClassid.id;
6343 if(var_tclassidnode6 == NULL) {
6344 var24 = 1;
6345 } else {
6346 if(cltype25 >= var_tclassidnode6->type->table_size) {
6347 var24 = 0;
6348 } else {
6349 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6350 }
6351 }
6352 if (unlikely(!var24)) {
6353 PRINT_ERROR("Runtime error: %s", "Assert failed");
6354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2208);
6355 show_backtrace(1);
6356 }
6357 var_listnode7 = var_nodearraylist7;
6358 /* <var_listnode7:nullable Object> isa Array[Object] */
6359 cltype28 = type_standard__Array__standard__Object.color;
6360 idtype29 = type_standard__Array__standard__Object.id;
6361 if(var_listnode7 == NULL) {
6362 var27 = 0;
6363 } else {
6364 if(cltype28 >= var_listnode7->type->table_size) {
6365 var27 = 0;
6366 } else {
6367 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
6368 }
6369 }
6370 if (unlikely(!var27)) {
6371 PRINT_ERROR("Runtime error: %s", "Assert failed");
6372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2210);
6373 show_backtrace(1);
6374 }
6375 {
6376 var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
6377 }
6378 var_listnode8 = var30;
6379 var_listnode12 = var_nodearraylist8;
6380 /* <var_listnode12:nullable Object> isa Array[Object] */
6381 cltype32 = type_standard__Array__standard__Object.color;
6382 idtype33 = type_standard__Array__standard__Object.id;
6383 if(var_listnode12 == NULL) {
6384 var31 = 0;
6385 } else {
6386 if(cltype32 >= var_listnode12->type->table_size) {
6387 var31 = 0;
6388 } else {
6389 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
6390 }
6391 }
6392 if (unlikely(!var31)) {
6393 PRINT_ERROR("Runtime error: %s", "Assert failed");
6394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2213);
6395 show_backtrace(1);
6396 }
6397 {
6398 var34 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
6399 }
6400 var_listnode13 = var34;
6401 var_tkwendnode14 = var_nodearraylist10;
6402 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6403 cltype36 = type_nullable__nit__TKwend.color;
6404 idtype37 = type_nullable__nit__TKwend.id;
6405 if(var_tkwendnode14 == NULL) {
6406 var35 = 1;
6407 } else {
6408 if(cltype36 >= var_tkwendnode14->type->table_size) {
6409 var35 = 0;
6410 } else {
6411 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
6412 }
6413 }
6414 if (unlikely(!var35)) {
6415 PRINT_ERROR("Runtime error: %s", "Assert failed");
6416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2216);
6417 show_backtrace(1);
6418 }
6419 var38 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
6420 var39 = NULL;
6421 var40 = NULL;
6422 {
6423 nit__parser_prod___AStdClassdef___init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var38:AStdClassdef>*/
6424 }
6425 var_pclassdefnode1 = var38;
6426 var_node_list = var_pclassdefnode1;
6427 var41 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction34> */
6428 {
6429 var42 = nit___nit__Parser___go_to(var_p, var41);
6430 }
6431 {
6432 nit___nit__Parser___push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6433 }
6434 RET_LABEL:;
6435 }
6436 /* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */
6437 void nit__parser___nit__parser__ReduceAction35___nit__parser_work__ReduceAction__action(val* self, val* p0) {
6438 val* var_p /* var p: Parser */;
6439 val* var /* : null */;
6440 val* var_node_list /* var node_list: nullable Object */;
6441 val* var1 /* : nullable Object */;
6442 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6443 val* var2 /* : nullable Object */;
6444 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6445 val* var3 /* : nullable Object */;
6446 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6447 val* var4 /* : nullable Object */;
6448 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6449 val* var5 /* : nullable Object */;
6450 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6451 val* var6 /* : nullable Object */;
6452 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6453 val* var7 /* : nullable Object */;
6454 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6455 val* var8 /* : nullable Object */;
6456 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6457 val* var9 /* : nullable Object */;
6458 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6459 val* var10 /* : nullable Object */;
6460 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6461 val* var11 /* : nullable Object */;
6462 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6463 val* var12 /* : Array[Object] */;
6464 val* var_listnode8 /* var listnode8: Array[Object] */;
6465 val* var13 /* : Array[Object] */;
6466 val* var_listnode16 /* var listnode16: Array[Object] */;
6467 val* var14 /* : Array[Object] */;
6468 val* var_listnode18 /* var listnode18: Array[Object] */;
6469 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6470 short int var15 /* : Bool */;
6471 int cltype;
6472 int idtype;
6473 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6474 short int var16 /* : Bool */;
6475 int cltype17;
6476 int idtype18;
6477 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6478 short int var19 /* : Bool */;
6479 int cltype20;
6480 int idtype21;
6481 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6482 short int var22 /* : Bool */;
6483 int cltype23;
6484 int idtype24;
6485 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6486 short int var25 /* : Bool */;
6487 int cltype26;
6488 int idtype27;
6489 val* var_listnode7 /* var listnode7: nullable Object */;
6490 short int var28 /* : Bool */;
6491 int cltype29;
6492 int idtype30;
6493 val* var31 /* : Array[Object] */;
6494 val* var32 /* : Array[Object] */;
6495 val* var_listnode13 /* var listnode13: Array[Object] */;
6496 val* var_listnode12 /* var listnode12: nullable Object */;
6497 short int var33 /* : Bool */;
6498 int cltype34;
6499 int idtype35;
6500 val* var36 /* : Array[Object] */;
6501 val* var37 /* : AAnnotations */;
6502 val* var38 /* : null */;
6503 val* var39 /* : null */;
6504 val* var40 /* : null */;
6505 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6506 val* var_listnode17 /* var listnode17: nullable Object */;
6507 short int var41 /* : Bool */;
6508 int cltype42;
6509 int idtype43;
6510 val* var44 /* : Array[Object] */;
6511 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6512 short int var45 /* : Bool */;
6513 int cltype46;
6514 int idtype47;
6515 val* var48 /* : AStdClassdef */;
6516 val* var49 /* : null */;
6517 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6518 long var50 /* : Int */;
6519 long var51 /* : Int */;
6520 var_p = p0;
6521 var = NULL;
6522 var_node_list = var;
6523 {
6524 var1 = nit___nit__Parser___pop(var_p);
6525 }
6526 var_nodearraylist11 = var1;
6527 {
6528 var2 = nit___nit__Parser___pop(var_p);
6529 }
6530 var_nodearraylist10 = var2;
6531 {
6532 var3 = nit___nit__Parser___pop(var_p);
6533 }
6534 var_nodearraylist9 = var3;
6535 {
6536 var4 = nit___nit__Parser___pop(var_p);
6537 }
6538 var_nodearraylist8 = var4;
6539 {
6540 var5 = nit___nit__Parser___pop(var_p);
6541 }
6542 var_nodearraylist7 = var5;
6543 {
6544 var6 = nit___nit__Parser___pop(var_p);
6545 }
6546 var_nodearraylist6 = var6;
6547 {
6548 var7 = nit___nit__Parser___pop(var_p);
6549 }
6550 var_nodearraylist5 = var7;
6551 {
6552 var8 = nit___nit__Parser___pop(var_p);
6553 }
6554 var_nodearraylist4 = var8;
6555 {
6556 var9 = nit___nit__Parser___pop(var_p);
6557 }
6558 var_nodearraylist3 = var9;
6559 {
6560 var10 = nit___nit__Parser___pop(var_p);
6561 }
6562 var_nodearraylist2 = var10;
6563 {
6564 var11 = nit___nit__Parser___pop(var_p);
6565 }
6566 var_nodearraylist1 = var11;
6567 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
6568 {
6569 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
6570 }
6571 var_listnode8 = var12;
6572 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
6573 {
6574 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
6575 }
6576 var_listnode16 = var13;
6577 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
6578 {
6579 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
6580 }
6581 var_listnode18 = var14;
6582 var_pdocnode2 = var_nodearraylist1;
6583 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6584 cltype = type_nullable__nit__ADoc.color;
6585 idtype = type_nullable__nit__ADoc.id;
6586 if(var_pdocnode2 == NULL) {
6587 var15 = 1;
6588 } else {
6589 if(cltype >= var_pdocnode2->type->table_size) {
6590 var15 = 0;
6591 } else {
6592 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6593 }
6594 }
6595 if (unlikely(!var15)) {
6596 PRINT_ERROR("Runtime error: %s", "Assert failed");
6597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2254);
6598 show_backtrace(1);
6599 }
6600 var_tkwredefnode3 = var_nodearraylist2;
6601 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6602 cltype17 = type_nullable__nit__TKwredef.color;
6603 idtype18 = type_nullable__nit__TKwredef.id;
6604 if(var_tkwredefnode3 == NULL) {
6605 var16 = 1;
6606 } else {
6607 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6608 var16 = 0;
6609 } else {
6610 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6611 }
6612 }
6613 if (unlikely(!var16)) {
6614 PRINT_ERROR("Runtime error: %s", "Assert failed");
6615 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2256);
6616 show_backtrace(1);
6617 }
6618 var_pvisibilitynode4 = var_nodearraylist3;
6619 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6620 cltype20 = type_nullable__nit__AVisibility.color;
6621 idtype21 = type_nullable__nit__AVisibility.id;
6622 if(var_pvisibilitynode4 == NULL) {
6623 var19 = 1;
6624 } else {
6625 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6626 var19 = 0;
6627 } else {
6628 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6629 }
6630 }
6631 if (unlikely(!var19)) {
6632 PRINT_ERROR("Runtime error: %s", "Assert failed");
6633 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2258);
6634 show_backtrace(1);
6635 }
6636 var_pclasskindnode5 = var_nodearraylist4;
6637 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6638 cltype23 = type_nullable__nit__AClasskind.color;
6639 idtype24 = type_nullable__nit__AClasskind.id;
6640 if(var_pclasskindnode5 == NULL) {
6641 var22 = 1;
6642 } else {
6643 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6644 var22 = 0;
6645 } else {
6646 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6647 }
6648 }
6649 if (unlikely(!var22)) {
6650 PRINT_ERROR("Runtime error: %s", "Assert failed");
6651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2260);
6652 show_backtrace(1);
6653 }
6654 var_tclassidnode6 = var_nodearraylist6;
6655 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6656 cltype26 = type_nullable__nit__TClassid.color;
6657 idtype27 = type_nullable__nit__TClassid.id;
6658 if(var_tclassidnode6 == NULL) {
6659 var25 = 1;
6660 } else {
6661 if(cltype26 >= var_tclassidnode6->type->table_size) {
6662 var25 = 0;
6663 } else {
6664 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6665 }
6666 }
6667 if (unlikely(!var25)) {
6668 PRINT_ERROR("Runtime error: %s", "Assert failed");
6669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2262);
6670 show_backtrace(1);
6671 }
6672 var_listnode7 = var_nodearraylist7;
6673 /* <var_listnode7:nullable Object> isa Array[Object] */
6674 cltype29 = type_standard__Array__standard__Object.color;
6675 idtype30 = type_standard__Array__standard__Object.id;
6676 if(var_listnode7 == NULL) {
6677 var28 = 0;
6678 } else {
6679 if(cltype29 >= var_listnode7->type->table_size) {
6680 var28 = 0;
6681 } else {
6682 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
6683 }
6684 }
6685 if (unlikely(!var28)) {
6686 PRINT_ERROR("Runtime error: %s", "Assert failed");
6687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2264);
6688 show_backtrace(1);
6689 }
6690 {
6691 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
6692 }
6693 var_listnode8 = var31;
6694 var32 = NEW_standard__Array(&type_standard__Array__standard__Object);
6695 {
6696 standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on <var32:Array[Object]>*/
6697 }
6698 var_listnode13 = var32;
6699 var_listnode12 = var_nodearraylist8;
6700 /* <var_listnode12:nullable Object> isa Array[Object] */
6701 cltype34 = type_standard__Array__standard__Object.color;
6702 idtype35 = type_standard__Array__standard__Object.id;
6703 if(var_listnode12 == NULL) {
6704 var33 = 0;
6705 } else {
6706 if(cltype34 >= var_listnode12->type->table_size) {
6707 var33 = 0;
6708 } else {
6709 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
6710 }
6711 }
6712 if (unlikely(!var33)) {
6713 PRINT_ERROR("Runtime error: %s", "Assert failed");
6714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2268);
6715 show_backtrace(1);
6716 }
6717 {
6718 var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
6719 }
6720 var_listnode13 = var36;
6721 var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
6722 var38 = NULL;
6723 var39 = NULL;
6724 var40 = NULL;
6725 {
6726 nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on <var37:AAnnotations>*/
6727 }
6728 var_pannotationsnode9 = var37;
6729 var_listnode17 = var_nodearraylist9;
6730 /* <var_listnode17:nullable Object> isa Array[Object] */
6731 cltype42 = type_standard__Array__standard__Object.color;
6732 idtype43 = type_standard__Array__standard__Object.id;
6733 if(var_listnode17 == NULL) {
6734 var41 = 0;
6735 } else {
6736 if(cltype42 >= var_listnode17->type->table_size) {
6737 var41 = 0;
6738 } else {
6739 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
6740 }
6741 }
6742 if (unlikely(!var41)) {
6743 PRINT_ERROR("Runtime error: %s", "Assert failed");
6744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2277);
6745 show_backtrace(1);
6746 }
6747 {
6748 var44 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode18, var_listnode17);
6749 }
6750 var_listnode18 = var44;
6751 var_tkwendnode19 = var_nodearraylist11;
6752 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6753 cltype46 = type_nullable__nit__TKwend.color;
6754 idtype47 = type_nullable__nit__TKwend.id;
6755 if(var_tkwendnode19 == NULL) {
6756 var45 = 1;
6757 } else {
6758 if(cltype46 >= var_tkwendnode19->type->table_size) {
6759 var45 = 0;
6760 } else {
6761 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
6762 }
6763 }
6764 if (unlikely(!var45)) {
6765 PRINT_ERROR("Runtime error: %s", "Assert failed");
6766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2280);
6767 show_backtrace(1);
6768 }
6769 var48 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
6770 var49 = NULL;
6771 {
6772 nit__parser_prod___AStdClassdef___init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var48:AStdClassdef>*/
6773 }
6774 var_pclassdefnode1 = var48;
6775 var_node_list = var_pclassdefnode1;
6776 var50 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction35> */
6777 {
6778 var51 = nit___nit__Parser___go_to(var_p, var50);
6779 }
6780 {
6781 nit___nit__Parser___push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6782 }
6783 RET_LABEL:;
6784 }
6785 /* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */
6786 void nit__parser___nit__parser__ReduceAction36___nit__parser_work__ReduceAction__action(val* self, val* p0) {
6787 val* var_p /* var p: Parser */;
6788 val* var /* : null */;
6789 val* var_node_list /* var node_list: nullable Object */;
6790 val* var1 /* : nullable Object */;
6791 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6792 val* var2 /* : nullable Object */;
6793 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6794 val* var3 /* : nullable Object */;
6795 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6796 val* var4 /* : nullable Object */;
6797 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6798 val* var5 /* : nullable Object */;
6799 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6800 val* var6 /* : nullable Object */;
6801 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6802 val* var7 /* : nullable Object */;
6803 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6804 val* var8 /* : nullable Object */;
6805 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6806 val* var9 /* : nullable Object */;
6807 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6808 val* var10 /* : nullable Object */;
6809 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6810 val* var11 /* : nullable Object */;
6811 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6812 val* var12 /* : Array[Object] */;
6813 val* var_listnode8 /* var listnode8: Array[Object] */;
6814 val* var13 /* : Array[Object] */;
6815 val* var_listnode11 /* var listnode11: Array[Object] */;
6816 val* var14 /* : Array[Object] */;
6817 val* var_listnode13 /* var listnode13: Array[Object] */;
6818 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6819 short int var15 /* : Bool */;
6820 int cltype;
6821 int idtype;
6822 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6823 short int var16 /* : Bool */;
6824 int cltype17;
6825 int idtype18;
6826 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6827 short int var19 /* : Bool */;
6828 int cltype20;
6829 int idtype21;
6830 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6831 short int var22 /* : Bool */;
6832 int cltype23;
6833 int idtype24;
6834 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6835 short int var25 /* : Bool */;
6836 int cltype26;
6837 int idtype27;
6838 val* var_listnode7 /* var listnode7: nullable Object */;
6839 short int var28 /* : Bool */;
6840 int cltype29;
6841 int idtype30;
6842 val* var31 /* : Array[Object] */;
6843 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6844 short int var32 /* : Bool */;
6845 int cltype33;
6846 int idtype34;
6847 val* var_listnode12 /* var listnode12: nullable Object */;
6848 short int var35 /* : Bool */;
6849 int cltype36;
6850 int idtype37;
6851 val* var38 /* : Array[Object] */;
6852 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6853 short int var39 /* : Bool */;
6854 int cltype40;
6855 int idtype41;
6856 val* var42 /* : AStdClassdef */;
6857 val* var43 /* : null */;
6858 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6859 long var44 /* : Int */;
6860 long var45 /* : Int */;
6861 var_p = p0;
6862 var = NULL;
6863 var_node_list = var;
6864 {
6865 var1 = nit___nit__Parser___pop(var_p);
6866 }
6867 var_nodearraylist11 = var1;
6868 {
6869 var2 = nit___nit__Parser___pop(var_p);
6870 }
6871 var_nodearraylist10 = var2;
6872 {
6873 var3 = nit___nit__Parser___pop(var_p);
6874 }
6875 var_nodearraylist9 = var3;
6876 {
6877 var4 = nit___nit__Parser___pop(var_p);
6878 }
6879 var_nodearraylist8 = var4;
6880 {
6881 var5 = nit___nit__Parser___pop(var_p);
6882 }
6883 var_nodearraylist7 = var5;
6884 {
6885 var6 = nit___nit__Parser___pop(var_p);
6886 }
6887 var_nodearraylist6 = var6;
6888 {
6889 var7 = nit___nit__Parser___pop(var_p);
6890 }
6891 var_nodearraylist5 = var7;
6892 {
6893 var8 = nit___nit__Parser___pop(var_p);
6894 }
6895 var_nodearraylist4 = var8;
6896 {
6897 var9 = nit___nit__Parser___pop(var_p);
6898 }
6899 var_nodearraylist3 = var9;
6900 {
6901 var10 = nit___nit__Parser___pop(var_p);
6902 }
6903 var_nodearraylist2 = var10;
6904 {
6905 var11 = nit___nit__Parser___pop(var_p);
6906 }
6907 var_nodearraylist1 = var11;
6908 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
6909 {
6910 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
6911 }
6912 var_listnode8 = var12;
6913 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
6914 {
6915 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
6916 }
6917 var_listnode11 = var13;
6918 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
6919 {
6920 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
6921 }
6922 var_listnode13 = var14;
6923 var_pdocnode2 = var_nodearraylist1;
6924 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6925 cltype = type_nullable__nit__ADoc.color;
6926 idtype = type_nullable__nit__ADoc.id;
6927 if(var_pdocnode2 == NULL) {
6928 var15 = 1;
6929 } else {
6930 if(cltype >= var_pdocnode2->type->table_size) {
6931 var15 = 0;
6932 } else {
6933 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6934 }
6935 }
6936 if (unlikely(!var15)) {
6937 PRINT_ERROR("Runtime error: %s", "Assert failed");
6938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2318);
6939 show_backtrace(1);
6940 }
6941 var_tkwredefnode3 = var_nodearraylist2;
6942 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6943 cltype17 = type_nullable__nit__TKwredef.color;
6944 idtype18 = type_nullable__nit__TKwredef.id;
6945 if(var_tkwredefnode3 == NULL) {
6946 var16 = 1;
6947 } else {
6948 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6949 var16 = 0;
6950 } else {
6951 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6952 }
6953 }
6954 if (unlikely(!var16)) {
6955 PRINT_ERROR("Runtime error: %s", "Assert failed");
6956 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2320);
6957 show_backtrace(1);
6958 }
6959 var_pvisibilitynode4 = var_nodearraylist3;
6960 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6961 cltype20 = type_nullable__nit__AVisibility.color;
6962 idtype21 = type_nullable__nit__AVisibility.id;
6963 if(var_pvisibilitynode4 == NULL) {
6964 var19 = 1;
6965 } else {
6966 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6967 var19 = 0;
6968 } else {
6969 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6970 }
6971 }
6972 if (unlikely(!var19)) {
6973 PRINT_ERROR("Runtime error: %s", "Assert failed");
6974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2322);
6975 show_backtrace(1);
6976 }
6977 var_pclasskindnode5 = var_nodearraylist4;
6978 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6979 cltype23 = type_nullable__nit__AClasskind.color;
6980 idtype24 = type_nullable__nit__AClasskind.id;
6981 if(var_pclasskindnode5 == NULL) {
6982 var22 = 1;
6983 } else {
6984 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6985 var22 = 0;
6986 } else {
6987 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6988 }
6989 }
6990 if (unlikely(!var22)) {
6991 PRINT_ERROR("Runtime error: %s", "Assert failed");
6992 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2324);
6993 show_backtrace(1);
6994 }
6995 var_tclassidnode6 = var_nodearraylist6;
6996 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6997 cltype26 = type_nullable__nit__TClassid.color;
6998 idtype27 = type_nullable__nit__TClassid.id;
6999 if(var_tclassidnode6 == NULL) {
7000 var25 = 1;
7001 } else {
7002 if(cltype26 >= var_tclassidnode6->type->table_size) {
7003 var25 = 0;
7004 } else {
7005 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7006 }
7007 }
7008 if (unlikely(!var25)) {
7009 PRINT_ERROR("Runtime error: %s", "Assert failed");
7010 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2326);
7011 show_backtrace(1);
7012 }
7013 var_listnode7 = var_nodearraylist7;
7014 /* <var_listnode7:nullable Object> isa Array[Object] */
7015 cltype29 = type_standard__Array__standard__Object.color;
7016 idtype30 = type_standard__Array__standard__Object.id;
7017 if(var_listnode7 == NULL) {
7018 var28 = 0;
7019 } else {
7020 if(cltype29 >= var_listnode7->type->table_size) {
7021 var28 = 0;
7022 } else {
7023 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
7024 }
7025 }
7026 if (unlikely(!var28)) {
7027 PRINT_ERROR("Runtime error: %s", "Assert failed");
7028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2328);
7029 show_backtrace(1);
7030 }
7031 {
7032 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
7033 }
7034 var_listnode8 = var31;
7035 var_pexterncodeblocknode10 = var_nodearraylist8;
7036 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7037 cltype33 = type_nullable__nit__AExternCodeBlock.color;
7038 idtype34 = type_nullable__nit__AExternCodeBlock.id;
7039 if(var_pexterncodeblocknode10 == NULL) {
7040 var32 = 1;
7041 } else {
7042 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
7043 var32 = 0;
7044 } else {
7045 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
7046 }
7047 }
7048 if (unlikely(!var32)) {
7049 PRINT_ERROR("Runtime error: %s", "Assert failed");
7050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2331);
7051 show_backtrace(1);
7052 }
7053 var_listnode12 = var_nodearraylist9;
7054 /* <var_listnode12:nullable Object> isa Array[Object] */
7055 cltype36 = type_standard__Array__standard__Object.color;
7056 idtype37 = type_standard__Array__standard__Object.id;
7057 if(var_listnode12 == NULL) {
7058 var35 = 0;
7059 } else {
7060 if(cltype36 >= var_listnode12->type->table_size) {
7061 var35 = 0;
7062 } else {
7063 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
7064 }
7065 }
7066 if (unlikely(!var35)) {
7067 PRINT_ERROR("Runtime error: %s", "Assert failed");
7068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2333);
7069 show_backtrace(1);
7070 }
7071 {
7072 var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
7073 }
7074 var_listnode13 = var38;
7075 var_tkwendnode14 = var_nodearraylist11;
7076 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7077 cltype40 = type_nullable__nit__TKwend.color;
7078 idtype41 = type_nullable__nit__TKwend.id;
7079 if(var_tkwendnode14 == NULL) {
7080 var39 = 1;
7081 } else {
7082 if(cltype40 >= var_tkwendnode14->type->table_size) {
7083 var39 = 0;
7084 } else {
7085 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
7086 }
7087 }
7088 if (unlikely(!var39)) {
7089 PRINT_ERROR("Runtime error: %s", "Assert failed");
7090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2336);
7091 show_backtrace(1);
7092 }
7093 var42 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
7094 var43 = NULL;
7095 {
7096 nit__parser_prod___AStdClassdef___init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var42:AStdClassdef>*/
7097 }
7098 var_pclassdefnode1 = var42;
7099 var_node_list = var_pclassdefnode1;
7100 var44 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction36> */
7101 {
7102 var45 = nit___nit__Parser___go_to(var_p, var44);
7103 }
7104 {
7105 nit___nit__Parser___push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7106 }
7107 RET_LABEL:;
7108 }
7109 /* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */
7110 void nit__parser___nit__parser__ReduceAction37___nit__parser_work__ReduceAction__action(val* self, val* p0) {
7111 val* var_p /* var p: Parser */;
7112 val* var /* : null */;
7113 val* var_node_list /* var node_list: nullable Object */;
7114 val* var1 /* : nullable Object */;
7115 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7116 val* var2 /* : nullable Object */;
7117 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7118 val* var3 /* : nullable Object */;
7119 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7120 val* var4 /* : nullable Object */;
7121 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7122 val* var5 /* : nullable Object */;
7123 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7124 val* var6 /* : nullable Object */;
7125 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7126 val* var7 /* : nullable Object */;
7127 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7128 val* var8 /* : nullable Object */;
7129 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7130 val* var9 /* : nullable Object */;
7131 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7132 val* var10 /* : nullable Object */;
7133 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7134 val* var11 /* : nullable Object */;
7135 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7136 val* var12 /* : nullable Object */;
7137 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7138 val* var13 /* : Array[Object] */;
7139 val* var_listnode8 /* var listnode8: Array[Object] */;
7140 val* var14 /* : Array[Object] */;
7141 val* var_listnode16 /* var listnode16: Array[Object] */;
7142 val* var15 /* : Array[Object] */;
7143 val* var_listnode18 /* var listnode18: Array[Object] */;
7144 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7145 short int var16 /* : Bool */;
7146 int cltype;
7147 int idtype;
7148 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7149 short int var17 /* : Bool */;
7150 int cltype18;
7151 int idtype19;
7152 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7153 short int var20 /* : Bool */;
7154 int cltype21;
7155 int idtype22;
7156 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7157 short int var23 /* : Bool */;
7158 int cltype24;
7159 int idtype25;
7160 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7161 short int var26 /* : Bool */;
7162 int cltype27;
7163 int idtype28;
7164 val* var_listnode7 /* var listnode7: nullable Object */;
7165 short int var29 /* : Bool */;
7166 int cltype30;
7167 int idtype31;
7168 val* var32 /* : Array[Object] */;
7169 val* var33 /* : Array[Object] */;
7170 val* var_listnode13 /* var listnode13: Array[Object] */;
7171 val* var_listnode12 /* var listnode12: nullable Object */;
7172 short int var34 /* : Bool */;
7173 int cltype35;
7174 int idtype36;
7175 val* var37 /* : Array[Object] */;
7176 val* var38 /* : AAnnotations */;
7177 val* var39 /* : null */;
7178 val* var40 /* : null */;
7179 val* var41 /* : null */;
7180 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7181 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
7182 short int var42 /* : Bool */;
7183 int cltype43;
7184 int idtype44;
7185 val* var_listnode17 /* var listnode17: nullable Object */;
7186 short int var45 /* : Bool */;
7187 int cltype46;
7188 int idtype47;
7189 val* var48 /* : Array[Object] */;
7190 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7191 short int var49 /* : Bool */;
7192 int cltype50;
7193 int idtype51;
7194 val* var52 /* : AStdClassdef */;
7195 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7196 long var53 /* : Int */;
7197 long var54 /* : Int */;
7198 var_p = p0;
7199 var = NULL;
7200 var_node_list = var;
7201 {
7202 var1 = nit___nit__Parser___pop(var_p);
7203 }
7204 var_nodearraylist12 = var1;
7205 {
7206 var2 = nit___nit__Parser___pop(var_p);
7207 }
7208 var_nodearraylist11 = var2;
7209 {
7210 var3 = nit___nit__Parser___pop(var_p);
7211 }
7212 var_nodearraylist10 = var3;
7213 {
7214 var4 = nit___nit__Parser___pop(var_p);
7215 }
7216 var_nodearraylist9 = var4;
7217 {
7218 var5 = nit___nit__Parser___pop(var_p);
7219 }
7220 var_nodearraylist8 = var5;
7221 {
7222 var6 = nit___nit__Parser___pop(var_p);
7223 }
7224 var_nodearraylist7 = var6;
7225 {
7226 var7 = nit___nit__Parser___pop(var_p);
7227 }
7228 var_nodearraylist6 = var7;
7229 {
7230 var8 = nit___nit__Parser___pop(var_p);
7231 }
7232 var_nodearraylist5 = var8;
7233 {
7234 var9 = nit___nit__Parser___pop(var_p);
7235 }
7236 var_nodearraylist4 = var9;
7237 {
7238 var10 = nit___nit__Parser___pop(var_p);
7239 }
7240 var_nodearraylist3 = var10;
7241 {
7242 var11 = nit___nit__Parser___pop(var_p);
7243 }
7244 var_nodearraylist2 = var11;
7245 {
7246 var12 = nit___nit__Parser___pop(var_p);
7247 }
7248 var_nodearraylist1 = var12;
7249 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
7250 {
7251 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
7252 }
7253 var_listnode8 = var13;
7254 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
7255 {
7256 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
7257 }
7258 var_listnode16 = var14;
7259 var15 = NEW_standard__Array(&type_standard__Array__standard__Object);
7260 {
7261 standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on <var15:Array[Object]>*/
7262 }
7263 var_listnode18 = var15;
7264 var_pdocnode2 = var_nodearraylist1;
7265 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7266 cltype = type_nullable__nit__ADoc.color;
7267 idtype = type_nullable__nit__ADoc.id;
7268 if(var_pdocnode2 == NULL) {
7269 var16 = 1;
7270 } else {
7271 if(cltype >= var_pdocnode2->type->table_size) {
7272 var16 = 0;
7273 } else {
7274 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7275 }
7276 }
7277 if (unlikely(!var16)) {
7278 PRINT_ERROR("Runtime error: %s", "Assert failed");
7279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2375);
7280 show_backtrace(1);
7281 }
7282 var_tkwredefnode3 = var_nodearraylist2;
7283 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7284 cltype18 = type_nullable__nit__TKwredef.color;
7285 idtype19 = type_nullable__nit__TKwredef.id;
7286 if(var_tkwredefnode3 == NULL) {
7287 var17 = 1;
7288 } else {
7289 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7290 var17 = 0;
7291 } else {
7292 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7293 }
7294 }
7295 if (unlikely(!var17)) {
7296 PRINT_ERROR("Runtime error: %s", "Assert failed");
7297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2377);
7298 show_backtrace(1);
7299 }
7300 var_pvisibilitynode4 = var_nodearraylist3;
7301 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7302 cltype21 = type_nullable__nit__AVisibility.color;
7303 idtype22 = type_nullable__nit__AVisibility.id;
7304 if(var_pvisibilitynode4 == NULL) {
7305 var20 = 1;
7306 } else {
7307 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7308 var20 = 0;
7309 } else {
7310 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7311 }
7312 }
7313 if (unlikely(!var20)) {
7314 PRINT_ERROR("Runtime error: %s", "Assert failed");
7315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2379);
7316 show_backtrace(1);
7317 }
7318 var_pclasskindnode5 = var_nodearraylist4;
7319 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7320 cltype24 = type_nullable__nit__AClasskind.color;
7321 idtype25 = type_nullable__nit__AClasskind.id;
7322 if(var_pclasskindnode5 == NULL) {
7323 var23 = 1;
7324 } else {
7325 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7326 var23 = 0;
7327 } else {
7328 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7329 }
7330 }
7331 if (unlikely(!var23)) {
7332 PRINT_ERROR("Runtime error: %s", "Assert failed");
7333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2381);
7334 show_backtrace(1);
7335 }
7336 var_tclassidnode6 = var_nodearraylist6;
7337 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7338 cltype27 = type_nullable__nit__TClassid.color;
7339 idtype28 = type_nullable__nit__TClassid.id;
7340 if(var_tclassidnode6 == NULL) {
7341 var26 = 1;
7342 } else {
7343 if(cltype27 >= var_tclassidnode6->type->table_size) {
7344 var26 = 0;
7345 } else {
7346 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7347 }
7348 }
7349 if (unlikely(!var26)) {
7350 PRINT_ERROR("Runtime error: %s", "Assert failed");
7351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2383);
7352 show_backtrace(1);
7353 }
7354 var_listnode7 = var_nodearraylist7;
7355 /* <var_listnode7:nullable Object> isa Array[Object] */
7356 cltype30 = type_standard__Array__standard__Object.color;
7357 idtype31 = type_standard__Array__standard__Object.id;
7358 if(var_listnode7 == NULL) {
7359 var29 = 0;
7360 } else {
7361 if(cltype30 >= var_listnode7->type->table_size) {
7362 var29 = 0;
7363 } else {
7364 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
7365 }
7366 }
7367 if (unlikely(!var29)) {
7368 PRINT_ERROR("Runtime error: %s", "Assert failed");
7369 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2385);
7370 show_backtrace(1);
7371 }
7372 {
7373 var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
7374 }
7375 var_listnode8 = var32;
7376 var33 = NEW_standard__Array(&type_standard__Array__standard__Object);
7377 {
7378 standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on <var33:Array[Object]>*/
7379 }
7380 var_listnode13 = var33;
7381 var_listnode12 = var_nodearraylist8;
7382 /* <var_listnode12:nullable Object> isa Array[Object] */
7383 cltype35 = type_standard__Array__standard__Object.color;
7384 idtype36 = type_standard__Array__standard__Object.id;
7385 if(var_listnode12 == NULL) {
7386 var34 = 0;
7387 } else {
7388 if(cltype35 >= var_listnode12->type->table_size) {
7389 var34 = 0;
7390 } else {
7391 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
7392 }
7393 }
7394 if (unlikely(!var34)) {
7395 PRINT_ERROR("Runtime error: %s", "Assert failed");
7396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2389);
7397 show_backtrace(1);
7398 }
7399 {
7400 var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
7401 }
7402 var_listnode13 = var37;
7403 var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
7404 var39 = NULL;
7405 var40 = NULL;
7406 var41 = NULL;
7407 {
7408 nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
7409 }
7410 var_pannotationsnode9 = var38;
7411 var_pexterncodeblocknode15 = var_nodearraylist9;
7412 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
7413 cltype43 = type_nullable__nit__AExternCodeBlock.color;
7414 idtype44 = type_nullable__nit__AExternCodeBlock.id;
7415 if(var_pexterncodeblocknode15 == NULL) {
7416 var42 = 1;
7417 } else {
7418 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
7419 var42 = 0;
7420 } else {
7421 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
7422 }
7423 }
7424 if (unlikely(!var42)) {
7425 PRINT_ERROR("Runtime error: %s", "Assert failed");
7426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2398);
7427 show_backtrace(1);
7428 }
7429 var_listnode17 = var_nodearraylist10;
7430 /* <var_listnode17:nullable Object> isa Array[Object] */
7431 cltype46 = type_standard__Array__standard__Object.color;
7432 idtype47 = type_standard__Array__standard__Object.id;
7433 if(var_listnode17 == NULL) {
7434 var45 = 0;
7435 } else {
7436 if(cltype46 >= var_listnode17->type->table_size) {
7437 var45 = 0;
7438 } else {
7439 var45 = var_listnode17->type->type_table[cltype46] == idtype47;
7440 }
7441 }
7442 if (unlikely(!var45)) {
7443 PRINT_ERROR("Runtime error: %s", "Assert failed");
7444 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2400);
7445 show_backtrace(1);
7446 }
7447 {
7448 var48 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode18, var_listnode17);
7449 }
7450 var_listnode18 = var48;
7451 var_tkwendnode19 = var_nodearraylist12;
7452 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7453 cltype50 = type_nullable__nit__TKwend.color;
7454 idtype51 = type_nullable__nit__TKwend.id;
7455 if(var_tkwendnode19 == NULL) {
7456 var49 = 1;
7457 } else {
7458 if(cltype50 >= var_tkwendnode19->type->table_size) {
7459 var49 = 0;
7460 } else {
7461 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
7462 }
7463 }
7464 if (unlikely(!var49)) {
7465 PRINT_ERROR("Runtime error: %s", "Assert failed");
7466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2403);
7467 show_backtrace(1);
7468 }
7469 var52 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
7470 {
7471 nit__parser_prod___AStdClassdef___init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var52:AStdClassdef>*/
7472 }
7473 var_pclassdefnode1 = var52;
7474 var_node_list = var_pclassdefnode1;
7475 var53 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction37> */
7476 {
7477 var54 = nit___nit__Parser___go_to(var_p, var53);
7478 }
7479 {
7480 nit___nit__Parser___push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7481 }
7482 RET_LABEL:;
7483 }
7484 /* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */
7485 void nit__parser___nit__parser__ReduceAction38___nit__parser_work__ReduceAction__action(val* self, val* p0) {
7486 val* var_p /* var p: Parser */;
7487 val* var /* : null */;
7488 val* var_node_list /* var node_list: nullable Object */;
7489 val* var1 /* : nullable Object */;
7490 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7491 val* var2 /* : nullable Object */;
7492 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7493 val* var3 /* : nullable Object */;
7494 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7495 val* var4 /* : nullable Object */;
7496 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7497 val* var5 /* : nullable Object */;
7498 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7499 val* var6 /* : nullable Object */;
7500 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7501 val* var7 /* : nullable Object */;
7502 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7503 val* var8 /* : nullable Object */;
7504 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7505 val* var9 /* : nullable Object */;
7506 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7507 val* var10 /* : nullable Object */;
7508 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7509 val* var11 /* : nullable Object */;
7510 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7511 val* var12 /* : Array[Object] */;
7512 val* var_listnode8 /* var listnode8: Array[Object] */;
7513 val* var13 /* : Array[Object] */;
7514 val* var_listnode12 /* var listnode12: Array[Object] */;
7515 val* var14 /* : Array[Object] */;
7516 val* var_listnode14 /* var listnode14: Array[Object] */;
7517 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7518 short int var15 /* : Bool */;
7519 int cltype;
7520 int idtype;
7521 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7522 short int var16 /* : Bool */;
7523 int cltype17;
7524 int idtype18;
7525 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7526 short int var19 /* : Bool */;
7527 int cltype20;
7528 int idtype21;
7529 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7530 short int var22 /* : Bool */;
7531 int cltype23;
7532 int idtype24;
7533 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7534 short int var25 /* : Bool */;
7535 int cltype26;
7536 int idtype27;
7537 val* var_listnode7 /* var listnode7: nullable Object */;
7538 short int var28 /* : Bool */;
7539 int cltype29;
7540 int idtype30;
7541 val* var31 /* : Array[Object] */;
7542 val* var_listnode11 /* var listnode11: nullable Object */;
7543 short int var32 /* : Bool */;
7544 int cltype33;
7545 int idtype34;
7546 val* var35 /* : Array[Object] */;
7547 val* var_listnode13 /* var listnode13: nullable Object */;
7548 short int var36 /* : Bool */;
7549 int cltype37;
7550 int idtype38;
7551 val* var39 /* : Array[Object] */;
7552 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
7553 short int var40 /* : Bool */;
7554 int cltype41;
7555 int idtype42;
7556 val* var43 /* : AStdClassdef */;
7557 val* var44 /* : null */;
7558 val* var45 /* : null */;
7559 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7560 long var46 /* : Int */;
7561 long var47 /* : Int */;
7562 var_p = p0;
7563 var = NULL;
7564 var_node_list = var;
7565 {
7566 var1 = nit___nit__Parser___pop(var_p);
7567 }
7568 var_nodearraylist11 = var1;
7569 {
7570 var2 = nit___nit__Parser___pop(var_p);
7571 }
7572 var_nodearraylist10 = var2;
7573 {
7574 var3 = nit___nit__Parser___pop(var_p);
7575 }
7576 var_nodearraylist9 = var3;
7577 {
7578 var4 = nit___nit__Parser___pop(var_p);
7579 }
7580 var_nodearraylist8 = var4;
7581 {
7582 var5 = nit___nit__Parser___pop(var_p);
7583 }
7584 var_nodearraylist7 = var5;
7585 {
7586 var6 = nit___nit__Parser___pop(var_p);
7587 }
7588 var_nodearraylist6 = var6;
7589 {
7590 var7 = nit___nit__Parser___pop(var_p);
7591 }
7592 var_nodearraylist5 = var7;
7593 {
7594 var8 = nit___nit__Parser___pop(var_p);
7595 }
7596 var_nodearraylist4 = var8;
7597 {
7598 var9 = nit___nit__Parser___pop(var_p);
7599 }
7600 var_nodearraylist3 = var9;
7601 {
7602 var10 = nit___nit__Parser___pop(var_p);
7603 }
7604 var_nodearraylist2 = var10;
7605 {
7606 var11 = nit___nit__Parser___pop(var_p);
7607 }
7608 var_nodearraylist1 = var11;
7609 var12 = NEW_standard__Array(&type_standard__Array__standard__Object);
7610 {
7611 standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on <var12:Array[Object]>*/
7612 }
7613 var_listnode8 = var12;
7614 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
7615 {
7616 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
7617 }
7618 var_listnode12 = var13;
7619 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
7620 {
7621 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
7622 }
7623 var_listnode14 = var14;
7624 var_pdocnode2 = var_nodearraylist1;
7625 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7626 cltype = type_nullable__nit__ADoc.color;
7627 idtype = type_nullable__nit__ADoc.id;
7628 if(var_pdocnode2 == NULL) {
7629 var15 = 1;
7630 } else {
7631 if(cltype >= var_pdocnode2->type->table_size) {
7632 var15 = 0;
7633 } else {
7634 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7635 }
7636 }
7637 if (unlikely(!var15)) {
7638 PRINT_ERROR("Runtime error: %s", "Assert failed");
7639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2441);
7640 show_backtrace(1);
7641 }
7642 var_tkwredefnode3 = var_nodearraylist2;
7643 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7644 cltype17 = type_nullable__nit__TKwredef.color;
7645 idtype18 = type_nullable__nit__TKwredef.id;
7646 if(var_tkwredefnode3 == NULL) {
7647 var16 = 1;
7648 } else {
7649 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7650 var16 = 0;
7651 } else {
7652 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7653 }
7654 }
7655 if (unlikely(!var16)) {
7656 PRINT_ERROR("Runtime error: %s", "Assert failed");
7657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2443);
7658 show_backtrace(1);
7659 }
7660 var_pvisibilitynode4 = var_nodearraylist3;
7661 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7662 cltype20 = type_nullable__nit__AVisibility.color;
7663 idtype21 = type_nullable__nit__AVisibility.id;
7664 if(var_pvisibilitynode4 == NULL) {
7665 var19 = 1;
7666 } else {
7667 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7668 var19 = 0;
7669 } else {
7670 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7671 }
7672 }
7673 if (unlikely(!var19)) {
7674 PRINT_ERROR("Runtime error: %s", "Assert failed");
7675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2445);
7676 show_backtrace(1);
7677 }
7678 var_pclasskindnode5 = var_nodearraylist4;
7679 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7680 cltype23 = type_nullable__nit__AClasskind.color;
7681 idtype24 = type_nullable__nit__AClasskind.id;
7682 if(var_pclasskindnode5 == NULL) {
7683 var22 = 1;
7684 } else {
7685 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7686 var22 = 0;
7687 } else {
7688 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7689 }
7690 }
7691 if (unlikely(!var22)) {
7692 PRINT_ERROR("Runtime error: %s", "Assert failed");
7693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2447);
7694 show_backtrace(1);
7695 }
7696 var_tclassidnode6 = var_nodearraylist6;
7697 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7698 cltype26 = type_nullable__nit__TClassid.color;
7699 idtype27 = type_nullable__nit__TClassid.id;
7700 if(var_tclassidnode6 == NULL) {
7701 var25 = 1;
7702 } else {
7703 if(cltype26 >= var_tclassidnode6->type->table_size) {
7704 var25 = 0;
7705 } else {
7706 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7707 }
7708 }
7709 if (unlikely(!var25)) {
7710 PRINT_ERROR("Runtime error: %s", "Assert failed");
7711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2449);
7712 show_backtrace(1);
7713 }
7714 var_listnode7 = var_nodearraylist7;
7715 /* <var_listnode7:nullable Object> isa Array[Object] */
7716 cltype29 = type_standard__Array__standard__Object.color;
7717 idtype30 = type_standard__Array__standard__Object.id;
7718 if(var_listnode7 == NULL) {
7719 var28 = 0;
7720 } else {
7721 if(cltype29 >= var_listnode7->type->table_size) {
7722 var28 = 0;
7723 } else {
7724 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
7725 }
7726 }
7727 if (unlikely(!var28)) {
7728 PRINT_ERROR("Runtime error: %s", "Assert failed");
7729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2451);
7730 show_backtrace(1);
7731 }
7732 {
7733 var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
7734 }
7735 var_listnode8 = var31;
7736 var_listnode11 = var_nodearraylist8;
7737 /* <var_listnode11:nullable Object> isa Array[Object] */
7738 cltype33 = type_standard__Array__standard__Object.color;
7739 idtype34 = type_standard__Array__standard__Object.id;
7740 if(var_listnode11 == NULL) {
7741 var32 = 0;
7742 } else {
7743 if(cltype33 >= var_listnode11->type->table_size) {
7744 var32 = 0;
7745 } else {
7746 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
7747 }
7748 }
7749 if (unlikely(!var32)) {
7750 PRINT_ERROR("Runtime error: %s", "Assert failed");
7751 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2454);
7752 show_backtrace(1);
7753 }
7754 {
7755 var35 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11);
7756 }
7757 var_listnode12 = var35;
7758 var_listnode13 = var_nodearraylist9;
7759 /* <var_listnode13:nullable Object> isa Array[Object] */
7760 cltype37 = type_standard__Array__standard__Object.color;
7761 idtype38 = type_standard__Array__standard__Object.id;
7762 if(var_listnode13 == NULL) {
7763 var36 = 0;
7764 } else {
7765 if(cltype37 >= var_listnode13->type->table_size) {
7766 var36 = 0;
7767 } else {
7768 var36 = var_listnode13->type->type_table[cltype37] == idtype38;
7769 }
7770 }
7771 if (unlikely(!var36)) {
7772 PRINT_ERROR("Runtime error: %s", "Assert failed");
7773 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2457);
7774 show_backtrace(1);
7775 }
7776 {
7777 var39 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode14, var_listnode13);
7778 }
7779 var_listnode14 = var39;
7780 var_tkwendnode15 = var_nodearraylist11;
7781 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
7782 cltype41 = type_nullable__nit__TKwend.color;
7783 idtype42 = type_nullable__nit__TKwend.id;
7784 if(var_tkwendnode15 == NULL) {
7785 var40 = 1;
7786 } else {
7787 if(cltype41 >= var_tkwendnode15->type->table_size) {
7788 var40 = 0;
7789 } else {
7790 var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42;
7791 }
7792 }
7793 if (unlikely(!var40)) {
7794 PRINT_ERROR("Runtime error: %s", "Assert failed");
7795 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2460);
7796 show_backtrace(1);
7797 }
7798 var43 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
7799 var44 = NULL;
7800 var45 = NULL;
7801 {
7802 nit__parser_prod___AStdClassdef___init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var43:AStdClassdef>*/
7803 }
7804 var_pclassdefnode1 = var43;
7805 var_node_list = var_pclassdefnode1;
7806 var46 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction38> */
7807 {
7808 var47 = nit___nit__Parser___go_to(var_p, var46);
7809 }
7810 {
7811 nit___nit__Parser___push(var_p, var47, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7812 }
7813 RET_LABEL:;
7814 }
7815 /* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */
7816 void nit__parser___nit__parser__ReduceAction39___nit__parser_work__ReduceAction__action(val* self, val* p0) {
7817 val* var_p /* var p: Parser */;
7818 val* var /* : null */;
7819 val* var_node_list /* var node_list: nullable Object */;
7820 val* var1 /* : nullable Object */;
7821 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7822 val* var2 /* : nullable Object */;
7823 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7824 val* var3 /* : nullable Object */;
7825 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7826 val* var4 /* : nullable Object */;
7827 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7828 val* var5 /* : nullable Object */;
7829 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7830 val* var6 /* : nullable Object */;
7831 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7832 val* var7 /* : nullable Object */;
7833 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7834 val* var8 /* : nullable Object */;
7835 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7836 val* var9 /* : nullable Object */;
7837 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7838 val* var10 /* : nullable Object */;
7839 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7840 val* var11 /* : nullable Object */;
7841 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7842 val* var12 /* : nullable Object */;
7843 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7844 val* var13 /* : Array[Object] */;
7845 val* var_listnode8 /* var listnode8: Array[Object] */;
7846 val* var14 /* : Array[Object] */;
7847 val* var_listnode17 /* var listnode17: Array[Object] */;
7848 val* var15 /* : Array[Object] */;
7849 val* var_listnode19 /* var listnode19: Array[Object] */;
7850 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7851 short int var16 /* : Bool */;
7852 int cltype;
7853 int idtype;
7854 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7855 short int var17 /* : Bool */;
7856 int cltype18;
7857 int idtype19;
7858 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7859 short int var20 /* : Bool */;
7860 int cltype21;
7861 int idtype22;
7862 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7863 short int var23 /* : Bool */;
7864 int cltype24;
7865 int idtype25;
7866 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7867 short int var26 /* : Bool */;
7868 int cltype27;
7869 int idtype28;
7870 val* var_listnode7 /* var listnode7: nullable Object */;
7871 short int var29 /* : Bool */;
7872 int cltype30;
7873 int idtype31;
7874 val* var32 /* : Array[Object] */;
7875 val* var33 /* : Array[Object] */;
7876 val* var_listnode13 /* var listnode13: Array[Object] */;
7877 val* var_listnode12 /* var listnode12: nullable Object */;
7878 short int var34 /* : Bool */;
7879 int cltype35;
7880 int idtype36;
7881 val* var37 /* : Array[Object] */;
7882 val* var38 /* : AAnnotations */;
7883 val* var39 /* : null */;
7884 val* var40 /* : null */;
7885 val* var41 /* : null */;
7886 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7887 val* var_listnode16 /* var listnode16: nullable Object */;
7888 short int var42 /* : Bool */;
7889 int cltype43;
7890 int idtype44;
7891 val* var45 /* : Array[Object] */;
7892 val* var_listnode18 /* var listnode18: nullable Object */;
7893 short int var46 /* : Bool */;
7894 int cltype47;
7895 int idtype48;
7896 val* var49 /* : Array[Object] */;
7897 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
7898 short int var50 /* : Bool */;
7899 int cltype51;
7900 int idtype52;
7901 val* var53 /* : AStdClassdef */;
7902 val* var54 /* : null */;
7903 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7904 long var55 /* : Int */;
7905 long var56 /* : Int */;
7906 var_p = p0;
7907 var = NULL;
7908 var_node_list = var;
7909 {
7910 var1 = nit___nit__Parser___pop(var_p);
7911 }
7912 var_nodearraylist12 = var1;
7913 {
7914 var2 = nit___nit__Parser___pop(var_p);
7915 }
7916 var_nodearraylist11 = var2;
7917 {
7918 var3 = nit___nit__Parser___pop(var_p);
7919 }
7920 var_nodearraylist10 = var3;
7921 {
7922 var4 = nit___nit__Parser___pop(var_p);
7923 }
7924 var_nodearraylist9 = var4;
7925 {
7926 var5 = nit___nit__Parser___pop(var_p);
7927 }
7928 var_nodearraylist8 = var5;
7929 {
7930 var6 = nit___nit__Parser___pop(var_p);
7931 }
7932 var_nodearraylist7 = var6;
7933 {
7934 var7 = nit___nit__Parser___pop(var_p);
7935 }
7936 var_nodearraylist6 = var7;
7937 {
7938 var8 = nit___nit__Parser___pop(var_p);
7939 }
7940 var_nodearraylist5 = var8;
7941 {
7942 var9 = nit___nit__Parser___pop(var_p);
7943 }
7944 var_nodearraylist4 = var9;
7945 {
7946 var10 = nit___nit__Parser___pop(var_p);
7947 }
7948 var_nodearraylist3 = var10;
7949 {
7950 var11 = nit___nit__Parser___pop(var_p);
7951 }
7952 var_nodearraylist2 = var11;
7953 {
7954 var12 = nit___nit__Parser___pop(var_p);
7955 }
7956 var_nodearraylist1 = var12;
7957 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
7958 {
7959 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
7960 }
7961 var_listnode8 = var13;
7962 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
7963 {
7964 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
7965 }
7966 var_listnode17 = var14;
7967 var15 = NEW_standard__Array(&type_standard__Array__standard__Object);
7968 {
7969 standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on <var15:Array[Object]>*/
7970 }
7971 var_listnode19 = var15;
7972 var_pdocnode2 = var_nodearraylist1;
7973 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7974 cltype = type_nullable__nit__ADoc.color;
7975 idtype = type_nullable__nit__ADoc.id;
7976 if(var_pdocnode2 == NULL) {
7977 var16 = 1;
7978 } else {
7979 if(cltype >= var_pdocnode2->type->table_size) {
7980 var16 = 0;
7981 } else {
7982 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7983 }
7984 }
7985 if (unlikely(!var16)) {
7986 PRINT_ERROR("Runtime error: %s", "Assert failed");
7987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2499);
7988 show_backtrace(1);
7989 }
7990 var_tkwredefnode3 = var_nodearraylist2;
7991 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7992 cltype18 = type_nullable__nit__TKwredef.color;
7993 idtype19 = type_nullable__nit__TKwredef.id;
7994 if(var_tkwredefnode3 == NULL) {
7995 var17 = 1;
7996 } else {
7997 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7998 var17 = 0;
7999 } else {
8000 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8001 }
8002 }
8003 if (unlikely(!var17)) {
8004 PRINT_ERROR("Runtime error: %s", "Assert failed");
8005 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2501);
8006 show_backtrace(1);
8007 }
8008 var_pvisibilitynode4 = var_nodearraylist3;
8009 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8010 cltype21 = type_nullable__nit__AVisibility.color;
8011 idtype22 = type_nullable__nit__AVisibility.id;
8012 if(var_pvisibilitynode4 == NULL) {
8013 var20 = 1;
8014 } else {
8015 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8016 var20 = 0;
8017 } else {
8018 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8019 }
8020 }
8021 if (unlikely(!var20)) {
8022 PRINT_ERROR("Runtime error: %s", "Assert failed");
8023 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2503);
8024 show_backtrace(1);
8025 }
8026 var_pclasskindnode5 = var_nodearraylist4;
8027 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8028 cltype24 = type_nullable__nit__AClasskind.color;
8029 idtype25 = type_nullable__nit__AClasskind.id;
8030 if(var_pclasskindnode5 == NULL) {
8031 var23 = 1;
8032 } else {
8033 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8034 var23 = 0;
8035 } else {
8036 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8037 }
8038 }
8039 if (unlikely(!var23)) {
8040 PRINT_ERROR("Runtime error: %s", "Assert failed");
8041 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2505);
8042 show_backtrace(1);
8043 }
8044 var_tclassidnode6 = var_nodearraylist6;
8045 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8046 cltype27 = type_nullable__nit__TClassid.color;
8047 idtype28 = type_nullable__nit__TClassid.id;
8048 if(var_tclassidnode6 == NULL) {
8049 var26 = 1;
8050 } else {
8051 if(cltype27 >= var_tclassidnode6->type->table_size) {
8052 var26 = 0;
8053 } else {
8054 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8055 }
8056 }
8057 if (unlikely(!var26)) {
8058 PRINT_ERROR("Runtime error: %s", "Assert failed");
8059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2507);
8060 show_backtrace(1);
8061 }
8062 var_listnode7 = var_nodearraylist7;
8063 /* <var_listnode7:nullable Object> isa Array[Object] */
8064 cltype30 = type_standard__Array__standard__Object.color;
8065 idtype31 = type_standard__Array__standard__Object.id;
8066 if(var_listnode7 == NULL) {
8067 var29 = 0;
8068 } else {
8069 if(cltype30 >= var_listnode7->type->table_size) {
8070 var29 = 0;
8071 } else {
8072 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8073 }
8074 }
8075 if (unlikely(!var29)) {
8076 PRINT_ERROR("Runtime error: %s", "Assert failed");
8077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2509);
8078 show_backtrace(1);
8079 }
8080 {
8081 var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
8082 }
8083 var_listnode8 = var32;
8084 var33 = NEW_standard__Array(&type_standard__Array__standard__Object);
8085 {
8086 standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on <var33:Array[Object]>*/
8087 }
8088 var_listnode13 = var33;
8089 var_listnode12 = var_nodearraylist8;
8090 /* <var_listnode12:nullable Object> isa Array[Object] */
8091 cltype35 = type_standard__Array__standard__Object.color;
8092 idtype36 = type_standard__Array__standard__Object.id;
8093 if(var_listnode12 == NULL) {
8094 var34 = 0;
8095 } else {
8096 if(cltype35 >= var_listnode12->type->table_size) {
8097 var34 = 0;
8098 } else {
8099 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
8100 }
8101 }
8102 if (unlikely(!var34)) {
8103 PRINT_ERROR("Runtime error: %s", "Assert failed");
8104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2513);
8105 show_backtrace(1);
8106 }
8107 {
8108 var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
8109 }
8110 var_listnode13 = var37;
8111 var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
8112 var39 = NULL;
8113 var40 = NULL;
8114 var41 = NULL;
8115 {
8116 nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on <var38:AAnnotations>*/
8117 }
8118 var_pannotationsnode9 = var38;
8119 var_listnode16 = var_nodearraylist9;
8120 /* <var_listnode16:nullable Object> isa Array[Object] */
8121 cltype43 = type_standard__Array__standard__Object.color;
8122 idtype44 = type_standard__Array__standard__Object.id;
8123 if(var_listnode16 == NULL) {
8124 var42 = 0;
8125 } else {
8126 if(cltype43 >= var_listnode16->type->table_size) {
8127 var42 = 0;
8128 } else {
8129 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
8130 }
8131 }
8132 if (unlikely(!var42)) {
8133 PRINT_ERROR("Runtime error: %s", "Assert failed");
8134 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2522);
8135 show_backtrace(1);
8136 }
8137 {
8138 var45 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16);
8139 }
8140 var_listnode17 = var45;
8141 var_listnode18 = var_nodearraylist10;
8142 /* <var_listnode18:nullable Object> isa Array[Object] */
8143 cltype47 = type_standard__Array__standard__Object.color;
8144 idtype48 = type_standard__Array__standard__Object.id;
8145 if(var_listnode18 == NULL) {
8146 var46 = 0;
8147 } else {
8148 if(cltype47 >= var_listnode18->type->table_size) {
8149 var46 = 0;
8150 } else {
8151 var46 = var_listnode18->type->type_table[cltype47] == idtype48;
8152 }
8153 }
8154 if (unlikely(!var46)) {
8155 PRINT_ERROR("Runtime error: %s", "Assert failed");
8156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2525);
8157 show_backtrace(1);
8158 }
8159 {
8160 var49 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode19, var_listnode18);
8161 }
8162 var_listnode19 = var49;
8163 var_tkwendnode20 = var_nodearraylist12;
8164 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
8165 cltype51 = type_nullable__nit__TKwend.color;
8166 idtype52 = type_nullable__nit__TKwend.id;
8167 if(var_tkwendnode20 == NULL) {
8168 var50 = 1;
8169 } else {
8170 if(cltype51 >= var_tkwendnode20->type->table_size) {
8171 var50 = 0;
8172 } else {
8173 var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52;
8174 }
8175 }
8176 if (unlikely(!var50)) {
8177 PRINT_ERROR("Runtime error: %s", "Assert failed");
8178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2528);
8179 show_backtrace(1);
8180 }
8181 var53 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
8182 var54 = NULL;
8183 {
8184 nit__parser_prod___AStdClassdef___init_astdclassdef(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var53:AStdClassdef>*/
8185 }
8186 var_pclassdefnode1 = var53;
8187 var_node_list = var_pclassdefnode1;
8188 var55 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction39> */
8189 {
8190 var56 = nit___nit__Parser___go_to(var_p, var55);
8191 }
8192 {
8193 nit___nit__Parser___push(var_p, var56, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8194 }
8195 RET_LABEL:;
8196 }
8197 /* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */
8198 void nit__parser___nit__parser__ReduceAction40___nit__parser_work__ReduceAction__action(val* self, val* p0) {
8199 val* var_p /* var p: Parser */;
8200 val* var /* : null */;
8201 val* var_node_list /* var node_list: nullable Object */;
8202 val* var1 /* : nullable Object */;
8203 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8204 val* var2 /* : nullable Object */;
8205 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8206 val* var3 /* : nullable Object */;
8207 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8208 val* var4 /* : nullable Object */;
8209 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8210 val* var5 /* : nullable Object */;
8211 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8212 val* var6 /* : nullable Object */;
8213 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8214 val* var7 /* : nullable Object */;
8215 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8216 val* var8 /* : nullable Object */;
8217 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8218 val* var9 /* : nullable Object */;
8219 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8220 val* var10 /* : nullable Object */;
8221 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8222 val* var11 /* : nullable Object */;
8223 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8224 val* var12 /* : nullable Object */;
8225 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8226 val* var13 /* : Array[Object] */;
8227 val* var_listnode8 /* var listnode8: Array[Object] */;
8228 val* var14 /* : Array[Object] */;
8229 val* var_listnode12 /* var listnode12: Array[Object] */;
8230 val* var15 /* : Array[Object] */;
8231 val* var_listnode14 /* var listnode14: Array[Object] */;
8232 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8233 short int var16 /* : Bool */;
8234 int cltype;
8235 int idtype;
8236 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8237 short int var17 /* : Bool */;
8238 int cltype18;
8239 int idtype19;
8240 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8241 short int var20 /* : Bool */;
8242 int cltype21;
8243 int idtype22;
8244 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8245 short int var23 /* : Bool */;
8246 int cltype24;
8247 int idtype25;
8248 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8249 short int var26 /* : Bool */;
8250 int cltype27;
8251 int idtype28;
8252 val* var_listnode7 /* var listnode7: nullable Object */;
8253 short int var29 /* : Bool */;
8254 int cltype30;
8255 int idtype31;
8256 val* var32 /* : Array[Object] */;
8257 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8258 short int var33 /* : Bool */;
8259 int cltype34;
8260 int idtype35;
8261 val* var_listnode11 /* var listnode11: nullable Object */;
8262 short int var36 /* : Bool */;
8263 int cltype37;
8264 int idtype38;
8265 val* var39 /* : Array[Object] */;
8266 val* var_listnode13 /* var listnode13: nullable Object */;
8267 short int var40 /* : Bool */;
8268 int cltype41;
8269 int idtype42;
8270 val* var43 /* : Array[Object] */;
8271 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
8272 short int var44 /* : Bool */;
8273 int cltype45;
8274 int idtype46;
8275 val* var47 /* : AStdClassdef */;
8276 val* var48 /* : null */;
8277 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8278 long var49 /* : Int */;
8279 long var50 /* : Int */;
8280 var_p = p0;
8281 var = NULL;
8282 var_node_list = var;
8283 {
8284 var1 = nit___nit__Parser___pop(var_p);
8285 }
8286 var_nodearraylist12 = var1;
8287 {
8288 var2 = nit___nit__Parser___pop(var_p);
8289 }
8290 var_nodearraylist11 = var2;
8291 {
8292 var3 = nit___nit__Parser___pop(var_p);
8293 }
8294 var_nodearraylist10 = var3;
8295 {
8296 var4 = nit___nit__Parser___pop(var_p);
8297 }
8298 var_nodearraylist9 = var4;
8299 {
8300 var5 = nit___nit__Parser___pop(var_p);
8301 }
8302 var_nodearraylist8 = var5;
8303 {
8304 var6 = nit___nit__Parser___pop(var_p);
8305 }
8306 var_nodearraylist7 = var6;
8307 {
8308 var7 = nit___nit__Parser___pop(var_p);
8309 }
8310 var_nodearraylist6 = var7;
8311 {
8312 var8 = nit___nit__Parser___pop(var_p);
8313 }
8314 var_nodearraylist5 = var8;
8315 {
8316 var9 = nit___nit__Parser___pop(var_p);
8317 }
8318 var_nodearraylist4 = var9;
8319 {
8320 var10 = nit___nit__Parser___pop(var_p);
8321 }
8322 var_nodearraylist3 = var10;
8323 {
8324 var11 = nit___nit__Parser___pop(var_p);
8325 }
8326 var_nodearraylist2 = var11;
8327 {
8328 var12 = nit___nit__Parser___pop(var_p);
8329 }
8330 var_nodearraylist1 = var12;
8331 var13 = NEW_standard__Array(&type_standard__Array__standard__Object);
8332 {
8333 standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on <var13:Array[Object]>*/
8334 }
8335 var_listnode8 = var13;
8336 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
8337 {
8338 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
8339 }
8340 var_listnode12 = var14;
8341 var15 = NEW_standard__Array(&type_standard__Array__standard__Object);
8342 {
8343 standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on <var15:Array[Object]>*/
8344 }
8345 var_listnode14 = var15;
8346 var_pdocnode2 = var_nodearraylist1;
8347 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8348 cltype = type_nullable__nit__ADoc.color;
8349 idtype = type_nullable__nit__ADoc.id;
8350 if(var_pdocnode2 == NULL) {
8351 var16 = 1;
8352 } else {
8353 if(cltype >= var_pdocnode2->type->table_size) {
8354 var16 = 0;
8355 } else {
8356 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8357 }
8358 }
8359 if (unlikely(!var16)) {
8360 PRINT_ERROR("Runtime error: %s", "Assert failed");
8361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2567);
8362 show_backtrace(1);
8363 }
8364 var_tkwredefnode3 = var_nodearraylist2;
8365 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8366 cltype18 = type_nullable__nit__TKwredef.color;
8367 idtype19 = type_nullable__nit__TKwredef.id;
8368 if(var_tkwredefnode3 == NULL) {
8369 var17 = 1;
8370 } else {
8371 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8372 var17 = 0;
8373 } else {
8374 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8375 }
8376 }
8377 if (unlikely(!var17)) {
8378 PRINT_ERROR("Runtime error: %s", "Assert failed");
8379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2569);
8380 show_backtrace(1);
8381 }
8382 var_pvisibilitynode4 = var_nodearraylist3;
8383 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8384 cltype21 = type_nullable__nit__AVisibility.color;
8385 idtype22 = type_nullable__nit__AVisibility.id;
8386 if(var_pvisibilitynode4 == NULL) {
8387 var20 = 1;
8388 } else {
8389 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8390 var20 = 0;
8391 } else {
8392 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8393 }
8394 }
8395 if (unlikely(!var20)) {
8396 PRINT_ERROR("Runtime error: %s", "Assert failed");
8397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2571);
8398 show_backtrace(1);
8399 }
8400 var_pclasskindnode5 = var_nodearraylist4;
8401 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8402 cltype24 = type_nullable__nit__AClasskind.color;
8403 idtype25 = type_nullable__nit__AClasskind.id;
8404 if(var_pclasskindnode5 == NULL) {
8405 var23 = 1;
8406 } else {
8407 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8408 var23 = 0;
8409 } else {
8410 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8411 }
8412 }
8413 if (unlikely(!var23)) {
8414 PRINT_ERROR("Runtime error: %s", "Assert failed");
8415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2573);
8416 show_backtrace(1);
8417 }
8418 var_tclassidnode6 = var_nodearraylist6;
8419 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8420 cltype27 = type_nullable__nit__TClassid.color;
8421 idtype28 = type_nullable__nit__TClassid.id;
8422 if(var_tclassidnode6 == NULL) {
8423 var26 = 1;
8424 } else {
8425 if(cltype27 >= var_tclassidnode6->type->table_size) {
8426 var26 = 0;
8427 } else {
8428 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8429 }
8430 }
8431 if (unlikely(!var26)) {
8432 PRINT_ERROR("Runtime error: %s", "Assert failed");
8433 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2575);
8434 show_backtrace(1);
8435 }
8436 var_listnode7 = var_nodearraylist7;
8437 /* <var_listnode7:nullable Object> isa Array[Object] */
8438 cltype30 = type_standard__Array__standard__Object.color;
8439 idtype31 = type_standard__Array__standard__Object.id;
8440 if(var_listnode7 == NULL) {
8441 var29 = 0;
8442 } else {
8443 if(cltype30 >= var_listnode7->type->table_size) {
8444 var29 = 0;
8445 } else {
8446 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8447 }
8448 }
8449 if (unlikely(!var29)) {
8450 PRINT_ERROR("Runtime error: %s", "Assert failed");
8451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2577);
8452 show_backtrace(1);
8453 }
8454 {
8455 var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
8456 }
8457 var_listnode8 = var32;
8458 var_pexterncodeblocknode10 = var_nodearraylist8;
8459 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8460 cltype34 = type_nullable__nit__AExternCodeBlock.color;
8461 idtype35 = type_nullable__nit__AExternCodeBlock.id;
8462 if(var_pexterncodeblocknode10 == NULL) {
8463 var33 = 1;
8464 } else {
8465 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
8466 var33 = 0;
8467 } else {
8468 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
8469 }
8470 }
8471 if (unlikely(!var33)) {
8472 PRINT_ERROR("Runtime error: %s", "Assert failed");
8473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2580);
8474 show_backtrace(1);
8475 }
8476 var_listnode11 = var_nodearraylist9;
8477 /* <var_listnode11:nullable Object> isa Array[Object] */
8478 cltype37 = type_standard__Array__standard__Object.color;
8479 idtype38 = type_standard__Array__standard__Object.id;
8480 if(var_listnode11 == NULL) {
8481 var36 = 0;
8482 } else {
8483 if(cltype37 >= var_listnode11->type->table_size) {
8484 var36 = 0;
8485 } else {
8486 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
8487 }
8488 }
8489 if (unlikely(!var36)) {
8490 PRINT_ERROR("Runtime error: %s", "Assert failed");
8491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2582);
8492 show_backtrace(1);
8493 }
8494 {
8495 var39 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11);
8496 }
8497 var_listnode12 = var39;
8498 var_listnode13 = var_nodearraylist10;
8499 /* <var_listnode13:nullable Object> isa Array[Object] */
8500 cltype41 = type_standard__Array__standard__Object.color;
8501 idtype42 = type_standard__Array__standard__Object.id;
8502 if(var_listnode13 == NULL) {
8503 var40 = 0;
8504 } else {
8505 if(cltype41 >= var_listnode13->type->table_size) {
8506 var40 = 0;
8507 } else {
8508 var40 = var_listnode13->type->type_table[cltype41] == idtype42;
8509 }
8510 }
8511 if (unlikely(!var40)) {
8512 PRINT_ERROR("Runtime error: %s", "Assert failed");
8513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2585);
8514 show_backtrace(1);
8515 }
8516 {
8517 var43 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode14, var_listnode13);
8518 }
8519 var_listnode14 = var43;
8520 var_tkwendnode15 = var_nodearraylist12;
8521 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
8522 cltype45 = type_nullable__nit__TKwend.color;
8523 idtype46 = type_nullable__nit__TKwend.id;
8524 if(var_tkwendnode15 == NULL) {
8525 var44 = 1;
8526 } else {
8527 if(cltype45 >= var_tkwendnode15->type->table_size) {
8528 var44 = 0;
8529 } else {
8530 var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46;
8531 }
8532 }
8533 if (unlikely(!var44)) {
8534 PRINT_ERROR("Runtime error: %s", "Assert failed");
8535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2588);
8536 show_backtrace(1);
8537 }
8538 var47 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
8539 var48 = NULL;
8540 {
8541 nit__parser_prod___AStdClassdef___init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var47:AStdClassdef>*/
8542 }
8543 var_pclassdefnode1 = var47;
8544 var_node_list = var_pclassdefnode1;
8545 var49 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction40> */
8546 {
8547 var50 = nit___nit__Parser___go_to(var_p, var49);
8548 }
8549 {
8550 nit___nit__Parser___push(var_p, var50, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8551 }
8552 RET_LABEL:;
8553 }
8554 /* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */
8555 void nit__parser___nit__parser__ReduceAction41___nit__parser_work__ReduceAction__action(val* self, val* p0) {
8556 val* var_p /* var p: Parser */;
8557 val* var /* : null */;
8558 val* var_node_list /* var node_list: nullable Object */;
8559 val* var1 /* : nullable Object */;
8560 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8561 val* var2 /* : nullable Object */;
8562 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8563 val* var3 /* : nullable Object */;
8564 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8565 val* var4 /* : nullable Object */;
8566 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8567 val* var5 /* : nullable Object */;
8568 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8569 val* var6 /* : nullable Object */;
8570 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8571 val* var7 /* : nullable Object */;
8572 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8573 val* var8 /* : nullable Object */;
8574 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8575 val* var9 /* : nullable Object */;
8576 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8577 val* var10 /* : nullable Object */;
8578 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8579 val* var11 /* : nullable Object */;
8580 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8581 val* var12 /* : nullable Object */;
8582 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8583 val* var13 /* : nullable Object */;
8584 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8585 val* var14 /* : Array[Object] */;
8586 val* var_listnode8 /* var listnode8: Array[Object] */;
8587 val* var15 /* : Array[Object] */;
8588 val* var_listnode17 /* var listnode17: Array[Object] */;
8589 val* var16 /* : Array[Object] */;
8590 val* var_listnode19 /* var listnode19: Array[Object] */;
8591 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8592 short int var17 /* : Bool */;
8593 int cltype;
8594 int idtype;
8595 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8596 short int var18 /* : Bool */;
8597 int cltype19;
8598 int idtype20;
8599 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8600 short int var21 /* : Bool */;
8601 int cltype22;
8602 int idtype23;
8603 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8604 short int var24 /* : Bool */;
8605 int cltype25;
8606 int idtype26;
8607 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8608 short int var27 /* : Bool */;
8609 int cltype28;
8610 int idtype29;
8611 val* var_listnode7 /* var listnode7: nullable Object */;
8612 short int var30 /* : Bool */;
8613 int cltype31;
8614 int idtype32;
8615 val* var33 /* : Array[Object] */;
8616 val* var34 /* : Array[Object] */;
8617 val* var_listnode13 /* var listnode13: Array[Object] */;
8618 val* var_listnode12 /* var listnode12: nullable Object */;
8619 short int var35 /* : Bool */;
8620 int cltype36;
8621 int idtype37;
8622 val* var38 /* : Array[Object] */;
8623 val* var39 /* : AAnnotations */;
8624 val* var40 /* : null */;
8625 val* var41 /* : null */;
8626 val* var42 /* : null */;
8627 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8628 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
8629 short int var43 /* : Bool */;
8630 int cltype44;
8631 int idtype45;
8632 val* var_listnode16 /* var listnode16: nullable Object */;
8633 short int var46 /* : Bool */;
8634 int cltype47;
8635 int idtype48;
8636 val* var49 /* : Array[Object] */;
8637 val* var_listnode18 /* var listnode18: nullable Object */;
8638 short int var50 /* : Bool */;
8639 int cltype51;
8640 int idtype52;
8641 val* var53 /* : Array[Object] */;
8642 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
8643 short int var54 /* : Bool */;
8644 int cltype55;
8645 int idtype56;
8646 val* var57 /* : AStdClassdef */;
8647 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8648 long var58 /* : Int */;
8649 long var59 /* : Int */;
8650 var_p = p0;
8651 var = NULL;
8652 var_node_list = var;
8653 {
8654 var1 = nit___nit__Parser___pop(var_p);
8655 }
8656 var_nodearraylist13 = var1;
8657 {
8658 var2 = nit___nit__Parser___pop(var_p);
8659 }
8660 var_nodearraylist12 = var2;
8661 {
8662 var3 = nit___nit__Parser___pop(var_p);
8663 }
8664 var_nodearraylist11 = var3;
8665 {
8666 var4 = nit___nit__Parser___pop(var_p);
8667 }
8668 var_nodearraylist10 = var4;
8669 {
8670 var5 = nit___nit__Parser___pop(var_p);
8671 }
8672 var_nodearraylist9 = var5;
8673 {
8674 var6 = nit___nit__Parser___pop(var_p);
8675 }
8676 var_nodearraylist8 = var6;
8677 {
8678 var7 = nit___nit__Parser___pop(var_p);
8679 }
8680 var_nodearraylist7 = var7;
8681 {
8682 var8 = nit___nit__Parser___pop(var_p);
8683 }
8684 var_nodearraylist6 = var8;
8685 {
8686 var9 = nit___nit__Parser___pop(var_p);
8687 }
8688 var_nodearraylist5 = var9;
8689 {
8690 var10 = nit___nit__Parser___pop(var_p);
8691 }
8692 var_nodearraylist4 = var10;
8693 {
8694 var11 = nit___nit__Parser___pop(var_p);
8695 }
8696 var_nodearraylist3 = var11;
8697 {
8698 var12 = nit___nit__Parser___pop(var_p);
8699 }
8700 var_nodearraylist2 = var12;
8701 {
8702 var13 = nit___nit__Parser___pop(var_p);
8703 }
8704 var_nodearraylist1 = var13;
8705 var14 = NEW_standard__Array(&type_standard__Array__standard__Object);
8706 {
8707 standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on <var14:Array[Object]>*/
8708 }
8709 var_listnode8 = var14;
8710 var15 = NEW_standard__Array(&type_standard__Array__standard__Object);
8711 {
8712 standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on <var15:Array[Object]>*/
8713 }
8714 var_listnode17 = var15;
8715 var16 = NEW_standard__Array(&type_standard__Array__standard__Object);
8716 {
8717 standard___standard__Array___standard__kernel__Object__init(var16); /* Direct call array#Array#init on <var16:Array[Object]>*/
8718 }
8719 var_listnode19 = var16;
8720 var_pdocnode2 = var_nodearraylist1;
8721 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8722 cltype = type_nullable__nit__ADoc.color;
8723 idtype = type_nullable__nit__ADoc.id;
8724 if(var_pdocnode2 == NULL) {
8725 var17 = 1;
8726 } else {
8727 if(cltype >= var_pdocnode2->type->table_size) {
8728 var17 = 0;
8729 } else {
8730 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
8731 }
8732 }
8733 if (unlikely(!var17)) {
8734 PRINT_ERROR("Runtime error: %s", "Assert failed");
8735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2628);
8736 show_backtrace(1);
8737 }
8738 var_tkwredefnode3 = var_nodearraylist2;
8739 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8740 cltype19 = type_nullable__nit__TKwredef.color;
8741 idtype20 = type_nullable__nit__TKwredef.id;
8742 if(var_tkwredefnode3 == NULL) {
8743 var18 = 1;
8744 } else {
8745 if(cltype19 >= var_tkwredefnode3->type->table_size) {
8746 var18 = 0;
8747 } else {
8748 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
8749 }
8750 }
8751 if (unlikely(!var18)) {
8752 PRINT_ERROR("Runtime error: %s", "Assert failed");
8753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2630);
8754 show_backtrace(1);
8755 }
8756 var_pvisibilitynode4 = var_nodearraylist3;
8757 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8758 cltype22 = type_nullable__nit__AVisibility.color;
8759 idtype23 = type_nullable__nit__AVisibility.id;
8760 if(var_pvisibilitynode4 == NULL) {
8761 var21 = 1;
8762 } else {
8763 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
8764 var21 = 0;
8765 } else {
8766 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
8767 }
8768 }
8769 if (unlikely(!var21)) {
8770 PRINT_ERROR("Runtime error: %s", "Assert failed");
8771 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2632);
8772 show_backtrace(1);
8773 }
8774 var_pclasskindnode5 = var_nodearraylist4;
8775 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8776 cltype25 = type_nullable__nit__AClasskind.color;
8777 idtype26 = type_nullable__nit__AClasskind.id;
8778 if(var_pclasskindnode5 == NULL) {
8779 var24 = 1;
8780 } else {
8781 if(cltype25 >= var_pclasskindnode5->type->table_size) {
8782 var24 = 0;
8783 } else {
8784 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
8785 }
8786 }
8787 if (unlikely(!var24)) {
8788 PRINT_ERROR("Runtime error: %s", "Assert failed");
8789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2634);
8790 show_backtrace(1);
8791 }
8792 var_tclassidnode6 = var_nodearraylist6;
8793 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8794 cltype28 = type_nullable__nit__TClassid.color;
8795 idtype29 = type_nullable__nit__TClassid.id;
8796 if(var_tclassidnode6 == NULL) {
8797 var27 = 1;
8798 } else {
8799 if(cltype28 >= var_tclassidnode6->type->table_size) {
8800 var27 = 0;
8801 } else {
8802 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
8803 }
8804 }
8805 if (unlikely(!var27)) {
8806 PRINT_ERROR("Runtime error: %s", "Assert failed");
8807 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2636);
8808 show_backtrace(1);
8809 }
8810 var_listnode7 = var_nodearraylist7;
8811 /* <var_listnode7:nullable Object> isa Array[Object] */
8812 cltype31 = type_standard__Array__standard__Object.color;
8813 idtype32 = type_standard__Array__standard__Object.id;
8814 if(var_listnode7 == NULL) {
8815 var30 = 0;
8816 } else {
8817 if(cltype31 >= var_listnode7->type->table_size) {
8818 var30 = 0;
8819 } else {
8820 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
8821 }
8822 }
8823 if (unlikely(!var30)) {
8824 PRINT_ERROR("Runtime error: %s", "Assert failed");
8825 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2638);
8826 show_backtrace(1);
8827 }
8828 {
8829 var33 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
8830 }
8831 var_listnode8 = var33;
8832 var34 = NEW_standard__Array(&type_standard__Array__standard__Object);
8833 {
8834 standard___standard__Array___standard__kernel__Object__init(var34); /* Direct call array#Array#init on <var34:Array[Object]>*/
8835 }
8836 var_listnode13 = var34;
8837 var_listnode12 = var_nodearraylist8;
8838 /* <var_listnode12:nullable Object> isa Array[Object] */
8839 cltype36 = type_standard__Array__standard__Object.color;
8840 idtype37 = type_standard__Array__standard__Object.id;
8841 if(var_listnode12 == NULL) {
8842 var35 = 0;
8843 } else {
8844 if(cltype36 >= var_listnode12->type->table_size) {
8845 var35 = 0;
8846 } else {
8847 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
8848 }
8849 }
8850 if (unlikely(!var35)) {
8851 PRINT_ERROR("Runtime error: %s", "Assert failed");
8852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2642);
8853 show_backtrace(1);
8854 }
8855 {
8856 var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12);
8857 }
8858 var_listnode13 = var38;
8859 var39 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
8860 var40 = NULL;
8861 var41 = NULL;
8862 var42 = NULL;
8863 {
8864 nit__parser_prod___AAnnotations___init_aannotations(var39, var40, var41, var_listnode13, var42); /* Direct call parser_prod#AAnnotations#init_aannotations on <var39:AAnnotations>*/
8865 }
8866 var_pannotationsnode9 = var39;
8867 var_pexterncodeblocknode15 = var_nodearraylist9;
8868 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8869 cltype44 = type_nullable__nit__AExternCodeBlock.color;
8870 idtype45 = type_nullable__nit__AExternCodeBlock.id;
8871 if(var_pexterncodeblocknode15 == NULL) {
8872 var43 = 1;
8873 } else {
8874 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
8875 var43 = 0;
8876 } else {
8877 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
8878 }
8879 }
8880 if (unlikely(!var43)) {
8881 PRINT_ERROR("Runtime error: %s", "Assert failed");
8882 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2651);
8883 show_backtrace(1);
8884 }
8885 var_listnode16 = var_nodearraylist10;
8886 /* <var_listnode16:nullable Object> isa Array[Object] */
8887 cltype47 = type_standard__Array__standard__Object.color;
8888 idtype48 = type_standard__Array__standard__Object.id;
8889 if(var_listnode16 == NULL) {
8890 var46 = 0;
8891 } else {
8892 if(cltype47 >= var_listnode16->type->table_size) {
8893 var46 = 0;
8894 } else {
8895 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
8896 }
8897 }
8898 if (unlikely(!var46)) {
8899 PRINT_ERROR("Runtime error: %s", "Assert failed");
8900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2653);
8901 show_backtrace(1);
8902 }
8903 {
8904 var49 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16);
8905 }
8906 var_listnode17 = var49;
8907 var_listnode18 = var_nodearraylist11;
8908 /* <var_listnode18:nullable Object> isa Array[Object] */
8909 cltype51 = type_standard__Array__standard__Object.color;
8910 idtype52 = type_standard__Array__standard__Object.id;
8911 if(var_listnode18 == NULL) {
8912 var50 = 0;
8913 } else {
8914 if(cltype51 >= var_listnode18->type->table_size) {
8915 var50 = 0;
8916 } else {
8917 var50 = var_listnode18->type->type_table[cltype51] == idtype52;
8918 }
8919 }
8920 if (unlikely(!var50)) {
8921 PRINT_ERROR("Runtime error: %s", "Assert failed");
8922 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2656);
8923 show_backtrace(1);
8924 }
8925 {
8926 var53 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode19, var_listnode18);
8927 }
8928 var_listnode19 = var53;
8929 var_tkwendnode20 = var_nodearraylist13;
8930 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
8931 cltype55 = type_nullable__nit__TKwend.color;
8932 idtype56 = type_nullable__nit__TKwend.id;
8933 if(var_tkwendnode20 == NULL) {
8934 var54 = 1;
8935 } else {
8936 if(cltype55 >= var_tkwendnode20->type->table_size) {
8937 var54 = 0;
8938 } else {
8939 var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56;
8940 }
8941 }
8942 if (unlikely(!var54)) {
8943 PRINT_ERROR("Runtime error: %s", "Assert failed");
8944 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2659);
8945 show_backtrace(1);
8946 }
8947 var57 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef);
8948 {
8949 nit__parser_prod___AStdClassdef___init_astdclassdef(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on <var57:AStdClassdef>*/
8950 }
8951 var_pclassdefnode1 = var57;
8952 var_node_list = var_pclassdefnode1;
8953 var58 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction41> */
8954 {
8955 var59 = nit___nit__Parser___go_to(var_p, var58);
8956 }
8957 {
8958 nit___nit__Parser___push(var_p, var59, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8959 }
8960 RET_LABEL:;
8961 }
8962 /* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */
8963 void nit__parser___nit__parser__ReduceAction43___nit__parser_work__ReduceAction__action(val* self, val* p0) {
8964 val* var_p /* var p: Parser */;
8965 val* var /* : null */;
8966 val* var_node_list /* var node_list: nullable Object */;
8967 val* var1 /* : nullable Object */;
8968 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8969 val* var_tkwredefnode1 /* var tkwredefnode1: nullable Object */;
8970 long var2 /* : Int */;
8971 long var3 /* : Int */;
8972 var_p = p0;
8973 var = NULL;
8974 var_node_list = var;
8975 {
8976 var1 = nit___nit__Parser___pop(var_p);
8977 }
8978 var_nodearraylist1 = var1;
8979 var_tkwredefnode1 = var_nodearraylist1;
8980 var_node_list = var_tkwredefnode1;
8981 var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction43> */
8982 {
8983 var3 = nit___nit__Parser___go_to(var_p, var2);
8984 }
8985 {
8986 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8987 }
8988 RET_LABEL:;
8989 }
8990 /* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */
8991 void nit__parser___nit__parser__ReduceAction44___nit__parser_work__ReduceAction__action(val* self, val* p0) {
8992 val* var_p /* var p: Parser */;
8993 val* var /* : null */;
8994 val* var_node_list /* var node_list: nullable Object */;
8995 val* var1 /* : nullable Object */;
8996 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8997 val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */;
8998 short int var2 /* : Bool */;
8999 int cltype;
9000 int idtype;
9001 val* var3 /* : AConcreteClasskind */;
9002 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */;
9003 long var4 /* : Int */;
9004 long var5 /* : Int */;
9005 var_p = p0;
9006 var = NULL;
9007 var_node_list = var;
9008 {
9009 var1 = nit___nit__Parser___pop(var_p);
9010 }
9011 var_nodearraylist1 = var1;
9012 var_tkwclassnode2 = var_nodearraylist1;
9013 /* <var_tkwclassnode2:nullable Object> isa nullable TKwclass */
9014 cltype = type_nullable__nit__TKwclass.color;
9015 idtype = type_nullable__nit__TKwclass.id;
9016 if(var_tkwclassnode2 == NULL) {
9017 var2 = 1;
9018 } else {
9019 if(cltype >= var_tkwclassnode2->type->table_size) {
9020 var2 = 0;
9021 } else {
9022 var2 = var_tkwclassnode2->type->type_table[cltype] == idtype;
9023 }
9024 }
9025 if (unlikely(!var2)) {
9026 PRINT_ERROR("Runtime error: %s", "Assert failed");
9027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2695);
9028 show_backtrace(1);
9029 }
9030 var3 = NEW_nit__AConcreteClasskind(&type_nit__AConcreteClasskind);
9031 {
9032 nit__parser_prod___AConcreteClasskind___init_aconcreteclasskind(var3, var_tkwclassnode2); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on <var3:AConcreteClasskind>*/
9033 }
9034 var_pclasskindnode1 = var3;
9035 var_node_list = var_pclasskindnode1;
9036 var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction44> */
9037 {
9038 var5 = nit___nit__Parser___go_to(var_p, var4);
9039 }
9040 {
9041 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9042 }
9043 RET_LABEL:;
9044 }
9045 /* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */
9046 void nit__parser___nit__parser__ReduceAction45___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9047 val* var_p /* var p: Parser */;
9048 val* var /* : null */;
9049 val* var_node_list /* var node_list: nullable Object */;
9050 val* var1 /* : nullable Object */;
9051 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9052 val* var2 /* : nullable Object */;
9053 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9054 val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */;
9055 short int var3 /* : Bool */;
9056 int cltype;
9057 int idtype;
9058 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
9059 short int var4 /* : Bool */;
9060 int cltype5;
9061 int idtype6;
9062 val* var7 /* : AAbstractClasskind */;
9063 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */;
9064 long var8 /* : Int */;
9065 long var9 /* : Int */;
9066 var_p = p0;
9067 var = NULL;
9068 var_node_list = var;
9069 {
9070 var1 = nit___nit__Parser___pop(var_p);
9071 }
9072 var_nodearraylist2 = var1;
9073 {
9074 var2 = nit___nit__Parser___pop(var_p);
9075 }
9076 var_nodearraylist1 = var2;
9077 var_tkwabstractnode2 = var_nodearraylist1;
9078 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
9079 cltype = type_nullable__nit__TKwabstract.color;
9080 idtype = type_nullable__nit__TKwabstract.id;
9081 if(var_tkwabstractnode2 == NULL) {
9082 var3 = 1;
9083 } else {
9084 if(cltype >= var_tkwabstractnode2->type->table_size) {
9085 var3 = 0;
9086 } else {
9087 var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype;
9088 }
9089 }
9090 if (unlikely(!var3)) {
9091 PRINT_ERROR("Runtime error: %s", "Assert failed");
9092 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2711);
9093 show_backtrace(1);
9094 }
9095 var_tkwclassnode3 = var_nodearraylist2;
9096 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
9097 cltype5 = type_nullable__nit__TKwclass.color;
9098 idtype6 = type_nullable__nit__TKwclass.id;
9099 if(var_tkwclassnode3 == NULL) {
9100 var4 = 1;
9101 } else {
9102 if(cltype5 >= var_tkwclassnode3->type->table_size) {
9103 var4 = 0;
9104 } else {
9105 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
9106 }
9107 }
9108 if (unlikely(!var4)) {
9109 PRINT_ERROR("Runtime error: %s", "Assert failed");
9110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2713);
9111 show_backtrace(1);
9112 }
9113 var7 = NEW_nit__AAbstractClasskind(&type_nit__AAbstractClasskind);
9114 {
9115 nit__parser_prod___AAbstractClasskind___init_aabstractclasskind(var7, var_tkwabstractnode2, var_tkwclassnode3); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on <var7:AAbstractClasskind>*/
9116 }
9117 var_pclasskindnode1 = var7;
9118 var_node_list = var_pclasskindnode1;
9119 var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction45> */
9120 {
9121 var9 = nit___nit__Parser___go_to(var_p, var8);
9122 }
9123 {
9124 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9125 }
9126 RET_LABEL:;
9127 }
9128 /* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */
9129 void nit__parser___nit__parser__ReduceAction46___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9130 val* var_p /* var p: Parser */;
9131 val* var /* : null */;
9132 val* var_node_list /* var node_list: nullable Object */;
9133 val* var1 /* : nullable Object */;
9134 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9135 val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */;
9136 short int var2 /* : Bool */;
9137 int cltype;
9138 int idtype;
9139 val* var3 /* : AInterfaceClasskind */;
9140 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */;
9141 long var4 /* : Int */;
9142 long var5 /* : Int */;
9143 var_p = p0;
9144 var = NULL;
9145 var_node_list = var;
9146 {
9147 var1 = nit___nit__Parser___pop(var_p);
9148 }
9149 var_nodearraylist1 = var1;
9150 var_tkwinterfacenode2 = var_nodearraylist1;
9151 /* <var_tkwinterfacenode2:nullable Object> isa nullable TKwinterface */
9152 cltype = type_nullable__nit__TKwinterface.color;
9153 idtype = type_nullable__nit__TKwinterface.id;
9154 if(var_tkwinterfacenode2 == NULL) {
9155 var2 = 1;
9156 } else {
9157 if(cltype >= var_tkwinterfacenode2->type->table_size) {
9158 var2 = 0;
9159 } else {
9160 var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype;
9161 }
9162 }
9163 if (unlikely(!var2)) {
9164 PRINT_ERROR("Runtime error: %s", "Assert failed");
9165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2729);
9166 show_backtrace(1);
9167 }
9168 var3 = NEW_nit__AInterfaceClasskind(&type_nit__AInterfaceClasskind);
9169 {
9170 nit__parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(var3, var_tkwinterfacenode2); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on <var3:AInterfaceClasskind>*/
9171 }
9172 var_pclasskindnode1 = var3;
9173 var_node_list = var_pclasskindnode1;
9174 var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction46> */
9175 {
9176 var5 = nit___nit__Parser___go_to(var_p, var4);
9177 }
9178 {
9179 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9180 }
9181 RET_LABEL:;
9182 }
9183 /* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */
9184 void nit__parser___nit__parser__ReduceAction47___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9185 val* var_p /* var p: Parser */;
9186 val* var /* : null */;
9187 val* var_node_list /* var node_list: nullable Object */;
9188 val* var1 /* : nullable Object */;
9189 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9190 val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */;
9191 short int var2 /* : Bool */;
9192 int cltype;
9193 int idtype;
9194 val* var3 /* : AEnumClasskind */;
9195 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */;
9196 long var4 /* : Int */;
9197 long var5 /* : Int */;
9198 var_p = p0;
9199 var = NULL;
9200 var_node_list = var;
9201 {
9202 var1 = nit___nit__Parser___pop(var_p);
9203 }
9204 var_nodearraylist1 = var1;
9205 var_tkwenumnode2 = var_nodearraylist1;
9206 /* <var_tkwenumnode2:nullable Object> isa nullable TKwenum */
9207 cltype = type_nullable__nit__TKwenum.color;
9208 idtype = type_nullable__nit__TKwenum.id;
9209 if(var_tkwenumnode2 == NULL) {
9210 var2 = 1;
9211 } else {
9212 if(cltype >= var_tkwenumnode2->type->table_size) {
9213 var2 = 0;
9214 } else {
9215 var2 = var_tkwenumnode2->type->type_table[cltype] == idtype;
9216 }
9217 }
9218 if (unlikely(!var2)) {
9219 PRINT_ERROR("Runtime error: %s", "Assert failed");
9220 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2744);
9221 show_backtrace(1);
9222 }
9223 var3 = NEW_nit__AEnumClasskind(&type_nit__AEnumClasskind);
9224 {
9225 nit__parser_prod___AEnumClasskind___init_aenumclasskind(var3, var_tkwenumnode2); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on <var3:AEnumClasskind>*/
9226 }
9227 var_pclasskindnode1 = var3;
9228 var_node_list = var_pclasskindnode1;
9229 var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction47> */
9230 {
9231 var5 = nit___nit__Parser___go_to(var_p, var4);
9232 }
9233 {
9234 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9235 }
9236 RET_LABEL:;
9237 }
9238 /* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */
9239 void nit__parser___nit__parser__ReduceAction48___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9240 val* var_p /* var p: Parser */;
9241 val* var /* : null */;
9242 val* var_node_list /* var node_list: nullable Object */;
9243 val* var1 /* : nullable Object */;
9244 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9245 val* var2 /* : nullable Object */;
9246 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9247 val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */;
9248 short int var3 /* : Bool */;
9249 int cltype;
9250 int idtype;
9251 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
9252 short int var4 /* : Bool */;
9253 int cltype5;
9254 int idtype6;
9255 val* var7 /* : AExternClasskind */;
9256 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */;
9257 long var8 /* : Int */;
9258 long var9 /* : Int */;
9259 var_p = p0;
9260 var = NULL;
9261 var_node_list = var;
9262 {
9263 var1 = nit___nit__Parser___pop(var_p);
9264 }
9265 var_nodearraylist2 = var1;
9266 {
9267 var2 = nit___nit__Parser___pop(var_p);
9268 }
9269 var_nodearraylist1 = var2;
9270 var_tkwexternnode2 = var_nodearraylist1;
9271 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
9272 cltype = type_nullable__nit__TKwextern.color;
9273 idtype = type_nullable__nit__TKwextern.id;
9274 if(var_tkwexternnode2 == NULL) {
9275 var3 = 1;
9276 } else {
9277 if(cltype >= var_tkwexternnode2->type->table_size) {
9278 var3 = 0;
9279 } else {
9280 var3 = var_tkwexternnode2->type->type_table[cltype] == idtype;
9281 }
9282 }
9283 if (unlikely(!var3)) {
9284 PRINT_ERROR("Runtime error: %s", "Assert failed");
9285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2760);
9286 show_backtrace(1);
9287 }
9288 var_tkwclassnode3 = var_nodearraylist2;
9289 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
9290 cltype5 = type_nullable__nit__TKwclass.color;
9291 idtype6 = type_nullable__nit__TKwclass.id;
9292 if(var_tkwclassnode3 == NULL) {
9293 var4 = 1;
9294 } else {
9295 if(cltype5 >= var_tkwclassnode3->type->table_size) {
9296 var4 = 0;
9297 } else {
9298 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
9299 }
9300 }
9301 if (unlikely(!var4)) {
9302 PRINT_ERROR("Runtime error: %s", "Assert failed");
9303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2762);
9304 show_backtrace(1);
9305 }
9306 var7 = NEW_nit__AExternClasskind(&type_nit__AExternClasskind);
9307 {
9308 nit__parser_prod___AExternClasskind___init_aexternclasskind(var7, var_tkwexternnode2, var_tkwclassnode3); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on <var7:AExternClasskind>*/
9309 }
9310 var_pclasskindnode1 = var7;
9311 var_node_list = var_pclasskindnode1;
9312 var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction48> */
9313 {
9314 var9 = nit___nit__Parser___go_to(var_p, var8);
9315 }
9316 {
9317 nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9318 }
9319 RET_LABEL:;
9320 }
9321 /* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */
9322 void nit__parser___nit__parser__ReduceAction49___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9323 val* var_p /* var p: Parser */;
9324 val* var /* : null */;
9325 val* var_node_list /* var node_list: nullable Object */;
9326 val* var1 /* : nullable Object */;
9327 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9328 val* var2 /* : nullable Object */;
9329 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9330 val* var3 /* : nullable Object */;
9331 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9332 val* var4 /* : nullable Object */;
9333 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9334 val* var5 /* : nullable Object */;
9335 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9336 val* var6 /* : Array[Object] */;
9337 val* var_listnode2 /* var listnode2: Array[Object] */;
9338 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
9339 val* var7 /* : null */;
9340 short int var8 /* : Bool */;
9341 short int var9 /* : Bool */;
9342 long var10 /* : Int */;
9343 long var11 /* : Int */;
9344 var_p = p0;
9345 var = NULL;
9346 var_node_list = var;
9347 {
9348 var1 = nit___nit__Parser___pop(var_p);
9349 }
9350 var_nodearraylist5 = var1;
9351 {
9352 var2 = nit___nit__Parser___pop(var_p);
9353 }
9354 var_nodearraylist4 = var2;
9355 {
9356 var3 = nit___nit__Parser___pop(var_p);
9357 }
9358 var_nodearraylist3 = var3;
9359 {
9360 var4 = nit___nit__Parser___pop(var_p);
9361 }
9362 var_nodearraylist2 = var4;
9363 {
9364 var5 = nit___nit__Parser___pop(var_p);
9365 }
9366 var_nodearraylist1 = var5;
9367 var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
9368 {
9369 standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
9370 }
9371 var_listnode2 = var6;
9372 var_pformaldefnode1 = var_nodearraylist3;
9373 var7 = NULL;
9374 if (var_pformaldefnode1 == NULL) {
9375 var8 = 0; /* is null */
9376 } else {
9377 var8 = 1; /* arg is null and recv is not */
9378 }
9379 if (0) {
9380 var9 = ((short int (*)(val* self, val* p0))(var_pformaldefnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, var7) /* != on <var_pformaldefnode1:nullable Object>*/;
9381 var8 = var9;
9382 }
9383 if (var8){
9384 {
9385 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pformaldefnode1); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
9386 }
9387 } else {
9388 }
9389 var_node_list = var_listnode2;
9390 var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction49> */
9391 {
9392 var11 = nit___nit__Parser___go_to(var_p, var10);
9393 }
9394 {
9395 nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9396 }
9397 RET_LABEL:;
9398 }
9399 /* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */
9400 void nit__parser___nit__parser__ReduceAction50___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9401 val* var_p /* var p: Parser */;
9402 val* var /* : null */;
9403 val* var_node_list /* var node_list: nullable Object */;
9404 val* var1 /* : nullable Object */;
9405 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9406 val* var2 /* : nullable Object */;
9407 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9408 val* var3 /* : nullable Object */;
9409 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9410 val* var4 /* : nullable Object */;
9411 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9412 val* var5 /* : nullable Object */;
9413 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9414 val* var6 /* : nullable Object */;
9415 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9416 val* var7 /* : Array[Object] */;
9417 val* var_listnode3 /* var listnode3: Array[Object] */;
9418 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
9419 val* var_listnode2 /* var listnode2: nullable Object */;
9420 short int var8 /* : Bool */;
9421 int cltype;
9422 int idtype;
9423 val* var9 /* : null */;
9424 short int var10 /* : Bool */;
9425 short int var11 /* : Bool */;
9426 val* var12 /* : Array[Object] */;
9427 long var13 /* : Int */;
9428 long var14 /* : Int */;
9429 var_p = p0;
9430 var = NULL;
9431 var_node_list = var;
9432 {
9433 var1 = nit___nit__Parser___pop(var_p);
9434 }
9435 var_nodearraylist6 = var1;
9436 {
9437 var2 = nit___nit__Parser___pop(var_p);
9438 }
9439 var_nodearraylist5 = var2;
9440 {
9441 var3 = nit___nit__Parser___pop(var_p);
9442 }
9443 var_nodearraylist4 = var3;
9444 {
9445 var4 = nit___nit__Parser___pop(var_p);
9446 }
9447 var_nodearraylist3 = var4;
9448 {
9449 var5 = nit___nit__Parser___pop(var_p);
9450 }
9451 var_nodearraylist2 = var5;
9452 {
9453 var6 = nit___nit__Parser___pop(var_p);
9454 }
9455 var_nodearraylist1 = var6;
9456 var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
9457 {
9458 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
9459 }
9460 var_listnode3 = var7;
9461 var_pformaldefnode1 = var_nodearraylist3;
9462 var_listnode2 = var_nodearraylist4;
9463 /* <var_listnode2:nullable Object> isa Array[Object] */
9464 cltype = type_standard__Array__standard__Object.color;
9465 idtype = type_standard__Array__standard__Object.id;
9466 if(var_listnode2 == NULL) {
9467 var8 = 0;
9468 } else {
9469 if(cltype >= var_listnode2->type->table_size) {
9470 var8 = 0;
9471 } else {
9472 var8 = var_listnode2->type->type_table[cltype] == idtype;
9473 }
9474 }
9475 if (unlikely(!var8)) {
9476 PRINT_ERROR("Runtime error: %s", "Assert failed");
9477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2804);
9478 show_backtrace(1);
9479 }
9480 var9 = NULL;
9481 if (var_pformaldefnode1 == NULL) {
9482 var10 = 0; /* is null */
9483 } else {
9484 var10 = 1; /* arg is null and recv is not */
9485 }
9486 if (0) {
9487 var11 = ((short int (*)(val* self, val* p0))(var_pformaldefnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, var9) /* != on <var_pformaldefnode1:nullable Object>*/;
9488 var10 = var11;
9489 }
9490 if (var10){
9491 {
9492 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pformaldefnode1); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9493 }
9494 } else {
9495 }
9496 {
9497 var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2);
9498 }
9499 var_listnode3 = var12;
9500 var_node_list = var_listnode3;
9501 var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction50> */
9502 {
9503 var14 = nit___nit__Parser___go_to(var_p, var13);
9504 }
9505 {
9506 nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9507 }
9508 RET_LABEL:;
9509 }
9510 /* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */
9511 void nit__parser___nit__parser__ReduceAction51___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9512 val* var_p /* var p: Parser */;
9513 val* var /* : null */;
9514 val* var_node_list /* var node_list: nullable Object */;
9515 val* var1 /* : Array[Object] */;
9516 val* var_listnode1 /* var listnode1: Array[Object] */;
9517 long var2 /* : Int */;
9518 long var3 /* : Int */;
9519 var_p = p0;
9520 var = NULL;
9521 var_node_list = var;
9522 var1 = NEW_standard__Array(&type_standard__Array__standard__Object);
9523 {
9524 standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[Object]>*/
9525 }
9526 var_listnode1 = var1;
9527 var_node_list = var_listnode1;
9528 var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction51> */
9529 {
9530 var3 = nit___nit__Parser___go_to(var_p, var2);
9531 }
9532 {
9533 nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9534 }
9535 RET_LABEL:;
9536 }
9537 /* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */
9538 void nit__parser___nit__parser__ReduceAction52___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9539 val* var_p /* var p: Parser */;
9540 val* var /* : null */;
9541 val* var_node_list /* var node_list: nullable Object */;
9542 val* var1 /* : nullable Object */;
9543 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9544 val* var2 /* : nullable Object */;
9545 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9546 val* var3 /* : nullable Object */;
9547 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9548 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
9549 long var4 /* : Int */;
9550 long var5 /* : Int */;
9551 var_p = p0;
9552 var = NULL;
9553 var_node_list = var;
9554 {
9555 var1 = nit___nit__Parser___pop(var_p);
9556 }
9557 var_nodearraylist3 = var1;
9558 {
9559 var2 = nit___nit__Parser___pop(var_p);
9560 }
9561 var_nodearraylist2 = var2;
9562 {
9563 var3 = nit___nit__Parser___pop(var_p);
9564 }
9565 var_nodearraylist1 = var3;
9566 var_pformaldefnode1 = var_nodearraylist3;
9567 var_node_list = var_pformaldefnode1;
9568 var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction52> */
9569 {
9570 var5 = nit___nit__Parser___go_to(var_p, var4);
9571 }
9572 {
9573 nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9574 }
9575 RET_LABEL:;
9576 }
9577 /* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */
9578 void nit__parser___nit__parser__ReduceAction53___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9579 val* var_p /* var p: Parser */;
9580 val* var /* : null */;
9581 val* var_node_list /* var node_list: nullable Object */;
9582 val* var1 /* : nullable Object */;
9583 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9584 val* var2 /* : nullable Object */;
9585 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9586 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
9587 short int var3 /* : Bool */;
9588 int cltype;
9589 int idtype;
9590 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
9591 short int var4 /* : Bool */;
9592 int cltype5;
9593 int idtype6;
9594 val* var7 /* : AFormaldef */;
9595 val* var8 /* : null */;
9596 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
9597 long var9 /* : Int */;
9598 long var10 /* : Int */;
9599 var_p = p0;
9600 var = NULL;
9601 var_node_list = var;
9602 {
9603 var1 = nit___nit__Parser___pop(var_p);
9604 }
9605 var_nodearraylist2 = var1;
9606 {
9607 var2 = nit___nit__Parser___pop(var_p);
9608 }
9609 var_nodearraylist1 = var2;
9610 var_tclassidnode2 = var_nodearraylist1;
9611 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
9612 cltype = type_nullable__nit__TClassid.color;
9613 idtype = type_nullable__nit__TClassid.id;
9614 if(var_tclassidnode2 == NULL) {
9615 var3 = 1;
9616 } else {
9617 if(cltype >= var_tclassidnode2->type->table_size) {
9618 var3 = 0;
9619 } else {
9620 var3 = var_tclassidnode2->type->type_table[cltype] == idtype;
9621 }
9622 }
9623 if (unlikely(!var3)) {
9624 PRINT_ERROR("Runtime error: %s", "Assert failed");
9625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2844);
9626 show_backtrace(1);
9627 }
9628 var_ptypenode3 = var_nodearraylist2;
9629 /* <var_ptypenode3:nullable Object> isa nullable AType */
9630 cltype5 = type_nullable__nit__AType.color;
9631 idtype6 = type_nullable__nit__AType.id;
9632 if(var_ptypenode3 == NULL) {
9633 var4 = 1;
9634 } else {
9635 if(cltype5 >= var_ptypenode3->type->table_size) {
9636 var4 = 0;
9637 } else {
9638 var4 = var_ptypenode3->type->type_table[cltype5] == idtype6;
9639 }
9640 }
9641 if (unlikely(!var4)) {
9642 PRINT_ERROR("Runtime error: %s", "Assert failed");
9643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2846);
9644 show_backtrace(1);
9645 }
9646 var7 = NEW_nit__AFormaldef(&type_nit__AFormaldef);
9647 var8 = NULL;
9648 {
9649 nit__parser_prod___AFormaldef___init_aformaldef(var7, var_tclassidnode2, var_ptypenode3, var8); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var7:AFormaldef>*/
9650 }
9651 var_pformaldefnode1 = var7;
9652 var_node_list = var_pformaldefnode1;
9653 var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction53> */
9654 {
9655 var10 = nit___nit__Parser___go_to(var_p, var9);
9656 }
9657 {
9658 nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9659 }
9660 RET_LABEL:;
9661 }
9662 /* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */
9663 void nit__parser___nit__parser__ReduceAction54___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9664 val* var_p /* var p: Parser */;
9665 val* var /* : null */;
9666 val* var_node_list /* var node_list: nullable Object */;
9667 val* var1 /* : nullable Object */;
9668 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9669 val* var2 /* : nullable Object */;
9670 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9671 val* var3 /* : nullable Object */;
9672 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9673 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
9674 short int var4 /* : Bool */;
9675 int cltype;
9676 int idtype;
9677 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
9678 short int var5 /* : Bool */;
9679 int cltype6;
9680 int idtype7;
9681 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
9682 short int var8 /* : Bool */;
9683 int cltype9;
9684 int idtype10;
9685 val* var11 /* : AFormaldef */;
9686 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
9687 long var12 /* : Int */;
9688 long var13 /* : Int */;
9689 var_p = p0;
9690 var = NULL;
9691 var_node_list = var;
9692 {
9693 var1 = nit___nit__Parser___pop(var_p);
9694 }
9695 var_nodearraylist3 = var1;
9696 {
9697 var2 = nit___nit__Parser___pop(var_p);
9698 }
9699 var_nodearraylist2 = var2;
9700 {
9701 var3 = nit___nit__Parser___pop(var_p);
9702 }
9703 var_nodearraylist1 = var3;
9704 var_tclassidnode2 = var_nodearraylist1;
9705 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
9706 cltype = type_nullable__nit__TClassid.color;
9707 idtype = type_nullable__nit__TClassid.id;
9708 if(var_tclassidnode2 == NULL) {
9709 var4 = 1;
9710 } else {
9711 if(cltype >= var_tclassidnode2->type->table_size) {
9712 var4 = 0;
9713 } else {
9714 var4 = var_tclassidnode2->type->type_table[cltype] == idtype;
9715 }
9716 }
9717 if (unlikely(!var4)) {
9718 PRINT_ERROR("Runtime error: %s", "Assert failed");
9719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2865);
9720 show_backtrace(1);
9721 }
9722 var_ptypenode3 = var_nodearraylist3;
9723 /* <var_ptypenode3:nullable Object> isa nullable AType */
9724 cltype6 = type_nullable__nit__AType.color;
9725 idtype7 = type_nullable__nit__AType.id;
9726 if(var_ptypenode3 == NULL) {
9727 var5 = 1;
9728 } else {
9729 if(cltype6 >= var_ptypenode3->type->table_size) {
9730 var5 = 0;
9731 } else {
9732 var5 = var_ptypenode3->type->type_table[cltype6] == idtype7;
9733 }
9734 }
9735 if (unlikely(!var5)) {
9736 PRINT_ERROR("Runtime error: %s", "Assert failed");
9737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2867);
9738 show_backtrace(1);
9739 }
9740 var_pannotationsnode4 = var_nodearraylist2;
9741 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
9742 cltype9 = type_nullable__nit__AAnnotations.color;
9743 idtype10 = type_nullable__nit__AAnnotations.id;
9744 if(var_pannotationsnode4 == NULL) {
9745 var8 = 1;
9746 } else {
9747 if(cltype9 >= var_pannotationsnode4->type->table_size) {
9748 var8 = 0;
9749 } else {
9750 var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10;
9751 }
9752 }
9753 if (unlikely(!var8)) {
9754 PRINT_ERROR("Runtime error: %s", "Assert failed");
9755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2869);
9756 show_backtrace(1);
9757 }
9758 var11 = NEW_nit__AFormaldef(&type_nit__AFormaldef);
9759 {
9760 nit__parser_prod___AFormaldef___init_aformaldef(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#AFormaldef#init_aformaldef on <var11:AFormaldef>*/
9761 }
9762 var_pformaldefnode1 = var11;
9763 var_node_list = var_pformaldefnode1;
9764 var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction54> */
9765 {
9766 var13 = nit___nit__Parser___go_to(var_p, var12);
9767 }
9768 {
9769 nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9770 }
9771 RET_LABEL:;
9772 }
9773 /* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */
9774 void nit__parser___nit__parser__ReduceAction55___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9775 val* var_p /* var p: Parser */;
9776 val* var /* : null */;
9777 val* var_node_list /* var node_list: nullable Object */;
9778 val* var1 /* : nullable Object */;
9779 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9780 val* var2 /* : nullable Object */;
9781 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9782 val* var3 /* : nullable Object */;
9783 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9784 val* var4 /* : nullable Object */;
9785 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9786 val* var5 /* : nullable Object */;
9787 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9788 val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */;
9789 short int var6 /* : Bool */;
9790 int cltype;
9791 int idtype;
9792 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
9793 short int var7 /* : Bool */;
9794 int cltype8;
9795 int idtype9;
9796 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
9797 short int var10 /* : Bool */;
9798 int cltype11;
9799 int idtype12;
9800 val* var13 /* : ASuperclass */;
9801 val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */;
9802 long var14 /* : Int */;
9803 long var15 /* : Int */;
9804 var_p = p0;
9805 var = NULL;
9806 var_node_list = var;
9807 {
9808 var1 = nit___nit__Parser___pop(var_p);
9809 }
9810 var_nodearraylist5 = var1;
9811 {
9812 var2 = nit___nit__Parser___pop(var_p);
9813 }
9814 var_nodearraylist4 = var2;
9815 {
9816 var3 = nit___nit__Parser___pop(var_p);
9817 }
9818 var_nodearraylist3 = var3;
9819 {
9820 var4 = nit___nit__Parser___pop(var_p);
9821 }
9822 var_nodearraylist2 = var4;
9823 {
9824 var5 = nit___nit__Parser___pop(var_p);
9825 }
9826 var_nodearraylist1 = var5;
9827 var_tkwsupernode2 = var_nodearraylist2;
9828 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
9829 cltype = type_nullable__nit__TKwsuper.color;
9830 idtype = type_nullable__nit__TKwsuper.id;
9831 if(var_tkwsupernode2 == NULL) {
9832 var6 = 1;
9833 } else {
9834 if(cltype >= var_tkwsupernode2->type->table_size) {
9835 var6 = 0;
9836 } else {
9837 var6 = var_tkwsupernode2->type->type_table[cltype] == idtype;
9838 }
9839 }
9840 if (unlikely(!var6)) {
9841 PRINT_ERROR("Runtime error: %s", "Assert failed");
9842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2890);
9843 show_backtrace(1);
9844 }
9845 var_ptypenode3 = var_nodearraylist4;
9846 /* <var_ptypenode3:nullable Object> isa nullable AType */
9847 cltype8 = type_nullable__nit__AType.color;
9848 idtype9 = type_nullable__nit__AType.id;
9849 if(var_ptypenode3 == NULL) {
9850 var7 = 1;
9851 } else {
9852 if(cltype8 >= var_ptypenode3->type->table_size) {
9853 var7 = 0;
9854 } else {
9855 var7 = var_ptypenode3->type->type_table[cltype8] == idtype9;
9856 }
9857 }
9858 if (unlikely(!var7)) {
9859 PRINT_ERROR("Runtime error: %s", "Assert failed");
9860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2892);
9861 show_backtrace(1);
9862 }
9863 var_pannotationsnode4 = var_nodearraylist5;
9864 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
9865 cltype11 = type_nullable__nit__AAnnotations.color;
9866 idtype12 = type_nullable__nit__AAnnotations.id;
9867 if(var_pannotationsnode4 == NULL) {
9868 var10 = 1;
9869 } else {
9870 if(cltype11 >= var_pannotationsnode4->type->table_size) {
9871 var10 = 0;
9872 } else {
9873 var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12;
9874 }
9875 }
9876 if (unlikely(!var10)) {
9877 PRINT_ERROR("Runtime error: %s", "Assert failed");
9878 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2894);
9879 show_backtrace(1);
9880 }
9881 var13 = NEW_nit__ASuperclass(&type_nit__ASuperclass);
9882 {
9883 nit__parser_prod___ASuperclass___init_asuperclass(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#ASuperclass#init_asuperclass on <var13:ASuperclass>*/
9884 }
9885 var_psuperclassnode1 = var13;
9886 var_node_list = var_psuperclassnode1;
9887 var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction55> */
9888 {
9889 var15 = nit___nit__Parser___go_to(var_p, var14);
9890 }
9891 {
9892 nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9893 }
9894 RET_LABEL:;
9895 }
9896 /* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */
9897 void nit__parser___nit__parser__ReduceAction56___nit__parser_work__ReduceAction__action(val* self, val* p0) {
9898 val* var_p /* var p: Parser */;
9899 val* var /* : null */;
9900 val* var_node_list /* var node_list: nullable Object */;
9901 val* var1 /* : nullable Object */;
9902 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9903 val* var2 /* : nullable Object */;
9904 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9905 val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */;
9906 long var3 /* : Int */;
9907 long var4 /* : Int */;
9908 var_p = p0;
9909 var = NULL;
9910 var_node_list = var;
9911 {
9912 var1 = nit___nit__Parser___pop(var_p);
9913 }
9914 var_nodearraylist2 = var1;
9915 {
9916 var2 = nit___nit__Parser___pop(var_p);
9917 }
9918 var_nodearraylist1 = var2;
9919 var_ppropdefnode1 = var_nodearraylist1;
9920 var_node_list = var_ppropdefnode1;
9921 var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction56> */
9922 {
9923 var4 = nit___nit__Parser___go_to(var_p, var3);
9924 }
9925 {
9926 nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9927 }
9928 RET_LABEL:;
9929 }