tests: add tests for nitvm
[nit.git] / c_src / parser.sep.11.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction417#action for (self: Object, Parser) */
3 void VIRTUAL_parser__ReduceAction417__action(val* self, val* p0) {
4 parser__ReduceAction417__action(self, p0);
5 RET_LABEL:;
6 }
7 /* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
8 void parser__ReduceAction418__action(val* self, val* p0) {
9 val* var_p /* var p: Parser */;
10 val* var /* : null */;
11 val* var_node_list /* var node_list: nullable Object */;
12 val* var1 /* : nullable Object */;
13 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
14 val* var2 /* : nullable Object */;
15 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
16 val* var3 /* : nullable Object */;
17 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
18 val* var4 /* : nullable Object */;
19 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
20 val* var5 /* : nullable Object */;
21 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
22 val* var6 /* : nullable Object */;
23 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
24 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
25 short int var7 /* : Bool */;
26 int cltype;
27 int idtype;
28 val* var_pablenode4 /* var pablenode4: nullable Object */;
29 short int var8 /* : Bool */;
30 int cltype9;
31 int idtype10;
32 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
33 short int var11 /* : Bool */;
34 int cltype12;
35 int idtype13;
36 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
37 short int var14 /* : Bool */;
38 int cltype15;
39 int idtype16;
40 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
41 short int var17 /* : Bool */;
42 int cltype18;
43 int idtype19;
44 val* var_tidnode9 /* var tidnode9: nullable Object */;
45 short int var20 /* : Bool */;
46 int cltype21;
47 int idtype22;
48 val* var23 /* : AAttrPropdef */;
49 val* var24 /* : null */;
50 val* var25 /* : null */;
51 val* var26 /* : null */;
52 val* var27 /* : null */;
53 val* var28 /* : null */;
54 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
55 long var29 /* : Int */;
56 long var30 /* : Int */;
57 var_p = p0;
58 var = NULL;
59 var_node_list = var;
60 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
61 var_nodearraylist6 = var1;
62 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
63 var_nodearraylist5 = var2;
64 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist4 = var3;
66 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
67 var_nodearraylist3 = var4;
68 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
69 var_nodearraylist2 = var5;
70 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
71 var_nodearraylist1 = var6;
72 var_pdocnode2 = var_nodearraylist1;
73 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
74 cltype = type_nullable_parser_nodes__ADoc.color;
75 idtype = type_nullable_parser_nodes__ADoc.id;
76 if(var_pdocnode2 == NULL) {
77 var7 = 1;
78 } else {
79 if(cltype >= var_pdocnode2->type->table_size) {
80 var7 = 0;
81 } else {
82 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
83 }
84 }
85 if (!var7) {
86 fprintf(stderr, "Runtime error: %s", "Assert failed");
87 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18545);
88 show_backtrace(1);
89 }
90 var_pablenode4 = var_nodearraylist6;
91 /* <var_pablenode4:nullable Object> isa nullable AAble */
92 cltype9 = type_nullable_parser_nodes__AAble.color;
93 idtype10 = type_nullable_parser_nodes__AAble.id;
94 if(var_pablenode4 == NULL) {
95 var8 = 1;
96 } else {
97 if(cltype9 >= var_pablenode4->type->table_size) {
98 var8 = 0;
99 } else {
100 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
101 }
102 }
103 if (!var8) {
104 fprintf(stderr, "Runtime error: %s", "Assert failed");
105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18547);
106 show_backtrace(1);
107 }
108 var_tkwredefnode5 = var_nodearraylist2;
109 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
110 cltype12 = type_nullable_parser_nodes__TKwredef.color;
111 idtype13 = type_nullable_parser_nodes__TKwredef.id;
112 if(var_tkwredefnode5 == NULL) {
113 var11 = 1;
114 } else {
115 if(cltype12 >= var_tkwredefnode5->type->table_size) {
116 var11 = 0;
117 } else {
118 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
119 }
120 }
121 if (!var11) {
122 fprintf(stderr, "Runtime error: %s", "Assert failed");
123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18549);
124 show_backtrace(1);
125 }
126 var_pvisibilitynode6 = var_nodearraylist3;
127 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
128 cltype15 = type_nullable_parser_nodes__AVisibility.color;
129 idtype16 = type_nullable_parser_nodes__AVisibility.id;
130 if(var_pvisibilitynode6 == NULL) {
131 var14 = 1;
132 } else {
133 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
134 var14 = 0;
135 } else {
136 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
137 }
138 }
139 if (!var14) {
140 fprintf(stderr, "Runtime error: %s", "Assert failed");
141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18551);
142 show_backtrace(1);
143 }
144 var_tkwvarnode7 = var_nodearraylist4;
145 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
146 cltype18 = type_nullable_parser_nodes__TKwvar.color;
147 idtype19 = type_nullable_parser_nodes__TKwvar.id;
148 if(var_tkwvarnode7 == NULL) {
149 var17 = 1;
150 } else {
151 if(cltype18 >= var_tkwvarnode7->type->table_size) {
152 var17 = 0;
153 } else {
154 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
155 }
156 }
157 if (!var17) {
158 fprintf(stderr, "Runtime error: %s", "Assert failed");
159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18553);
160 show_backtrace(1);
161 }
162 var_tidnode9 = var_nodearraylist5;
163 /* <var_tidnode9:nullable Object> isa nullable TId */
164 cltype21 = type_nullable_parser_nodes__TId.color;
165 idtype22 = type_nullable_parser_nodes__TId.id;
166 if(var_tidnode9 == NULL) {
167 var20 = 1;
168 } else {
169 if(cltype21 >= var_tidnode9->type->table_size) {
170 var20 = 0;
171 } else {
172 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
173 }
174 }
175 if (!var20) {
176 fprintf(stderr, "Runtime error: %s", "Assert failed");
177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18555);
178 show_backtrace(1);
179 }
180 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
181 var24 = NULL;
182 var25 = NULL;
183 var26 = NULL;
184 var27 = NULL;
185 var28 = NULL;
186 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
187 var_ppropdefnode1 = var23;
188 var_node_list = var_ppropdefnode1;
189 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction418> */
190 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
191 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
192 RET_LABEL:;
193 }
194 /* method parser#ReduceAction418#action for (self: Object, Parser) */
195 void VIRTUAL_parser__ReduceAction418__action(val* self, val* p0) {
196 parser__ReduceAction418__action(self, p0);
197 RET_LABEL:;
198 }
199 /* method parser#ReduceAction419#action for (self: ReduceAction419, Parser) */
200 void parser__ReduceAction419__action(val* self, val* p0) {
201 val* var_p /* var p: Parser */;
202 val* var /* : null */;
203 val* var_node_list /* var node_list: nullable Object */;
204 val* var1 /* : nullable Object */;
205 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
206 val* var2 /* : nullable Object */;
207 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
208 val* var3 /* : nullable Object */;
209 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
210 val* var4 /* : nullable Object */;
211 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
212 val* var5 /* : nullable Object */;
213 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
214 val* var6 /* : nullable Object */;
215 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
216 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
217 short int var7 /* : Bool */;
218 int cltype;
219 int idtype;
220 val* var_pablenode4 /* var pablenode4: nullable Object */;
221 short int var8 /* : Bool */;
222 int cltype9;
223 int idtype10;
224 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
225 short int var11 /* : Bool */;
226 int cltype12;
227 int idtype13;
228 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
229 short int var14 /* : Bool */;
230 int cltype15;
231 int idtype16;
232 val* var_tidnode9 /* var tidnode9: nullable Object */;
233 short int var17 /* : Bool */;
234 int cltype18;
235 int idtype19;
236 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
237 short int var20 /* : Bool */;
238 int cltype21;
239 int idtype22;
240 val* var23 /* : AAttrPropdef */;
241 val* var24 /* : null */;
242 val* var25 /* : null */;
243 val* var26 /* : null */;
244 val* var27 /* : null */;
245 val* var28 /* : null */;
246 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
247 long var29 /* : Int */;
248 long var30 /* : Int */;
249 var_p = p0;
250 var = NULL;
251 var_node_list = var;
252 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
253 var_nodearraylist6 = var1;
254 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
255 var_nodearraylist5 = var2;
256 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
257 var_nodearraylist4 = var3;
258 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
259 var_nodearraylist3 = var4;
260 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
261 var_nodearraylist2 = var5;
262 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
263 var_nodearraylist1 = var6;
264 var_pdocnode2 = var_nodearraylist1;
265 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
266 cltype = type_nullable_parser_nodes__ADoc.color;
267 idtype = type_nullable_parser_nodes__ADoc.id;
268 if(var_pdocnode2 == NULL) {
269 var7 = 1;
270 } else {
271 if(cltype >= var_pdocnode2->type->table_size) {
272 var7 = 0;
273 } else {
274 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
275 }
276 }
277 if (!var7) {
278 fprintf(stderr, "Runtime error: %s", "Assert failed");
279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18585);
280 show_backtrace(1);
281 }
282 var_pablenode4 = var_nodearraylist6;
283 /* <var_pablenode4:nullable Object> isa nullable AAble */
284 cltype9 = type_nullable_parser_nodes__AAble.color;
285 idtype10 = type_nullable_parser_nodes__AAble.id;
286 if(var_pablenode4 == NULL) {
287 var8 = 1;
288 } else {
289 if(cltype9 >= var_pablenode4->type->table_size) {
290 var8 = 0;
291 } else {
292 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
293 }
294 }
295 if (!var8) {
296 fprintf(stderr, "Runtime error: %s", "Assert failed");
297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18587);
298 show_backtrace(1);
299 }
300 var_pvisibilitynode6 = var_nodearraylist2;
301 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
302 cltype12 = type_nullable_parser_nodes__AVisibility.color;
303 idtype13 = type_nullable_parser_nodes__AVisibility.id;
304 if(var_pvisibilitynode6 == NULL) {
305 var11 = 1;
306 } else {
307 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
308 var11 = 0;
309 } else {
310 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
311 }
312 }
313 if (!var11) {
314 fprintf(stderr, "Runtime error: %s", "Assert failed");
315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18589);
316 show_backtrace(1);
317 }
318 var_tkwvarnode7 = var_nodearraylist3;
319 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
320 cltype15 = type_nullable_parser_nodes__TKwvar.color;
321 idtype16 = type_nullable_parser_nodes__TKwvar.id;
322 if(var_tkwvarnode7 == NULL) {
323 var14 = 1;
324 } else {
325 if(cltype15 >= var_tkwvarnode7->type->table_size) {
326 var14 = 0;
327 } else {
328 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
329 }
330 }
331 if (!var14) {
332 fprintf(stderr, "Runtime error: %s", "Assert failed");
333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18591);
334 show_backtrace(1);
335 }
336 var_tidnode9 = var_nodearraylist4;
337 /* <var_tidnode9:nullable Object> isa nullable TId */
338 cltype18 = type_nullable_parser_nodes__TId.color;
339 idtype19 = type_nullable_parser_nodes__TId.id;
340 if(var_tidnode9 == NULL) {
341 var17 = 1;
342 } else {
343 if(cltype18 >= var_tidnode9->type->table_size) {
344 var17 = 0;
345 } else {
346 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
347 }
348 }
349 if (!var17) {
350 fprintf(stderr, "Runtime error: %s", "Assert failed");
351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18593);
352 show_backtrace(1);
353 }
354 var_ptypenode10 = var_nodearraylist5;
355 /* <var_ptypenode10:nullable Object> isa nullable AType */
356 cltype21 = type_nullable_parser_nodes__AType.color;
357 idtype22 = type_nullable_parser_nodes__AType.id;
358 if(var_ptypenode10 == NULL) {
359 var20 = 1;
360 } else {
361 if(cltype21 >= var_ptypenode10->type->table_size) {
362 var20 = 0;
363 } else {
364 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
365 }
366 }
367 if (!var20) {
368 fprintf(stderr, "Runtime error: %s", "Assert failed");
369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18595);
370 show_backtrace(1);
371 }
372 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
373 var24 = NULL;
374 var25 = NULL;
375 var26 = NULL;
376 var27 = NULL;
377 var28 = NULL;
378 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
379 var_ppropdefnode1 = var23;
380 var_node_list = var_ppropdefnode1;
381 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction419> */
382 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
383 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
384 RET_LABEL:;
385 }
386 /* method parser#ReduceAction419#action for (self: Object, Parser) */
387 void VIRTUAL_parser__ReduceAction419__action(val* self, val* p0) {
388 parser__ReduceAction419__action(self, p0);
389 RET_LABEL:;
390 }
391 /* method parser#ReduceAction420#action for (self: ReduceAction420, Parser) */
392 void parser__ReduceAction420__action(val* self, val* p0) {
393 val* var_p /* var p: Parser */;
394 val* var /* : null */;
395 val* var_node_list /* var node_list: nullable Object */;
396 val* var1 /* : nullable Object */;
397 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
398 val* var2 /* : nullable Object */;
399 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
400 val* var3 /* : nullable Object */;
401 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
402 val* var4 /* : nullable Object */;
403 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
404 val* var5 /* : nullable Object */;
405 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
406 val* var6 /* : nullable Object */;
407 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
408 val* var7 /* : nullable Object */;
409 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
410 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
411 short int var8 /* : Bool */;
412 int cltype;
413 int idtype;
414 val* var_pablenode4 /* var pablenode4: nullable Object */;
415 short int var9 /* : Bool */;
416 int cltype10;
417 int idtype11;
418 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
419 short int var12 /* : Bool */;
420 int cltype13;
421 int idtype14;
422 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
423 short int var15 /* : Bool */;
424 int cltype16;
425 int idtype17;
426 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
427 short int var18 /* : Bool */;
428 int cltype19;
429 int idtype20;
430 val* var_tidnode9 /* var tidnode9: nullable Object */;
431 short int var21 /* : Bool */;
432 int cltype22;
433 int idtype23;
434 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
435 short int var24 /* : Bool */;
436 int cltype25;
437 int idtype26;
438 val* var27 /* : AAttrPropdef */;
439 val* var28 /* : null */;
440 val* var29 /* : null */;
441 val* var30 /* : null */;
442 val* var31 /* : null */;
443 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
444 long var32 /* : Int */;
445 long var33 /* : Int */;
446 var_p = p0;
447 var = NULL;
448 var_node_list = var;
449 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
450 var_nodearraylist7 = var1;
451 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
452 var_nodearraylist6 = var2;
453 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
454 var_nodearraylist5 = var3;
455 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
456 var_nodearraylist4 = var4;
457 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
458 var_nodearraylist3 = var5;
459 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
460 var_nodearraylist2 = var6;
461 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
462 var_nodearraylist1 = var7;
463 var_pdocnode2 = var_nodearraylist1;
464 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
465 cltype = type_nullable_parser_nodes__ADoc.color;
466 idtype = type_nullable_parser_nodes__ADoc.id;
467 if(var_pdocnode2 == NULL) {
468 var8 = 1;
469 } else {
470 if(cltype >= var_pdocnode2->type->table_size) {
471 var8 = 0;
472 } else {
473 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
474 }
475 }
476 if (!var8) {
477 fprintf(stderr, "Runtime error: %s", "Assert failed");
478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18626);
479 show_backtrace(1);
480 }
481 var_pablenode4 = var_nodearraylist7;
482 /* <var_pablenode4:nullable Object> isa nullable AAble */
483 cltype10 = type_nullable_parser_nodes__AAble.color;
484 idtype11 = type_nullable_parser_nodes__AAble.id;
485 if(var_pablenode4 == NULL) {
486 var9 = 1;
487 } else {
488 if(cltype10 >= var_pablenode4->type->table_size) {
489 var9 = 0;
490 } else {
491 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
492 }
493 }
494 if (!var9) {
495 fprintf(stderr, "Runtime error: %s", "Assert failed");
496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18628);
497 show_backtrace(1);
498 }
499 var_tkwredefnode5 = var_nodearraylist2;
500 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
501 cltype13 = type_nullable_parser_nodes__TKwredef.color;
502 idtype14 = type_nullable_parser_nodes__TKwredef.id;
503 if(var_tkwredefnode5 == NULL) {
504 var12 = 1;
505 } else {
506 if(cltype13 >= var_tkwredefnode5->type->table_size) {
507 var12 = 0;
508 } else {
509 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
510 }
511 }
512 if (!var12) {
513 fprintf(stderr, "Runtime error: %s", "Assert failed");
514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18630);
515 show_backtrace(1);
516 }
517 var_pvisibilitynode6 = var_nodearraylist3;
518 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
519 cltype16 = type_nullable_parser_nodes__AVisibility.color;
520 idtype17 = type_nullable_parser_nodes__AVisibility.id;
521 if(var_pvisibilitynode6 == NULL) {
522 var15 = 1;
523 } else {
524 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
525 var15 = 0;
526 } else {
527 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
528 }
529 }
530 if (!var15) {
531 fprintf(stderr, "Runtime error: %s", "Assert failed");
532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18632);
533 show_backtrace(1);
534 }
535 var_tkwvarnode7 = var_nodearraylist4;
536 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
537 cltype19 = type_nullable_parser_nodes__TKwvar.color;
538 idtype20 = type_nullable_parser_nodes__TKwvar.id;
539 if(var_tkwvarnode7 == NULL) {
540 var18 = 1;
541 } else {
542 if(cltype19 >= var_tkwvarnode7->type->table_size) {
543 var18 = 0;
544 } else {
545 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
546 }
547 }
548 if (!var18) {
549 fprintf(stderr, "Runtime error: %s", "Assert failed");
550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18634);
551 show_backtrace(1);
552 }
553 var_tidnode9 = var_nodearraylist5;
554 /* <var_tidnode9:nullable Object> isa nullable TId */
555 cltype22 = type_nullable_parser_nodes__TId.color;
556 idtype23 = type_nullable_parser_nodes__TId.id;
557 if(var_tidnode9 == NULL) {
558 var21 = 1;
559 } else {
560 if(cltype22 >= var_tidnode9->type->table_size) {
561 var21 = 0;
562 } else {
563 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
564 }
565 }
566 if (!var21) {
567 fprintf(stderr, "Runtime error: %s", "Assert failed");
568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18636);
569 show_backtrace(1);
570 }
571 var_ptypenode10 = var_nodearraylist6;
572 /* <var_ptypenode10:nullable Object> isa nullable AType */
573 cltype25 = type_nullable_parser_nodes__AType.color;
574 idtype26 = type_nullable_parser_nodes__AType.id;
575 if(var_ptypenode10 == NULL) {
576 var24 = 1;
577 } else {
578 if(cltype25 >= var_ptypenode10->type->table_size) {
579 var24 = 0;
580 } else {
581 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
582 }
583 }
584 if (!var24) {
585 fprintf(stderr, "Runtime error: %s", "Assert failed");
586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18638);
587 show_backtrace(1);
588 }
589 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
590 var28 = NULL;
591 var29 = NULL;
592 var30 = NULL;
593 var31 = NULL;
594 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
595 var_ppropdefnode1 = var27;
596 var_node_list = var_ppropdefnode1;
597 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction420> */
598 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
599 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
600 RET_LABEL:;
601 }
602 /* method parser#ReduceAction420#action for (self: Object, Parser) */
603 void VIRTUAL_parser__ReduceAction420__action(val* self, val* p0) {
604 parser__ReduceAction420__action(self, p0);
605 RET_LABEL:;
606 }
607 /* method parser#ReduceAction421#action for (self: ReduceAction421, Parser) */
608 void parser__ReduceAction421__action(val* self, val* p0) {
609 val* var_p /* var p: Parser */;
610 val* var /* : null */;
611 val* var_node_list /* var node_list: nullable Object */;
612 val* var1 /* : nullable Object */;
613 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
614 val* var2 /* : nullable Object */;
615 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
616 val* var3 /* : nullable Object */;
617 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
618 val* var4 /* : nullable Object */;
619 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
620 val* var5 /* : nullable Object */;
621 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
622 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
623 short int var6 /* : Bool */;
624 int cltype;
625 int idtype;
626 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
627 short int var7 /* : Bool */;
628 int cltype8;
629 int idtype9;
630 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
631 short int var10 /* : Bool */;
632 int cltype11;
633 int idtype12;
634 val* var_tidnode9 /* var tidnode9: nullable Object */;
635 short int var13 /* : Bool */;
636 int cltype14;
637 int idtype15;
638 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
639 short int var16 /* : Bool */;
640 int cltype17;
641 int idtype18;
642 val* var19 /* : AAttrPropdef */;
643 val* var20 /* : null */;
644 val* var21 /* : null */;
645 val* var22 /* : null */;
646 val* var23 /* : null */;
647 val* var24 /* : null */;
648 val* var25 /* : null */;
649 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
650 long var26 /* : Int */;
651 long var27 /* : Int */;
652 var_p = p0;
653 var = NULL;
654 var_node_list = var;
655 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
656 var_nodearraylist5 = var1;
657 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
658 var_nodearraylist4 = var2;
659 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
660 var_nodearraylist3 = var3;
661 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
662 var_nodearraylist2 = var4;
663 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
664 var_nodearraylist1 = var5;
665 var_pdocnode2 = var_nodearraylist1;
666 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
667 cltype = type_nullable_parser_nodes__ADoc.color;
668 idtype = type_nullable_parser_nodes__ADoc.id;
669 if(var_pdocnode2 == NULL) {
670 var6 = 1;
671 } else {
672 if(cltype >= var_pdocnode2->type->table_size) {
673 var6 = 0;
674 } else {
675 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
676 }
677 }
678 if (!var6) {
679 fprintf(stderr, "Runtime error: %s", "Assert failed");
680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18667);
681 show_backtrace(1);
682 }
683 var_pvisibilitynode6 = var_nodearraylist2;
684 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
685 cltype8 = type_nullable_parser_nodes__AVisibility.color;
686 idtype9 = type_nullable_parser_nodes__AVisibility.id;
687 if(var_pvisibilitynode6 == NULL) {
688 var7 = 1;
689 } else {
690 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
691 var7 = 0;
692 } else {
693 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
694 }
695 }
696 if (!var7) {
697 fprintf(stderr, "Runtime error: %s", "Assert failed");
698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18669);
699 show_backtrace(1);
700 }
701 var_tkwvarnode7 = var_nodearraylist3;
702 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
703 cltype11 = type_nullable_parser_nodes__TKwvar.color;
704 idtype12 = type_nullable_parser_nodes__TKwvar.id;
705 if(var_tkwvarnode7 == NULL) {
706 var10 = 1;
707 } else {
708 if(cltype11 >= var_tkwvarnode7->type->table_size) {
709 var10 = 0;
710 } else {
711 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
712 }
713 }
714 if (!var10) {
715 fprintf(stderr, "Runtime error: %s", "Assert failed");
716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18671);
717 show_backtrace(1);
718 }
719 var_tidnode9 = var_nodearraylist4;
720 /* <var_tidnode9:nullable Object> isa nullable TId */
721 cltype14 = type_nullable_parser_nodes__TId.color;
722 idtype15 = type_nullable_parser_nodes__TId.id;
723 if(var_tidnode9 == NULL) {
724 var13 = 1;
725 } else {
726 if(cltype14 >= var_tidnode9->type->table_size) {
727 var13 = 0;
728 } else {
729 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
730 }
731 }
732 if (!var13) {
733 fprintf(stderr, "Runtime error: %s", "Assert failed");
734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18673);
735 show_backtrace(1);
736 }
737 var_pannotationsnode11 = var_nodearraylist5;
738 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
739 cltype17 = type_nullable_parser_nodes__AAnnotations.color;
740 idtype18 = type_nullable_parser_nodes__AAnnotations.id;
741 if(var_pannotationsnode11 == NULL) {
742 var16 = 1;
743 } else {
744 if(cltype17 >= var_pannotationsnode11->type->table_size) {
745 var16 = 0;
746 } else {
747 var16 = var_pannotationsnode11->type->type_table[cltype17] == idtype18;
748 }
749 }
750 if (!var16) {
751 fprintf(stderr, "Runtime error: %s", "Assert failed");
752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18675);
753 show_backtrace(1);
754 }
755 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
756 var20 = NULL;
757 var21 = NULL;
758 var22 = NULL;
759 var23 = NULL;
760 var24 = NULL;
761 var25 = NULL;
762 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var23, var_tidnode9, var24, var_pannotationsnode11, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
763 var_ppropdefnode1 = var19;
764 var_node_list = var_ppropdefnode1;
765 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction421> */
766 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
767 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
768 RET_LABEL:;
769 }
770 /* method parser#ReduceAction421#action for (self: Object, Parser) */
771 void VIRTUAL_parser__ReduceAction421__action(val* self, val* p0) {
772 parser__ReduceAction421__action(self, p0);
773 RET_LABEL:;
774 }
775 /* method parser#ReduceAction422#action for (self: ReduceAction422, Parser) */
776 void parser__ReduceAction422__action(val* self, val* p0) {
777 val* var_p /* var p: Parser */;
778 val* var /* : null */;
779 val* var_node_list /* var node_list: nullable Object */;
780 val* var1 /* : nullable Object */;
781 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
782 val* var2 /* : nullable Object */;
783 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
784 val* var3 /* : nullable Object */;
785 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
786 val* var4 /* : nullable Object */;
787 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
788 val* var5 /* : nullable Object */;
789 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
790 val* var6 /* : nullable Object */;
791 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
792 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
793 short int var7 /* : Bool */;
794 int cltype;
795 int idtype;
796 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
797 short int var8 /* : Bool */;
798 int cltype9;
799 int idtype10;
800 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
801 short int var11 /* : Bool */;
802 int cltype12;
803 int idtype13;
804 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
805 short int var14 /* : Bool */;
806 int cltype15;
807 int idtype16;
808 val* var_tidnode9 /* var tidnode9: nullable Object */;
809 short int var17 /* : Bool */;
810 int cltype18;
811 int idtype19;
812 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
813 short int var20 /* : Bool */;
814 int cltype21;
815 int idtype22;
816 val* var23 /* : AAttrPropdef */;
817 val* var24 /* : null */;
818 val* var25 /* : null */;
819 val* var26 /* : null */;
820 val* var27 /* : null */;
821 val* var28 /* : null */;
822 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
823 long var29 /* : Int */;
824 long var30 /* : Int */;
825 var_p = p0;
826 var = NULL;
827 var_node_list = var;
828 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
829 var_nodearraylist6 = var1;
830 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
831 var_nodearraylist5 = var2;
832 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
833 var_nodearraylist4 = var3;
834 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
835 var_nodearraylist3 = var4;
836 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
837 var_nodearraylist2 = var5;
838 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
839 var_nodearraylist1 = var6;
840 var_pdocnode2 = var_nodearraylist1;
841 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
842 cltype = type_nullable_parser_nodes__ADoc.color;
843 idtype = type_nullable_parser_nodes__ADoc.id;
844 if(var_pdocnode2 == NULL) {
845 var7 = 1;
846 } else {
847 if(cltype >= var_pdocnode2->type->table_size) {
848 var7 = 0;
849 } else {
850 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
851 }
852 }
853 if (!var7) {
854 fprintf(stderr, "Runtime error: %s", "Assert failed");
855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18705);
856 show_backtrace(1);
857 }
858 var_tkwredefnode5 = var_nodearraylist2;
859 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
860 cltype9 = type_nullable_parser_nodes__TKwredef.color;
861 idtype10 = type_nullable_parser_nodes__TKwredef.id;
862 if(var_tkwredefnode5 == NULL) {
863 var8 = 1;
864 } else {
865 if(cltype9 >= var_tkwredefnode5->type->table_size) {
866 var8 = 0;
867 } else {
868 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
869 }
870 }
871 if (!var8) {
872 fprintf(stderr, "Runtime error: %s", "Assert failed");
873 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18707);
874 show_backtrace(1);
875 }
876 var_pvisibilitynode6 = var_nodearraylist3;
877 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
878 cltype12 = type_nullable_parser_nodes__AVisibility.color;
879 idtype13 = type_nullable_parser_nodes__AVisibility.id;
880 if(var_pvisibilitynode6 == NULL) {
881 var11 = 1;
882 } else {
883 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
884 var11 = 0;
885 } else {
886 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
887 }
888 }
889 if (!var11) {
890 fprintf(stderr, "Runtime error: %s", "Assert failed");
891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18709);
892 show_backtrace(1);
893 }
894 var_tkwvarnode7 = var_nodearraylist4;
895 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
896 cltype15 = type_nullable_parser_nodes__TKwvar.color;
897 idtype16 = type_nullable_parser_nodes__TKwvar.id;
898 if(var_tkwvarnode7 == NULL) {
899 var14 = 1;
900 } else {
901 if(cltype15 >= var_tkwvarnode7->type->table_size) {
902 var14 = 0;
903 } else {
904 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
905 }
906 }
907 if (!var14) {
908 fprintf(stderr, "Runtime error: %s", "Assert failed");
909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18711);
910 show_backtrace(1);
911 }
912 var_tidnode9 = var_nodearraylist5;
913 /* <var_tidnode9:nullable Object> isa nullable TId */
914 cltype18 = type_nullable_parser_nodes__TId.color;
915 idtype19 = type_nullable_parser_nodes__TId.id;
916 if(var_tidnode9 == NULL) {
917 var17 = 1;
918 } else {
919 if(cltype18 >= var_tidnode9->type->table_size) {
920 var17 = 0;
921 } else {
922 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
923 }
924 }
925 if (!var17) {
926 fprintf(stderr, "Runtime error: %s", "Assert failed");
927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18713);
928 show_backtrace(1);
929 }
930 var_pannotationsnode11 = var_nodearraylist6;
931 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
932 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
933 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
934 if(var_pannotationsnode11 == NULL) {
935 var20 = 1;
936 } else {
937 if(cltype21 >= var_pannotationsnode11->type->table_size) {
938 var20 = 0;
939 } else {
940 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
941 }
942 }
943 if (!var20) {
944 fprintf(stderr, "Runtime error: %s", "Assert failed");
945 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18715);
946 show_backtrace(1);
947 }
948 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
949 var24 = NULL;
950 var25 = NULL;
951 var26 = NULL;
952 var27 = NULL;
953 var28 = NULL;
954 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var27, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
955 var_ppropdefnode1 = var23;
956 var_node_list = var_ppropdefnode1;
957 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction422> */
958 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
959 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
960 RET_LABEL:;
961 }
962 /* method parser#ReduceAction422#action for (self: Object, Parser) */
963 void VIRTUAL_parser__ReduceAction422__action(val* self, val* p0) {
964 parser__ReduceAction422__action(self, p0);
965 RET_LABEL:;
966 }
967 /* method parser#ReduceAction423#action for (self: ReduceAction423, Parser) */
968 void parser__ReduceAction423__action(val* self, val* p0) {
969 val* var_p /* var p: Parser */;
970 val* var /* : null */;
971 val* var_node_list /* var node_list: nullable Object */;
972 val* var1 /* : nullable Object */;
973 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
974 val* var2 /* : nullable Object */;
975 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
976 val* var3 /* : nullable Object */;
977 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
978 val* var4 /* : nullable Object */;
979 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
980 val* var5 /* : nullable Object */;
981 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
982 val* var6 /* : nullable Object */;
983 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
984 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
985 short int var7 /* : Bool */;
986 int cltype;
987 int idtype;
988 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
989 short int var8 /* : Bool */;
990 int cltype9;
991 int idtype10;
992 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
993 short int var11 /* : Bool */;
994 int cltype12;
995 int idtype13;
996 val* var_tidnode9 /* var tidnode9: nullable Object */;
997 short int var14 /* : Bool */;
998 int cltype15;
999 int idtype16;
1000 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1001 short int var17 /* : Bool */;
1002 int cltype18;
1003 int idtype19;
1004 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1005 short int var20 /* : Bool */;
1006 int cltype21;
1007 int idtype22;
1008 val* var23 /* : AAttrPropdef */;
1009 val* var24 /* : null */;
1010 val* var25 /* : null */;
1011 val* var26 /* : null */;
1012 val* var27 /* : null */;
1013 val* var28 /* : null */;
1014 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1015 long var29 /* : Int */;
1016 long var30 /* : Int */;
1017 var_p = p0;
1018 var = NULL;
1019 var_node_list = var;
1020 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1021 var_nodearraylist6 = var1;
1022 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1023 var_nodearraylist5 = var2;
1024 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1025 var_nodearraylist4 = var3;
1026 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1027 var_nodearraylist3 = var4;
1028 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1029 var_nodearraylist2 = var5;
1030 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1031 var_nodearraylist1 = var6;
1032 var_pdocnode2 = var_nodearraylist1;
1033 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1034 cltype = type_nullable_parser_nodes__ADoc.color;
1035 idtype = type_nullable_parser_nodes__ADoc.id;
1036 if(var_pdocnode2 == NULL) {
1037 var7 = 1;
1038 } else {
1039 if(cltype >= var_pdocnode2->type->table_size) {
1040 var7 = 0;
1041 } else {
1042 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1043 }
1044 }
1045 if (!var7) {
1046 fprintf(stderr, "Runtime error: %s", "Assert failed");
1047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18745);
1048 show_backtrace(1);
1049 }
1050 var_pvisibilitynode6 = var_nodearraylist2;
1051 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1052 cltype9 = type_nullable_parser_nodes__AVisibility.color;
1053 idtype10 = type_nullable_parser_nodes__AVisibility.id;
1054 if(var_pvisibilitynode6 == NULL) {
1055 var8 = 1;
1056 } else {
1057 if(cltype9 >= var_pvisibilitynode6->type->table_size) {
1058 var8 = 0;
1059 } else {
1060 var8 = var_pvisibilitynode6->type->type_table[cltype9] == idtype10;
1061 }
1062 }
1063 if (!var8) {
1064 fprintf(stderr, "Runtime error: %s", "Assert failed");
1065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18747);
1066 show_backtrace(1);
1067 }
1068 var_tkwvarnode7 = var_nodearraylist3;
1069 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1070 cltype12 = type_nullable_parser_nodes__TKwvar.color;
1071 idtype13 = type_nullable_parser_nodes__TKwvar.id;
1072 if(var_tkwvarnode7 == NULL) {
1073 var11 = 1;
1074 } else {
1075 if(cltype12 >= var_tkwvarnode7->type->table_size) {
1076 var11 = 0;
1077 } else {
1078 var11 = var_tkwvarnode7->type->type_table[cltype12] == idtype13;
1079 }
1080 }
1081 if (!var11) {
1082 fprintf(stderr, "Runtime error: %s", "Assert failed");
1083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18749);
1084 show_backtrace(1);
1085 }
1086 var_tidnode9 = var_nodearraylist4;
1087 /* <var_tidnode9:nullable Object> isa nullable TId */
1088 cltype15 = type_nullable_parser_nodes__TId.color;
1089 idtype16 = type_nullable_parser_nodes__TId.id;
1090 if(var_tidnode9 == NULL) {
1091 var14 = 1;
1092 } else {
1093 if(cltype15 >= var_tidnode9->type->table_size) {
1094 var14 = 0;
1095 } else {
1096 var14 = var_tidnode9->type->type_table[cltype15] == idtype16;
1097 }
1098 }
1099 if (!var14) {
1100 fprintf(stderr, "Runtime error: %s", "Assert failed");
1101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18751);
1102 show_backtrace(1);
1103 }
1104 var_ptypenode10 = var_nodearraylist5;
1105 /* <var_ptypenode10:nullable Object> isa nullable AType */
1106 cltype18 = type_nullable_parser_nodes__AType.color;
1107 idtype19 = type_nullable_parser_nodes__AType.id;
1108 if(var_ptypenode10 == NULL) {
1109 var17 = 1;
1110 } else {
1111 if(cltype18 >= var_ptypenode10->type->table_size) {
1112 var17 = 0;
1113 } else {
1114 var17 = var_ptypenode10->type->type_table[cltype18] == idtype19;
1115 }
1116 }
1117 if (!var17) {
1118 fprintf(stderr, "Runtime error: %s", "Assert failed");
1119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18753);
1120 show_backtrace(1);
1121 }
1122 var_pannotationsnode11 = var_nodearraylist6;
1123 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1124 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
1125 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
1126 if(var_pannotationsnode11 == NULL) {
1127 var20 = 1;
1128 } else {
1129 if(cltype21 >= var_pannotationsnode11->type->table_size) {
1130 var20 = 0;
1131 } else {
1132 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
1133 }
1134 }
1135 if (!var20) {
1136 fprintf(stderr, "Runtime error: %s", "Assert failed");
1137 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18755);
1138 show_backtrace(1);
1139 }
1140 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1141 var24 = NULL;
1142 var25 = NULL;
1143 var26 = NULL;
1144 var27 = NULL;
1145 var28 = NULL;
1146 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var26, var_pvisibilitynode6, var_tkwvarnode7, var27, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
1147 var_ppropdefnode1 = var23;
1148 var_node_list = var_ppropdefnode1;
1149 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction423> */
1150 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1151 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1152 RET_LABEL:;
1153 }
1154 /* method parser#ReduceAction423#action for (self: Object, Parser) */
1155 void VIRTUAL_parser__ReduceAction423__action(val* self, val* p0) {
1156 parser__ReduceAction423__action(self, p0);
1157 RET_LABEL:;
1158 }
1159 /* method parser#ReduceAction424#action for (self: ReduceAction424, Parser) */
1160 void parser__ReduceAction424__action(val* self, val* p0) {
1161 val* var_p /* var p: Parser */;
1162 val* var /* : null */;
1163 val* var_node_list /* var node_list: nullable Object */;
1164 val* var1 /* : nullable Object */;
1165 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1166 val* var2 /* : nullable Object */;
1167 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1168 val* var3 /* : nullable Object */;
1169 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1170 val* var4 /* : nullable Object */;
1171 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1172 val* var5 /* : nullable Object */;
1173 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1174 val* var6 /* : nullable Object */;
1175 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1176 val* var7 /* : nullable Object */;
1177 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1178 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1179 short int var8 /* : Bool */;
1180 int cltype;
1181 int idtype;
1182 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1183 short int var9 /* : Bool */;
1184 int cltype10;
1185 int idtype11;
1186 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1187 short int var12 /* : Bool */;
1188 int cltype13;
1189 int idtype14;
1190 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1191 short int var15 /* : Bool */;
1192 int cltype16;
1193 int idtype17;
1194 val* var_tidnode9 /* var tidnode9: nullable Object */;
1195 short int var18 /* : Bool */;
1196 int cltype19;
1197 int idtype20;
1198 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1199 short int var21 /* : Bool */;
1200 int cltype22;
1201 int idtype23;
1202 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1203 short int var24 /* : Bool */;
1204 int cltype25;
1205 int idtype26;
1206 val* var27 /* : AAttrPropdef */;
1207 val* var28 /* : null */;
1208 val* var29 /* : null */;
1209 val* var30 /* : null */;
1210 val* var31 /* : null */;
1211 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1212 long var32 /* : Int */;
1213 long var33 /* : Int */;
1214 var_p = p0;
1215 var = NULL;
1216 var_node_list = var;
1217 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1218 var_nodearraylist7 = var1;
1219 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1220 var_nodearraylist6 = var2;
1221 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1222 var_nodearraylist5 = var3;
1223 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1224 var_nodearraylist4 = var4;
1225 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1226 var_nodearraylist3 = var5;
1227 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1228 var_nodearraylist2 = var6;
1229 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1230 var_nodearraylist1 = var7;
1231 var_pdocnode2 = var_nodearraylist1;
1232 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1233 cltype = type_nullable_parser_nodes__ADoc.color;
1234 idtype = type_nullable_parser_nodes__ADoc.id;
1235 if(var_pdocnode2 == NULL) {
1236 var8 = 1;
1237 } else {
1238 if(cltype >= var_pdocnode2->type->table_size) {
1239 var8 = 0;
1240 } else {
1241 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1242 }
1243 }
1244 if (!var8) {
1245 fprintf(stderr, "Runtime error: %s", "Assert failed");
1246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18786);
1247 show_backtrace(1);
1248 }
1249 var_tkwredefnode5 = var_nodearraylist2;
1250 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1251 cltype10 = type_nullable_parser_nodes__TKwredef.color;
1252 idtype11 = type_nullable_parser_nodes__TKwredef.id;
1253 if(var_tkwredefnode5 == NULL) {
1254 var9 = 1;
1255 } else {
1256 if(cltype10 >= var_tkwredefnode5->type->table_size) {
1257 var9 = 0;
1258 } else {
1259 var9 = var_tkwredefnode5->type->type_table[cltype10] == idtype11;
1260 }
1261 }
1262 if (!var9) {
1263 fprintf(stderr, "Runtime error: %s", "Assert failed");
1264 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18788);
1265 show_backtrace(1);
1266 }
1267 var_pvisibilitynode6 = var_nodearraylist3;
1268 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1269 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1270 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1271 if(var_pvisibilitynode6 == NULL) {
1272 var12 = 1;
1273 } else {
1274 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
1275 var12 = 0;
1276 } else {
1277 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
1278 }
1279 }
1280 if (!var12) {
1281 fprintf(stderr, "Runtime error: %s", "Assert failed");
1282 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18790);
1283 show_backtrace(1);
1284 }
1285 var_tkwvarnode7 = var_nodearraylist4;
1286 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1287 cltype16 = type_nullable_parser_nodes__TKwvar.color;
1288 idtype17 = type_nullable_parser_nodes__TKwvar.id;
1289 if(var_tkwvarnode7 == NULL) {
1290 var15 = 1;
1291 } else {
1292 if(cltype16 >= var_tkwvarnode7->type->table_size) {
1293 var15 = 0;
1294 } else {
1295 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
1296 }
1297 }
1298 if (!var15) {
1299 fprintf(stderr, "Runtime error: %s", "Assert failed");
1300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18792);
1301 show_backtrace(1);
1302 }
1303 var_tidnode9 = var_nodearraylist5;
1304 /* <var_tidnode9:nullable Object> isa nullable TId */
1305 cltype19 = type_nullable_parser_nodes__TId.color;
1306 idtype20 = type_nullable_parser_nodes__TId.id;
1307 if(var_tidnode9 == NULL) {
1308 var18 = 1;
1309 } else {
1310 if(cltype19 >= var_tidnode9->type->table_size) {
1311 var18 = 0;
1312 } else {
1313 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
1314 }
1315 }
1316 if (!var18) {
1317 fprintf(stderr, "Runtime error: %s", "Assert failed");
1318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18794);
1319 show_backtrace(1);
1320 }
1321 var_ptypenode10 = var_nodearraylist6;
1322 /* <var_ptypenode10:nullable Object> isa nullable AType */
1323 cltype22 = type_nullable_parser_nodes__AType.color;
1324 idtype23 = type_nullable_parser_nodes__AType.id;
1325 if(var_ptypenode10 == NULL) {
1326 var21 = 1;
1327 } else {
1328 if(cltype22 >= var_ptypenode10->type->table_size) {
1329 var21 = 0;
1330 } else {
1331 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
1332 }
1333 }
1334 if (!var21) {
1335 fprintf(stderr, "Runtime error: %s", "Assert failed");
1336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18796);
1337 show_backtrace(1);
1338 }
1339 var_pannotationsnode11 = var_nodearraylist7;
1340 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1341 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1342 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1343 if(var_pannotationsnode11 == NULL) {
1344 var24 = 1;
1345 } else {
1346 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1347 var24 = 0;
1348 } else {
1349 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1350 }
1351 }
1352 if (!var24) {
1353 fprintf(stderr, "Runtime error: %s", "Assert failed");
1354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18798);
1355 show_backtrace(1);
1356 }
1357 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1358 var28 = NULL;
1359 var29 = NULL;
1360 var30 = NULL;
1361 var31 = NULL;
1362 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var29, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var30, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
1363 var_ppropdefnode1 = var27;
1364 var_node_list = var_ppropdefnode1;
1365 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction424> */
1366 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1367 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1368 RET_LABEL:;
1369 }
1370 /* method parser#ReduceAction424#action for (self: Object, Parser) */
1371 void VIRTUAL_parser__ReduceAction424__action(val* self, val* p0) {
1372 parser__ReduceAction424__action(self, p0);
1373 RET_LABEL:;
1374 }
1375 /* method parser#ReduceAction425#action for (self: ReduceAction425, Parser) */
1376 void parser__ReduceAction425__action(val* self, val* p0) {
1377 val* var_p /* var p: Parser */;
1378 val* var /* : null */;
1379 val* var_node_list /* var node_list: nullable Object */;
1380 val* var1 /* : nullable Object */;
1381 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1382 val* var2 /* : nullable Object */;
1383 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1384 val* var3 /* : nullable Object */;
1385 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1386 val* var4 /* : nullable Object */;
1387 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1388 val* var5 /* : nullable Object */;
1389 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1390 val* var6 /* : nullable Object */;
1391 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1392 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1393 short int var7 /* : Bool */;
1394 int cltype;
1395 int idtype;
1396 val* var_pablenode4 /* var pablenode4: nullable Object */;
1397 short int var8 /* : Bool */;
1398 int cltype9;
1399 int idtype10;
1400 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1401 short int var11 /* : Bool */;
1402 int cltype12;
1403 int idtype13;
1404 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1405 short int var14 /* : Bool */;
1406 int cltype15;
1407 int idtype16;
1408 val* var_tidnode9 /* var tidnode9: nullable Object */;
1409 short int var17 /* : Bool */;
1410 int cltype18;
1411 int idtype19;
1412 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1413 short int var20 /* : Bool */;
1414 int cltype21;
1415 int idtype22;
1416 val* var23 /* : AAttrPropdef */;
1417 val* var24 /* : null */;
1418 val* var25 /* : null */;
1419 val* var26 /* : null */;
1420 val* var27 /* : null */;
1421 val* var28 /* : null */;
1422 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1423 long var29 /* : Int */;
1424 long var30 /* : Int */;
1425 var_p = p0;
1426 var = NULL;
1427 var_node_list = var;
1428 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1429 var_nodearraylist6 = var1;
1430 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1431 var_nodearraylist5 = var2;
1432 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1433 var_nodearraylist4 = var3;
1434 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1435 var_nodearraylist3 = var4;
1436 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1437 var_nodearraylist2 = var5;
1438 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1439 var_nodearraylist1 = var6;
1440 var_pdocnode2 = var_nodearraylist1;
1441 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1442 cltype = type_nullable_parser_nodes__ADoc.color;
1443 idtype = type_nullable_parser_nodes__ADoc.id;
1444 if(var_pdocnode2 == NULL) {
1445 var7 = 1;
1446 } else {
1447 if(cltype >= var_pdocnode2->type->table_size) {
1448 var7 = 0;
1449 } else {
1450 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1451 }
1452 }
1453 if (!var7) {
1454 fprintf(stderr, "Runtime error: %s", "Assert failed");
1455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18828);
1456 show_backtrace(1);
1457 }
1458 var_pablenode4 = var_nodearraylist5;
1459 /* <var_pablenode4:nullable Object> isa nullable AAble */
1460 cltype9 = type_nullable_parser_nodes__AAble.color;
1461 idtype10 = type_nullable_parser_nodes__AAble.id;
1462 if(var_pablenode4 == NULL) {
1463 var8 = 1;
1464 } else {
1465 if(cltype9 >= var_pablenode4->type->table_size) {
1466 var8 = 0;
1467 } else {
1468 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
1469 }
1470 }
1471 if (!var8) {
1472 fprintf(stderr, "Runtime error: %s", "Assert failed");
1473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18830);
1474 show_backtrace(1);
1475 }
1476 var_pvisibilitynode6 = var_nodearraylist2;
1477 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1478 cltype12 = type_nullable_parser_nodes__AVisibility.color;
1479 idtype13 = type_nullable_parser_nodes__AVisibility.id;
1480 if(var_pvisibilitynode6 == NULL) {
1481 var11 = 1;
1482 } else {
1483 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
1484 var11 = 0;
1485 } else {
1486 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
1487 }
1488 }
1489 if (!var11) {
1490 fprintf(stderr, "Runtime error: %s", "Assert failed");
1491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18832);
1492 show_backtrace(1);
1493 }
1494 var_tkwvarnode7 = var_nodearraylist3;
1495 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1496 cltype15 = type_nullable_parser_nodes__TKwvar.color;
1497 idtype16 = type_nullable_parser_nodes__TKwvar.id;
1498 if(var_tkwvarnode7 == NULL) {
1499 var14 = 1;
1500 } else {
1501 if(cltype15 >= var_tkwvarnode7->type->table_size) {
1502 var14 = 0;
1503 } else {
1504 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
1505 }
1506 }
1507 if (!var14) {
1508 fprintf(stderr, "Runtime error: %s", "Assert failed");
1509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18834);
1510 show_backtrace(1);
1511 }
1512 var_tidnode9 = var_nodearraylist4;
1513 /* <var_tidnode9:nullable Object> isa nullable TId */
1514 cltype18 = type_nullable_parser_nodes__TId.color;
1515 idtype19 = type_nullable_parser_nodes__TId.id;
1516 if(var_tidnode9 == NULL) {
1517 var17 = 1;
1518 } else {
1519 if(cltype18 >= var_tidnode9->type->table_size) {
1520 var17 = 0;
1521 } else {
1522 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
1523 }
1524 }
1525 if (!var17) {
1526 fprintf(stderr, "Runtime error: %s", "Assert failed");
1527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18836);
1528 show_backtrace(1);
1529 }
1530 var_pannotationsnode11 = var_nodearraylist6;
1531 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1532 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
1533 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
1534 if(var_pannotationsnode11 == NULL) {
1535 var20 = 1;
1536 } else {
1537 if(cltype21 >= var_pannotationsnode11->type->table_size) {
1538 var20 = 0;
1539 } else {
1540 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
1541 }
1542 }
1543 if (!var20) {
1544 fprintf(stderr, "Runtime error: %s", "Assert failed");
1545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18838);
1546 show_backtrace(1);
1547 }
1548 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1549 var24 = NULL;
1550 var25 = NULL;
1551 var26 = NULL;
1552 var27 = NULL;
1553 var28 = NULL;
1554 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var27, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
1555 var_ppropdefnode1 = var23;
1556 var_node_list = var_ppropdefnode1;
1557 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction425> */
1558 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1559 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1560 RET_LABEL:;
1561 }
1562 /* method parser#ReduceAction425#action for (self: Object, Parser) */
1563 void VIRTUAL_parser__ReduceAction425__action(val* self, val* p0) {
1564 parser__ReduceAction425__action(self, p0);
1565 RET_LABEL:;
1566 }
1567 /* method parser#ReduceAction426#action for (self: ReduceAction426, Parser) */
1568 void parser__ReduceAction426__action(val* self, val* p0) {
1569 val* var_p /* var p: Parser */;
1570 val* var /* : null */;
1571 val* var_node_list /* var node_list: nullable Object */;
1572 val* var1 /* : nullable Object */;
1573 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1574 val* var2 /* : nullable Object */;
1575 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1576 val* var3 /* : nullable Object */;
1577 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1578 val* var4 /* : nullable Object */;
1579 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1580 val* var5 /* : nullable Object */;
1581 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1582 val* var6 /* : nullable Object */;
1583 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1584 val* var7 /* : nullable Object */;
1585 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1586 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1587 short int var8 /* : Bool */;
1588 int cltype;
1589 int idtype;
1590 val* var_pablenode4 /* var pablenode4: nullable Object */;
1591 short int var9 /* : Bool */;
1592 int cltype10;
1593 int idtype11;
1594 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1595 short int var12 /* : Bool */;
1596 int cltype13;
1597 int idtype14;
1598 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1599 short int var15 /* : Bool */;
1600 int cltype16;
1601 int idtype17;
1602 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1603 short int var18 /* : Bool */;
1604 int cltype19;
1605 int idtype20;
1606 val* var_tidnode9 /* var tidnode9: nullable Object */;
1607 short int var21 /* : Bool */;
1608 int cltype22;
1609 int idtype23;
1610 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1611 short int var24 /* : Bool */;
1612 int cltype25;
1613 int idtype26;
1614 val* var27 /* : AAttrPropdef */;
1615 val* var28 /* : null */;
1616 val* var29 /* : null */;
1617 val* var30 /* : null */;
1618 val* var31 /* : null */;
1619 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1620 long var32 /* : Int */;
1621 long var33 /* : Int */;
1622 var_p = p0;
1623 var = NULL;
1624 var_node_list = var;
1625 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1626 var_nodearraylist7 = var1;
1627 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1628 var_nodearraylist6 = var2;
1629 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1630 var_nodearraylist5 = var3;
1631 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1632 var_nodearraylist4 = var4;
1633 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1634 var_nodearraylist3 = var5;
1635 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1636 var_nodearraylist2 = var6;
1637 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1638 var_nodearraylist1 = var7;
1639 var_pdocnode2 = var_nodearraylist1;
1640 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1641 cltype = type_nullable_parser_nodes__ADoc.color;
1642 idtype = type_nullable_parser_nodes__ADoc.id;
1643 if(var_pdocnode2 == NULL) {
1644 var8 = 1;
1645 } else {
1646 if(cltype >= var_pdocnode2->type->table_size) {
1647 var8 = 0;
1648 } else {
1649 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1650 }
1651 }
1652 if (!var8) {
1653 fprintf(stderr, "Runtime error: %s", "Assert failed");
1654 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18869);
1655 show_backtrace(1);
1656 }
1657 var_pablenode4 = var_nodearraylist6;
1658 /* <var_pablenode4:nullable Object> isa nullable AAble */
1659 cltype10 = type_nullable_parser_nodes__AAble.color;
1660 idtype11 = type_nullable_parser_nodes__AAble.id;
1661 if(var_pablenode4 == NULL) {
1662 var9 = 1;
1663 } else {
1664 if(cltype10 >= var_pablenode4->type->table_size) {
1665 var9 = 0;
1666 } else {
1667 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
1668 }
1669 }
1670 if (!var9) {
1671 fprintf(stderr, "Runtime error: %s", "Assert failed");
1672 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18871);
1673 show_backtrace(1);
1674 }
1675 var_tkwredefnode5 = var_nodearraylist2;
1676 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1677 cltype13 = type_nullable_parser_nodes__TKwredef.color;
1678 idtype14 = type_nullable_parser_nodes__TKwredef.id;
1679 if(var_tkwredefnode5 == NULL) {
1680 var12 = 1;
1681 } else {
1682 if(cltype13 >= var_tkwredefnode5->type->table_size) {
1683 var12 = 0;
1684 } else {
1685 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
1686 }
1687 }
1688 if (!var12) {
1689 fprintf(stderr, "Runtime error: %s", "Assert failed");
1690 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18873);
1691 show_backtrace(1);
1692 }
1693 var_pvisibilitynode6 = var_nodearraylist3;
1694 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1695 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1696 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1697 if(var_pvisibilitynode6 == NULL) {
1698 var15 = 1;
1699 } else {
1700 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
1701 var15 = 0;
1702 } else {
1703 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
1704 }
1705 }
1706 if (!var15) {
1707 fprintf(stderr, "Runtime error: %s", "Assert failed");
1708 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18875);
1709 show_backtrace(1);
1710 }
1711 var_tkwvarnode7 = var_nodearraylist4;
1712 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1713 cltype19 = type_nullable_parser_nodes__TKwvar.color;
1714 idtype20 = type_nullable_parser_nodes__TKwvar.id;
1715 if(var_tkwvarnode7 == NULL) {
1716 var18 = 1;
1717 } else {
1718 if(cltype19 >= var_tkwvarnode7->type->table_size) {
1719 var18 = 0;
1720 } else {
1721 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
1722 }
1723 }
1724 if (!var18) {
1725 fprintf(stderr, "Runtime error: %s", "Assert failed");
1726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18877);
1727 show_backtrace(1);
1728 }
1729 var_tidnode9 = var_nodearraylist5;
1730 /* <var_tidnode9:nullable Object> isa nullable TId */
1731 cltype22 = type_nullable_parser_nodes__TId.color;
1732 idtype23 = type_nullable_parser_nodes__TId.id;
1733 if(var_tidnode9 == NULL) {
1734 var21 = 1;
1735 } else {
1736 if(cltype22 >= var_tidnode9->type->table_size) {
1737 var21 = 0;
1738 } else {
1739 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
1740 }
1741 }
1742 if (!var21) {
1743 fprintf(stderr, "Runtime error: %s", "Assert failed");
1744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18879);
1745 show_backtrace(1);
1746 }
1747 var_pannotationsnode11 = var_nodearraylist7;
1748 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1749 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1750 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1751 if(var_pannotationsnode11 == NULL) {
1752 var24 = 1;
1753 } else {
1754 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1755 var24 = 0;
1756 } else {
1757 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1758 }
1759 }
1760 if (!var24) {
1761 fprintf(stderr, "Runtime error: %s", "Assert failed");
1762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18881);
1763 show_backtrace(1);
1764 }
1765 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1766 var28 = NULL;
1767 var29 = NULL;
1768 var30 = NULL;
1769 var31 = NULL;
1770 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var30, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
1771 var_ppropdefnode1 = var27;
1772 var_node_list = var_ppropdefnode1;
1773 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction426> */
1774 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1775 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1776 RET_LABEL:;
1777 }
1778 /* method parser#ReduceAction426#action for (self: Object, Parser) */
1779 void VIRTUAL_parser__ReduceAction426__action(val* self, val* p0) {
1780 parser__ReduceAction426__action(self, p0);
1781 RET_LABEL:;
1782 }
1783 /* method parser#ReduceAction427#action for (self: ReduceAction427, Parser) */
1784 void parser__ReduceAction427__action(val* self, val* p0) {
1785 val* var_p /* var p: Parser */;
1786 val* var /* : null */;
1787 val* var_node_list /* var node_list: nullable Object */;
1788 val* var1 /* : nullable Object */;
1789 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1790 val* var2 /* : nullable Object */;
1791 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1792 val* var3 /* : nullable Object */;
1793 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1794 val* var4 /* : nullable Object */;
1795 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1796 val* var5 /* : nullable Object */;
1797 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1798 val* var6 /* : nullable Object */;
1799 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1800 val* var7 /* : nullable Object */;
1801 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1802 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1803 short int var8 /* : Bool */;
1804 int cltype;
1805 int idtype;
1806 val* var_pablenode4 /* var pablenode4: nullable Object */;
1807 short int var9 /* : Bool */;
1808 int cltype10;
1809 int idtype11;
1810 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1811 short int var12 /* : Bool */;
1812 int cltype13;
1813 int idtype14;
1814 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1815 short int var15 /* : Bool */;
1816 int cltype16;
1817 int idtype17;
1818 val* var_tidnode9 /* var tidnode9: nullable Object */;
1819 short int var18 /* : Bool */;
1820 int cltype19;
1821 int idtype20;
1822 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1823 short int var21 /* : Bool */;
1824 int cltype22;
1825 int idtype23;
1826 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1827 short int var24 /* : Bool */;
1828 int cltype25;
1829 int idtype26;
1830 val* var27 /* : AAttrPropdef */;
1831 val* var28 /* : null */;
1832 val* var29 /* : null */;
1833 val* var30 /* : null */;
1834 val* var31 /* : null */;
1835 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1836 long var32 /* : Int */;
1837 long var33 /* : Int */;
1838 var_p = p0;
1839 var = NULL;
1840 var_node_list = var;
1841 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1842 var_nodearraylist7 = var1;
1843 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1844 var_nodearraylist6 = var2;
1845 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1846 var_nodearraylist5 = var3;
1847 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1848 var_nodearraylist4 = var4;
1849 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1850 var_nodearraylist3 = var5;
1851 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1852 var_nodearraylist2 = var6;
1853 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1854 var_nodearraylist1 = var7;
1855 var_pdocnode2 = var_nodearraylist1;
1856 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1857 cltype = type_nullable_parser_nodes__ADoc.color;
1858 idtype = type_nullable_parser_nodes__ADoc.id;
1859 if(var_pdocnode2 == NULL) {
1860 var8 = 1;
1861 } else {
1862 if(cltype >= var_pdocnode2->type->table_size) {
1863 var8 = 0;
1864 } else {
1865 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1866 }
1867 }
1868 if (!var8) {
1869 fprintf(stderr, "Runtime error: %s", "Assert failed");
1870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18912);
1871 show_backtrace(1);
1872 }
1873 var_pablenode4 = var_nodearraylist6;
1874 /* <var_pablenode4:nullable Object> isa nullable AAble */
1875 cltype10 = type_nullable_parser_nodes__AAble.color;
1876 idtype11 = type_nullable_parser_nodes__AAble.id;
1877 if(var_pablenode4 == NULL) {
1878 var9 = 1;
1879 } else {
1880 if(cltype10 >= var_pablenode4->type->table_size) {
1881 var9 = 0;
1882 } else {
1883 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
1884 }
1885 }
1886 if (!var9) {
1887 fprintf(stderr, "Runtime error: %s", "Assert failed");
1888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18914);
1889 show_backtrace(1);
1890 }
1891 var_pvisibilitynode6 = var_nodearraylist2;
1892 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1893 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1894 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1895 if(var_pvisibilitynode6 == NULL) {
1896 var12 = 1;
1897 } else {
1898 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
1899 var12 = 0;
1900 } else {
1901 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
1902 }
1903 }
1904 if (!var12) {
1905 fprintf(stderr, "Runtime error: %s", "Assert failed");
1906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18916);
1907 show_backtrace(1);
1908 }
1909 var_tkwvarnode7 = var_nodearraylist3;
1910 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1911 cltype16 = type_nullable_parser_nodes__TKwvar.color;
1912 idtype17 = type_nullable_parser_nodes__TKwvar.id;
1913 if(var_tkwvarnode7 == NULL) {
1914 var15 = 1;
1915 } else {
1916 if(cltype16 >= var_tkwvarnode7->type->table_size) {
1917 var15 = 0;
1918 } else {
1919 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
1920 }
1921 }
1922 if (!var15) {
1923 fprintf(stderr, "Runtime error: %s", "Assert failed");
1924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18918);
1925 show_backtrace(1);
1926 }
1927 var_tidnode9 = var_nodearraylist4;
1928 /* <var_tidnode9:nullable Object> isa nullable TId */
1929 cltype19 = type_nullable_parser_nodes__TId.color;
1930 idtype20 = type_nullable_parser_nodes__TId.id;
1931 if(var_tidnode9 == NULL) {
1932 var18 = 1;
1933 } else {
1934 if(cltype19 >= var_tidnode9->type->table_size) {
1935 var18 = 0;
1936 } else {
1937 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
1938 }
1939 }
1940 if (!var18) {
1941 fprintf(stderr, "Runtime error: %s", "Assert failed");
1942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18920);
1943 show_backtrace(1);
1944 }
1945 var_ptypenode10 = var_nodearraylist5;
1946 /* <var_ptypenode10:nullable Object> isa nullable AType */
1947 cltype22 = type_nullable_parser_nodes__AType.color;
1948 idtype23 = type_nullable_parser_nodes__AType.id;
1949 if(var_ptypenode10 == NULL) {
1950 var21 = 1;
1951 } else {
1952 if(cltype22 >= var_ptypenode10->type->table_size) {
1953 var21 = 0;
1954 } else {
1955 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
1956 }
1957 }
1958 if (!var21) {
1959 fprintf(stderr, "Runtime error: %s", "Assert failed");
1960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18922);
1961 show_backtrace(1);
1962 }
1963 var_pannotationsnode11 = var_nodearraylist7;
1964 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1965 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1966 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1967 if(var_pannotationsnode11 == NULL) {
1968 var24 = 1;
1969 } else {
1970 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1971 var24 = 0;
1972 } else {
1973 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1974 }
1975 }
1976 if (!var24) {
1977 fprintf(stderr, "Runtime error: %s", "Assert failed");
1978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18924);
1979 show_backtrace(1);
1980 }
1981 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1982 var28 = NULL;
1983 var29 = NULL;
1984 var30 = NULL;
1985 var31 = NULL;
1986 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var29, var_pvisibilitynode6, var_tkwvarnode7, var30, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
1987 var_ppropdefnode1 = var27;
1988 var_node_list = var_ppropdefnode1;
1989 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction427> */
1990 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1991 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1992 RET_LABEL:;
1993 }
1994 /* method parser#ReduceAction427#action for (self: Object, Parser) */
1995 void VIRTUAL_parser__ReduceAction427__action(val* self, val* p0) {
1996 parser__ReduceAction427__action(self, p0);
1997 RET_LABEL:;
1998 }
1999 /* method parser#ReduceAction428#action for (self: ReduceAction428, Parser) */
2000 void parser__ReduceAction428__action(val* self, val* p0) {
2001 val* var_p /* var p: Parser */;
2002 val* var /* : null */;
2003 val* var_node_list /* var node_list: nullable Object */;
2004 val* var1 /* : nullable Object */;
2005 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2006 val* var2 /* : nullable Object */;
2007 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2008 val* var3 /* : nullable Object */;
2009 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2010 val* var4 /* : nullable Object */;
2011 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2012 val* var5 /* : nullable Object */;
2013 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2014 val* var6 /* : nullable Object */;
2015 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2016 val* var7 /* : nullable Object */;
2017 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2018 val* var8 /* : nullable Object */;
2019 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2020 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2021 short int var9 /* : Bool */;
2022 int cltype;
2023 int idtype;
2024 val* var_pablenode4 /* var pablenode4: nullable Object */;
2025 short int var10 /* : Bool */;
2026 int cltype11;
2027 int idtype12;
2028 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2029 short int var13 /* : Bool */;
2030 int cltype14;
2031 int idtype15;
2032 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2033 short int var16 /* : Bool */;
2034 int cltype17;
2035 int idtype18;
2036 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2037 short int var19 /* : Bool */;
2038 int cltype20;
2039 int idtype21;
2040 val* var_tidnode9 /* var tidnode9: nullable Object */;
2041 short int var22 /* : Bool */;
2042 int cltype23;
2043 int idtype24;
2044 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2045 short int var25 /* : Bool */;
2046 int cltype26;
2047 int idtype27;
2048 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
2049 short int var28 /* : Bool */;
2050 int cltype29;
2051 int idtype30;
2052 val* var31 /* : AAttrPropdef */;
2053 val* var32 /* : null */;
2054 val* var33 /* : null */;
2055 val* var34 /* : null */;
2056 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2057 long var35 /* : Int */;
2058 long var36 /* : Int */;
2059 var_p = p0;
2060 var = NULL;
2061 var_node_list = var;
2062 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2063 var_nodearraylist8 = var1;
2064 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2065 var_nodearraylist7 = var2;
2066 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2067 var_nodearraylist6 = var3;
2068 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2069 var_nodearraylist5 = var4;
2070 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2071 var_nodearraylist4 = var5;
2072 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2073 var_nodearraylist3 = var6;
2074 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2075 var_nodearraylist2 = var7;
2076 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2077 var_nodearraylist1 = var8;
2078 var_pdocnode2 = var_nodearraylist1;
2079 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2080 cltype = type_nullable_parser_nodes__ADoc.color;
2081 idtype = type_nullable_parser_nodes__ADoc.id;
2082 if(var_pdocnode2 == NULL) {
2083 var9 = 1;
2084 } else {
2085 if(cltype >= var_pdocnode2->type->table_size) {
2086 var9 = 0;
2087 } else {
2088 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2089 }
2090 }
2091 if (!var9) {
2092 fprintf(stderr, "Runtime error: %s", "Assert failed");
2093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18956);
2094 show_backtrace(1);
2095 }
2096 var_pablenode4 = var_nodearraylist7;
2097 /* <var_pablenode4:nullable Object> isa nullable AAble */
2098 cltype11 = type_nullable_parser_nodes__AAble.color;
2099 idtype12 = type_nullable_parser_nodes__AAble.id;
2100 if(var_pablenode4 == NULL) {
2101 var10 = 1;
2102 } else {
2103 if(cltype11 >= var_pablenode4->type->table_size) {
2104 var10 = 0;
2105 } else {
2106 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
2107 }
2108 }
2109 if (!var10) {
2110 fprintf(stderr, "Runtime error: %s", "Assert failed");
2111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18958);
2112 show_backtrace(1);
2113 }
2114 var_tkwredefnode5 = var_nodearraylist2;
2115 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2116 cltype14 = type_nullable_parser_nodes__TKwredef.color;
2117 idtype15 = type_nullable_parser_nodes__TKwredef.id;
2118 if(var_tkwredefnode5 == NULL) {
2119 var13 = 1;
2120 } else {
2121 if(cltype14 >= var_tkwredefnode5->type->table_size) {
2122 var13 = 0;
2123 } else {
2124 var13 = var_tkwredefnode5->type->type_table[cltype14] == idtype15;
2125 }
2126 }
2127 if (!var13) {
2128 fprintf(stderr, "Runtime error: %s", "Assert failed");
2129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18960);
2130 show_backtrace(1);
2131 }
2132 var_pvisibilitynode6 = var_nodearraylist3;
2133 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2134 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2135 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2136 if(var_pvisibilitynode6 == NULL) {
2137 var16 = 1;
2138 } else {
2139 if(cltype17 >= var_pvisibilitynode6->type->table_size) {
2140 var16 = 0;
2141 } else {
2142 var16 = var_pvisibilitynode6->type->type_table[cltype17] == idtype18;
2143 }
2144 }
2145 if (!var16) {
2146 fprintf(stderr, "Runtime error: %s", "Assert failed");
2147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18962);
2148 show_backtrace(1);
2149 }
2150 var_tkwvarnode7 = var_nodearraylist4;
2151 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2152 cltype20 = type_nullable_parser_nodes__TKwvar.color;
2153 idtype21 = type_nullable_parser_nodes__TKwvar.id;
2154 if(var_tkwvarnode7 == NULL) {
2155 var19 = 1;
2156 } else {
2157 if(cltype20 >= var_tkwvarnode7->type->table_size) {
2158 var19 = 0;
2159 } else {
2160 var19 = var_tkwvarnode7->type->type_table[cltype20] == idtype21;
2161 }
2162 }
2163 if (!var19) {
2164 fprintf(stderr, "Runtime error: %s", "Assert failed");
2165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18964);
2166 show_backtrace(1);
2167 }
2168 var_tidnode9 = var_nodearraylist5;
2169 /* <var_tidnode9:nullable Object> isa nullable TId */
2170 cltype23 = type_nullable_parser_nodes__TId.color;
2171 idtype24 = type_nullable_parser_nodes__TId.id;
2172 if(var_tidnode9 == NULL) {
2173 var22 = 1;
2174 } else {
2175 if(cltype23 >= var_tidnode9->type->table_size) {
2176 var22 = 0;
2177 } else {
2178 var22 = var_tidnode9->type->type_table[cltype23] == idtype24;
2179 }
2180 }
2181 if (!var22) {
2182 fprintf(stderr, "Runtime error: %s", "Assert failed");
2183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18966);
2184 show_backtrace(1);
2185 }
2186 var_ptypenode10 = var_nodearraylist6;
2187 /* <var_ptypenode10:nullable Object> isa nullable AType */
2188 cltype26 = type_nullable_parser_nodes__AType.color;
2189 idtype27 = type_nullable_parser_nodes__AType.id;
2190 if(var_ptypenode10 == NULL) {
2191 var25 = 1;
2192 } else {
2193 if(cltype26 >= var_ptypenode10->type->table_size) {
2194 var25 = 0;
2195 } else {
2196 var25 = var_ptypenode10->type->type_table[cltype26] == idtype27;
2197 }
2198 }
2199 if (!var25) {
2200 fprintf(stderr, "Runtime error: %s", "Assert failed");
2201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18968);
2202 show_backtrace(1);
2203 }
2204 var_pannotationsnode11 = var_nodearraylist8;
2205 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2206 cltype29 = type_nullable_parser_nodes__AAnnotations.color;
2207 idtype30 = type_nullable_parser_nodes__AAnnotations.id;
2208 if(var_pannotationsnode11 == NULL) {
2209 var28 = 1;
2210 } else {
2211 if(cltype29 >= var_pannotationsnode11->type->table_size) {
2212 var28 = 0;
2213 } else {
2214 var28 = var_pannotationsnode11->type->type_table[cltype29] == idtype30;
2215 }
2216 }
2217 if (!var28) {
2218 fprintf(stderr, "Runtime error: %s", "Assert failed");
2219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18970);
2220 show_backtrace(1);
2221 }
2222 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2223 var32 = NULL;
2224 var33 = NULL;
2225 var34 = NULL;
2226 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var31, var_pdocnode2, var32, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var33, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var34) /* init_aattrpropdef on <var31:AAttrPropdef>*/;
2227 var_ppropdefnode1 = var31;
2228 var_node_list = var_ppropdefnode1;
2229 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction428> */
2230 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2231 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2232 RET_LABEL:;
2233 }
2234 /* method parser#ReduceAction428#action for (self: Object, Parser) */
2235 void VIRTUAL_parser__ReduceAction428__action(val* self, val* p0) {
2236 parser__ReduceAction428__action(self, p0);
2237 RET_LABEL:;
2238 }
2239 /* method parser#ReduceAction429#action for (self: ReduceAction429, Parser) */
2240 void parser__ReduceAction429__action(val* self, val* p0) {
2241 val* var_p /* var p: Parser */;
2242 val* var /* : null */;
2243 val* var_node_list /* var node_list: nullable Object */;
2244 val* var1 /* : nullable Object */;
2245 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2246 val* var2 /* : nullable Object */;
2247 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2248 val* var3 /* : nullable Object */;
2249 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2250 val* var4 /* : nullable Object */;
2251 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2252 val* var5 /* : nullable Object */;
2253 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2254 val* var6 /* : nullable Object */;
2255 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2256 val* var7 /* : nullable Object */;
2257 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2258 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2259 short int var8 /* : Bool */;
2260 int cltype;
2261 int idtype;
2262 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2263 short int var9 /* : Bool */;
2264 int cltype10;
2265 int idtype11;
2266 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2267 short int var12 /* : Bool */;
2268 int cltype13;
2269 int idtype14;
2270 val* var_tidnode9 /* var tidnode9: nullable Object */;
2271 short int var15 /* : Bool */;
2272 int cltype16;
2273 int idtype17;
2274 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2275 short int var18 /* : Bool */;
2276 int cltype19;
2277 int idtype20;
2278 val* var21 /* : AAttrPropdef */;
2279 val* var22 /* : null */;
2280 val* var23 /* : null */;
2281 val* var24 /* : null */;
2282 val* var25 /* : null */;
2283 val* var26 /* : null */;
2284 val* var27 /* : null */;
2285 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2286 long var28 /* : Int */;
2287 long var29 /* : Int */;
2288 var_p = p0;
2289 var = NULL;
2290 var_node_list = var;
2291 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2292 var_nodearraylist7 = var1;
2293 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2294 var_nodearraylist6 = var2;
2295 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2296 var_nodearraylist5 = var3;
2297 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2298 var_nodearraylist4 = var4;
2299 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2300 var_nodearraylist3 = var5;
2301 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2302 var_nodearraylist2 = var6;
2303 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2304 var_nodearraylist1 = var7;
2305 var_pdocnode2 = var_nodearraylist1;
2306 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2307 cltype = type_nullable_parser_nodes__ADoc.color;
2308 idtype = type_nullable_parser_nodes__ADoc.id;
2309 if(var_pdocnode2 == NULL) {
2310 var8 = 1;
2311 } else {
2312 if(cltype >= var_pdocnode2->type->table_size) {
2313 var8 = 0;
2314 } else {
2315 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2316 }
2317 }
2318 if (!var8) {
2319 fprintf(stderr, "Runtime error: %s", "Assert failed");
2320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19001);
2321 show_backtrace(1);
2322 }
2323 var_pvisibilitynode6 = var_nodearraylist2;
2324 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2325 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2326 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2327 if(var_pvisibilitynode6 == NULL) {
2328 var9 = 1;
2329 } else {
2330 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
2331 var9 = 0;
2332 } else {
2333 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
2334 }
2335 }
2336 if (!var9) {
2337 fprintf(stderr, "Runtime error: %s", "Assert failed");
2338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19003);
2339 show_backtrace(1);
2340 }
2341 var_tkwvarnode7 = var_nodearraylist3;
2342 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2343 cltype13 = type_nullable_parser_nodes__TKwvar.color;
2344 idtype14 = type_nullable_parser_nodes__TKwvar.id;
2345 if(var_tkwvarnode7 == NULL) {
2346 var12 = 1;
2347 } else {
2348 if(cltype13 >= var_tkwvarnode7->type->table_size) {
2349 var12 = 0;
2350 } else {
2351 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
2352 }
2353 }
2354 if (!var12) {
2355 fprintf(stderr, "Runtime error: %s", "Assert failed");
2356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19005);
2357 show_backtrace(1);
2358 }
2359 var_tidnode9 = var_nodearraylist4;
2360 /* <var_tidnode9:nullable Object> isa nullable TId */
2361 cltype16 = type_nullable_parser_nodes__TId.color;
2362 idtype17 = type_nullable_parser_nodes__TId.id;
2363 if(var_tidnode9 == NULL) {
2364 var15 = 1;
2365 } else {
2366 if(cltype16 >= var_tidnode9->type->table_size) {
2367 var15 = 0;
2368 } else {
2369 var15 = var_tidnode9->type->type_table[cltype16] == idtype17;
2370 }
2371 }
2372 if (!var15) {
2373 fprintf(stderr, "Runtime error: %s", "Assert failed");
2374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19007);
2375 show_backtrace(1);
2376 }
2377 var_pexprnode12 = var_nodearraylist7;
2378 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2379 cltype19 = type_nullable_parser_nodes__AExpr.color;
2380 idtype20 = type_nullable_parser_nodes__AExpr.id;
2381 if(var_pexprnode12 == NULL) {
2382 var18 = 1;
2383 } else {
2384 if(cltype19 >= var_pexprnode12->type->table_size) {
2385 var18 = 0;
2386 } else {
2387 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
2388 }
2389 }
2390 if (!var18) {
2391 fprintf(stderr, "Runtime error: %s", "Assert failed");
2392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19009);
2393 show_backtrace(1);
2394 }
2395 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2396 var22 = NULL;
2397 var23 = NULL;
2398 var24 = NULL;
2399 var25 = NULL;
2400 var26 = NULL;
2401 var27 = NULL;
2402 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var21, var_pdocnode2, var22, var23, var24, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var_pexprnode12) /* init_aattrpropdef on <var21:AAttrPropdef>*/;
2403 var_ppropdefnode1 = var21;
2404 var_node_list = var_ppropdefnode1;
2405 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction429> */
2406 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
2407 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
2408 RET_LABEL:;
2409 }
2410 /* method parser#ReduceAction429#action for (self: Object, Parser) */
2411 void VIRTUAL_parser__ReduceAction429__action(val* self, val* p0) {
2412 parser__ReduceAction429__action(self, p0);
2413 RET_LABEL:;
2414 }
2415 /* method parser#ReduceAction430#action for (self: ReduceAction430, Parser) */
2416 void parser__ReduceAction430__action(val* self, val* p0) {
2417 val* var_p /* var p: Parser */;
2418 val* var /* : null */;
2419 val* var_node_list /* var node_list: nullable Object */;
2420 val* var1 /* : nullable Object */;
2421 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2422 val* var2 /* : nullable Object */;
2423 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2424 val* var3 /* : nullable Object */;
2425 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2426 val* var4 /* : nullable Object */;
2427 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2428 val* var5 /* : nullable Object */;
2429 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2430 val* var6 /* : nullable Object */;
2431 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2432 val* var7 /* : nullable Object */;
2433 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2434 val* var8 /* : nullable Object */;
2435 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2436 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2437 short int var9 /* : Bool */;
2438 int cltype;
2439 int idtype;
2440 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2441 short int var10 /* : Bool */;
2442 int cltype11;
2443 int idtype12;
2444 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2445 short int var13 /* : Bool */;
2446 int cltype14;
2447 int idtype15;
2448 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2449 short int var16 /* : Bool */;
2450 int cltype17;
2451 int idtype18;
2452 val* var_tidnode9 /* var tidnode9: nullable Object */;
2453 short int var19 /* : Bool */;
2454 int cltype20;
2455 int idtype21;
2456 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2457 short int var22 /* : Bool */;
2458 int cltype23;
2459 int idtype24;
2460 val* var25 /* : AAttrPropdef */;
2461 val* var26 /* : null */;
2462 val* var27 /* : null */;
2463 val* var28 /* : null */;
2464 val* var29 /* : null */;
2465 val* var30 /* : null */;
2466 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2467 long var31 /* : Int */;
2468 long var32 /* : Int */;
2469 var_p = p0;
2470 var = NULL;
2471 var_node_list = var;
2472 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2473 var_nodearraylist8 = var1;
2474 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2475 var_nodearraylist7 = var2;
2476 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2477 var_nodearraylist6 = var3;
2478 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2479 var_nodearraylist5 = var4;
2480 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2481 var_nodearraylist4 = var5;
2482 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2483 var_nodearraylist3 = var6;
2484 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2485 var_nodearraylist2 = var7;
2486 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2487 var_nodearraylist1 = var8;
2488 var_pdocnode2 = var_nodearraylist1;
2489 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2490 cltype = type_nullable_parser_nodes__ADoc.color;
2491 idtype = type_nullable_parser_nodes__ADoc.id;
2492 if(var_pdocnode2 == NULL) {
2493 var9 = 1;
2494 } else {
2495 if(cltype >= var_pdocnode2->type->table_size) {
2496 var9 = 0;
2497 } else {
2498 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2499 }
2500 }
2501 if (!var9) {
2502 fprintf(stderr, "Runtime error: %s", "Assert failed");
2503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19041);
2504 show_backtrace(1);
2505 }
2506 var_tkwredefnode5 = var_nodearraylist2;
2507 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2508 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2509 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2510 if(var_tkwredefnode5 == NULL) {
2511 var10 = 1;
2512 } else {
2513 if(cltype11 >= var_tkwredefnode5->type->table_size) {
2514 var10 = 0;
2515 } else {
2516 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
2517 }
2518 }
2519 if (!var10) {
2520 fprintf(stderr, "Runtime error: %s", "Assert failed");
2521 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19043);
2522 show_backtrace(1);
2523 }
2524 var_pvisibilitynode6 = var_nodearraylist3;
2525 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2526 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2527 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2528 if(var_pvisibilitynode6 == NULL) {
2529 var13 = 1;
2530 } else {
2531 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
2532 var13 = 0;
2533 } else {
2534 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
2535 }
2536 }
2537 if (!var13) {
2538 fprintf(stderr, "Runtime error: %s", "Assert failed");
2539 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19045);
2540 show_backtrace(1);
2541 }
2542 var_tkwvarnode7 = var_nodearraylist4;
2543 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2544 cltype17 = type_nullable_parser_nodes__TKwvar.color;
2545 idtype18 = type_nullable_parser_nodes__TKwvar.id;
2546 if(var_tkwvarnode7 == NULL) {
2547 var16 = 1;
2548 } else {
2549 if(cltype17 >= var_tkwvarnode7->type->table_size) {
2550 var16 = 0;
2551 } else {
2552 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
2553 }
2554 }
2555 if (!var16) {
2556 fprintf(stderr, "Runtime error: %s", "Assert failed");
2557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19047);
2558 show_backtrace(1);
2559 }
2560 var_tidnode9 = var_nodearraylist5;
2561 /* <var_tidnode9:nullable Object> isa nullable TId */
2562 cltype20 = type_nullable_parser_nodes__TId.color;
2563 idtype21 = type_nullable_parser_nodes__TId.id;
2564 if(var_tidnode9 == NULL) {
2565 var19 = 1;
2566 } else {
2567 if(cltype20 >= var_tidnode9->type->table_size) {
2568 var19 = 0;
2569 } else {
2570 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
2571 }
2572 }
2573 if (!var19) {
2574 fprintf(stderr, "Runtime error: %s", "Assert failed");
2575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19049);
2576 show_backtrace(1);
2577 }
2578 var_pexprnode12 = var_nodearraylist8;
2579 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2580 cltype23 = type_nullable_parser_nodes__AExpr.color;
2581 idtype24 = type_nullable_parser_nodes__AExpr.id;
2582 if(var_pexprnode12 == NULL) {
2583 var22 = 1;
2584 } else {
2585 if(cltype23 >= var_pexprnode12->type->table_size) {
2586 var22 = 0;
2587 } else {
2588 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
2589 }
2590 }
2591 if (!var22) {
2592 fprintf(stderr, "Runtime error: %s", "Assert failed");
2593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19051);
2594 show_backtrace(1);
2595 }
2596 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2597 var26 = NULL;
2598 var27 = NULL;
2599 var28 = NULL;
2600 var29 = NULL;
2601 var30 = NULL;
2602 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var28, var_tidnode9, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
2603 var_ppropdefnode1 = var25;
2604 var_node_list = var_ppropdefnode1;
2605 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction430> */
2606 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
2607 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
2608 RET_LABEL:;
2609 }
2610 /* method parser#ReduceAction430#action for (self: Object, Parser) */
2611 void VIRTUAL_parser__ReduceAction430__action(val* self, val* p0) {
2612 parser__ReduceAction430__action(self, p0);
2613 RET_LABEL:;
2614 }
2615 /* method parser#ReduceAction431#action for (self: ReduceAction431, Parser) */
2616 void parser__ReduceAction431__action(val* self, val* p0) {
2617 val* var_p /* var p: Parser */;
2618 val* var /* : null */;
2619 val* var_node_list /* var node_list: nullable Object */;
2620 val* var1 /* : nullable Object */;
2621 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2622 val* var2 /* : nullable Object */;
2623 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2624 val* var3 /* : nullable Object */;
2625 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2626 val* var4 /* : nullable Object */;
2627 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2628 val* var5 /* : nullable Object */;
2629 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2630 val* var6 /* : nullable Object */;
2631 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2632 val* var7 /* : nullable Object */;
2633 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2634 val* var8 /* : nullable Object */;
2635 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2636 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2637 short int var9 /* : Bool */;
2638 int cltype;
2639 int idtype;
2640 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2641 short int var10 /* : Bool */;
2642 int cltype11;
2643 int idtype12;
2644 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2645 short int var13 /* : Bool */;
2646 int cltype14;
2647 int idtype15;
2648 val* var_tidnode9 /* var tidnode9: nullable Object */;
2649 short int var16 /* : Bool */;
2650 int cltype17;
2651 int idtype18;
2652 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2653 short int var19 /* : Bool */;
2654 int cltype20;
2655 int idtype21;
2656 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2657 short int var22 /* : Bool */;
2658 int cltype23;
2659 int idtype24;
2660 val* var25 /* : AAttrPropdef */;
2661 val* var26 /* : null */;
2662 val* var27 /* : null */;
2663 val* var28 /* : null */;
2664 val* var29 /* : null */;
2665 val* var30 /* : null */;
2666 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2667 long var31 /* : Int */;
2668 long var32 /* : Int */;
2669 var_p = p0;
2670 var = NULL;
2671 var_node_list = var;
2672 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2673 var_nodearraylist8 = var1;
2674 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2675 var_nodearraylist7 = var2;
2676 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2677 var_nodearraylist6 = var3;
2678 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2679 var_nodearraylist5 = var4;
2680 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2681 var_nodearraylist4 = var5;
2682 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2683 var_nodearraylist3 = var6;
2684 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2685 var_nodearraylist2 = var7;
2686 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2687 var_nodearraylist1 = var8;
2688 var_pdocnode2 = var_nodearraylist1;
2689 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2690 cltype = type_nullable_parser_nodes__ADoc.color;
2691 idtype = type_nullable_parser_nodes__ADoc.id;
2692 if(var_pdocnode2 == NULL) {
2693 var9 = 1;
2694 } else {
2695 if(cltype >= var_pdocnode2->type->table_size) {
2696 var9 = 0;
2697 } else {
2698 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2699 }
2700 }
2701 if (!var9) {
2702 fprintf(stderr, "Runtime error: %s", "Assert failed");
2703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19083);
2704 show_backtrace(1);
2705 }
2706 var_pvisibilitynode6 = var_nodearraylist2;
2707 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2708 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2709 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2710 if(var_pvisibilitynode6 == NULL) {
2711 var10 = 1;
2712 } else {
2713 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2714 var10 = 0;
2715 } else {
2716 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2717 }
2718 }
2719 if (!var10) {
2720 fprintf(stderr, "Runtime error: %s", "Assert failed");
2721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19085);
2722 show_backtrace(1);
2723 }
2724 var_tkwvarnode7 = var_nodearraylist3;
2725 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2726 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2727 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2728 if(var_tkwvarnode7 == NULL) {
2729 var13 = 1;
2730 } else {
2731 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2732 var13 = 0;
2733 } else {
2734 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2735 }
2736 }
2737 if (!var13) {
2738 fprintf(stderr, "Runtime error: %s", "Assert failed");
2739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19087);
2740 show_backtrace(1);
2741 }
2742 var_tidnode9 = var_nodearraylist4;
2743 /* <var_tidnode9:nullable Object> isa nullable TId */
2744 cltype17 = type_nullable_parser_nodes__TId.color;
2745 idtype18 = type_nullable_parser_nodes__TId.id;
2746 if(var_tidnode9 == NULL) {
2747 var16 = 1;
2748 } else {
2749 if(cltype17 >= var_tidnode9->type->table_size) {
2750 var16 = 0;
2751 } else {
2752 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
2753 }
2754 }
2755 if (!var16) {
2756 fprintf(stderr, "Runtime error: %s", "Assert failed");
2757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19089);
2758 show_backtrace(1);
2759 }
2760 var_ptypenode10 = var_nodearraylist5;
2761 /* <var_ptypenode10:nullable Object> isa nullable AType */
2762 cltype20 = type_nullable_parser_nodes__AType.color;
2763 idtype21 = type_nullable_parser_nodes__AType.id;
2764 if(var_ptypenode10 == NULL) {
2765 var19 = 1;
2766 } else {
2767 if(cltype20 >= var_ptypenode10->type->table_size) {
2768 var19 = 0;
2769 } else {
2770 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
2771 }
2772 }
2773 if (!var19) {
2774 fprintf(stderr, "Runtime error: %s", "Assert failed");
2775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19091);
2776 show_backtrace(1);
2777 }
2778 var_pexprnode12 = var_nodearraylist8;
2779 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2780 cltype23 = type_nullable_parser_nodes__AExpr.color;
2781 idtype24 = type_nullable_parser_nodes__AExpr.id;
2782 if(var_pexprnode12 == NULL) {
2783 var22 = 1;
2784 } else {
2785 if(cltype23 >= var_pexprnode12->type->table_size) {
2786 var22 = 0;
2787 } else {
2788 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
2789 }
2790 }
2791 if (!var22) {
2792 fprintf(stderr, "Runtime error: %s", "Assert failed");
2793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19093);
2794 show_backtrace(1);
2795 }
2796 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2797 var26 = NULL;
2798 var27 = NULL;
2799 var28 = NULL;
2800 var29 = NULL;
2801 var30 = NULL;
2802 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var_ptypenode10, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
2803 var_ppropdefnode1 = var25;
2804 var_node_list = var_ppropdefnode1;
2805 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction431> */
2806 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
2807 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
2808 RET_LABEL:;
2809 }
2810 /* method parser#ReduceAction431#action for (self: Object, Parser) */
2811 void VIRTUAL_parser__ReduceAction431__action(val* self, val* p0) {
2812 parser__ReduceAction431__action(self, p0);
2813 RET_LABEL:;
2814 }
2815 /* method parser#ReduceAction432#action for (self: ReduceAction432, Parser) */
2816 void parser__ReduceAction432__action(val* self, val* p0) {
2817 val* var_p /* var p: Parser */;
2818 val* var /* : null */;
2819 val* var_node_list /* var node_list: nullable Object */;
2820 val* var1 /* : nullable Object */;
2821 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2822 val* var2 /* : nullable Object */;
2823 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2824 val* var3 /* : nullable Object */;
2825 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2826 val* var4 /* : nullable Object */;
2827 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2828 val* var5 /* : nullable Object */;
2829 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2830 val* var6 /* : nullable Object */;
2831 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2832 val* var7 /* : nullable Object */;
2833 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2834 val* var8 /* : nullable Object */;
2835 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2836 val* var9 /* : nullable Object */;
2837 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2838 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2839 short int var10 /* : Bool */;
2840 int cltype;
2841 int idtype;
2842 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2843 short int var11 /* : Bool */;
2844 int cltype12;
2845 int idtype13;
2846 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2847 short int var14 /* : Bool */;
2848 int cltype15;
2849 int idtype16;
2850 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2851 short int var17 /* : Bool */;
2852 int cltype18;
2853 int idtype19;
2854 val* var_tidnode9 /* var tidnode9: nullable Object */;
2855 short int var20 /* : Bool */;
2856 int cltype21;
2857 int idtype22;
2858 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2859 short int var23 /* : Bool */;
2860 int cltype24;
2861 int idtype25;
2862 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2863 short int var26 /* : Bool */;
2864 int cltype27;
2865 int idtype28;
2866 val* var29 /* : AAttrPropdef */;
2867 val* var30 /* : null */;
2868 val* var31 /* : null */;
2869 val* var32 /* : null */;
2870 val* var33 /* : null */;
2871 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2872 long var34 /* : Int */;
2873 long var35 /* : Int */;
2874 var_p = p0;
2875 var = NULL;
2876 var_node_list = var;
2877 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2878 var_nodearraylist9 = var1;
2879 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2880 var_nodearraylist8 = var2;
2881 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2882 var_nodearraylist7 = var3;
2883 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2884 var_nodearraylist6 = var4;
2885 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2886 var_nodearraylist5 = var5;
2887 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2888 var_nodearraylist4 = var6;
2889 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2890 var_nodearraylist3 = var7;
2891 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2892 var_nodearraylist2 = var8;
2893 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2894 var_nodearraylist1 = var9;
2895 var_pdocnode2 = var_nodearraylist1;
2896 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2897 cltype = type_nullable_parser_nodes__ADoc.color;
2898 idtype = type_nullable_parser_nodes__ADoc.id;
2899 if(var_pdocnode2 == NULL) {
2900 var10 = 1;
2901 } else {
2902 if(cltype >= var_pdocnode2->type->table_size) {
2903 var10 = 0;
2904 } else {
2905 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2906 }
2907 }
2908 if (!var10) {
2909 fprintf(stderr, "Runtime error: %s", "Assert failed");
2910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19126);
2911 show_backtrace(1);
2912 }
2913 var_tkwredefnode5 = var_nodearraylist2;
2914 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2915 cltype12 = type_nullable_parser_nodes__TKwredef.color;
2916 idtype13 = type_nullable_parser_nodes__TKwredef.id;
2917 if(var_tkwredefnode5 == NULL) {
2918 var11 = 1;
2919 } else {
2920 if(cltype12 >= var_tkwredefnode5->type->table_size) {
2921 var11 = 0;
2922 } else {
2923 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
2924 }
2925 }
2926 if (!var11) {
2927 fprintf(stderr, "Runtime error: %s", "Assert failed");
2928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19128);
2929 show_backtrace(1);
2930 }
2931 var_pvisibilitynode6 = var_nodearraylist3;
2932 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2933 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2934 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2935 if(var_pvisibilitynode6 == NULL) {
2936 var14 = 1;
2937 } else {
2938 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
2939 var14 = 0;
2940 } else {
2941 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
2942 }
2943 }
2944 if (!var14) {
2945 fprintf(stderr, "Runtime error: %s", "Assert failed");
2946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19130);
2947 show_backtrace(1);
2948 }
2949 var_tkwvarnode7 = var_nodearraylist4;
2950 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2951 cltype18 = type_nullable_parser_nodes__TKwvar.color;
2952 idtype19 = type_nullable_parser_nodes__TKwvar.id;
2953 if(var_tkwvarnode7 == NULL) {
2954 var17 = 1;
2955 } else {
2956 if(cltype18 >= var_tkwvarnode7->type->table_size) {
2957 var17 = 0;
2958 } else {
2959 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
2960 }
2961 }
2962 if (!var17) {
2963 fprintf(stderr, "Runtime error: %s", "Assert failed");
2964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19132);
2965 show_backtrace(1);
2966 }
2967 var_tidnode9 = var_nodearraylist5;
2968 /* <var_tidnode9:nullable Object> isa nullable TId */
2969 cltype21 = type_nullable_parser_nodes__TId.color;
2970 idtype22 = type_nullable_parser_nodes__TId.id;
2971 if(var_tidnode9 == NULL) {
2972 var20 = 1;
2973 } else {
2974 if(cltype21 >= var_tidnode9->type->table_size) {
2975 var20 = 0;
2976 } else {
2977 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
2978 }
2979 }
2980 if (!var20) {
2981 fprintf(stderr, "Runtime error: %s", "Assert failed");
2982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19134);
2983 show_backtrace(1);
2984 }
2985 var_ptypenode10 = var_nodearraylist6;
2986 /* <var_ptypenode10:nullable Object> isa nullable AType */
2987 cltype24 = type_nullable_parser_nodes__AType.color;
2988 idtype25 = type_nullable_parser_nodes__AType.id;
2989 if(var_ptypenode10 == NULL) {
2990 var23 = 1;
2991 } else {
2992 if(cltype24 >= var_ptypenode10->type->table_size) {
2993 var23 = 0;
2994 } else {
2995 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
2996 }
2997 }
2998 if (!var23) {
2999 fprintf(stderr, "Runtime error: %s", "Assert failed");
3000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19136);
3001 show_backtrace(1);
3002 }
3003 var_pexprnode12 = var_nodearraylist9;
3004 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3005 cltype27 = type_nullable_parser_nodes__AExpr.color;
3006 idtype28 = type_nullable_parser_nodes__AExpr.id;
3007 if(var_pexprnode12 == NULL) {
3008 var26 = 1;
3009 } else {
3010 if(cltype27 >= var_pexprnode12->type->table_size) {
3011 var26 = 0;
3012 } else {
3013 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
3014 }
3015 }
3016 if (!var26) {
3017 fprintf(stderr, "Runtime error: %s", "Assert failed");
3018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19138);
3019 show_backtrace(1);
3020 }
3021 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3022 var30 = NULL;
3023 var31 = NULL;
3024 var32 = NULL;
3025 var33 = NULL;
3026 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
3027 var_ppropdefnode1 = var29;
3028 var_node_list = var_ppropdefnode1;
3029 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction432> */
3030 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3031 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3032 RET_LABEL:;
3033 }
3034 /* method parser#ReduceAction432#action for (self: Object, Parser) */
3035 void VIRTUAL_parser__ReduceAction432__action(val* self, val* p0) {
3036 parser__ReduceAction432__action(self, p0);
3037 RET_LABEL:;
3038 }
3039 /* method parser#ReduceAction433#action for (self: ReduceAction433, Parser) */
3040 void parser__ReduceAction433__action(val* self, val* p0) {
3041 val* var_p /* var p: Parser */;
3042 val* var /* : null */;
3043 val* var_node_list /* var node_list: nullable Object */;
3044 val* var1 /* : nullable Object */;
3045 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3046 val* var2 /* : nullable Object */;
3047 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3048 val* var3 /* : nullable Object */;
3049 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3050 val* var4 /* : nullable Object */;
3051 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3052 val* var5 /* : nullable Object */;
3053 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3054 val* var6 /* : nullable Object */;
3055 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3056 val* var7 /* : nullable Object */;
3057 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3058 val* var8 /* : nullable Object */;
3059 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3060 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3061 short int var9 /* : Bool */;
3062 int cltype;
3063 int idtype;
3064 val* var_pablenode4 /* var pablenode4: nullable Object */;
3065 short int var10 /* : Bool */;
3066 int cltype11;
3067 int idtype12;
3068 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3069 short int var13 /* : Bool */;
3070 int cltype14;
3071 int idtype15;
3072 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3073 short int var16 /* : Bool */;
3074 int cltype17;
3075 int idtype18;
3076 val* var_tidnode9 /* var tidnode9: nullable Object */;
3077 short int var19 /* : Bool */;
3078 int cltype20;
3079 int idtype21;
3080 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3081 short int var22 /* : Bool */;
3082 int cltype23;
3083 int idtype24;
3084 val* var25 /* : AAttrPropdef */;
3085 val* var26 /* : null */;
3086 val* var27 /* : null */;
3087 val* var28 /* : null */;
3088 val* var29 /* : null */;
3089 val* var30 /* : null */;
3090 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3091 long var31 /* : Int */;
3092 long var32 /* : Int */;
3093 var_p = p0;
3094 var = NULL;
3095 var_node_list = var;
3096 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3097 var_nodearraylist8 = var1;
3098 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3099 var_nodearraylist7 = var2;
3100 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3101 var_nodearraylist6 = var3;
3102 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3103 var_nodearraylist5 = var4;
3104 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3105 var_nodearraylist4 = var5;
3106 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3107 var_nodearraylist3 = var6;
3108 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3109 var_nodearraylist2 = var7;
3110 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3111 var_nodearraylist1 = var8;
3112 var_pdocnode2 = var_nodearraylist1;
3113 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3114 cltype = type_nullable_parser_nodes__ADoc.color;
3115 idtype = type_nullable_parser_nodes__ADoc.id;
3116 if(var_pdocnode2 == NULL) {
3117 var9 = 1;
3118 } else {
3119 if(cltype >= var_pdocnode2->type->table_size) {
3120 var9 = 0;
3121 } else {
3122 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3123 }
3124 }
3125 if (!var9) {
3126 fprintf(stderr, "Runtime error: %s", "Assert failed");
3127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19170);
3128 show_backtrace(1);
3129 }
3130 var_pablenode4 = var_nodearraylist5;
3131 /* <var_pablenode4:nullable Object> isa nullable AAble */
3132 cltype11 = type_nullable_parser_nodes__AAble.color;
3133 idtype12 = type_nullable_parser_nodes__AAble.id;
3134 if(var_pablenode4 == NULL) {
3135 var10 = 1;
3136 } else {
3137 if(cltype11 >= var_pablenode4->type->table_size) {
3138 var10 = 0;
3139 } else {
3140 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
3141 }
3142 }
3143 if (!var10) {
3144 fprintf(stderr, "Runtime error: %s", "Assert failed");
3145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19172);
3146 show_backtrace(1);
3147 }
3148 var_pvisibilitynode6 = var_nodearraylist2;
3149 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3150 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3151 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3152 if(var_pvisibilitynode6 == NULL) {
3153 var13 = 1;
3154 } else {
3155 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
3156 var13 = 0;
3157 } else {
3158 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
3159 }
3160 }
3161 if (!var13) {
3162 fprintf(stderr, "Runtime error: %s", "Assert failed");
3163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19174);
3164 show_backtrace(1);
3165 }
3166 var_tkwvarnode7 = var_nodearraylist3;
3167 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3168 cltype17 = type_nullable_parser_nodes__TKwvar.color;
3169 idtype18 = type_nullable_parser_nodes__TKwvar.id;
3170 if(var_tkwvarnode7 == NULL) {
3171 var16 = 1;
3172 } else {
3173 if(cltype17 >= var_tkwvarnode7->type->table_size) {
3174 var16 = 0;
3175 } else {
3176 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
3177 }
3178 }
3179 if (!var16) {
3180 fprintf(stderr, "Runtime error: %s", "Assert failed");
3181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19176);
3182 show_backtrace(1);
3183 }
3184 var_tidnode9 = var_nodearraylist4;
3185 /* <var_tidnode9:nullable Object> isa nullable TId */
3186 cltype20 = type_nullable_parser_nodes__TId.color;
3187 idtype21 = type_nullable_parser_nodes__TId.id;
3188 if(var_tidnode9 == NULL) {
3189 var19 = 1;
3190 } else {
3191 if(cltype20 >= var_tidnode9->type->table_size) {
3192 var19 = 0;
3193 } else {
3194 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
3195 }
3196 }
3197 if (!var19) {
3198 fprintf(stderr, "Runtime error: %s", "Assert failed");
3199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19178);
3200 show_backtrace(1);
3201 }
3202 var_pexprnode12 = var_nodearraylist8;
3203 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3204 cltype23 = type_nullable_parser_nodes__AExpr.color;
3205 idtype24 = type_nullable_parser_nodes__AExpr.id;
3206 if(var_pexprnode12 == NULL) {
3207 var22 = 1;
3208 } else {
3209 if(cltype23 >= var_pexprnode12->type->table_size) {
3210 var22 = 0;
3211 } else {
3212 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
3213 }
3214 }
3215 if (!var22) {
3216 fprintf(stderr, "Runtime error: %s", "Assert failed");
3217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19180);
3218 show_backtrace(1);
3219 }
3220 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3221 var26 = NULL;
3222 var27 = NULL;
3223 var28 = NULL;
3224 var29 = NULL;
3225 var30 = NULL;
3226 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var_pablenode4, var27, var_pvisibilitynode6, var_tkwvarnode7, var28, var_tidnode9, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
3227 var_ppropdefnode1 = var25;
3228 var_node_list = var_ppropdefnode1;
3229 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction433> */
3230 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
3231 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
3232 RET_LABEL:;
3233 }
3234 /* method parser#ReduceAction433#action for (self: Object, Parser) */
3235 void VIRTUAL_parser__ReduceAction433__action(val* self, val* p0) {
3236 parser__ReduceAction433__action(self, p0);
3237 RET_LABEL:;
3238 }
3239 /* method parser#ReduceAction434#action for (self: ReduceAction434, Parser) */
3240 void parser__ReduceAction434__action(val* self, val* p0) {
3241 val* var_p /* var p: Parser */;
3242 val* var /* : null */;
3243 val* var_node_list /* var node_list: nullable Object */;
3244 val* var1 /* : nullable Object */;
3245 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3246 val* var2 /* : nullable Object */;
3247 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3248 val* var3 /* : nullable Object */;
3249 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3250 val* var4 /* : nullable Object */;
3251 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3252 val* var5 /* : nullable Object */;
3253 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3254 val* var6 /* : nullable Object */;
3255 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3256 val* var7 /* : nullable Object */;
3257 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3258 val* var8 /* : nullable Object */;
3259 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3260 val* var9 /* : nullable Object */;
3261 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3262 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3263 short int var10 /* : Bool */;
3264 int cltype;
3265 int idtype;
3266 val* var_pablenode4 /* var pablenode4: nullable Object */;
3267 short int var11 /* : Bool */;
3268 int cltype12;
3269 int idtype13;
3270 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3271 short int var14 /* : Bool */;
3272 int cltype15;
3273 int idtype16;
3274 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3275 short int var17 /* : Bool */;
3276 int cltype18;
3277 int idtype19;
3278 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3279 short int var20 /* : Bool */;
3280 int cltype21;
3281 int idtype22;
3282 val* var_tidnode9 /* var tidnode9: nullable Object */;
3283 short int var23 /* : Bool */;
3284 int cltype24;
3285 int idtype25;
3286 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3287 short int var26 /* : Bool */;
3288 int cltype27;
3289 int idtype28;
3290 val* var29 /* : AAttrPropdef */;
3291 val* var30 /* : null */;
3292 val* var31 /* : null */;
3293 val* var32 /* : null */;
3294 val* var33 /* : null */;
3295 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3296 long var34 /* : Int */;
3297 long var35 /* : Int */;
3298 var_p = p0;
3299 var = NULL;
3300 var_node_list = var;
3301 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3302 var_nodearraylist9 = var1;
3303 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3304 var_nodearraylist8 = var2;
3305 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3306 var_nodearraylist7 = var3;
3307 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3308 var_nodearraylist6 = var4;
3309 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3310 var_nodearraylist5 = var5;
3311 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3312 var_nodearraylist4 = var6;
3313 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3314 var_nodearraylist3 = var7;
3315 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3316 var_nodearraylist2 = var8;
3317 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3318 var_nodearraylist1 = var9;
3319 var_pdocnode2 = var_nodearraylist1;
3320 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3321 cltype = type_nullable_parser_nodes__ADoc.color;
3322 idtype = type_nullable_parser_nodes__ADoc.id;
3323 if(var_pdocnode2 == NULL) {
3324 var10 = 1;
3325 } else {
3326 if(cltype >= var_pdocnode2->type->table_size) {
3327 var10 = 0;
3328 } else {
3329 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3330 }
3331 }
3332 if (!var10) {
3333 fprintf(stderr, "Runtime error: %s", "Assert failed");
3334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19213);
3335 show_backtrace(1);
3336 }
3337 var_pablenode4 = var_nodearraylist6;
3338 /* <var_pablenode4:nullable Object> isa nullable AAble */
3339 cltype12 = type_nullable_parser_nodes__AAble.color;
3340 idtype13 = type_nullable_parser_nodes__AAble.id;
3341 if(var_pablenode4 == NULL) {
3342 var11 = 1;
3343 } else {
3344 if(cltype12 >= var_pablenode4->type->table_size) {
3345 var11 = 0;
3346 } else {
3347 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3348 }
3349 }
3350 if (!var11) {
3351 fprintf(stderr, "Runtime error: %s", "Assert failed");
3352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19215);
3353 show_backtrace(1);
3354 }
3355 var_tkwredefnode5 = var_nodearraylist2;
3356 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3357 cltype15 = type_nullable_parser_nodes__TKwredef.color;
3358 idtype16 = type_nullable_parser_nodes__TKwredef.id;
3359 if(var_tkwredefnode5 == NULL) {
3360 var14 = 1;
3361 } else {
3362 if(cltype15 >= var_tkwredefnode5->type->table_size) {
3363 var14 = 0;
3364 } else {
3365 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
3366 }
3367 }
3368 if (!var14) {
3369 fprintf(stderr, "Runtime error: %s", "Assert failed");
3370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19217);
3371 show_backtrace(1);
3372 }
3373 var_pvisibilitynode6 = var_nodearraylist3;
3374 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3375 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3376 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3377 if(var_pvisibilitynode6 == NULL) {
3378 var17 = 1;
3379 } else {
3380 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
3381 var17 = 0;
3382 } else {
3383 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
3384 }
3385 }
3386 if (!var17) {
3387 fprintf(stderr, "Runtime error: %s", "Assert failed");
3388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19219);
3389 show_backtrace(1);
3390 }
3391 var_tkwvarnode7 = var_nodearraylist4;
3392 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3393 cltype21 = type_nullable_parser_nodes__TKwvar.color;
3394 idtype22 = type_nullable_parser_nodes__TKwvar.id;
3395 if(var_tkwvarnode7 == NULL) {
3396 var20 = 1;
3397 } else {
3398 if(cltype21 >= var_tkwvarnode7->type->table_size) {
3399 var20 = 0;
3400 } else {
3401 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
3402 }
3403 }
3404 if (!var20) {
3405 fprintf(stderr, "Runtime error: %s", "Assert failed");
3406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19221);
3407 show_backtrace(1);
3408 }
3409 var_tidnode9 = var_nodearraylist5;
3410 /* <var_tidnode9:nullable Object> isa nullable TId */
3411 cltype24 = type_nullable_parser_nodes__TId.color;
3412 idtype25 = type_nullable_parser_nodes__TId.id;
3413 if(var_tidnode9 == NULL) {
3414 var23 = 1;
3415 } else {
3416 if(cltype24 >= var_tidnode9->type->table_size) {
3417 var23 = 0;
3418 } else {
3419 var23 = var_tidnode9->type->type_table[cltype24] == idtype25;
3420 }
3421 }
3422 if (!var23) {
3423 fprintf(stderr, "Runtime error: %s", "Assert failed");
3424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19223);
3425 show_backtrace(1);
3426 }
3427 var_pexprnode12 = var_nodearraylist9;
3428 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3429 cltype27 = type_nullable_parser_nodes__AExpr.color;
3430 idtype28 = type_nullable_parser_nodes__AExpr.id;
3431 if(var_pexprnode12 == NULL) {
3432 var26 = 1;
3433 } else {
3434 if(cltype27 >= var_pexprnode12->type->table_size) {
3435 var26 = 0;
3436 } else {
3437 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
3438 }
3439 }
3440 if (!var26) {
3441 fprintf(stderr, "Runtime error: %s", "Assert failed");
3442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19225);
3443 show_backtrace(1);
3444 }
3445 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3446 var30 = NULL;
3447 var31 = NULL;
3448 var32 = NULL;
3449 var33 = NULL;
3450 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var31, var_tidnode9, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
3451 var_ppropdefnode1 = var29;
3452 var_node_list = var_ppropdefnode1;
3453 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction434> */
3454 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3455 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3456 RET_LABEL:;
3457 }
3458 /* method parser#ReduceAction434#action for (self: Object, Parser) */
3459 void VIRTUAL_parser__ReduceAction434__action(val* self, val* p0) {
3460 parser__ReduceAction434__action(self, p0);
3461 RET_LABEL:;
3462 }
3463 /* method parser#ReduceAction435#action for (self: ReduceAction435, Parser) */
3464 void parser__ReduceAction435__action(val* self, val* p0) {
3465 val* var_p /* var p: Parser */;
3466 val* var /* : null */;
3467 val* var_node_list /* var node_list: nullable Object */;
3468 val* var1 /* : nullable Object */;
3469 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3470 val* var2 /* : nullable Object */;
3471 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3472 val* var3 /* : nullable Object */;
3473 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3474 val* var4 /* : nullable Object */;
3475 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3476 val* var5 /* : nullable Object */;
3477 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3478 val* var6 /* : nullable Object */;
3479 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3480 val* var7 /* : nullable Object */;
3481 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3482 val* var8 /* : nullable Object */;
3483 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3484 val* var9 /* : nullable Object */;
3485 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3486 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3487 short int var10 /* : Bool */;
3488 int cltype;
3489 int idtype;
3490 val* var_pablenode4 /* var pablenode4: nullable Object */;
3491 short int var11 /* : Bool */;
3492 int cltype12;
3493 int idtype13;
3494 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3495 short int var14 /* : Bool */;
3496 int cltype15;
3497 int idtype16;
3498 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3499 short int var17 /* : Bool */;
3500 int cltype18;
3501 int idtype19;
3502 val* var_tidnode9 /* var tidnode9: nullable Object */;
3503 short int var20 /* : Bool */;
3504 int cltype21;
3505 int idtype22;
3506 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3507 short int var23 /* : Bool */;
3508 int cltype24;
3509 int idtype25;
3510 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3511 short int var26 /* : Bool */;
3512 int cltype27;
3513 int idtype28;
3514 val* var29 /* : AAttrPropdef */;
3515 val* var30 /* : null */;
3516 val* var31 /* : null */;
3517 val* var32 /* : null */;
3518 val* var33 /* : null */;
3519 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3520 long var34 /* : Int */;
3521 long var35 /* : Int */;
3522 var_p = p0;
3523 var = NULL;
3524 var_node_list = var;
3525 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3526 var_nodearraylist9 = var1;
3527 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3528 var_nodearraylist8 = var2;
3529 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3530 var_nodearraylist7 = var3;
3531 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3532 var_nodearraylist6 = var4;
3533 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3534 var_nodearraylist5 = var5;
3535 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3536 var_nodearraylist4 = var6;
3537 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3538 var_nodearraylist3 = var7;
3539 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3540 var_nodearraylist2 = var8;
3541 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3542 var_nodearraylist1 = var9;
3543 var_pdocnode2 = var_nodearraylist1;
3544 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3545 cltype = type_nullable_parser_nodes__ADoc.color;
3546 idtype = type_nullable_parser_nodes__ADoc.id;
3547 if(var_pdocnode2 == NULL) {
3548 var10 = 1;
3549 } else {
3550 if(cltype >= var_pdocnode2->type->table_size) {
3551 var10 = 0;
3552 } else {
3553 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3554 }
3555 }
3556 if (!var10) {
3557 fprintf(stderr, "Runtime error: %s", "Assert failed");
3558 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19258);
3559 show_backtrace(1);
3560 }
3561 var_pablenode4 = var_nodearraylist6;
3562 /* <var_pablenode4:nullable Object> isa nullable AAble */
3563 cltype12 = type_nullable_parser_nodes__AAble.color;
3564 idtype13 = type_nullable_parser_nodes__AAble.id;
3565 if(var_pablenode4 == NULL) {
3566 var11 = 1;
3567 } else {
3568 if(cltype12 >= var_pablenode4->type->table_size) {
3569 var11 = 0;
3570 } else {
3571 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3572 }
3573 }
3574 if (!var11) {
3575 fprintf(stderr, "Runtime error: %s", "Assert failed");
3576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19260);
3577 show_backtrace(1);
3578 }
3579 var_pvisibilitynode6 = var_nodearraylist2;
3580 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3581 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3582 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3583 if(var_pvisibilitynode6 == NULL) {
3584 var14 = 1;
3585 } else {
3586 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3587 var14 = 0;
3588 } else {
3589 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3590 }
3591 }
3592 if (!var14) {
3593 fprintf(stderr, "Runtime error: %s", "Assert failed");
3594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19262);
3595 show_backtrace(1);
3596 }
3597 var_tkwvarnode7 = var_nodearraylist3;
3598 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3599 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3600 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3601 if(var_tkwvarnode7 == NULL) {
3602 var17 = 1;
3603 } else {
3604 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3605 var17 = 0;
3606 } else {
3607 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3608 }
3609 }
3610 if (!var17) {
3611 fprintf(stderr, "Runtime error: %s", "Assert failed");
3612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19264);
3613 show_backtrace(1);
3614 }
3615 var_tidnode9 = var_nodearraylist4;
3616 /* <var_tidnode9:nullable Object> isa nullable TId */
3617 cltype21 = type_nullable_parser_nodes__TId.color;
3618 idtype22 = type_nullable_parser_nodes__TId.id;
3619 if(var_tidnode9 == NULL) {
3620 var20 = 1;
3621 } else {
3622 if(cltype21 >= var_tidnode9->type->table_size) {
3623 var20 = 0;
3624 } else {
3625 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
3626 }
3627 }
3628 if (!var20) {
3629 fprintf(stderr, "Runtime error: %s", "Assert failed");
3630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19266);
3631 show_backtrace(1);
3632 }
3633 var_ptypenode10 = var_nodearraylist5;
3634 /* <var_ptypenode10:nullable Object> isa nullable AType */
3635 cltype24 = type_nullable_parser_nodes__AType.color;
3636 idtype25 = type_nullable_parser_nodes__AType.id;
3637 if(var_ptypenode10 == NULL) {
3638 var23 = 1;
3639 } else {
3640 if(cltype24 >= var_ptypenode10->type->table_size) {
3641 var23 = 0;
3642 } else {
3643 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
3644 }
3645 }
3646 if (!var23) {
3647 fprintf(stderr, "Runtime error: %s", "Assert failed");
3648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19268);
3649 show_backtrace(1);
3650 }
3651 var_pexprnode12 = var_nodearraylist9;
3652 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3653 cltype27 = type_nullable_parser_nodes__AExpr.color;
3654 idtype28 = type_nullable_parser_nodes__AExpr.id;
3655 if(var_pexprnode12 == NULL) {
3656 var26 = 1;
3657 } else {
3658 if(cltype27 >= var_pexprnode12->type->table_size) {
3659 var26 = 0;
3660 } else {
3661 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
3662 }
3663 }
3664 if (!var26) {
3665 fprintf(stderr, "Runtime error: %s", "Assert failed");
3666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19270);
3667 show_backtrace(1);
3668 }
3669 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3670 var30 = NULL;
3671 var31 = NULL;
3672 var32 = NULL;
3673 var33 = NULL;
3674 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
3675 var_ppropdefnode1 = var29;
3676 var_node_list = var_ppropdefnode1;
3677 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction435> */
3678 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3679 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3680 RET_LABEL:;
3681 }
3682 /* method parser#ReduceAction435#action for (self: Object, Parser) */
3683 void VIRTUAL_parser__ReduceAction435__action(val* self, val* p0) {
3684 parser__ReduceAction435__action(self, p0);
3685 RET_LABEL:;
3686 }
3687 /* method parser#ReduceAction436#action for (self: ReduceAction436, Parser) */
3688 void parser__ReduceAction436__action(val* self, val* p0) {
3689 val* var_p /* var p: Parser */;
3690 val* var /* : null */;
3691 val* var_node_list /* var node_list: nullable Object */;
3692 val* var1 /* : nullable Object */;
3693 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3694 val* var2 /* : nullable Object */;
3695 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3696 val* var3 /* : nullable Object */;
3697 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3698 val* var4 /* : nullable Object */;
3699 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3700 val* var5 /* : nullable Object */;
3701 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3702 val* var6 /* : nullable Object */;
3703 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3704 val* var7 /* : nullable Object */;
3705 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3706 val* var8 /* : nullable Object */;
3707 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3708 val* var9 /* : nullable Object */;
3709 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3710 val* var10 /* : nullable Object */;
3711 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3712 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3713 short int var11 /* : Bool */;
3714 int cltype;
3715 int idtype;
3716 val* var_pablenode4 /* var pablenode4: nullable Object */;
3717 short int var12 /* : Bool */;
3718 int cltype13;
3719 int idtype14;
3720 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3721 short int var15 /* : Bool */;
3722 int cltype16;
3723 int idtype17;
3724 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3725 short int var18 /* : Bool */;
3726 int cltype19;
3727 int idtype20;
3728 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3729 short int var21 /* : Bool */;
3730 int cltype22;
3731 int idtype23;
3732 val* var_tidnode9 /* var tidnode9: nullable Object */;
3733 short int var24 /* : Bool */;
3734 int cltype25;
3735 int idtype26;
3736 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3737 short int var27 /* : Bool */;
3738 int cltype28;
3739 int idtype29;
3740 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3741 short int var30 /* : Bool */;
3742 int cltype31;
3743 int idtype32;
3744 val* var33 /* : AAttrPropdef */;
3745 val* var34 /* : null */;
3746 val* var35 /* : null */;
3747 val* var36 /* : null */;
3748 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3749 long var37 /* : Int */;
3750 long var38 /* : Int */;
3751 var_p = p0;
3752 var = NULL;
3753 var_node_list = var;
3754 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3755 var_nodearraylist10 = var1;
3756 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3757 var_nodearraylist9 = var2;
3758 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3759 var_nodearraylist8 = var3;
3760 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3761 var_nodearraylist7 = var4;
3762 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3763 var_nodearraylist6 = var5;
3764 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3765 var_nodearraylist5 = var6;
3766 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3767 var_nodearraylist4 = var7;
3768 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3769 var_nodearraylist3 = var8;
3770 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3771 var_nodearraylist2 = var9;
3772 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3773 var_nodearraylist1 = var10;
3774 var_pdocnode2 = var_nodearraylist1;
3775 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3776 cltype = type_nullable_parser_nodes__ADoc.color;
3777 idtype = type_nullable_parser_nodes__ADoc.id;
3778 if(var_pdocnode2 == NULL) {
3779 var11 = 1;
3780 } else {
3781 if(cltype >= var_pdocnode2->type->table_size) {
3782 var11 = 0;
3783 } else {
3784 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
3785 }
3786 }
3787 if (!var11) {
3788 fprintf(stderr, "Runtime error: %s", "Assert failed");
3789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19304);
3790 show_backtrace(1);
3791 }
3792 var_pablenode4 = var_nodearraylist7;
3793 /* <var_pablenode4:nullable Object> isa nullable AAble */
3794 cltype13 = type_nullable_parser_nodes__AAble.color;
3795 idtype14 = type_nullable_parser_nodes__AAble.id;
3796 if(var_pablenode4 == NULL) {
3797 var12 = 1;
3798 } else {
3799 if(cltype13 >= var_pablenode4->type->table_size) {
3800 var12 = 0;
3801 } else {
3802 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
3803 }
3804 }
3805 if (!var12) {
3806 fprintf(stderr, "Runtime error: %s", "Assert failed");
3807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19306);
3808 show_backtrace(1);
3809 }
3810 var_tkwredefnode5 = var_nodearraylist2;
3811 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3812 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3813 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3814 if(var_tkwredefnode5 == NULL) {
3815 var15 = 1;
3816 } else {
3817 if(cltype16 >= var_tkwredefnode5->type->table_size) {
3818 var15 = 0;
3819 } else {
3820 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
3821 }
3822 }
3823 if (!var15) {
3824 fprintf(stderr, "Runtime error: %s", "Assert failed");
3825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19308);
3826 show_backtrace(1);
3827 }
3828 var_pvisibilitynode6 = var_nodearraylist3;
3829 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3830 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3831 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3832 if(var_pvisibilitynode6 == NULL) {
3833 var18 = 1;
3834 } else {
3835 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
3836 var18 = 0;
3837 } else {
3838 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
3839 }
3840 }
3841 if (!var18) {
3842 fprintf(stderr, "Runtime error: %s", "Assert failed");
3843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19310);
3844 show_backtrace(1);
3845 }
3846 var_tkwvarnode7 = var_nodearraylist4;
3847 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3848 cltype22 = type_nullable_parser_nodes__TKwvar.color;
3849 idtype23 = type_nullable_parser_nodes__TKwvar.id;
3850 if(var_tkwvarnode7 == NULL) {
3851 var21 = 1;
3852 } else {
3853 if(cltype22 >= var_tkwvarnode7->type->table_size) {
3854 var21 = 0;
3855 } else {
3856 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
3857 }
3858 }
3859 if (!var21) {
3860 fprintf(stderr, "Runtime error: %s", "Assert failed");
3861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19312);
3862 show_backtrace(1);
3863 }
3864 var_tidnode9 = var_nodearraylist5;
3865 /* <var_tidnode9:nullable Object> isa nullable TId */
3866 cltype25 = type_nullable_parser_nodes__TId.color;
3867 idtype26 = type_nullable_parser_nodes__TId.id;
3868 if(var_tidnode9 == NULL) {
3869 var24 = 1;
3870 } else {
3871 if(cltype25 >= var_tidnode9->type->table_size) {
3872 var24 = 0;
3873 } else {
3874 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
3875 }
3876 }
3877 if (!var24) {
3878 fprintf(stderr, "Runtime error: %s", "Assert failed");
3879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19314);
3880 show_backtrace(1);
3881 }
3882 var_ptypenode10 = var_nodearraylist6;
3883 /* <var_ptypenode10:nullable Object> isa nullable AType */
3884 cltype28 = type_nullable_parser_nodes__AType.color;
3885 idtype29 = type_nullable_parser_nodes__AType.id;
3886 if(var_ptypenode10 == NULL) {
3887 var27 = 1;
3888 } else {
3889 if(cltype28 >= var_ptypenode10->type->table_size) {
3890 var27 = 0;
3891 } else {
3892 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
3893 }
3894 }
3895 if (!var27) {
3896 fprintf(stderr, "Runtime error: %s", "Assert failed");
3897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19316);
3898 show_backtrace(1);
3899 }
3900 var_pexprnode12 = var_nodearraylist10;
3901 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3902 cltype31 = type_nullable_parser_nodes__AExpr.color;
3903 idtype32 = type_nullable_parser_nodes__AExpr.id;
3904 if(var_pexprnode12 == NULL) {
3905 var30 = 1;
3906 } else {
3907 if(cltype31 >= var_pexprnode12->type->table_size) {
3908 var30 = 0;
3909 } else {
3910 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
3911 }
3912 }
3913 if (!var30) {
3914 fprintf(stderr, "Runtime error: %s", "Assert failed");
3915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19318);
3916 show_backtrace(1);
3917 }
3918 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3919 var34 = NULL;
3920 var35 = NULL;
3921 var36 = NULL;
3922 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var35, var_tidnode9, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
3923 var_ppropdefnode1 = var33;
3924 var_node_list = var_ppropdefnode1;
3925 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction436> */
3926 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3927 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3928 RET_LABEL:;
3929 }
3930 /* method parser#ReduceAction436#action for (self: Object, Parser) */
3931 void VIRTUAL_parser__ReduceAction436__action(val* self, val* p0) {
3932 parser__ReduceAction436__action(self, p0);
3933 RET_LABEL:;
3934 }
3935 /* method parser#ReduceAction437#action for (self: ReduceAction437, Parser) */
3936 void parser__ReduceAction437__action(val* self, val* p0) {
3937 val* var_p /* var p: Parser */;
3938 val* var /* : null */;
3939 val* var_node_list /* var node_list: nullable Object */;
3940 val* var1 /* : nullable Object */;
3941 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3942 val* var2 /* : nullable Object */;
3943 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3944 val* var3 /* : nullable Object */;
3945 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3946 val* var4 /* : nullable Object */;
3947 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3948 val* var5 /* : nullable Object */;
3949 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3950 val* var6 /* : nullable Object */;
3951 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3952 val* var7 /* : nullable Object */;
3953 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3954 val* var8 /* : nullable Object */;
3955 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3956 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3957 short int var9 /* : Bool */;
3958 int cltype;
3959 int idtype;
3960 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3961 short int var10 /* : Bool */;
3962 int cltype11;
3963 int idtype12;
3964 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3965 short int var13 /* : Bool */;
3966 int cltype14;
3967 int idtype15;
3968 val* var_tidnode9 /* var tidnode9: nullable Object */;
3969 short int var16 /* : Bool */;
3970 int cltype17;
3971 int idtype18;
3972 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3973 short int var19 /* : Bool */;
3974 int cltype20;
3975 int idtype21;
3976 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3977 short int var22 /* : Bool */;
3978 int cltype23;
3979 int idtype24;
3980 val* var25 /* : AAttrPropdef */;
3981 val* var26 /* : null */;
3982 val* var27 /* : null */;
3983 val* var28 /* : null */;
3984 val* var29 /* : null */;
3985 val* var30 /* : null */;
3986 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3987 long var31 /* : Int */;
3988 long var32 /* : Int */;
3989 var_p = p0;
3990 var = NULL;
3991 var_node_list = var;
3992 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3993 var_nodearraylist8 = var1;
3994 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3995 var_nodearraylist7 = var2;
3996 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3997 var_nodearraylist6 = var3;
3998 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3999 var_nodearraylist5 = var4;
4000 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4001 var_nodearraylist4 = var5;
4002 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4003 var_nodearraylist3 = var6;
4004 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4005 var_nodearraylist2 = var7;
4006 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4007 var_nodearraylist1 = var8;
4008 var_pdocnode2 = var_nodearraylist1;
4009 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4010 cltype = type_nullable_parser_nodes__ADoc.color;
4011 idtype = type_nullable_parser_nodes__ADoc.id;
4012 if(var_pdocnode2 == NULL) {
4013 var9 = 1;
4014 } else {
4015 if(cltype >= var_pdocnode2->type->table_size) {
4016 var9 = 0;
4017 } else {
4018 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4019 }
4020 }
4021 if (!var9) {
4022 fprintf(stderr, "Runtime error: %s", "Assert failed");
4023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19350);
4024 show_backtrace(1);
4025 }
4026 var_pvisibilitynode6 = var_nodearraylist2;
4027 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4028 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4029 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4030 if(var_pvisibilitynode6 == NULL) {
4031 var10 = 1;
4032 } else {
4033 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
4034 var10 = 0;
4035 } else {
4036 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
4037 }
4038 }
4039 if (!var10) {
4040 fprintf(stderr, "Runtime error: %s", "Assert failed");
4041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19352);
4042 show_backtrace(1);
4043 }
4044 var_tkwvarnode7 = var_nodearraylist3;
4045 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4046 cltype14 = type_nullable_parser_nodes__TKwvar.color;
4047 idtype15 = type_nullable_parser_nodes__TKwvar.id;
4048 if(var_tkwvarnode7 == NULL) {
4049 var13 = 1;
4050 } else {
4051 if(cltype14 >= var_tkwvarnode7->type->table_size) {
4052 var13 = 0;
4053 } else {
4054 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
4055 }
4056 }
4057 if (!var13) {
4058 fprintf(stderr, "Runtime error: %s", "Assert failed");
4059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19354);
4060 show_backtrace(1);
4061 }
4062 var_tidnode9 = var_nodearraylist4;
4063 /* <var_tidnode9:nullable Object> isa nullable TId */
4064 cltype17 = type_nullable_parser_nodes__TId.color;
4065 idtype18 = type_nullable_parser_nodes__TId.id;
4066 if(var_tidnode9 == NULL) {
4067 var16 = 1;
4068 } else {
4069 if(cltype17 >= var_tidnode9->type->table_size) {
4070 var16 = 0;
4071 } else {
4072 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
4073 }
4074 }
4075 if (!var16) {
4076 fprintf(stderr, "Runtime error: %s", "Assert failed");
4077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19356);
4078 show_backtrace(1);
4079 }
4080 var_pannotationsnode11 = var_nodearraylist8;
4081 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4082 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
4083 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
4084 if(var_pannotationsnode11 == NULL) {
4085 var19 = 1;
4086 } else {
4087 if(cltype20 >= var_pannotationsnode11->type->table_size) {
4088 var19 = 0;
4089 } else {
4090 var19 = var_pannotationsnode11->type->type_table[cltype20] == idtype21;
4091 }
4092 }
4093 if (!var19) {
4094 fprintf(stderr, "Runtime error: %s", "Assert failed");
4095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19358);
4096 show_backtrace(1);
4097 }
4098 var_pexprnode12 = var_nodearraylist7;
4099 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4100 cltype23 = type_nullable_parser_nodes__AExpr.color;
4101 idtype24 = type_nullable_parser_nodes__AExpr.id;
4102 if(var_pexprnode12 == NULL) {
4103 var22 = 1;
4104 } else {
4105 if(cltype23 >= var_pexprnode12->type->table_size) {
4106 var22 = 0;
4107 } else {
4108 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
4109 }
4110 }
4111 if (!var22) {
4112 fprintf(stderr, "Runtime error: %s", "Assert failed");
4113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19360);
4114 show_backtrace(1);
4115 }
4116 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4117 var26 = NULL;
4118 var27 = NULL;
4119 var28 = NULL;
4120 var29 = NULL;
4121 var30 = NULL;
4122 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var30, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
4123 var_ppropdefnode1 = var25;
4124 var_node_list = var_ppropdefnode1;
4125 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction437> */
4126 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
4127 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
4128 RET_LABEL:;
4129 }
4130 /* method parser#ReduceAction437#action for (self: Object, Parser) */
4131 void VIRTUAL_parser__ReduceAction437__action(val* self, val* p0) {
4132 parser__ReduceAction437__action(self, p0);
4133 RET_LABEL:;
4134 }
4135 /* method parser#ReduceAction438#action for (self: ReduceAction438, Parser) */
4136 void parser__ReduceAction438__action(val* self, val* p0) {
4137 val* var_p /* var p: Parser */;
4138 val* var /* : null */;
4139 val* var_node_list /* var node_list: nullable Object */;
4140 val* var1 /* : nullable Object */;
4141 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4142 val* var2 /* : nullable Object */;
4143 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4144 val* var3 /* : nullable Object */;
4145 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4146 val* var4 /* : nullable Object */;
4147 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4148 val* var5 /* : nullable Object */;
4149 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4150 val* var6 /* : nullable Object */;
4151 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4152 val* var7 /* : nullable Object */;
4153 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4154 val* var8 /* : nullable Object */;
4155 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4156 val* var9 /* : nullable Object */;
4157 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4158 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4159 short int var10 /* : Bool */;
4160 int cltype;
4161 int idtype;
4162 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4163 short int var11 /* : Bool */;
4164 int cltype12;
4165 int idtype13;
4166 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4167 short int var14 /* : Bool */;
4168 int cltype15;
4169 int idtype16;
4170 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4171 short int var17 /* : Bool */;
4172 int cltype18;
4173 int idtype19;
4174 val* var_tidnode9 /* var tidnode9: nullable Object */;
4175 short int var20 /* : Bool */;
4176 int cltype21;
4177 int idtype22;
4178 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4179 short int var23 /* : Bool */;
4180 int cltype24;
4181 int idtype25;
4182 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4183 short int var26 /* : Bool */;
4184 int cltype27;
4185 int idtype28;
4186 val* var29 /* : AAttrPropdef */;
4187 val* var30 /* : null */;
4188 val* var31 /* : null */;
4189 val* var32 /* : null */;
4190 val* var33 /* : null */;
4191 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4192 long var34 /* : Int */;
4193 long var35 /* : Int */;
4194 var_p = p0;
4195 var = NULL;
4196 var_node_list = var;
4197 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4198 var_nodearraylist9 = var1;
4199 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4200 var_nodearraylist8 = var2;
4201 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4202 var_nodearraylist7 = var3;
4203 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4204 var_nodearraylist6 = var4;
4205 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4206 var_nodearraylist5 = var5;
4207 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4208 var_nodearraylist4 = var6;
4209 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4210 var_nodearraylist3 = var7;
4211 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4212 var_nodearraylist2 = var8;
4213 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4214 var_nodearraylist1 = var9;
4215 var_pdocnode2 = var_nodearraylist1;
4216 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4217 cltype = type_nullable_parser_nodes__ADoc.color;
4218 idtype = type_nullable_parser_nodes__ADoc.id;
4219 if(var_pdocnode2 == NULL) {
4220 var10 = 1;
4221 } else {
4222 if(cltype >= var_pdocnode2->type->table_size) {
4223 var10 = 0;
4224 } else {
4225 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4226 }
4227 }
4228 if (!var10) {
4229 fprintf(stderr, "Runtime error: %s", "Assert failed");
4230 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19393);
4231 show_backtrace(1);
4232 }
4233 var_tkwredefnode5 = var_nodearraylist2;
4234 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4235 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4236 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4237 if(var_tkwredefnode5 == NULL) {
4238 var11 = 1;
4239 } else {
4240 if(cltype12 >= var_tkwredefnode5->type->table_size) {
4241 var11 = 0;
4242 } else {
4243 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
4244 }
4245 }
4246 if (!var11) {
4247 fprintf(stderr, "Runtime error: %s", "Assert failed");
4248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19395);
4249 show_backtrace(1);
4250 }
4251 var_pvisibilitynode6 = var_nodearraylist3;
4252 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4253 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4254 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4255 if(var_pvisibilitynode6 == NULL) {
4256 var14 = 1;
4257 } else {
4258 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
4259 var14 = 0;
4260 } else {
4261 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
4262 }
4263 }
4264 if (!var14) {
4265 fprintf(stderr, "Runtime error: %s", "Assert failed");
4266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19397);
4267 show_backtrace(1);
4268 }
4269 var_tkwvarnode7 = var_nodearraylist4;
4270 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4271 cltype18 = type_nullable_parser_nodes__TKwvar.color;
4272 idtype19 = type_nullable_parser_nodes__TKwvar.id;
4273 if(var_tkwvarnode7 == NULL) {
4274 var17 = 1;
4275 } else {
4276 if(cltype18 >= var_tkwvarnode7->type->table_size) {
4277 var17 = 0;
4278 } else {
4279 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
4280 }
4281 }
4282 if (!var17) {
4283 fprintf(stderr, "Runtime error: %s", "Assert failed");
4284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19399);
4285 show_backtrace(1);
4286 }
4287 var_tidnode9 = var_nodearraylist5;
4288 /* <var_tidnode9:nullable Object> isa nullable TId */
4289 cltype21 = type_nullable_parser_nodes__TId.color;
4290 idtype22 = type_nullable_parser_nodes__TId.id;
4291 if(var_tidnode9 == NULL) {
4292 var20 = 1;
4293 } else {
4294 if(cltype21 >= var_tidnode9->type->table_size) {
4295 var20 = 0;
4296 } else {
4297 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
4298 }
4299 }
4300 if (!var20) {
4301 fprintf(stderr, "Runtime error: %s", "Assert failed");
4302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19401);
4303 show_backtrace(1);
4304 }
4305 var_pannotationsnode11 = var_nodearraylist9;
4306 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4307 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
4308 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
4309 if(var_pannotationsnode11 == NULL) {
4310 var23 = 1;
4311 } else {
4312 if(cltype24 >= var_pannotationsnode11->type->table_size) {
4313 var23 = 0;
4314 } else {
4315 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
4316 }
4317 }
4318 if (!var23) {
4319 fprintf(stderr, "Runtime error: %s", "Assert failed");
4320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19403);
4321 show_backtrace(1);
4322 }
4323 var_pexprnode12 = var_nodearraylist8;
4324 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4325 cltype27 = type_nullable_parser_nodes__AExpr.color;
4326 idtype28 = type_nullable_parser_nodes__AExpr.id;
4327 if(var_pexprnode12 == NULL) {
4328 var26 = 1;
4329 } else {
4330 if(cltype27 >= var_pexprnode12->type->table_size) {
4331 var26 = 0;
4332 } else {
4333 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4334 }
4335 }
4336 if (!var26) {
4337 fprintf(stderr, "Runtime error: %s", "Assert failed");
4338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19405);
4339 show_backtrace(1);
4340 }
4341 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4342 var30 = NULL;
4343 var31 = NULL;
4344 var32 = NULL;
4345 var33 = NULL;
4346 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var33, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
4347 var_ppropdefnode1 = var29;
4348 var_node_list = var_ppropdefnode1;
4349 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction438> */
4350 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4351 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4352 RET_LABEL:;
4353 }
4354 /* method parser#ReduceAction438#action for (self: Object, Parser) */
4355 void VIRTUAL_parser__ReduceAction438__action(val* self, val* p0) {
4356 parser__ReduceAction438__action(self, p0);
4357 RET_LABEL:;
4358 }
4359 /* method parser#ReduceAction439#action for (self: ReduceAction439, Parser) */
4360 void parser__ReduceAction439__action(val* self, val* p0) {
4361 val* var_p /* var p: Parser */;
4362 val* var /* : null */;
4363 val* var_node_list /* var node_list: nullable Object */;
4364 val* var1 /* : nullable Object */;
4365 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4366 val* var2 /* : nullable Object */;
4367 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4368 val* var3 /* : nullable Object */;
4369 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4370 val* var4 /* : nullable Object */;
4371 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4372 val* var5 /* : nullable Object */;
4373 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4374 val* var6 /* : nullable Object */;
4375 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4376 val* var7 /* : nullable Object */;
4377 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4378 val* var8 /* : nullable Object */;
4379 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4380 val* var9 /* : nullable Object */;
4381 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4382 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4383 short int var10 /* : Bool */;
4384 int cltype;
4385 int idtype;
4386 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4387 short int var11 /* : Bool */;
4388 int cltype12;
4389 int idtype13;
4390 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4391 short int var14 /* : Bool */;
4392 int cltype15;
4393 int idtype16;
4394 val* var_tidnode9 /* var tidnode9: nullable Object */;
4395 short int var17 /* : Bool */;
4396 int cltype18;
4397 int idtype19;
4398 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4399 short int var20 /* : Bool */;
4400 int cltype21;
4401 int idtype22;
4402 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4403 short int var23 /* : Bool */;
4404 int cltype24;
4405 int idtype25;
4406 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4407 short int var26 /* : Bool */;
4408 int cltype27;
4409 int idtype28;
4410 val* var29 /* : AAttrPropdef */;
4411 val* var30 /* : null */;
4412 val* var31 /* : null */;
4413 val* var32 /* : null */;
4414 val* var33 /* : null */;
4415 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4416 long var34 /* : Int */;
4417 long var35 /* : Int */;
4418 var_p = p0;
4419 var = NULL;
4420 var_node_list = var;
4421 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4422 var_nodearraylist9 = var1;
4423 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4424 var_nodearraylist8 = var2;
4425 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4426 var_nodearraylist7 = var3;
4427 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4428 var_nodearraylist6 = var4;
4429 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4430 var_nodearraylist5 = var5;
4431 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4432 var_nodearraylist4 = var6;
4433 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4434 var_nodearraylist3 = var7;
4435 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4436 var_nodearraylist2 = var8;
4437 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4438 var_nodearraylist1 = var9;
4439 var_pdocnode2 = var_nodearraylist1;
4440 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4441 cltype = type_nullable_parser_nodes__ADoc.color;
4442 idtype = type_nullable_parser_nodes__ADoc.id;
4443 if(var_pdocnode2 == NULL) {
4444 var10 = 1;
4445 } else {
4446 if(cltype >= var_pdocnode2->type->table_size) {
4447 var10 = 0;
4448 } else {
4449 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4450 }
4451 }
4452 if (!var10) {
4453 fprintf(stderr, "Runtime error: %s", "Assert failed");
4454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19438);
4455 show_backtrace(1);
4456 }
4457 var_pvisibilitynode6 = var_nodearraylist2;
4458 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4459 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4460 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4461 if(var_pvisibilitynode6 == NULL) {
4462 var11 = 1;
4463 } else {
4464 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4465 var11 = 0;
4466 } else {
4467 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4468 }
4469 }
4470 if (!var11) {
4471 fprintf(stderr, "Runtime error: %s", "Assert failed");
4472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19440);
4473 show_backtrace(1);
4474 }
4475 var_tkwvarnode7 = var_nodearraylist3;
4476 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4477 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4478 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4479 if(var_tkwvarnode7 == NULL) {
4480 var14 = 1;
4481 } else {
4482 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4483 var14 = 0;
4484 } else {
4485 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4486 }
4487 }
4488 if (!var14) {
4489 fprintf(stderr, "Runtime error: %s", "Assert failed");
4490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19442);
4491 show_backtrace(1);
4492 }
4493 var_tidnode9 = var_nodearraylist4;
4494 /* <var_tidnode9:nullable Object> isa nullable TId */
4495 cltype18 = type_nullable_parser_nodes__TId.color;
4496 idtype19 = type_nullable_parser_nodes__TId.id;
4497 if(var_tidnode9 == NULL) {
4498 var17 = 1;
4499 } else {
4500 if(cltype18 >= var_tidnode9->type->table_size) {
4501 var17 = 0;
4502 } else {
4503 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
4504 }
4505 }
4506 if (!var17) {
4507 fprintf(stderr, "Runtime error: %s", "Assert failed");
4508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19444);
4509 show_backtrace(1);
4510 }
4511 var_ptypenode10 = var_nodearraylist5;
4512 /* <var_ptypenode10:nullable Object> isa nullable AType */
4513 cltype21 = type_nullable_parser_nodes__AType.color;
4514 idtype22 = type_nullable_parser_nodes__AType.id;
4515 if(var_ptypenode10 == NULL) {
4516 var20 = 1;
4517 } else {
4518 if(cltype21 >= var_ptypenode10->type->table_size) {
4519 var20 = 0;
4520 } else {
4521 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4522 }
4523 }
4524 if (!var20) {
4525 fprintf(stderr, "Runtime error: %s", "Assert failed");
4526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19446);
4527 show_backtrace(1);
4528 }
4529 var_pannotationsnode11 = var_nodearraylist9;
4530 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4531 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
4532 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
4533 if(var_pannotationsnode11 == NULL) {
4534 var23 = 1;
4535 } else {
4536 if(cltype24 >= var_pannotationsnode11->type->table_size) {
4537 var23 = 0;
4538 } else {
4539 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
4540 }
4541 }
4542 if (!var23) {
4543 fprintf(stderr, "Runtime error: %s", "Assert failed");
4544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19448);
4545 show_backtrace(1);
4546 }
4547 var_pexprnode12 = var_nodearraylist8;
4548 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4549 cltype27 = type_nullable_parser_nodes__AExpr.color;
4550 idtype28 = type_nullable_parser_nodes__AExpr.id;
4551 if(var_pexprnode12 == NULL) {
4552 var26 = 1;
4553 } else {
4554 if(cltype27 >= var_pexprnode12->type->table_size) {
4555 var26 = 0;
4556 } else {
4557 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4558 }
4559 }
4560 if (!var26) {
4561 fprintf(stderr, "Runtime error: %s", "Assert failed");
4562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19450);
4563 show_backtrace(1);
4564 }
4565 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4566 var30 = NULL;
4567 var31 = NULL;
4568 var32 = NULL;
4569 var33 = NULL;
4570 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var32, var_pvisibilitynode6, var_tkwvarnode7, var33, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
4571 var_ppropdefnode1 = var29;
4572 var_node_list = var_ppropdefnode1;
4573 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction439> */
4574 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4575 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4576 RET_LABEL:;
4577 }
4578 /* method parser#ReduceAction439#action for (self: Object, Parser) */
4579 void VIRTUAL_parser__ReduceAction439__action(val* self, val* p0) {
4580 parser__ReduceAction439__action(self, p0);
4581 RET_LABEL:;
4582 }
4583 /* method parser#ReduceAction440#action for (self: ReduceAction440, Parser) */
4584 void parser__ReduceAction440__action(val* self, val* p0) {
4585 val* var_p /* var p: Parser */;
4586 val* var /* : null */;
4587 val* var_node_list /* var node_list: nullable Object */;
4588 val* var1 /* : nullable Object */;
4589 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4590 val* var2 /* : nullable Object */;
4591 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4592 val* var3 /* : nullable Object */;
4593 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4594 val* var4 /* : nullable Object */;
4595 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4596 val* var5 /* : nullable Object */;
4597 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4598 val* var6 /* : nullable Object */;
4599 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4600 val* var7 /* : nullable Object */;
4601 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4602 val* var8 /* : nullable Object */;
4603 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4604 val* var9 /* : nullable Object */;
4605 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4606 val* var10 /* : nullable Object */;
4607 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4608 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4609 short int var11 /* : Bool */;
4610 int cltype;
4611 int idtype;
4612 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4613 short int var12 /* : Bool */;
4614 int cltype13;
4615 int idtype14;
4616 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4617 short int var15 /* : Bool */;
4618 int cltype16;
4619 int idtype17;
4620 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4621 short int var18 /* : Bool */;
4622 int cltype19;
4623 int idtype20;
4624 val* var_tidnode9 /* var tidnode9: nullable Object */;
4625 short int var21 /* : Bool */;
4626 int cltype22;
4627 int idtype23;
4628 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4629 short int var24 /* : Bool */;
4630 int cltype25;
4631 int idtype26;
4632 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4633 short int var27 /* : Bool */;
4634 int cltype28;
4635 int idtype29;
4636 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4637 short int var30 /* : Bool */;
4638 int cltype31;
4639 int idtype32;
4640 val* var33 /* : AAttrPropdef */;
4641 val* var34 /* : null */;
4642 val* var35 /* : null */;
4643 val* var36 /* : null */;
4644 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4645 long var37 /* : Int */;
4646 long var38 /* : Int */;
4647 var_p = p0;
4648 var = NULL;
4649 var_node_list = var;
4650 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4651 var_nodearraylist10 = var1;
4652 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4653 var_nodearraylist9 = var2;
4654 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4655 var_nodearraylist8 = var3;
4656 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4657 var_nodearraylist7 = var4;
4658 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4659 var_nodearraylist6 = var5;
4660 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4661 var_nodearraylist5 = var6;
4662 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4663 var_nodearraylist4 = var7;
4664 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4665 var_nodearraylist3 = var8;
4666 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4667 var_nodearraylist2 = var9;
4668 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4669 var_nodearraylist1 = var10;
4670 var_pdocnode2 = var_nodearraylist1;
4671 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4672 cltype = type_nullable_parser_nodes__ADoc.color;
4673 idtype = type_nullable_parser_nodes__ADoc.id;
4674 if(var_pdocnode2 == NULL) {
4675 var11 = 1;
4676 } else {
4677 if(cltype >= var_pdocnode2->type->table_size) {
4678 var11 = 0;
4679 } else {
4680 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
4681 }
4682 }
4683 if (!var11) {
4684 fprintf(stderr, "Runtime error: %s", "Assert failed");
4685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19484);
4686 show_backtrace(1);
4687 }
4688 var_tkwredefnode5 = var_nodearraylist2;
4689 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4690 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4691 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4692 if(var_tkwredefnode5 == NULL) {
4693 var12 = 1;
4694 } else {
4695 if(cltype13 >= var_tkwredefnode5->type->table_size) {
4696 var12 = 0;
4697 } else {
4698 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
4699 }
4700 }
4701 if (!var12) {
4702 fprintf(stderr, "Runtime error: %s", "Assert failed");
4703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19486);
4704 show_backtrace(1);
4705 }
4706 var_pvisibilitynode6 = var_nodearraylist3;
4707 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4708 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4709 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4710 if(var_pvisibilitynode6 == NULL) {
4711 var15 = 1;
4712 } else {
4713 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
4714 var15 = 0;
4715 } else {
4716 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
4717 }
4718 }
4719 if (!var15) {
4720 fprintf(stderr, "Runtime error: %s", "Assert failed");
4721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19488);
4722 show_backtrace(1);
4723 }
4724 var_tkwvarnode7 = var_nodearraylist4;
4725 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4726 cltype19 = type_nullable_parser_nodes__TKwvar.color;
4727 idtype20 = type_nullable_parser_nodes__TKwvar.id;
4728 if(var_tkwvarnode7 == NULL) {
4729 var18 = 1;
4730 } else {
4731 if(cltype19 >= var_tkwvarnode7->type->table_size) {
4732 var18 = 0;
4733 } else {
4734 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
4735 }
4736 }
4737 if (!var18) {
4738 fprintf(stderr, "Runtime error: %s", "Assert failed");
4739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19490);
4740 show_backtrace(1);
4741 }
4742 var_tidnode9 = var_nodearraylist5;
4743 /* <var_tidnode9:nullable Object> isa nullable TId */
4744 cltype22 = type_nullable_parser_nodes__TId.color;
4745 idtype23 = type_nullable_parser_nodes__TId.id;
4746 if(var_tidnode9 == NULL) {
4747 var21 = 1;
4748 } else {
4749 if(cltype22 >= var_tidnode9->type->table_size) {
4750 var21 = 0;
4751 } else {
4752 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
4753 }
4754 }
4755 if (!var21) {
4756 fprintf(stderr, "Runtime error: %s", "Assert failed");
4757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19492);
4758 show_backtrace(1);
4759 }
4760 var_ptypenode10 = var_nodearraylist6;
4761 /* <var_ptypenode10:nullable Object> isa nullable AType */
4762 cltype25 = type_nullable_parser_nodes__AType.color;
4763 idtype26 = type_nullable_parser_nodes__AType.id;
4764 if(var_ptypenode10 == NULL) {
4765 var24 = 1;
4766 } else {
4767 if(cltype25 >= var_ptypenode10->type->table_size) {
4768 var24 = 0;
4769 } else {
4770 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
4771 }
4772 }
4773 if (!var24) {
4774 fprintf(stderr, "Runtime error: %s", "Assert failed");
4775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19494);
4776 show_backtrace(1);
4777 }
4778 var_pannotationsnode11 = var_nodearraylist10;
4779 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4780 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
4781 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
4782 if(var_pannotationsnode11 == NULL) {
4783 var27 = 1;
4784 } else {
4785 if(cltype28 >= var_pannotationsnode11->type->table_size) {
4786 var27 = 0;
4787 } else {
4788 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
4789 }
4790 }
4791 if (!var27) {
4792 fprintf(stderr, "Runtime error: %s", "Assert failed");
4793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19496);
4794 show_backtrace(1);
4795 }
4796 var_pexprnode12 = var_nodearraylist9;
4797 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4798 cltype31 = type_nullable_parser_nodes__AExpr.color;
4799 idtype32 = type_nullable_parser_nodes__AExpr.id;
4800 if(var_pexprnode12 == NULL) {
4801 var30 = 1;
4802 } else {
4803 if(cltype31 >= var_pexprnode12->type->table_size) {
4804 var30 = 0;
4805 } else {
4806 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
4807 }
4808 }
4809 if (!var30) {
4810 fprintf(stderr, "Runtime error: %s", "Assert failed");
4811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19498);
4812 show_backtrace(1);
4813 }
4814 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4815 var34 = NULL;
4816 var35 = NULL;
4817 var36 = NULL;
4818 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var35, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var36, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
4819 var_ppropdefnode1 = var33;
4820 var_node_list = var_ppropdefnode1;
4821 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction440> */
4822 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
4823 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
4824 RET_LABEL:;
4825 }
4826 /* method parser#ReduceAction440#action for (self: Object, Parser) */
4827 void VIRTUAL_parser__ReduceAction440__action(val* self, val* p0) {
4828 parser__ReduceAction440__action(self, p0);
4829 RET_LABEL:;
4830 }
4831 /* method parser#ReduceAction441#action for (self: ReduceAction441, Parser) */
4832 void parser__ReduceAction441__action(val* self, val* p0) {
4833 val* var_p /* var p: Parser */;
4834 val* var /* : null */;
4835 val* var_node_list /* var node_list: nullable Object */;
4836 val* var1 /* : nullable Object */;
4837 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4838 val* var2 /* : nullable Object */;
4839 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4840 val* var3 /* : nullable Object */;
4841 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4842 val* var4 /* : nullable Object */;
4843 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4844 val* var5 /* : nullable Object */;
4845 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4846 val* var6 /* : nullable Object */;
4847 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4848 val* var7 /* : nullable Object */;
4849 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4850 val* var8 /* : nullable Object */;
4851 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4852 val* var9 /* : nullable Object */;
4853 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4854 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4855 short int var10 /* : Bool */;
4856 int cltype;
4857 int idtype;
4858 val* var_pablenode4 /* var pablenode4: nullable Object */;
4859 short int var11 /* : Bool */;
4860 int cltype12;
4861 int idtype13;
4862 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4863 short int var14 /* : Bool */;
4864 int cltype15;
4865 int idtype16;
4866 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4867 short int var17 /* : Bool */;
4868 int cltype18;
4869 int idtype19;
4870 val* var_tidnode9 /* var tidnode9: nullable Object */;
4871 short int var20 /* : Bool */;
4872 int cltype21;
4873 int idtype22;
4874 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4875 short int var23 /* : Bool */;
4876 int cltype24;
4877 int idtype25;
4878 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4879 short int var26 /* : Bool */;
4880 int cltype27;
4881 int idtype28;
4882 val* var29 /* : AAttrPropdef */;
4883 val* var30 /* : null */;
4884 val* var31 /* : null */;
4885 val* var32 /* : null */;
4886 val* var33 /* : null */;
4887 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4888 long var34 /* : Int */;
4889 long var35 /* : Int */;
4890 var_p = p0;
4891 var = NULL;
4892 var_node_list = var;
4893 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4894 var_nodearraylist9 = var1;
4895 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4896 var_nodearraylist8 = var2;
4897 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4898 var_nodearraylist7 = var3;
4899 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4900 var_nodearraylist6 = var4;
4901 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4902 var_nodearraylist5 = var5;
4903 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4904 var_nodearraylist4 = var6;
4905 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4906 var_nodearraylist3 = var7;
4907 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4908 var_nodearraylist2 = var8;
4909 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4910 var_nodearraylist1 = var9;
4911 var_pdocnode2 = var_nodearraylist1;
4912 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4913 cltype = type_nullable_parser_nodes__ADoc.color;
4914 idtype = type_nullable_parser_nodes__ADoc.id;
4915 if(var_pdocnode2 == NULL) {
4916 var10 = 1;
4917 } else {
4918 if(cltype >= var_pdocnode2->type->table_size) {
4919 var10 = 0;
4920 } else {
4921 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4922 }
4923 }
4924 if (!var10) {
4925 fprintf(stderr, "Runtime error: %s", "Assert failed");
4926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19531);
4927 show_backtrace(1);
4928 }
4929 var_pablenode4 = var_nodearraylist5;
4930 /* <var_pablenode4:nullable Object> isa nullable AAble */
4931 cltype12 = type_nullable_parser_nodes__AAble.color;
4932 idtype13 = type_nullable_parser_nodes__AAble.id;
4933 if(var_pablenode4 == NULL) {
4934 var11 = 1;
4935 } else {
4936 if(cltype12 >= var_pablenode4->type->table_size) {
4937 var11 = 0;
4938 } else {
4939 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
4940 }
4941 }
4942 if (!var11) {
4943 fprintf(stderr, "Runtime error: %s", "Assert failed");
4944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19533);
4945 show_backtrace(1);
4946 }
4947 var_pvisibilitynode6 = var_nodearraylist2;
4948 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4949 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4950 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4951 if(var_pvisibilitynode6 == NULL) {
4952 var14 = 1;
4953 } else {
4954 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
4955 var14 = 0;
4956 } else {
4957 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
4958 }
4959 }
4960 if (!var14) {
4961 fprintf(stderr, "Runtime error: %s", "Assert failed");
4962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19535);
4963 show_backtrace(1);
4964 }
4965 var_tkwvarnode7 = var_nodearraylist3;
4966 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4967 cltype18 = type_nullable_parser_nodes__TKwvar.color;
4968 idtype19 = type_nullable_parser_nodes__TKwvar.id;
4969 if(var_tkwvarnode7 == NULL) {
4970 var17 = 1;
4971 } else {
4972 if(cltype18 >= var_tkwvarnode7->type->table_size) {
4973 var17 = 0;
4974 } else {
4975 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
4976 }
4977 }
4978 if (!var17) {
4979 fprintf(stderr, "Runtime error: %s", "Assert failed");
4980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19537);
4981 show_backtrace(1);
4982 }
4983 var_tidnode9 = var_nodearraylist4;
4984 /* <var_tidnode9:nullable Object> isa nullable TId */
4985 cltype21 = type_nullable_parser_nodes__TId.color;
4986 idtype22 = type_nullable_parser_nodes__TId.id;
4987 if(var_tidnode9 == NULL) {
4988 var20 = 1;
4989 } else {
4990 if(cltype21 >= var_tidnode9->type->table_size) {
4991 var20 = 0;
4992 } else {
4993 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
4994 }
4995 }
4996 if (!var20) {
4997 fprintf(stderr, "Runtime error: %s", "Assert failed");
4998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19539);
4999 show_backtrace(1);
5000 }
5001 var_pannotationsnode11 = var_nodearraylist9;
5002 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5003 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
5004 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
5005 if(var_pannotationsnode11 == NULL) {
5006 var23 = 1;
5007 } else {
5008 if(cltype24 >= var_pannotationsnode11->type->table_size) {
5009 var23 = 0;
5010 } else {
5011 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
5012 }
5013 }
5014 if (!var23) {
5015 fprintf(stderr, "Runtime error: %s", "Assert failed");
5016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19541);
5017 show_backtrace(1);
5018 }
5019 var_pexprnode12 = var_nodearraylist8;
5020 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5021 cltype27 = type_nullable_parser_nodes__AExpr.color;
5022 idtype28 = type_nullable_parser_nodes__AExpr.id;
5023 if(var_pexprnode12 == NULL) {
5024 var26 = 1;
5025 } else {
5026 if(cltype27 >= var_pexprnode12->type->table_size) {
5027 var26 = 0;
5028 } else {
5029 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
5030 }
5031 }
5032 if (!var26) {
5033 fprintf(stderr, "Runtime error: %s", "Assert failed");
5034 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19543);
5035 show_backtrace(1);
5036 }
5037 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5038 var30 = NULL;
5039 var31 = NULL;
5040 var32 = NULL;
5041 var33 = NULL;
5042 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var33, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
5043 var_ppropdefnode1 = var29;
5044 var_node_list = var_ppropdefnode1;
5045 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction441> */
5046 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
5047 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
5048 RET_LABEL:;
5049 }
5050 /* method parser#ReduceAction441#action for (self: Object, Parser) */
5051 void VIRTUAL_parser__ReduceAction441__action(val* self, val* p0) {
5052 parser__ReduceAction441__action(self, p0);
5053 RET_LABEL:;
5054 }
5055 /* method parser#ReduceAction442#action for (self: ReduceAction442, Parser) */
5056 void parser__ReduceAction442__action(val* self, val* p0) {
5057 val* var_p /* var p: Parser */;
5058 val* var /* : null */;
5059 val* var_node_list /* var node_list: nullable Object */;
5060 val* var1 /* : nullable Object */;
5061 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5062 val* var2 /* : nullable Object */;
5063 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5064 val* var3 /* : nullable Object */;
5065 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5066 val* var4 /* : nullable Object */;
5067 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5068 val* var5 /* : nullable Object */;
5069 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5070 val* var6 /* : nullable Object */;
5071 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5072 val* var7 /* : nullable Object */;
5073 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5074 val* var8 /* : nullable Object */;
5075 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5076 val* var9 /* : nullable Object */;
5077 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5078 val* var10 /* : nullable Object */;
5079 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5080 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5081 short int var11 /* : Bool */;
5082 int cltype;
5083 int idtype;
5084 val* var_pablenode4 /* var pablenode4: nullable Object */;
5085 short int var12 /* : Bool */;
5086 int cltype13;
5087 int idtype14;
5088 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5089 short int var15 /* : Bool */;
5090 int cltype16;
5091 int idtype17;
5092 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5093 short int var18 /* : Bool */;
5094 int cltype19;
5095 int idtype20;
5096 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5097 short int var21 /* : Bool */;
5098 int cltype22;
5099 int idtype23;
5100 val* var_tidnode9 /* var tidnode9: nullable Object */;
5101 short int var24 /* : Bool */;
5102 int cltype25;
5103 int idtype26;
5104 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5105 short int var27 /* : Bool */;
5106 int cltype28;
5107 int idtype29;
5108 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5109 short int var30 /* : Bool */;
5110 int cltype31;
5111 int idtype32;
5112 val* var33 /* : AAttrPropdef */;
5113 val* var34 /* : null */;
5114 val* var35 /* : null */;
5115 val* var36 /* : null */;
5116 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5117 long var37 /* : Int */;
5118 long var38 /* : Int */;
5119 var_p = p0;
5120 var = NULL;
5121 var_node_list = var;
5122 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5123 var_nodearraylist10 = var1;
5124 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5125 var_nodearraylist9 = var2;
5126 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5127 var_nodearraylist8 = var3;
5128 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5129 var_nodearraylist7 = var4;
5130 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5131 var_nodearraylist6 = var5;
5132 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5133 var_nodearraylist5 = var6;
5134 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5135 var_nodearraylist4 = var7;
5136 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5137 var_nodearraylist3 = var8;
5138 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5139 var_nodearraylist2 = var9;
5140 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5141 var_nodearraylist1 = var10;
5142 var_pdocnode2 = var_nodearraylist1;
5143 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5144 cltype = type_nullable_parser_nodes__ADoc.color;
5145 idtype = type_nullable_parser_nodes__ADoc.id;
5146 if(var_pdocnode2 == NULL) {
5147 var11 = 1;
5148 } else {
5149 if(cltype >= var_pdocnode2->type->table_size) {
5150 var11 = 0;
5151 } else {
5152 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5153 }
5154 }
5155 if (!var11) {
5156 fprintf(stderr, "Runtime error: %s", "Assert failed");
5157 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19577);
5158 show_backtrace(1);
5159 }
5160 var_pablenode4 = var_nodearraylist6;
5161 /* <var_pablenode4:nullable Object> isa nullable AAble */
5162 cltype13 = type_nullable_parser_nodes__AAble.color;
5163 idtype14 = type_nullable_parser_nodes__AAble.id;
5164 if(var_pablenode4 == NULL) {
5165 var12 = 1;
5166 } else {
5167 if(cltype13 >= var_pablenode4->type->table_size) {
5168 var12 = 0;
5169 } else {
5170 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5171 }
5172 }
5173 if (!var12) {
5174 fprintf(stderr, "Runtime error: %s", "Assert failed");
5175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19579);
5176 show_backtrace(1);
5177 }
5178 var_tkwredefnode5 = var_nodearraylist2;
5179 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5180 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5181 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5182 if(var_tkwredefnode5 == NULL) {
5183 var15 = 1;
5184 } else {
5185 if(cltype16 >= var_tkwredefnode5->type->table_size) {
5186 var15 = 0;
5187 } else {
5188 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
5189 }
5190 }
5191 if (!var15) {
5192 fprintf(stderr, "Runtime error: %s", "Assert failed");
5193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19581);
5194 show_backtrace(1);
5195 }
5196 var_pvisibilitynode6 = var_nodearraylist3;
5197 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5198 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5199 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5200 if(var_pvisibilitynode6 == NULL) {
5201 var18 = 1;
5202 } else {
5203 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
5204 var18 = 0;
5205 } else {
5206 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
5207 }
5208 }
5209 if (!var18) {
5210 fprintf(stderr, "Runtime error: %s", "Assert failed");
5211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19583);
5212 show_backtrace(1);
5213 }
5214 var_tkwvarnode7 = var_nodearraylist4;
5215 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5216 cltype22 = type_nullable_parser_nodes__TKwvar.color;
5217 idtype23 = type_nullable_parser_nodes__TKwvar.id;
5218 if(var_tkwvarnode7 == NULL) {
5219 var21 = 1;
5220 } else {
5221 if(cltype22 >= var_tkwvarnode7->type->table_size) {
5222 var21 = 0;
5223 } else {
5224 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
5225 }
5226 }
5227 if (!var21) {
5228 fprintf(stderr, "Runtime error: %s", "Assert failed");
5229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19585);
5230 show_backtrace(1);
5231 }
5232 var_tidnode9 = var_nodearraylist5;
5233 /* <var_tidnode9:nullable Object> isa nullable TId */
5234 cltype25 = type_nullable_parser_nodes__TId.color;
5235 idtype26 = type_nullable_parser_nodes__TId.id;
5236 if(var_tidnode9 == NULL) {
5237 var24 = 1;
5238 } else {
5239 if(cltype25 >= var_tidnode9->type->table_size) {
5240 var24 = 0;
5241 } else {
5242 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
5243 }
5244 }
5245 if (!var24) {
5246 fprintf(stderr, "Runtime error: %s", "Assert failed");
5247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19587);
5248 show_backtrace(1);
5249 }
5250 var_pannotationsnode11 = var_nodearraylist10;
5251 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5252 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
5253 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
5254 if(var_pannotationsnode11 == NULL) {
5255 var27 = 1;
5256 } else {
5257 if(cltype28 >= var_pannotationsnode11->type->table_size) {
5258 var27 = 0;
5259 } else {
5260 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
5261 }
5262 }
5263 if (!var27) {
5264 fprintf(stderr, "Runtime error: %s", "Assert failed");
5265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19589);
5266 show_backtrace(1);
5267 }
5268 var_pexprnode12 = var_nodearraylist9;
5269 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5270 cltype31 = type_nullable_parser_nodes__AExpr.color;
5271 idtype32 = type_nullable_parser_nodes__AExpr.id;
5272 if(var_pexprnode12 == NULL) {
5273 var30 = 1;
5274 } else {
5275 if(cltype31 >= var_pexprnode12->type->table_size) {
5276 var30 = 0;
5277 } else {
5278 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
5279 }
5280 }
5281 if (!var30) {
5282 fprintf(stderr, "Runtime error: %s", "Assert failed");
5283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19591);
5284 show_backtrace(1);
5285 }
5286 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5287 var34 = NULL;
5288 var35 = NULL;
5289 var36 = NULL;
5290 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var35, var_tidnode9, var36, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
5291 var_ppropdefnode1 = var33;
5292 var_node_list = var_ppropdefnode1;
5293 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction442> */
5294 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
5295 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
5296 RET_LABEL:;
5297 }
5298 /* method parser#ReduceAction442#action for (self: Object, Parser) */
5299 void VIRTUAL_parser__ReduceAction442__action(val* self, val* p0) {
5300 parser__ReduceAction442__action(self, p0);
5301 RET_LABEL:;
5302 }
5303 /* method parser#ReduceAction443#action for (self: ReduceAction443, Parser) */
5304 void parser__ReduceAction443__action(val* self, val* p0) {
5305 val* var_p /* var p: Parser */;
5306 val* var /* : null */;
5307 val* var_node_list /* var node_list: nullable Object */;
5308 val* var1 /* : nullable Object */;
5309 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5310 val* var2 /* : nullable Object */;
5311 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5312 val* var3 /* : nullable Object */;
5313 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5314 val* var4 /* : nullable Object */;
5315 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5316 val* var5 /* : nullable Object */;
5317 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5318 val* var6 /* : nullable Object */;
5319 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5320 val* var7 /* : nullable Object */;
5321 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5322 val* var8 /* : nullable Object */;
5323 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5324 val* var9 /* : nullable Object */;
5325 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5326 val* var10 /* : nullable Object */;
5327 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5328 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5329 short int var11 /* : Bool */;
5330 int cltype;
5331 int idtype;
5332 val* var_pablenode4 /* var pablenode4: nullable Object */;
5333 short int var12 /* : Bool */;
5334 int cltype13;
5335 int idtype14;
5336 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5337 short int var15 /* : Bool */;
5338 int cltype16;
5339 int idtype17;
5340 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5341 short int var18 /* : Bool */;
5342 int cltype19;
5343 int idtype20;
5344 val* var_tidnode9 /* var tidnode9: nullable Object */;
5345 short int var21 /* : Bool */;
5346 int cltype22;
5347 int idtype23;
5348 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5349 short int var24 /* : Bool */;
5350 int cltype25;
5351 int idtype26;
5352 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5353 short int var27 /* : Bool */;
5354 int cltype28;
5355 int idtype29;
5356 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5357 short int var30 /* : Bool */;
5358 int cltype31;
5359 int idtype32;
5360 val* var33 /* : AAttrPropdef */;
5361 val* var34 /* : null */;
5362 val* var35 /* : null */;
5363 val* var36 /* : null */;
5364 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5365 long var37 /* : Int */;
5366 long var38 /* : Int */;
5367 var_p = p0;
5368 var = NULL;
5369 var_node_list = var;
5370 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5371 var_nodearraylist10 = var1;
5372 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5373 var_nodearraylist9 = var2;
5374 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5375 var_nodearraylist8 = var3;
5376 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5377 var_nodearraylist7 = var4;
5378 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5379 var_nodearraylist6 = var5;
5380 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5381 var_nodearraylist5 = var6;
5382 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5383 var_nodearraylist4 = var7;
5384 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5385 var_nodearraylist3 = var8;
5386 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5387 var_nodearraylist2 = var9;
5388 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5389 var_nodearraylist1 = var10;
5390 var_pdocnode2 = var_nodearraylist1;
5391 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5392 cltype = type_nullable_parser_nodes__ADoc.color;
5393 idtype = type_nullable_parser_nodes__ADoc.id;
5394 if(var_pdocnode2 == NULL) {
5395 var11 = 1;
5396 } else {
5397 if(cltype >= var_pdocnode2->type->table_size) {
5398 var11 = 0;
5399 } else {
5400 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5401 }
5402 }
5403 if (!var11) {
5404 fprintf(stderr, "Runtime error: %s", "Assert failed");
5405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19625);
5406 show_backtrace(1);
5407 }
5408 var_pablenode4 = var_nodearraylist6;
5409 /* <var_pablenode4:nullable Object> isa nullable AAble */
5410 cltype13 = type_nullable_parser_nodes__AAble.color;
5411 idtype14 = type_nullable_parser_nodes__AAble.id;
5412 if(var_pablenode4 == NULL) {
5413 var12 = 1;
5414 } else {
5415 if(cltype13 >= var_pablenode4->type->table_size) {
5416 var12 = 0;
5417 } else {
5418 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5419 }
5420 }
5421 if (!var12) {
5422 fprintf(stderr, "Runtime error: %s", "Assert failed");
5423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19627);
5424 show_backtrace(1);
5425 }
5426 var_pvisibilitynode6 = var_nodearraylist2;
5427 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5428 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5429 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5430 if(var_pvisibilitynode6 == NULL) {
5431 var15 = 1;
5432 } else {
5433 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
5434 var15 = 0;
5435 } else {
5436 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
5437 }
5438 }
5439 if (!var15) {
5440 fprintf(stderr, "Runtime error: %s", "Assert failed");
5441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19629);
5442 show_backtrace(1);
5443 }
5444 var_tkwvarnode7 = var_nodearraylist3;
5445 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5446 cltype19 = type_nullable_parser_nodes__TKwvar.color;
5447 idtype20 = type_nullable_parser_nodes__TKwvar.id;
5448 if(var_tkwvarnode7 == NULL) {
5449 var18 = 1;
5450 } else {
5451 if(cltype19 >= var_tkwvarnode7->type->table_size) {
5452 var18 = 0;
5453 } else {
5454 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
5455 }
5456 }
5457 if (!var18) {
5458 fprintf(stderr, "Runtime error: %s", "Assert failed");
5459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19631);
5460 show_backtrace(1);
5461 }
5462 var_tidnode9 = var_nodearraylist4;
5463 /* <var_tidnode9:nullable Object> isa nullable TId */
5464 cltype22 = type_nullable_parser_nodes__TId.color;
5465 idtype23 = type_nullable_parser_nodes__TId.id;
5466 if(var_tidnode9 == NULL) {
5467 var21 = 1;
5468 } else {
5469 if(cltype22 >= var_tidnode9->type->table_size) {
5470 var21 = 0;
5471 } else {
5472 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
5473 }
5474 }
5475 if (!var21) {
5476 fprintf(stderr, "Runtime error: %s", "Assert failed");
5477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19633);
5478 show_backtrace(1);
5479 }
5480 var_ptypenode10 = var_nodearraylist5;
5481 /* <var_ptypenode10:nullable Object> isa nullable AType */
5482 cltype25 = type_nullable_parser_nodes__AType.color;
5483 idtype26 = type_nullable_parser_nodes__AType.id;
5484 if(var_ptypenode10 == NULL) {
5485 var24 = 1;
5486 } else {
5487 if(cltype25 >= var_ptypenode10->type->table_size) {
5488 var24 = 0;
5489 } else {
5490 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
5491 }
5492 }
5493 if (!var24) {
5494 fprintf(stderr, "Runtime error: %s", "Assert failed");
5495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19635);
5496 show_backtrace(1);
5497 }
5498 var_pannotationsnode11 = var_nodearraylist10;
5499 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5500 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
5501 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
5502 if(var_pannotationsnode11 == NULL) {
5503 var27 = 1;
5504 } else {
5505 if(cltype28 >= var_pannotationsnode11->type->table_size) {
5506 var27 = 0;
5507 } else {
5508 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
5509 }
5510 }
5511 if (!var27) {
5512 fprintf(stderr, "Runtime error: %s", "Assert failed");
5513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19637);
5514 show_backtrace(1);
5515 }
5516 var_pexprnode12 = var_nodearraylist9;
5517 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5518 cltype31 = type_nullable_parser_nodes__AExpr.color;
5519 idtype32 = type_nullable_parser_nodes__AExpr.id;
5520 if(var_pexprnode12 == NULL) {
5521 var30 = 1;
5522 } else {
5523 if(cltype31 >= var_pexprnode12->type->table_size) {
5524 var30 = 0;
5525 } else {
5526 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
5527 }
5528 }
5529 if (!var30) {
5530 fprintf(stderr, "Runtime error: %s", "Assert failed");
5531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19639);
5532 show_backtrace(1);
5533 }
5534 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5535 var34 = NULL;
5536 var35 = NULL;
5537 var36 = NULL;
5538 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var35, var_pvisibilitynode6, var_tkwvarnode7, var36, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
5539 var_ppropdefnode1 = var33;
5540 var_node_list = var_ppropdefnode1;
5541 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction443> */
5542 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
5543 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
5544 RET_LABEL:;
5545 }
5546 /* method parser#ReduceAction443#action for (self: Object, Parser) */
5547 void VIRTUAL_parser__ReduceAction443__action(val* self, val* p0) {
5548 parser__ReduceAction443__action(self, p0);
5549 RET_LABEL:;
5550 }
5551 /* method parser#ReduceAction444#action for (self: ReduceAction444, Parser) */
5552 void parser__ReduceAction444__action(val* self, val* p0) {
5553 val* var_p /* var p: Parser */;
5554 val* var /* : null */;
5555 val* var_node_list /* var node_list: nullable Object */;
5556 val* var1 /* : nullable Object */;
5557 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5558 val* var2 /* : nullable Object */;
5559 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5560 val* var3 /* : nullable Object */;
5561 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5562 val* var4 /* : nullable Object */;
5563 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5564 val* var5 /* : nullable Object */;
5565 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5566 val* var6 /* : nullable Object */;
5567 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5568 val* var7 /* : nullable Object */;
5569 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5570 val* var8 /* : nullable Object */;
5571 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5572 val* var9 /* : nullable Object */;
5573 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5574 val* var10 /* : nullable Object */;
5575 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5576 val* var11 /* : nullable Object */;
5577 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5578 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5579 short int var12 /* : Bool */;
5580 int cltype;
5581 int idtype;
5582 val* var_pablenode4 /* var pablenode4: nullable Object */;
5583 short int var13 /* : Bool */;
5584 int cltype14;
5585 int idtype15;
5586 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5587 short int var16 /* : Bool */;
5588 int cltype17;
5589 int idtype18;
5590 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5591 short int var19 /* : Bool */;
5592 int cltype20;
5593 int idtype21;
5594 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5595 short int var22 /* : Bool */;
5596 int cltype23;
5597 int idtype24;
5598 val* var_tidnode9 /* var tidnode9: nullable Object */;
5599 short int var25 /* : Bool */;
5600 int cltype26;
5601 int idtype27;
5602 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5603 short int var28 /* : Bool */;
5604 int cltype29;
5605 int idtype30;
5606 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5607 short int var31 /* : Bool */;
5608 int cltype32;
5609 int idtype33;
5610 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5611 short int var34 /* : Bool */;
5612 int cltype35;
5613 int idtype36;
5614 val* var37 /* : AAttrPropdef */;
5615 val* var38 /* : null */;
5616 val* var39 /* : null */;
5617 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5618 long var40 /* : Int */;
5619 long var41 /* : Int */;
5620 var_p = p0;
5621 var = NULL;
5622 var_node_list = var;
5623 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5624 var_nodearraylist11 = var1;
5625 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5626 var_nodearraylist10 = var2;
5627 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5628 var_nodearraylist9 = var3;
5629 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5630 var_nodearraylist8 = var4;
5631 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5632 var_nodearraylist7 = var5;
5633 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5634 var_nodearraylist6 = var6;
5635 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5636 var_nodearraylist5 = var7;
5637 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5638 var_nodearraylist4 = var8;
5639 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5640 var_nodearraylist3 = var9;
5641 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5642 var_nodearraylist2 = var10;
5643 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5644 var_nodearraylist1 = var11;
5645 var_pdocnode2 = var_nodearraylist1;
5646 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5647 cltype = type_nullable_parser_nodes__ADoc.color;
5648 idtype = type_nullable_parser_nodes__ADoc.id;
5649 if(var_pdocnode2 == NULL) {
5650 var12 = 1;
5651 } else {
5652 if(cltype >= var_pdocnode2->type->table_size) {
5653 var12 = 0;
5654 } else {
5655 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
5656 }
5657 }
5658 if (!var12) {
5659 fprintf(stderr, "Runtime error: %s", "Assert failed");
5660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19674);
5661 show_backtrace(1);
5662 }
5663 var_pablenode4 = var_nodearraylist7;
5664 /* <var_pablenode4:nullable Object> isa nullable AAble */
5665 cltype14 = type_nullable_parser_nodes__AAble.color;
5666 idtype15 = type_nullable_parser_nodes__AAble.id;
5667 if(var_pablenode4 == NULL) {
5668 var13 = 1;
5669 } else {
5670 if(cltype14 >= var_pablenode4->type->table_size) {
5671 var13 = 0;
5672 } else {
5673 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
5674 }
5675 }
5676 if (!var13) {
5677 fprintf(stderr, "Runtime error: %s", "Assert failed");
5678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19676);
5679 show_backtrace(1);
5680 }
5681 var_tkwredefnode5 = var_nodearraylist2;
5682 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5683 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5684 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5685 if(var_tkwredefnode5 == NULL) {
5686 var16 = 1;
5687 } else {
5688 if(cltype17 >= var_tkwredefnode5->type->table_size) {
5689 var16 = 0;
5690 } else {
5691 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
5692 }
5693 }
5694 if (!var16) {
5695 fprintf(stderr, "Runtime error: %s", "Assert failed");
5696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19678);
5697 show_backtrace(1);
5698 }
5699 var_pvisibilitynode6 = var_nodearraylist3;
5700 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5701 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5702 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5703 if(var_pvisibilitynode6 == NULL) {
5704 var19 = 1;
5705 } else {
5706 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
5707 var19 = 0;
5708 } else {
5709 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
5710 }
5711 }
5712 if (!var19) {
5713 fprintf(stderr, "Runtime error: %s", "Assert failed");
5714 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19680);
5715 show_backtrace(1);
5716 }
5717 var_tkwvarnode7 = var_nodearraylist4;
5718 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5719 cltype23 = type_nullable_parser_nodes__TKwvar.color;
5720 idtype24 = type_nullable_parser_nodes__TKwvar.id;
5721 if(var_tkwvarnode7 == NULL) {
5722 var22 = 1;
5723 } else {
5724 if(cltype23 >= var_tkwvarnode7->type->table_size) {
5725 var22 = 0;
5726 } else {
5727 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
5728 }
5729 }
5730 if (!var22) {
5731 fprintf(stderr, "Runtime error: %s", "Assert failed");
5732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19682);
5733 show_backtrace(1);
5734 }
5735 var_tidnode9 = var_nodearraylist5;
5736 /* <var_tidnode9:nullable Object> isa nullable TId */
5737 cltype26 = type_nullable_parser_nodes__TId.color;
5738 idtype27 = type_nullable_parser_nodes__TId.id;
5739 if(var_tidnode9 == NULL) {
5740 var25 = 1;
5741 } else {
5742 if(cltype26 >= var_tidnode9->type->table_size) {
5743 var25 = 0;
5744 } else {
5745 var25 = var_tidnode9->type->type_table[cltype26] == idtype27;
5746 }
5747 }
5748 if (!var25) {
5749 fprintf(stderr, "Runtime error: %s", "Assert failed");
5750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19684);
5751 show_backtrace(1);
5752 }
5753 var_ptypenode10 = var_nodearraylist6;
5754 /* <var_ptypenode10:nullable Object> isa nullable AType */
5755 cltype29 = type_nullable_parser_nodes__AType.color;
5756 idtype30 = type_nullable_parser_nodes__AType.id;
5757 if(var_ptypenode10 == NULL) {
5758 var28 = 1;
5759 } else {
5760 if(cltype29 >= var_ptypenode10->type->table_size) {
5761 var28 = 0;
5762 } else {
5763 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
5764 }
5765 }
5766 if (!var28) {
5767 fprintf(stderr, "Runtime error: %s", "Assert failed");
5768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19686);
5769 show_backtrace(1);
5770 }
5771 var_pannotationsnode11 = var_nodearraylist11;
5772 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5773 cltype32 = type_nullable_parser_nodes__AAnnotations.color;
5774 idtype33 = type_nullable_parser_nodes__AAnnotations.id;
5775 if(var_pannotationsnode11 == NULL) {
5776 var31 = 1;
5777 } else {
5778 if(cltype32 >= var_pannotationsnode11->type->table_size) {
5779 var31 = 0;
5780 } else {
5781 var31 = var_pannotationsnode11->type->type_table[cltype32] == idtype33;
5782 }
5783 }
5784 if (!var31) {
5785 fprintf(stderr, "Runtime error: %s", "Assert failed");
5786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19688);
5787 show_backtrace(1);
5788 }
5789 var_pexprnode12 = var_nodearraylist10;
5790 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5791 cltype35 = type_nullable_parser_nodes__AExpr.color;
5792 idtype36 = type_nullable_parser_nodes__AExpr.id;
5793 if(var_pexprnode12 == NULL) {
5794 var34 = 1;
5795 } else {
5796 if(cltype35 >= var_pexprnode12->type->table_size) {
5797 var34 = 0;
5798 } else {
5799 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
5800 }
5801 }
5802 if (!var34) {
5803 fprintf(stderr, "Runtime error: %s", "Assert failed");
5804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19690);
5805 show_backtrace(1);
5806 }
5807 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5808 var38 = NULL;
5809 var39 = NULL;
5810 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var37, var_pdocnode2, var38, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var39, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
5811 var_ppropdefnode1 = var37;
5812 var_node_list = var_ppropdefnode1;
5813 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction444> */
5814 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
5815 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
5816 RET_LABEL:;
5817 }
5818 /* method parser#ReduceAction444#action for (self: Object, Parser) */
5819 void VIRTUAL_parser__ReduceAction444__action(val* self, val* p0) {
5820 parser__ReduceAction444__action(self, p0);
5821 RET_LABEL:;
5822 }
5823 /* method parser#ReduceAction445#action for (self: ReduceAction445, Parser) */
5824 void parser__ReduceAction445__action(val* self, val* p0) {
5825 val* var_p /* var p: Parser */;
5826 val* var /* : null */;
5827 val* var_node_list /* var node_list: nullable Object */;
5828 val* var1 /* : nullable Object */;
5829 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5830 val* var2 /* : nullable Object */;
5831 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5832 val* var3 /* : nullable Object */;
5833 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5834 val* var4 /* : nullable Object */;
5835 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5836 val* var5 /* : nullable Object */;
5837 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5838 val* var6 /* : nullable Object */;
5839 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5840 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5841 short int var7 /* : Bool */;
5842 int cltype;
5843 int idtype;
5844 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5845 short int var8 /* : Bool */;
5846 int cltype9;
5847 int idtype10;
5848 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
5849 short int var11 /* : Bool */;
5850 int cltype12;
5851 int idtype13;
5852 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5853 short int var14 /* : Bool */;
5854 int cltype15;
5855 int idtype16;
5856 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5857 short int var17 /* : Bool */;
5858 int cltype18;
5859 int idtype19;
5860 val* var20 /* : AConcreteInitPropdef */;
5861 val* var21 /* : null */;
5862 val* var22 /* : null */;
5863 val* var23 /* : null */;
5864 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
5865 long var24 /* : Int */;
5866 long var25 /* : Int */;
5867 var_p = p0;
5868 var = NULL;
5869 var_node_list = var;
5870 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5871 var_nodearraylist6 = var1;
5872 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5873 var_nodearraylist5 = var2;
5874 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5875 var_nodearraylist4 = var3;
5876 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5877 var_nodearraylist3 = var4;
5878 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5879 var_nodearraylist2 = var5;
5880 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5881 var_nodearraylist1 = var6;
5882 var_pdocnode2 = var_nodearraylist1;
5883 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5884 cltype = type_nullable_parser_nodes__ADoc.color;
5885 idtype = type_nullable_parser_nodes__ADoc.id;
5886 if(var_pdocnode2 == NULL) {
5887 var7 = 1;
5888 } else {
5889 if(cltype >= var_pdocnode2->type->table_size) {
5890 var7 = 0;
5891 } else {
5892 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
5893 }
5894 }
5895 if (!var7) {
5896 fprintf(stderr, "Runtime error: %s", "Assert failed");
5897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19720);
5898 show_backtrace(1);
5899 }
5900 var_pvisibilitynode4 = var_nodearraylist2;
5901 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5902 cltype9 = type_nullable_parser_nodes__AVisibility.color;
5903 idtype10 = type_nullable_parser_nodes__AVisibility.id;
5904 if(var_pvisibilitynode4 == NULL) {
5905 var8 = 1;
5906 } else {
5907 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
5908 var8 = 0;
5909 } else {
5910 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
5911 }
5912 }
5913 if (!var8) {
5914 fprintf(stderr, "Runtime error: %s", "Assert failed");
5915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19722);
5916 show_backtrace(1);
5917 }
5918 var_tkwinitnode5 = var_nodearraylist3;
5919 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
5920 cltype12 = type_nullable_parser_nodes__TKwinit.color;
5921 idtype13 = type_nullable_parser_nodes__TKwinit.id;
5922 if(var_tkwinitnode5 == NULL) {
5923 var11 = 1;
5924 } else {
5925 if(cltype12 >= var_tkwinitnode5->type->table_size) {
5926 var11 = 0;
5927 } else {
5928 var11 = var_tkwinitnode5->type->type_table[cltype12] == idtype13;
5929 }
5930 }
5931 if (!var11) {
5932 fprintf(stderr, "Runtime error: %s", "Assert failed");
5933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19724);
5934 show_backtrace(1);
5935 }
5936 var_psignaturenode7 = var_nodearraylist4;
5937 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5938 cltype15 = type_nullable_parser_nodes__ASignature.color;
5939 idtype16 = type_nullable_parser_nodes__ASignature.id;
5940 if(var_psignaturenode7 == NULL) {
5941 var14 = 1;
5942 } else {
5943 if(cltype15 >= var_psignaturenode7->type->table_size) {
5944 var14 = 0;
5945 } else {
5946 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
5947 }
5948 }
5949 if (!var14) {
5950 fprintf(stderr, "Runtime error: %s", "Assert failed");
5951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19726);
5952 show_backtrace(1);
5953 }
5954 var_pexprnode9 = var_nodearraylist6;
5955 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5956 cltype18 = type_nullable_parser_nodes__AExpr.color;
5957 idtype19 = type_nullable_parser_nodes__AExpr.id;
5958 if(var_pexprnode9 == NULL) {
5959 var17 = 1;
5960 } else {
5961 if(cltype18 >= var_pexprnode9->type->table_size) {
5962 var17 = 0;
5963 } else {
5964 var17 = var_pexprnode9->type->type_table[cltype18] == idtype19;
5965 }
5966 }
5967 if (!var17) {
5968 fprintf(stderr, "Runtime error: %s", "Assert failed");
5969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19728);
5970 show_backtrace(1);
5971 }
5972 var20 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
5973 var21 = NULL;
5974 var22 = NULL;
5975 var23 = NULL;
5976 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var20->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var20, var_pdocnode2, var21, var_pvisibilitynode4, var_tkwinitnode5, var22, var_psignaturenode7, var23, var_pexprnode9) /* init_aconcreteinitpropdef on <var20:AConcreteInitPropdef>*/;
5977 var_ppropdefnode1 = var20;
5978 var_node_list = var_ppropdefnode1;
5979 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction445> */
5980 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
5981 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
5982 RET_LABEL:;
5983 }
5984 /* method parser#ReduceAction445#action for (self: Object, Parser) */
5985 void VIRTUAL_parser__ReduceAction445__action(val* self, val* p0) {
5986 parser__ReduceAction445__action(self, p0);
5987 RET_LABEL:;
5988 }
5989 /* method parser#ReduceAction446#action for (self: ReduceAction446, Parser) */
5990 void parser__ReduceAction446__action(val* self, val* p0) {
5991 val* var_p /* var p: Parser */;
5992 val* var /* : null */;
5993 val* var_node_list /* var node_list: nullable Object */;
5994 val* var1 /* : nullable Object */;
5995 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5996 val* var2 /* : nullable Object */;
5997 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5998 val* var3 /* : nullable Object */;
5999 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6000 val* var4 /* : nullable Object */;
6001 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6002 val* var5 /* : nullable Object */;
6003 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6004 val* var6 /* : nullable Object */;
6005 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6006 val* var7 /* : nullable Object */;
6007 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6008 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6009 short int var8 /* : Bool */;
6010 int cltype;
6011 int idtype;
6012 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6013 short int var9 /* : Bool */;
6014 int cltype10;
6015 int idtype11;
6016 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6017 short int var12 /* : Bool */;
6018 int cltype13;
6019 int idtype14;
6020 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6021 short int var15 /* : Bool */;
6022 int cltype16;
6023 int idtype17;
6024 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6025 short int var18 /* : Bool */;
6026 int cltype19;
6027 int idtype20;
6028 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6029 short int var21 /* : Bool */;
6030 int cltype22;
6031 int idtype23;
6032 val* var24 /* : AConcreteInitPropdef */;
6033 val* var25 /* : null */;
6034 val* var26 /* : null */;
6035 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6036 long var27 /* : Int */;
6037 long var28 /* : Int */;
6038 var_p = p0;
6039 var = NULL;
6040 var_node_list = var;
6041 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6042 var_nodearraylist7 = var1;
6043 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6044 var_nodearraylist6 = var2;
6045 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6046 var_nodearraylist5 = var3;
6047 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6048 var_nodearraylist4 = var4;
6049 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6050 var_nodearraylist3 = var5;
6051 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6052 var_nodearraylist2 = var6;
6053 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6054 var_nodearraylist1 = var7;
6055 var_pdocnode2 = var_nodearraylist1;
6056 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6057 cltype = type_nullable_parser_nodes__ADoc.color;
6058 idtype = type_nullable_parser_nodes__ADoc.id;
6059 if(var_pdocnode2 == NULL) {
6060 var8 = 1;
6061 } else {
6062 if(cltype >= var_pdocnode2->type->table_size) {
6063 var8 = 0;
6064 } else {
6065 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6066 }
6067 }
6068 if (!var8) {
6069 fprintf(stderr, "Runtime error: %s", "Assert failed");
6070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19756);
6071 show_backtrace(1);
6072 }
6073 var_tkwredefnode3 = var_nodearraylist2;
6074 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6075 cltype10 = type_nullable_parser_nodes__TKwredef.color;
6076 idtype11 = type_nullable_parser_nodes__TKwredef.id;
6077 if(var_tkwredefnode3 == NULL) {
6078 var9 = 1;
6079 } else {
6080 if(cltype10 >= var_tkwredefnode3->type->table_size) {
6081 var9 = 0;
6082 } else {
6083 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
6084 }
6085 }
6086 if (!var9) {
6087 fprintf(stderr, "Runtime error: %s", "Assert failed");
6088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19758);
6089 show_backtrace(1);
6090 }
6091 var_pvisibilitynode4 = var_nodearraylist3;
6092 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6093 cltype13 = type_nullable_parser_nodes__AVisibility.color;
6094 idtype14 = type_nullable_parser_nodes__AVisibility.id;
6095 if(var_pvisibilitynode4 == NULL) {
6096 var12 = 1;
6097 } else {
6098 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
6099 var12 = 0;
6100 } else {
6101 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
6102 }
6103 }
6104 if (!var12) {
6105 fprintf(stderr, "Runtime error: %s", "Assert failed");
6106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19760);
6107 show_backtrace(1);
6108 }
6109 var_tkwinitnode5 = var_nodearraylist4;
6110 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6111 cltype16 = type_nullable_parser_nodes__TKwinit.color;
6112 idtype17 = type_nullable_parser_nodes__TKwinit.id;
6113 if(var_tkwinitnode5 == NULL) {
6114 var15 = 1;
6115 } else {
6116 if(cltype16 >= var_tkwinitnode5->type->table_size) {
6117 var15 = 0;
6118 } else {
6119 var15 = var_tkwinitnode5->type->type_table[cltype16] == idtype17;
6120 }
6121 }
6122 if (!var15) {
6123 fprintf(stderr, "Runtime error: %s", "Assert failed");
6124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19762);
6125 show_backtrace(1);
6126 }
6127 var_psignaturenode7 = var_nodearraylist5;
6128 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6129 cltype19 = type_nullable_parser_nodes__ASignature.color;
6130 idtype20 = type_nullable_parser_nodes__ASignature.id;
6131 if(var_psignaturenode7 == NULL) {
6132 var18 = 1;
6133 } else {
6134 if(cltype19 >= var_psignaturenode7->type->table_size) {
6135 var18 = 0;
6136 } else {
6137 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
6138 }
6139 }
6140 if (!var18) {
6141 fprintf(stderr, "Runtime error: %s", "Assert failed");
6142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19764);
6143 show_backtrace(1);
6144 }
6145 var_pexprnode9 = var_nodearraylist7;
6146 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6147 cltype22 = type_nullable_parser_nodes__AExpr.color;
6148 idtype23 = type_nullable_parser_nodes__AExpr.id;
6149 if(var_pexprnode9 == NULL) {
6150 var21 = 1;
6151 } else {
6152 if(cltype22 >= var_pexprnode9->type->table_size) {
6153 var21 = 0;
6154 } else {
6155 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
6156 }
6157 }
6158 if (!var21) {
6159 fprintf(stderr, "Runtime error: %s", "Assert failed");
6160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19766);
6161 show_backtrace(1);
6162 }
6163 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6164 var25 = NULL;
6165 var26 = NULL;
6166 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var25, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
6167 var_ppropdefnode1 = var24;
6168 var_node_list = var_ppropdefnode1;
6169 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction446> */
6170 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6171 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6172 RET_LABEL:;
6173 }
6174 /* method parser#ReduceAction446#action for (self: Object, Parser) */
6175 void VIRTUAL_parser__ReduceAction446__action(val* self, val* p0) {
6176 parser__ReduceAction446__action(self, p0);
6177 RET_LABEL:;
6178 }
6179 /* method parser#ReduceAction447#action for (self: ReduceAction447, Parser) */
6180 void parser__ReduceAction447__action(val* self, val* p0) {
6181 val* var_p /* var p: Parser */;
6182 val* var /* : null */;
6183 val* var_node_list /* var node_list: nullable Object */;
6184 val* var1 /* : nullable Object */;
6185 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6186 val* var2 /* : nullable Object */;
6187 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6188 val* var3 /* : nullable Object */;
6189 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6190 val* var4 /* : nullable Object */;
6191 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6192 val* var5 /* : nullable Object */;
6193 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6194 val* var6 /* : nullable Object */;
6195 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6196 val* var7 /* : nullable Object */;
6197 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6198 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6199 short int var8 /* : Bool */;
6200 int cltype;
6201 int idtype;
6202 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6203 short int var9 /* : Bool */;
6204 int cltype10;
6205 int idtype11;
6206 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6207 short int var12 /* : Bool */;
6208 int cltype13;
6209 int idtype14;
6210 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6211 short int var15 /* : Bool */;
6212 int cltype16;
6213 int idtype17;
6214 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6215 short int var18 /* : Bool */;
6216 int cltype19;
6217 int idtype20;
6218 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6219 short int var21 /* : Bool */;
6220 int cltype22;
6221 int idtype23;
6222 val* var24 /* : AConcreteInitPropdef */;
6223 val* var25 /* : null */;
6224 val* var26 /* : null */;
6225 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6226 long var27 /* : Int */;
6227 long var28 /* : Int */;
6228 var_p = p0;
6229 var = NULL;
6230 var_node_list = var;
6231 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6232 var_nodearraylist7 = var1;
6233 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6234 var_nodearraylist6 = var2;
6235 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6236 var_nodearraylist5 = var3;
6237 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6238 var_nodearraylist4 = var4;
6239 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6240 var_nodearraylist3 = var5;
6241 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6242 var_nodearraylist2 = var6;
6243 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6244 var_nodearraylist1 = var7;
6245 var_pdocnode2 = var_nodearraylist1;
6246 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6247 cltype = type_nullable_parser_nodes__ADoc.color;
6248 idtype = type_nullable_parser_nodes__ADoc.id;
6249 if(var_pdocnode2 == NULL) {
6250 var8 = 1;
6251 } else {
6252 if(cltype >= var_pdocnode2->type->table_size) {
6253 var8 = 0;
6254 } else {
6255 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6256 }
6257 }
6258 if (!var8) {
6259 fprintf(stderr, "Runtime error: %s", "Assert failed");
6260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19794);
6261 show_backtrace(1);
6262 }
6263 var_pvisibilitynode4 = var_nodearraylist2;
6264 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6265 cltype10 = type_nullable_parser_nodes__AVisibility.color;
6266 idtype11 = type_nullable_parser_nodes__AVisibility.id;
6267 if(var_pvisibilitynode4 == NULL) {
6268 var9 = 1;
6269 } else {
6270 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
6271 var9 = 0;
6272 } else {
6273 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
6274 }
6275 }
6276 if (!var9) {
6277 fprintf(stderr, "Runtime error: %s", "Assert failed");
6278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19796);
6279 show_backtrace(1);
6280 }
6281 var_tkwinitnode5 = var_nodearraylist3;
6282 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6283 cltype13 = type_nullable_parser_nodes__TKwinit.color;
6284 idtype14 = type_nullable_parser_nodes__TKwinit.id;
6285 if(var_tkwinitnode5 == NULL) {
6286 var12 = 1;
6287 } else {
6288 if(cltype13 >= var_tkwinitnode5->type->table_size) {
6289 var12 = 0;
6290 } else {
6291 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
6292 }
6293 }
6294 if (!var12) {
6295 fprintf(stderr, "Runtime error: %s", "Assert failed");
6296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19798);
6297 show_backtrace(1);
6298 }
6299 var_pmethidnode6 = var_nodearraylist4;
6300 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6301 cltype16 = type_nullable_parser_nodes__AMethid.color;
6302 idtype17 = type_nullable_parser_nodes__AMethid.id;
6303 if(var_pmethidnode6 == NULL) {
6304 var15 = 1;
6305 } else {
6306 if(cltype16 >= var_pmethidnode6->type->table_size) {
6307 var15 = 0;
6308 } else {
6309 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
6310 }
6311 }
6312 if (!var15) {
6313 fprintf(stderr, "Runtime error: %s", "Assert failed");
6314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19800);
6315 show_backtrace(1);
6316 }
6317 var_psignaturenode7 = var_nodearraylist5;
6318 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6319 cltype19 = type_nullable_parser_nodes__ASignature.color;
6320 idtype20 = type_nullable_parser_nodes__ASignature.id;
6321 if(var_psignaturenode7 == NULL) {
6322 var18 = 1;
6323 } else {
6324 if(cltype19 >= var_psignaturenode7->type->table_size) {
6325 var18 = 0;
6326 } else {
6327 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
6328 }
6329 }
6330 if (!var18) {
6331 fprintf(stderr, "Runtime error: %s", "Assert failed");
6332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19802);
6333 show_backtrace(1);
6334 }
6335 var_pexprnode9 = var_nodearraylist7;
6336 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6337 cltype22 = type_nullable_parser_nodes__AExpr.color;
6338 idtype23 = type_nullable_parser_nodes__AExpr.id;
6339 if(var_pexprnode9 == NULL) {
6340 var21 = 1;
6341 } else {
6342 if(cltype22 >= var_pexprnode9->type->table_size) {
6343 var21 = 0;
6344 } else {
6345 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
6346 }
6347 }
6348 if (!var21) {
6349 fprintf(stderr, "Runtime error: %s", "Assert failed");
6350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19804);
6351 show_backtrace(1);
6352 }
6353 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6354 var25 = NULL;
6355 var26 = NULL;
6356 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
6357 var_ppropdefnode1 = var24;
6358 var_node_list = var_ppropdefnode1;
6359 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction447> */
6360 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6361 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6362 RET_LABEL:;
6363 }
6364 /* method parser#ReduceAction447#action for (self: Object, Parser) */
6365 void VIRTUAL_parser__ReduceAction447__action(val* self, val* p0) {
6366 parser__ReduceAction447__action(self, p0);
6367 RET_LABEL:;
6368 }
6369 /* method parser#ReduceAction448#action for (self: ReduceAction448, Parser) */
6370 void parser__ReduceAction448__action(val* self, val* p0) {
6371 val* var_p /* var p: Parser */;
6372 val* var /* : null */;
6373 val* var_node_list /* var node_list: nullable Object */;
6374 val* var1 /* : nullable Object */;
6375 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6376 val* var2 /* : nullable Object */;
6377 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6378 val* var3 /* : nullable Object */;
6379 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6380 val* var4 /* : nullable Object */;
6381 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6382 val* var5 /* : nullable Object */;
6383 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6384 val* var6 /* : nullable Object */;
6385 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6386 val* var7 /* : nullable Object */;
6387 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6388 val* var8 /* : nullable Object */;
6389 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6390 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6391 short int var9 /* : Bool */;
6392 int cltype;
6393 int idtype;
6394 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6395 short int var10 /* : Bool */;
6396 int cltype11;
6397 int idtype12;
6398 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6399 short int var13 /* : Bool */;
6400 int cltype14;
6401 int idtype15;
6402 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6403 short int var16 /* : Bool */;
6404 int cltype17;
6405 int idtype18;
6406 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6407 short int var19 /* : Bool */;
6408 int cltype20;
6409 int idtype21;
6410 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6411 short int var22 /* : Bool */;
6412 int cltype23;
6413 int idtype24;
6414 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6415 short int var25 /* : Bool */;
6416 int cltype26;
6417 int idtype27;
6418 val* var28 /* : AConcreteInitPropdef */;
6419 val* var29 /* : null */;
6420 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6421 long var30 /* : Int */;
6422 long var31 /* : Int */;
6423 var_p = p0;
6424 var = NULL;
6425 var_node_list = var;
6426 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6427 var_nodearraylist8 = var1;
6428 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6429 var_nodearraylist7 = var2;
6430 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6431 var_nodearraylist6 = var3;
6432 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6433 var_nodearraylist5 = var4;
6434 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6435 var_nodearraylist4 = var5;
6436 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6437 var_nodearraylist3 = var6;
6438 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6439 var_nodearraylist2 = var7;
6440 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6441 var_nodearraylist1 = var8;
6442 var_pdocnode2 = var_nodearraylist1;
6443 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6444 cltype = type_nullable_parser_nodes__ADoc.color;
6445 idtype = type_nullable_parser_nodes__ADoc.id;
6446 if(var_pdocnode2 == NULL) {
6447 var9 = 1;
6448 } else {
6449 if(cltype >= var_pdocnode2->type->table_size) {
6450 var9 = 0;
6451 } else {
6452 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6453 }
6454 }
6455 if (!var9) {
6456 fprintf(stderr, "Runtime error: %s", "Assert failed");
6457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19833);
6458 show_backtrace(1);
6459 }
6460 var_tkwredefnode3 = var_nodearraylist2;
6461 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6462 cltype11 = type_nullable_parser_nodes__TKwredef.color;
6463 idtype12 = type_nullable_parser_nodes__TKwredef.id;
6464 if(var_tkwredefnode3 == NULL) {
6465 var10 = 1;
6466 } else {
6467 if(cltype11 >= var_tkwredefnode3->type->table_size) {
6468 var10 = 0;
6469 } else {
6470 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
6471 }
6472 }
6473 if (!var10) {
6474 fprintf(stderr, "Runtime error: %s", "Assert failed");
6475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19835);
6476 show_backtrace(1);
6477 }
6478 var_pvisibilitynode4 = var_nodearraylist3;
6479 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6480 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6481 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6482 if(var_pvisibilitynode4 == NULL) {
6483 var13 = 1;
6484 } else {
6485 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6486 var13 = 0;
6487 } else {
6488 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6489 }
6490 }
6491 if (!var13) {
6492 fprintf(stderr, "Runtime error: %s", "Assert failed");
6493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19837);
6494 show_backtrace(1);
6495 }
6496 var_tkwinitnode5 = var_nodearraylist4;
6497 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6498 cltype17 = type_nullable_parser_nodes__TKwinit.color;
6499 idtype18 = type_nullable_parser_nodes__TKwinit.id;
6500 if(var_tkwinitnode5 == NULL) {
6501 var16 = 1;
6502 } else {
6503 if(cltype17 >= var_tkwinitnode5->type->table_size) {
6504 var16 = 0;
6505 } else {
6506 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
6507 }
6508 }
6509 if (!var16) {
6510 fprintf(stderr, "Runtime error: %s", "Assert failed");
6511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19839);
6512 show_backtrace(1);
6513 }
6514 var_pmethidnode6 = var_nodearraylist5;
6515 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6516 cltype20 = type_nullable_parser_nodes__AMethid.color;
6517 idtype21 = type_nullable_parser_nodes__AMethid.id;
6518 if(var_pmethidnode6 == NULL) {
6519 var19 = 1;
6520 } else {
6521 if(cltype20 >= var_pmethidnode6->type->table_size) {
6522 var19 = 0;
6523 } else {
6524 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
6525 }
6526 }
6527 if (!var19) {
6528 fprintf(stderr, "Runtime error: %s", "Assert failed");
6529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19841);
6530 show_backtrace(1);
6531 }
6532 var_psignaturenode7 = var_nodearraylist6;
6533 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6534 cltype23 = type_nullable_parser_nodes__ASignature.color;
6535 idtype24 = type_nullable_parser_nodes__ASignature.id;
6536 if(var_psignaturenode7 == NULL) {
6537 var22 = 1;
6538 } else {
6539 if(cltype23 >= var_psignaturenode7->type->table_size) {
6540 var22 = 0;
6541 } else {
6542 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
6543 }
6544 }
6545 if (!var22) {
6546 fprintf(stderr, "Runtime error: %s", "Assert failed");
6547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19843);
6548 show_backtrace(1);
6549 }
6550 var_pexprnode9 = var_nodearraylist8;
6551 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6552 cltype26 = type_nullable_parser_nodes__AExpr.color;
6553 idtype27 = type_nullable_parser_nodes__AExpr.id;
6554 if(var_pexprnode9 == NULL) {
6555 var25 = 1;
6556 } else {
6557 if(cltype26 >= var_pexprnode9->type->table_size) {
6558 var25 = 0;
6559 } else {
6560 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6561 }
6562 }
6563 if (!var25) {
6564 fprintf(stderr, "Runtime error: %s", "Assert failed");
6565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19845);
6566 show_backtrace(1);
6567 }
6568 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6569 var29 = NULL;
6570 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
6571 var_ppropdefnode1 = var28;
6572 var_node_list = var_ppropdefnode1;
6573 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction448> */
6574 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6575 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6576 RET_LABEL:;
6577 }
6578 /* method parser#ReduceAction448#action for (self: Object, Parser) */
6579 void VIRTUAL_parser__ReduceAction448__action(val* self, val* p0) {
6580 parser__ReduceAction448__action(self, p0);
6581 RET_LABEL:;
6582 }
6583 /* method parser#ReduceAction449#action for (self: ReduceAction449, Parser) */
6584 void parser__ReduceAction449__action(val* self, val* p0) {
6585 val* var_p /* var p: Parser */;
6586 val* var /* : null */;
6587 val* var_node_list /* var node_list: nullable Object */;
6588 val* var1 /* : nullable Object */;
6589 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6590 val* var2 /* : nullable Object */;
6591 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6592 val* var3 /* : nullable Object */;
6593 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6594 val* var4 /* : nullable Object */;
6595 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6596 val* var5 /* : nullable Object */;
6597 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6598 val* var6 /* : nullable Object */;
6599 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6600 val* var7 /* : nullable Object */;
6601 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6602 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6603 short int var8 /* : Bool */;
6604 int cltype;
6605 int idtype;
6606 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6607 short int var9 /* : Bool */;
6608 int cltype10;
6609 int idtype11;
6610 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6611 short int var12 /* : Bool */;
6612 int cltype13;
6613 int idtype14;
6614 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6615 short int var15 /* : Bool */;
6616 int cltype16;
6617 int idtype17;
6618 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6619 short int var18 /* : Bool */;
6620 int cltype19;
6621 int idtype20;
6622 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6623 short int var21 /* : Bool */;
6624 int cltype22;
6625 int idtype23;
6626 val* var24 /* : AConcreteInitPropdef */;
6627 val* var25 /* : null */;
6628 val* var26 /* : null */;
6629 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6630 long var27 /* : Int */;
6631 long var28 /* : Int */;
6632 var_p = p0;
6633 var = NULL;
6634 var_node_list = var;
6635 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6636 var_nodearraylist7 = var1;
6637 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6638 var_nodearraylist6 = var2;
6639 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6640 var_nodearraylist5 = var3;
6641 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6642 var_nodearraylist4 = var4;
6643 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6644 var_nodearraylist3 = var5;
6645 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6646 var_nodearraylist2 = var6;
6647 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6648 var_nodearraylist1 = var7;
6649 var_pdocnode2 = var_nodearraylist1;
6650 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6651 cltype = type_nullable_parser_nodes__ADoc.color;
6652 idtype = type_nullable_parser_nodes__ADoc.id;
6653 if(var_pdocnode2 == NULL) {
6654 var8 = 1;
6655 } else {
6656 if(cltype >= var_pdocnode2->type->table_size) {
6657 var8 = 0;
6658 } else {
6659 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6660 }
6661 }
6662 if (!var8) {
6663 fprintf(stderr, "Runtime error: %s", "Assert failed");
6664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19873);
6665 show_backtrace(1);
6666 }
6667 var_pvisibilitynode4 = var_nodearraylist2;
6668 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6669 cltype10 = type_nullable_parser_nodes__AVisibility.color;
6670 idtype11 = type_nullable_parser_nodes__AVisibility.id;
6671 if(var_pvisibilitynode4 == NULL) {
6672 var9 = 1;
6673 } else {
6674 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
6675 var9 = 0;
6676 } else {
6677 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
6678 }
6679 }
6680 if (!var9) {
6681 fprintf(stderr, "Runtime error: %s", "Assert failed");
6682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19875);
6683 show_backtrace(1);
6684 }
6685 var_tkwinitnode5 = var_nodearraylist3;
6686 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6687 cltype13 = type_nullable_parser_nodes__TKwinit.color;
6688 idtype14 = type_nullable_parser_nodes__TKwinit.id;
6689 if(var_tkwinitnode5 == NULL) {
6690 var12 = 1;
6691 } else {
6692 if(cltype13 >= var_tkwinitnode5->type->table_size) {
6693 var12 = 0;
6694 } else {
6695 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
6696 }
6697 }
6698 if (!var12) {
6699 fprintf(stderr, "Runtime error: %s", "Assert failed");
6700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19877);
6701 show_backtrace(1);
6702 }
6703 var_psignaturenode7 = var_nodearraylist4;
6704 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6705 cltype16 = type_nullable_parser_nodes__ASignature.color;
6706 idtype17 = type_nullable_parser_nodes__ASignature.id;
6707 if(var_psignaturenode7 == NULL) {
6708 var15 = 1;
6709 } else {
6710 if(cltype16 >= var_psignaturenode7->type->table_size) {
6711 var15 = 0;
6712 } else {
6713 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
6714 }
6715 }
6716 if (!var15) {
6717 fprintf(stderr, "Runtime error: %s", "Assert failed");
6718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19879);
6719 show_backtrace(1);
6720 }
6721 var_pannotationsnode8 = var_nodearraylist5;
6722 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6723 cltype19 = type_nullable_parser_nodes__AAnnotations.color;
6724 idtype20 = type_nullable_parser_nodes__AAnnotations.id;
6725 if(var_pannotationsnode8 == NULL) {
6726 var18 = 1;
6727 } else {
6728 if(cltype19 >= var_pannotationsnode8->type->table_size) {
6729 var18 = 0;
6730 } else {
6731 var18 = var_pannotationsnode8->type->type_table[cltype19] == idtype20;
6732 }
6733 }
6734 if (!var18) {
6735 fprintf(stderr, "Runtime error: %s", "Assert failed");
6736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19881);
6737 show_backtrace(1);
6738 }
6739 var_pexprnode9 = var_nodearraylist7;
6740 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6741 cltype22 = type_nullable_parser_nodes__AExpr.color;
6742 idtype23 = type_nullable_parser_nodes__AExpr.id;
6743 if(var_pexprnode9 == NULL) {
6744 var21 = 1;
6745 } else {
6746 if(cltype22 >= var_pexprnode9->type->table_size) {
6747 var21 = 0;
6748 } else {
6749 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
6750 }
6751 }
6752 if (!var21) {
6753 fprintf(stderr, "Runtime error: %s", "Assert failed");
6754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19883);
6755 show_backtrace(1);
6756 }
6757 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6758 var25 = NULL;
6759 var26 = NULL;
6760 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwinitnode5, var26, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
6761 var_ppropdefnode1 = var24;
6762 var_node_list = var_ppropdefnode1;
6763 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction449> */
6764 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6765 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6766 RET_LABEL:;
6767 }
6768 /* method parser#ReduceAction449#action for (self: Object, Parser) */
6769 void VIRTUAL_parser__ReduceAction449__action(val* self, val* p0) {
6770 parser__ReduceAction449__action(self, p0);
6771 RET_LABEL:;
6772 }
6773 /* method parser#ReduceAction450#action for (self: ReduceAction450, Parser) */
6774 void parser__ReduceAction450__action(val* self, val* p0) {
6775 val* var_p /* var p: Parser */;
6776 val* var /* : null */;
6777 val* var_node_list /* var node_list: nullable Object */;
6778 val* var1 /* : nullable Object */;
6779 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6780 val* var2 /* : nullable Object */;
6781 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6782 val* var3 /* : nullable Object */;
6783 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6784 val* var4 /* : nullable Object */;
6785 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6786 val* var5 /* : nullable Object */;
6787 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6788 val* var6 /* : nullable Object */;
6789 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6790 val* var7 /* : nullable Object */;
6791 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6792 val* var8 /* : nullable Object */;
6793 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6794 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6795 short int var9 /* : Bool */;
6796 int cltype;
6797 int idtype;
6798 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6799 short int var10 /* : Bool */;
6800 int cltype11;
6801 int idtype12;
6802 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6803 short int var13 /* : Bool */;
6804 int cltype14;
6805 int idtype15;
6806 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6807 short int var16 /* : Bool */;
6808 int cltype17;
6809 int idtype18;
6810 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6811 short int var19 /* : Bool */;
6812 int cltype20;
6813 int idtype21;
6814 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6815 short int var22 /* : Bool */;
6816 int cltype23;
6817 int idtype24;
6818 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6819 short int var25 /* : Bool */;
6820 int cltype26;
6821 int idtype27;
6822 val* var28 /* : AConcreteInitPropdef */;
6823 val* var29 /* : null */;
6824 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6825 long var30 /* : Int */;
6826 long var31 /* : Int */;
6827 var_p = p0;
6828 var = NULL;
6829 var_node_list = var;
6830 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6831 var_nodearraylist8 = var1;
6832 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6833 var_nodearraylist7 = var2;
6834 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6835 var_nodearraylist6 = var3;
6836 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6837 var_nodearraylist5 = var4;
6838 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6839 var_nodearraylist4 = var5;
6840 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6841 var_nodearraylist3 = var6;
6842 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6843 var_nodearraylist2 = var7;
6844 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6845 var_nodearraylist1 = var8;
6846 var_pdocnode2 = var_nodearraylist1;
6847 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6848 cltype = type_nullable_parser_nodes__ADoc.color;
6849 idtype = type_nullable_parser_nodes__ADoc.id;
6850 if(var_pdocnode2 == NULL) {
6851 var9 = 1;
6852 } else {
6853 if(cltype >= var_pdocnode2->type->table_size) {
6854 var9 = 0;
6855 } else {
6856 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6857 }
6858 }
6859 if (!var9) {
6860 fprintf(stderr, "Runtime error: %s", "Assert failed");
6861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19912);
6862 show_backtrace(1);
6863 }
6864 var_tkwredefnode3 = var_nodearraylist2;
6865 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6866 cltype11 = type_nullable_parser_nodes__TKwredef.color;
6867 idtype12 = type_nullable_parser_nodes__TKwredef.id;
6868 if(var_tkwredefnode3 == NULL) {
6869 var10 = 1;
6870 } else {
6871 if(cltype11 >= var_tkwredefnode3->type->table_size) {
6872 var10 = 0;
6873 } else {
6874 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
6875 }
6876 }
6877 if (!var10) {
6878 fprintf(stderr, "Runtime error: %s", "Assert failed");
6879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19914);
6880 show_backtrace(1);
6881 }
6882 var_pvisibilitynode4 = var_nodearraylist3;
6883 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6884 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6885 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6886 if(var_pvisibilitynode4 == NULL) {
6887 var13 = 1;
6888 } else {
6889 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6890 var13 = 0;
6891 } else {
6892 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6893 }
6894 }
6895 if (!var13) {
6896 fprintf(stderr, "Runtime error: %s", "Assert failed");
6897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19916);
6898 show_backtrace(1);
6899 }
6900 var_tkwinitnode5 = var_nodearraylist4;
6901 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6902 cltype17 = type_nullable_parser_nodes__TKwinit.color;
6903 idtype18 = type_nullable_parser_nodes__TKwinit.id;
6904 if(var_tkwinitnode5 == NULL) {
6905 var16 = 1;
6906 } else {
6907 if(cltype17 >= var_tkwinitnode5->type->table_size) {
6908 var16 = 0;
6909 } else {
6910 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
6911 }
6912 }
6913 if (!var16) {
6914 fprintf(stderr, "Runtime error: %s", "Assert failed");
6915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19918);
6916 show_backtrace(1);
6917 }
6918 var_psignaturenode7 = var_nodearraylist5;
6919 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6920 cltype20 = type_nullable_parser_nodes__ASignature.color;
6921 idtype21 = type_nullable_parser_nodes__ASignature.id;
6922 if(var_psignaturenode7 == NULL) {
6923 var19 = 1;
6924 } else {
6925 if(cltype20 >= var_psignaturenode7->type->table_size) {
6926 var19 = 0;
6927 } else {
6928 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
6929 }
6930 }
6931 if (!var19) {
6932 fprintf(stderr, "Runtime error: %s", "Assert failed");
6933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19920);
6934 show_backtrace(1);
6935 }
6936 var_pannotationsnode8 = var_nodearraylist6;
6937 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6938 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
6939 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
6940 if(var_pannotationsnode8 == NULL) {
6941 var22 = 1;
6942 } else {
6943 if(cltype23 >= var_pannotationsnode8->type->table_size) {
6944 var22 = 0;
6945 } else {
6946 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
6947 }
6948 }
6949 if (!var22) {
6950 fprintf(stderr, "Runtime error: %s", "Assert failed");
6951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19922);
6952 show_backtrace(1);
6953 }
6954 var_pexprnode9 = var_nodearraylist8;
6955 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6956 cltype26 = type_nullable_parser_nodes__AExpr.color;
6957 idtype27 = type_nullable_parser_nodes__AExpr.id;
6958 if(var_pexprnode9 == NULL) {
6959 var25 = 1;
6960 } else {
6961 if(cltype26 >= var_pexprnode9->type->table_size) {
6962 var25 = 0;
6963 } else {
6964 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6965 }
6966 }
6967 if (!var25) {
6968 fprintf(stderr, "Runtime error: %s", "Assert failed");
6969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19924);
6970 show_backtrace(1);
6971 }
6972 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6973 var29 = NULL;
6974 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var29, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
6975 var_ppropdefnode1 = var28;
6976 var_node_list = var_ppropdefnode1;
6977 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction450> */
6978 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6979 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6980 RET_LABEL:;
6981 }
6982 /* method parser#ReduceAction450#action for (self: Object, Parser) */
6983 void VIRTUAL_parser__ReduceAction450__action(val* self, val* p0) {
6984 parser__ReduceAction450__action(self, p0);
6985 RET_LABEL:;
6986 }
6987 /* method parser#ReduceAction451#action for (self: ReduceAction451, Parser) */
6988 void parser__ReduceAction451__action(val* self, val* p0) {
6989 val* var_p /* var p: Parser */;
6990 val* var /* : null */;
6991 val* var_node_list /* var node_list: nullable Object */;
6992 val* var1 /* : nullable Object */;
6993 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6994 val* var2 /* : nullable Object */;
6995 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6996 val* var3 /* : nullable Object */;
6997 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6998 val* var4 /* : nullable Object */;
6999 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7000 val* var5 /* : nullable Object */;
7001 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7002 val* var6 /* : nullable Object */;
7003 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7004 val* var7 /* : nullable Object */;
7005 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7006 val* var8 /* : nullable Object */;
7007 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7008 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7009 short int var9 /* : Bool */;
7010 int cltype;
7011 int idtype;
7012 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7013 short int var10 /* : Bool */;
7014 int cltype11;
7015 int idtype12;
7016 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7017 short int var13 /* : Bool */;
7018 int cltype14;
7019 int idtype15;
7020 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7021 short int var16 /* : Bool */;
7022 int cltype17;
7023 int idtype18;
7024 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7025 short int var19 /* : Bool */;
7026 int cltype20;
7027 int idtype21;
7028 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7029 short int var22 /* : Bool */;
7030 int cltype23;
7031 int idtype24;
7032 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7033 short int var25 /* : Bool */;
7034 int cltype26;
7035 int idtype27;
7036 val* var28 /* : AConcreteInitPropdef */;
7037 val* var29 /* : null */;
7038 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7039 long var30 /* : Int */;
7040 long var31 /* : Int */;
7041 var_p = p0;
7042 var = NULL;
7043 var_node_list = var;
7044 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7045 var_nodearraylist8 = var1;
7046 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7047 var_nodearraylist7 = var2;
7048 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7049 var_nodearraylist6 = var3;
7050 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7051 var_nodearraylist5 = var4;
7052 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7053 var_nodearraylist4 = var5;
7054 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7055 var_nodearraylist3 = var6;
7056 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7057 var_nodearraylist2 = var7;
7058 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7059 var_nodearraylist1 = var8;
7060 var_pdocnode2 = var_nodearraylist1;
7061 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7062 cltype = type_nullable_parser_nodes__ADoc.color;
7063 idtype = type_nullable_parser_nodes__ADoc.id;
7064 if(var_pdocnode2 == NULL) {
7065 var9 = 1;
7066 } else {
7067 if(cltype >= var_pdocnode2->type->table_size) {
7068 var9 = 0;
7069 } else {
7070 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7071 }
7072 }
7073 if (!var9) {
7074 fprintf(stderr, "Runtime error: %s", "Assert failed");
7075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19953);
7076 show_backtrace(1);
7077 }
7078 var_pvisibilitynode4 = var_nodearraylist2;
7079 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7080 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7081 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7082 if(var_pvisibilitynode4 == NULL) {
7083 var10 = 1;
7084 } else {
7085 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7086 var10 = 0;
7087 } else {
7088 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7089 }
7090 }
7091 if (!var10) {
7092 fprintf(stderr, "Runtime error: %s", "Assert failed");
7093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19955);
7094 show_backtrace(1);
7095 }
7096 var_tkwinitnode5 = var_nodearraylist3;
7097 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7098 cltype14 = type_nullable_parser_nodes__TKwinit.color;
7099 idtype15 = type_nullable_parser_nodes__TKwinit.id;
7100 if(var_tkwinitnode5 == NULL) {
7101 var13 = 1;
7102 } else {
7103 if(cltype14 >= var_tkwinitnode5->type->table_size) {
7104 var13 = 0;
7105 } else {
7106 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
7107 }
7108 }
7109 if (!var13) {
7110 fprintf(stderr, "Runtime error: %s", "Assert failed");
7111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19957);
7112 show_backtrace(1);
7113 }
7114 var_pmethidnode6 = var_nodearraylist4;
7115 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7116 cltype17 = type_nullable_parser_nodes__AMethid.color;
7117 idtype18 = type_nullable_parser_nodes__AMethid.id;
7118 if(var_pmethidnode6 == NULL) {
7119 var16 = 1;
7120 } else {
7121 if(cltype17 >= var_pmethidnode6->type->table_size) {
7122 var16 = 0;
7123 } else {
7124 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
7125 }
7126 }
7127 if (!var16) {
7128 fprintf(stderr, "Runtime error: %s", "Assert failed");
7129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19959);
7130 show_backtrace(1);
7131 }
7132 var_psignaturenode7 = var_nodearraylist5;
7133 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7134 cltype20 = type_nullable_parser_nodes__ASignature.color;
7135 idtype21 = type_nullable_parser_nodes__ASignature.id;
7136 if(var_psignaturenode7 == NULL) {
7137 var19 = 1;
7138 } else {
7139 if(cltype20 >= var_psignaturenode7->type->table_size) {
7140 var19 = 0;
7141 } else {
7142 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7143 }
7144 }
7145 if (!var19) {
7146 fprintf(stderr, "Runtime error: %s", "Assert failed");
7147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19961);
7148 show_backtrace(1);
7149 }
7150 var_pannotationsnode8 = var_nodearraylist6;
7151 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7152 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
7153 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
7154 if(var_pannotationsnode8 == NULL) {
7155 var22 = 1;
7156 } else {
7157 if(cltype23 >= var_pannotationsnode8->type->table_size) {
7158 var22 = 0;
7159 } else {
7160 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
7161 }
7162 }
7163 if (!var22) {
7164 fprintf(stderr, "Runtime error: %s", "Assert failed");
7165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19963);
7166 show_backtrace(1);
7167 }
7168 var_pexprnode9 = var_nodearraylist8;
7169 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7170 cltype26 = type_nullable_parser_nodes__AExpr.color;
7171 idtype27 = type_nullable_parser_nodes__AExpr.id;
7172 if(var_pexprnode9 == NULL) {
7173 var25 = 1;
7174 } else {
7175 if(cltype26 >= var_pexprnode9->type->table_size) {
7176 var25 = 0;
7177 } else {
7178 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
7179 }
7180 }
7181 if (!var25) {
7182 fprintf(stderr, "Runtime error: %s", "Assert failed");
7183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19965);
7184 show_backtrace(1);
7185 }
7186 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7187 var29 = NULL;
7188 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
7189 var_ppropdefnode1 = var28;
7190 var_node_list = var_ppropdefnode1;
7191 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction451> */
7192 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
7193 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
7194 RET_LABEL:;
7195 }
7196 /* method parser#ReduceAction451#action for (self: Object, Parser) */
7197 void VIRTUAL_parser__ReduceAction451__action(val* self, val* p0) {
7198 parser__ReduceAction451__action(self, p0);
7199 RET_LABEL:;
7200 }
7201 /* method parser#ReduceAction452#action for (self: ReduceAction452, Parser) */
7202 void parser__ReduceAction452__action(val* self, val* p0) {
7203 val* var_p /* var p: Parser */;
7204 val* var /* : null */;
7205 val* var_node_list /* var node_list: nullable Object */;
7206 val* var1 /* : nullable Object */;
7207 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7208 val* var2 /* : nullable Object */;
7209 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7210 val* var3 /* : nullable Object */;
7211 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7212 val* var4 /* : nullable Object */;
7213 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7214 val* var5 /* : nullable Object */;
7215 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7216 val* var6 /* : nullable Object */;
7217 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7218 val* var7 /* : nullable Object */;
7219 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7220 val* var8 /* : nullable Object */;
7221 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7222 val* var9 /* : nullable Object */;
7223 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7224 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7225 short int var10 /* : Bool */;
7226 int cltype;
7227 int idtype;
7228 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7229 short int var11 /* : Bool */;
7230 int cltype12;
7231 int idtype13;
7232 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7233 short int var14 /* : Bool */;
7234 int cltype15;
7235 int idtype16;
7236 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7237 short int var17 /* : Bool */;
7238 int cltype18;
7239 int idtype19;
7240 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7241 short int var20 /* : Bool */;
7242 int cltype21;
7243 int idtype22;
7244 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7245 short int var23 /* : Bool */;
7246 int cltype24;
7247 int idtype25;
7248 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7249 short int var26 /* : Bool */;
7250 int cltype27;
7251 int idtype28;
7252 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7253 short int var29 /* : Bool */;
7254 int cltype30;
7255 int idtype31;
7256 val* var32 /* : AConcreteInitPropdef */;
7257 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7258 long var33 /* : Int */;
7259 long var34 /* : Int */;
7260 var_p = p0;
7261 var = NULL;
7262 var_node_list = var;
7263 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7264 var_nodearraylist9 = var1;
7265 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7266 var_nodearraylist8 = var2;
7267 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7268 var_nodearraylist7 = var3;
7269 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7270 var_nodearraylist6 = var4;
7271 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7272 var_nodearraylist5 = var5;
7273 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7274 var_nodearraylist4 = var6;
7275 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7276 var_nodearraylist3 = var7;
7277 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7278 var_nodearraylist2 = var8;
7279 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7280 var_nodearraylist1 = var9;
7281 var_pdocnode2 = var_nodearraylist1;
7282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7283 cltype = type_nullable_parser_nodes__ADoc.color;
7284 idtype = type_nullable_parser_nodes__ADoc.id;
7285 if(var_pdocnode2 == NULL) {
7286 var10 = 1;
7287 } else {
7288 if(cltype >= var_pdocnode2->type->table_size) {
7289 var10 = 0;
7290 } else {
7291 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7292 }
7293 }
7294 if (!var10) {
7295 fprintf(stderr, "Runtime error: %s", "Assert failed");
7296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19995);
7297 show_backtrace(1);
7298 }
7299 var_tkwredefnode3 = var_nodearraylist2;
7300 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7301 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7302 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7303 if(var_tkwredefnode3 == NULL) {
7304 var11 = 1;
7305 } else {
7306 if(cltype12 >= var_tkwredefnode3->type->table_size) {
7307 var11 = 0;
7308 } else {
7309 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
7310 }
7311 }
7312 if (!var11) {
7313 fprintf(stderr, "Runtime error: %s", "Assert failed");
7314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19997);
7315 show_backtrace(1);
7316 }
7317 var_pvisibilitynode4 = var_nodearraylist3;
7318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7319 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7320 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7321 if(var_pvisibilitynode4 == NULL) {
7322 var14 = 1;
7323 } else {
7324 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7325 var14 = 0;
7326 } else {
7327 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7328 }
7329 }
7330 if (!var14) {
7331 fprintf(stderr, "Runtime error: %s", "Assert failed");
7332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19999);
7333 show_backtrace(1);
7334 }
7335 var_tkwinitnode5 = var_nodearraylist4;
7336 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7337 cltype18 = type_nullable_parser_nodes__TKwinit.color;
7338 idtype19 = type_nullable_parser_nodes__TKwinit.id;
7339 if(var_tkwinitnode5 == NULL) {
7340 var17 = 1;
7341 } else {
7342 if(cltype18 >= var_tkwinitnode5->type->table_size) {
7343 var17 = 0;
7344 } else {
7345 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
7346 }
7347 }
7348 if (!var17) {
7349 fprintf(stderr, "Runtime error: %s", "Assert failed");
7350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20001);
7351 show_backtrace(1);
7352 }
7353 var_pmethidnode6 = var_nodearraylist5;
7354 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7355 cltype21 = type_nullable_parser_nodes__AMethid.color;
7356 idtype22 = type_nullable_parser_nodes__AMethid.id;
7357 if(var_pmethidnode6 == NULL) {
7358 var20 = 1;
7359 } else {
7360 if(cltype21 >= var_pmethidnode6->type->table_size) {
7361 var20 = 0;
7362 } else {
7363 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
7364 }
7365 }
7366 if (!var20) {
7367 fprintf(stderr, "Runtime error: %s", "Assert failed");
7368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20003);
7369 show_backtrace(1);
7370 }
7371 var_psignaturenode7 = var_nodearraylist6;
7372 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7373 cltype24 = type_nullable_parser_nodes__ASignature.color;
7374 idtype25 = type_nullable_parser_nodes__ASignature.id;
7375 if(var_psignaturenode7 == NULL) {
7376 var23 = 1;
7377 } else {
7378 if(cltype24 >= var_psignaturenode7->type->table_size) {
7379 var23 = 0;
7380 } else {
7381 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
7382 }
7383 }
7384 if (!var23) {
7385 fprintf(stderr, "Runtime error: %s", "Assert failed");
7386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20005);
7387 show_backtrace(1);
7388 }
7389 var_pannotationsnode8 = var_nodearraylist7;
7390 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7391 cltype27 = type_nullable_parser_nodes__AAnnotations.color;
7392 idtype28 = type_nullable_parser_nodes__AAnnotations.id;
7393 if(var_pannotationsnode8 == NULL) {
7394 var26 = 1;
7395 } else {
7396 if(cltype27 >= var_pannotationsnode8->type->table_size) {
7397 var26 = 0;
7398 } else {
7399 var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
7400 }
7401 }
7402 if (!var26) {
7403 fprintf(stderr, "Runtime error: %s", "Assert failed");
7404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20007);
7405 show_backtrace(1);
7406 }
7407 var_pexprnode9 = var_nodearraylist9;
7408 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7409 cltype30 = type_nullable_parser_nodes__AExpr.color;
7410 idtype31 = type_nullable_parser_nodes__AExpr.id;
7411 if(var_pexprnode9 == NULL) {
7412 var29 = 1;
7413 } else {
7414 if(cltype30 >= var_pexprnode9->type->table_size) {
7415 var29 = 0;
7416 } else {
7417 var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
7418 }
7419 }
7420 if (!var29) {
7421 fprintf(stderr, "Runtime error: %s", "Assert failed");
7422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20009);
7423 show_backtrace(1);
7424 }
7425 var32 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7426 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var32:AConcreteInitPropdef>*/;
7427 var_ppropdefnode1 = var32;
7428 var_node_list = var_ppropdefnode1;
7429 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction452> */
7430 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
7431 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
7432 RET_LABEL:;
7433 }
7434 /* method parser#ReduceAction452#action for (self: Object, Parser) */
7435 void VIRTUAL_parser__ReduceAction452__action(val* self, val* p0) {
7436 parser__ReduceAction452__action(self, p0);
7437 RET_LABEL:;
7438 }
7439 /* method parser#ReduceAction453#action for (self: ReduceAction453, Parser) */
7440 void parser__ReduceAction453__action(val* self, val* p0) {
7441 val* var_p /* var p: Parser */;
7442 val* var /* : null */;
7443 val* var_node_list /* var node_list: nullable Object */;
7444 val* var1 /* : nullable Object */;
7445 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7446 val* var2 /* : nullable Object */;
7447 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7448 val* var3 /* : nullable Object */;
7449 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7450 val* var4 /* : nullable Object */;
7451 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7452 val* var5 /* : nullable Object */;
7453 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7454 val* var6 /* : nullable Object */;
7455 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7456 val* var7 /* : nullable Object */;
7457 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7458 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7459 short int var8 /* : Bool */;
7460 int cltype;
7461 int idtype;
7462 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7463 short int var9 /* : Bool */;
7464 int cltype10;
7465 int idtype11;
7466 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7467 short int var12 /* : Bool */;
7468 int cltype13;
7469 int idtype14;
7470 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7471 short int var15 /* : Bool */;
7472 int cltype16;
7473 int idtype17;
7474 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7475 short int var18 /* : Bool */;
7476 int cltype19;
7477 int idtype20;
7478 val* var21 /* : AConcreteInitPropdef */;
7479 val* var22 /* : null */;
7480 val* var23 /* : null */;
7481 val* var24 /* : null */;
7482 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7483 long var25 /* : Int */;
7484 long var26 /* : Int */;
7485 var_p = p0;
7486 var = NULL;
7487 var_node_list = var;
7488 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7489 var_nodearraylist7 = var1;
7490 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7491 var_nodearraylist6 = var2;
7492 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7493 var_nodearraylist5 = var3;
7494 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7495 var_nodearraylist4 = var4;
7496 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7497 var_nodearraylist3 = var5;
7498 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7499 var_nodearraylist2 = var6;
7500 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7501 var_nodearraylist1 = var7;
7502 var_pdocnode2 = var_nodearraylist1;
7503 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7504 cltype = type_nullable_parser_nodes__ADoc.color;
7505 idtype = type_nullable_parser_nodes__ADoc.id;
7506 if(var_pdocnode2 == NULL) {
7507 var8 = 1;
7508 } else {
7509 if(cltype >= var_pdocnode2->type->table_size) {
7510 var8 = 0;
7511 } else {
7512 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7513 }
7514 }
7515 if (!var8) {
7516 fprintf(stderr, "Runtime error: %s", "Assert failed");
7517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20037);
7518 show_backtrace(1);
7519 }
7520 var_pvisibilitynode4 = var_nodearraylist2;
7521 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7522 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7523 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7524 if(var_pvisibilitynode4 == NULL) {
7525 var9 = 1;
7526 } else {
7527 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
7528 var9 = 0;
7529 } else {
7530 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
7531 }
7532 }
7533 if (!var9) {
7534 fprintf(stderr, "Runtime error: %s", "Assert failed");
7535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20039);
7536 show_backtrace(1);
7537 }
7538 var_tkwinitnode5 = var_nodearraylist3;
7539 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7540 cltype13 = type_nullable_parser_nodes__TKwinit.color;
7541 idtype14 = type_nullable_parser_nodes__TKwinit.id;
7542 if(var_tkwinitnode5 == NULL) {
7543 var12 = 1;
7544 } else {
7545 if(cltype13 >= var_tkwinitnode5->type->table_size) {
7546 var12 = 0;
7547 } else {
7548 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
7549 }
7550 }
7551 if (!var12) {
7552 fprintf(stderr, "Runtime error: %s", "Assert failed");
7553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20041);
7554 show_backtrace(1);
7555 }
7556 var_psignaturenode7 = var_nodearraylist4;
7557 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7558 cltype16 = type_nullable_parser_nodes__ASignature.color;
7559 idtype17 = type_nullable_parser_nodes__ASignature.id;
7560 if(var_psignaturenode7 == NULL) {
7561 var15 = 1;
7562 } else {
7563 if(cltype16 >= var_psignaturenode7->type->table_size) {
7564 var15 = 0;
7565 } else {
7566 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
7567 }
7568 }
7569 if (!var15) {
7570 fprintf(stderr, "Runtime error: %s", "Assert failed");
7571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20043);
7572 show_backtrace(1);
7573 }
7574 var_pexprnode9 = var_nodearraylist6;
7575 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7576 cltype19 = type_nullable_parser_nodes__AExpr.color;
7577 idtype20 = type_nullable_parser_nodes__AExpr.id;
7578 if(var_pexprnode9 == NULL) {
7579 var18 = 1;
7580 } else {
7581 if(cltype19 >= var_pexprnode9->type->table_size) {
7582 var18 = 0;
7583 } else {
7584 var18 = var_pexprnode9->type->type_table[cltype19] == idtype20;
7585 }
7586 }
7587 if (!var18) {
7588 fprintf(stderr, "Runtime error: %s", "Assert failed");
7589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20045);
7590 show_backtrace(1);
7591 }
7592 var21 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7593 var22 = NULL;
7594 var23 = NULL;
7595 var24 = NULL;
7596 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwinitnode5, var23, var_psignaturenode7, var24, var_pexprnode9) /* init_aconcreteinitpropdef on <var21:AConcreteInitPropdef>*/;
7597 var_ppropdefnode1 = var21;
7598 var_node_list = var_ppropdefnode1;
7599 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction453> */
7600 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
7601 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
7602 RET_LABEL:;
7603 }
7604 /* method parser#ReduceAction453#action for (self: Object, Parser) */
7605 void VIRTUAL_parser__ReduceAction453__action(val* self, val* p0) {
7606 parser__ReduceAction453__action(self, p0);
7607 RET_LABEL:;
7608 }
7609 /* method parser#ReduceAction454#action for (self: ReduceAction454, Parser) */
7610 void parser__ReduceAction454__action(val* self, val* p0) {
7611 val* var_p /* var p: Parser */;
7612 val* var /* : null */;
7613 val* var_node_list /* var node_list: nullable Object */;
7614 val* var1 /* : nullable Object */;
7615 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7616 val* var2 /* : nullable Object */;
7617 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7618 val* var3 /* : nullable Object */;
7619 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7620 val* var4 /* : nullable Object */;
7621 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7622 val* var5 /* : nullable Object */;
7623 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7624 val* var6 /* : nullable Object */;
7625 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7626 val* var7 /* : nullable Object */;
7627 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7628 val* var8 /* : nullable Object */;
7629 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7630 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7631 short int var9 /* : Bool */;
7632 int cltype;
7633 int idtype;
7634 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7635 short int var10 /* : Bool */;
7636 int cltype11;
7637 int idtype12;
7638 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7639 short int var13 /* : Bool */;
7640 int cltype14;
7641 int idtype15;
7642 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7643 short int var16 /* : Bool */;
7644 int cltype17;
7645 int idtype18;
7646 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7647 short int var19 /* : Bool */;
7648 int cltype20;
7649 int idtype21;
7650 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7651 short int var22 /* : Bool */;
7652 int cltype23;
7653 int idtype24;
7654 val* var25 /* : AConcreteInitPropdef */;
7655 val* var26 /* : null */;
7656 val* var27 /* : null */;
7657 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7658 long var28 /* : Int */;
7659 long var29 /* : Int */;
7660 var_p = p0;
7661 var = NULL;
7662 var_node_list = var;
7663 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7664 var_nodearraylist8 = var1;
7665 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7666 var_nodearraylist7 = var2;
7667 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7668 var_nodearraylist6 = var3;
7669 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7670 var_nodearraylist5 = var4;
7671 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7672 var_nodearraylist4 = var5;
7673 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7674 var_nodearraylist3 = var6;
7675 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7676 var_nodearraylist2 = var7;
7677 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7678 var_nodearraylist1 = var8;
7679 var_pdocnode2 = var_nodearraylist1;
7680 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7681 cltype = type_nullable_parser_nodes__ADoc.color;
7682 idtype = type_nullable_parser_nodes__ADoc.id;
7683 if(var_pdocnode2 == NULL) {
7684 var9 = 1;
7685 } else {
7686 if(cltype >= var_pdocnode2->type->table_size) {
7687 var9 = 0;
7688 } else {
7689 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7690 }
7691 }
7692 if (!var9) {
7693 fprintf(stderr, "Runtime error: %s", "Assert failed");
7694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20074);
7695 show_backtrace(1);
7696 }
7697 var_tkwredefnode3 = var_nodearraylist2;
7698 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7699 cltype11 = type_nullable_parser_nodes__TKwredef.color;
7700 idtype12 = type_nullable_parser_nodes__TKwredef.id;
7701 if(var_tkwredefnode3 == NULL) {
7702 var10 = 1;
7703 } else {
7704 if(cltype11 >= var_tkwredefnode3->type->table_size) {
7705 var10 = 0;
7706 } else {
7707 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
7708 }
7709 }
7710 if (!var10) {
7711 fprintf(stderr, "Runtime error: %s", "Assert failed");
7712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20076);
7713 show_backtrace(1);
7714 }
7715 var_pvisibilitynode4 = var_nodearraylist3;
7716 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7717 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7718 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7719 if(var_pvisibilitynode4 == NULL) {
7720 var13 = 1;
7721 } else {
7722 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
7723 var13 = 0;
7724 } else {
7725 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
7726 }
7727 }
7728 if (!var13) {
7729 fprintf(stderr, "Runtime error: %s", "Assert failed");
7730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20078);
7731 show_backtrace(1);
7732 }
7733 var_tkwinitnode5 = var_nodearraylist4;
7734 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7735 cltype17 = type_nullable_parser_nodes__TKwinit.color;
7736 idtype18 = type_nullable_parser_nodes__TKwinit.id;
7737 if(var_tkwinitnode5 == NULL) {
7738 var16 = 1;
7739 } else {
7740 if(cltype17 >= var_tkwinitnode5->type->table_size) {
7741 var16 = 0;
7742 } else {
7743 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
7744 }
7745 }
7746 if (!var16) {
7747 fprintf(stderr, "Runtime error: %s", "Assert failed");
7748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20080);
7749 show_backtrace(1);
7750 }
7751 var_psignaturenode7 = var_nodearraylist5;
7752 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7753 cltype20 = type_nullable_parser_nodes__ASignature.color;
7754 idtype21 = type_nullable_parser_nodes__ASignature.id;
7755 if(var_psignaturenode7 == NULL) {
7756 var19 = 1;
7757 } else {
7758 if(cltype20 >= var_psignaturenode7->type->table_size) {
7759 var19 = 0;
7760 } else {
7761 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7762 }
7763 }
7764 if (!var19) {
7765 fprintf(stderr, "Runtime error: %s", "Assert failed");
7766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20082);
7767 show_backtrace(1);
7768 }
7769 var_pexprnode9 = var_nodearraylist7;
7770 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7771 cltype23 = type_nullable_parser_nodes__AExpr.color;
7772 idtype24 = type_nullable_parser_nodes__AExpr.id;
7773 if(var_pexprnode9 == NULL) {
7774 var22 = 1;
7775 } else {
7776 if(cltype23 >= var_pexprnode9->type->table_size) {
7777 var22 = 0;
7778 } else {
7779 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7780 }
7781 }
7782 if (!var22) {
7783 fprintf(stderr, "Runtime error: %s", "Assert failed");
7784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20084);
7785 show_backtrace(1);
7786 }
7787 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7788 var26 = NULL;
7789 var27 = NULL;
7790 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var26, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
7791 var_ppropdefnode1 = var25;
7792 var_node_list = var_ppropdefnode1;
7793 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction454> */
7794 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7795 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7796 RET_LABEL:;
7797 }
7798 /* method parser#ReduceAction454#action for (self: Object, Parser) */
7799 void VIRTUAL_parser__ReduceAction454__action(val* self, val* p0) {
7800 parser__ReduceAction454__action(self, p0);
7801 RET_LABEL:;
7802 }
7803 /* method parser#ReduceAction455#action for (self: ReduceAction455, Parser) */
7804 void parser__ReduceAction455__action(val* self, val* p0) {
7805 val* var_p /* var p: Parser */;
7806 val* var /* : null */;
7807 val* var_node_list /* var node_list: nullable Object */;
7808 val* var1 /* : nullable Object */;
7809 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7810 val* var2 /* : nullable Object */;
7811 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7812 val* var3 /* : nullable Object */;
7813 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7814 val* var4 /* : nullable Object */;
7815 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7816 val* var5 /* : nullable Object */;
7817 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7818 val* var6 /* : nullable Object */;
7819 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7820 val* var7 /* : nullable Object */;
7821 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7822 val* var8 /* : nullable Object */;
7823 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7824 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7825 short int var9 /* : Bool */;
7826 int cltype;
7827 int idtype;
7828 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7829 short int var10 /* : Bool */;
7830 int cltype11;
7831 int idtype12;
7832 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7833 short int var13 /* : Bool */;
7834 int cltype14;
7835 int idtype15;
7836 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7837 short int var16 /* : Bool */;
7838 int cltype17;
7839 int idtype18;
7840 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7841 short int var19 /* : Bool */;
7842 int cltype20;
7843 int idtype21;
7844 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7845 short int var22 /* : Bool */;
7846 int cltype23;
7847 int idtype24;
7848 val* var25 /* : AConcreteInitPropdef */;
7849 val* var26 /* : null */;
7850 val* var27 /* : null */;
7851 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7852 long var28 /* : Int */;
7853 long var29 /* : Int */;
7854 var_p = p0;
7855 var = NULL;
7856 var_node_list = var;
7857 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7858 var_nodearraylist8 = var1;
7859 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7860 var_nodearraylist7 = var2;
7861 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7862 var_nodearraylist6 = var3;
7863 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7864 var_nodearraylist5 = var4;
7865 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7866 var_nodearraylist4 = var5;
7867 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7868 var_nodearraylist3 = var6;
7869 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7870 var_nodearraylist2 = var7;
7871 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7872 var_nodearraylist1 = var8;
7873 var_pdocnode2 = var_nodearraylist1;
7874 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7875 cltype = type_nullable_parser_nodes__ADoc.color;
7876 idtype = type_nullable_parser_nodes__ADoc.id;
7877 if(var_pdocnode2 == NULL) {
7878 var9 = 1;
7879 } else {
7880 if(cltype >= var_pdocnode2->type->table_size) {
7881 var9 = 0;
7882 } else {
7883 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7884 }
7885 }
7886 if (!var9) {
7887 fprintf(stderr, "Runtime error: %s", "Assert failed");
7888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20113);
7889 show_backtrace(1);
7890 }
7891 var_pvisibilitynode4 = var_nodearraylist2;
7892 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7893 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7894 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7895 if(var_pvisibilitynode4 == NULL) {
7896 var10 = 1;
7897 } else {
7898 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7899 var10 = 0;
7900 } else {
7901 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7902 }
7903 }
7904 if (!var10) {
7905 fprintf(stderr, "Runtime error: %s", "Assert failed");
7906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20115);
7907 show_backtrace(1);
7908 }
7909 var_tkwinitnode5 = var_nodearraylist3;
7910 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7911 cltype14 = type_nullable_parser_nodes__TKwinit.color;
7912 idtype15 = type_nullable_parser_nodes__TKwinit.id;
7913 if(var_tkwinitnode5 == NULL) {
7914 var13 = 1;
7915 } else {
7916 if(cltype14 >= var_tkwinitnode5->type->table_size) {
7917 var13 = 0;
7918 } else {
7919 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
7920 }
7921 }
7922 if (!var13) {
7923 fprintf(stderr, "Runtime error: %s", "Assert failed");
7924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20117);
7925 show_backtrace(1);
7926 }
7927 var_pmethidnode6 = var_nodearraylist4;
7928 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7929 cltype17 = type_nullable_parser_nodes__AMethid.color;
7930 idtype18 = type_nullable_parser_nodes__AMethid.id;
7931 if(var_pmethidnode6 == NULL) {
7932 var16 = 1;
7933 } else {
7934 if(cltype17 >= var_pmethidnode6->type->table_size) {
7935 var16 = 0;
7936 } else {
7937 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
7938 }
7939 }
7940 if (!var16) {
7941 fprintf(stderr, "Runtime error: %s", "Assert failed");
7942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20119);
7943 show_backtrace(1);
7944 }
7945 var_psignaturenode7 = var_nodearraylist5;
7946 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7947 cltype20 = type_nullable_parser_nodes__ASignature.color;
7948 idtype21 = type_nullable_parser_nodes__ASignature.id;
7949 if(var_psignaturenode7 == NULL) {
7950 var19 = 1;
7951 } else {
7952 if(cltype20 >= var_psignaturenode7->type->table_size) {
7953 var19 = 0;
7954 } else {
7955 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7956 }
7957 }
7958 if (!var19) {
7959 fprintf(stderr, "Runtime error: %s", "Assert failed");
7960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20121);
7961 show_backtrace(1);
7962 }
7963 var_pexprnode9 = var_nodearraylist7;
7964 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7965 cltype23 = type_nullable_parser_nodes__AExpr.color;
7966 idtype24 = type_nullable_parser_nodes__AExpr.id;
7967 if(var_pexprnode9 == NULL) {
7968 var22 = 1;
7969 } else {
7970 if(cltype23 >= var_pexprnode9->type->table_size) {
7971 var22 = 0;
7972 } else {
7973 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7974 }
7975 }
7976 if (!var22) {
7977 fprintf(stderr, "Runtime error: %s", "Assert failed");
7978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20123);
7979 show_backtrace(1);
7980 }
7981 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7982 var26 = NULL;
7983 var27 = NULL;
7984 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
7985 var_ppropdefnode1 = var25;
7986 var_node_list = var_ppropdefnode1;
7987 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction455> */
7988 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7989 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7990 RET_LABEL:;
7991 }
7992 /* method parser#ReduceAction455#action for (self: Object, Parser) */
7993 void VIRTUAL_parser__ReduceAction455__action(val* self, val* p0) {
7994 parser__ReduceAction455__action(self, p0);
7995 RET_LABEL:;
7996 }
7997 /* method parser#ReduceAction456#action for (self: ReduceAction456, Parser) */
7998 void parser__ReduceAction456__action(val* self, val* p0) {
7999 val* var_p /* var p: Parser */;
8000 val* var /* : null */;
8001 val* var_node_list /* var node_list: nullable Object */;
8002 val* var1 /* : nullable Object */;
8003 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8004 val* var2 /* : nullable Object */;
8005 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8006 val* var3 /* : nullable Object */;
8007 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8008 val* var4 /* : nullable Object */;
8009 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8010 val* var5 /* : nullable Object */;
8011 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8012 val* var6 /* : nullable Object */;
8013 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8014 val* var7 /* : nullable Object */;
8015 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8016 val* var8 /* : nullable Object */;
8017 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8018 val* var9 /* : nullable Object */;
8019 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8020 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8021 short int var10 /* : Bool */;
8022 int cltype;
8023 int idtype;
8024 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8025 short int var11 /* : Bool */;
8026 int cltype12;
8027 int idtype13;
8028 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8029 short int var14 /* : Bool */;
8030 int cltype15;
8031 int idtype16;
8032 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8033 short int var17 /* : Bool */;
8034 int cltype18;
8035 int idtype19;
8036 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8037 short int var20 /* : Bool */;
8038 int cltype21;
8039 int idtype22;
8040 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8041 short int var23 /* : Bool */;
8042 int cltype24;
8043 int idtype25;
8044 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8045 short int var26 /* : Bool */;
8046 int cltype27;
8047 int idtype28;
8048 val* var29 /* : AConcreteInitPropdef */;
8049 val* var30 /* : null */;
8050 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8051 long var31 /* : Int */;
8052 long var32 /* : Int */;
8053 var_p = p0;
8054 var = NULL;
8055 var_node_list = var;
8056 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8057 var_nodearraylist9 = var1;
8058 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8059 var_nodearraylist8 = var2;
8060 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8061 var_nodearraylist7 = var3;
8062 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8063 var_nodearraylist6 = var4;
8064 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8065 var_nodearraylist5 = var5;
8066 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8067 var_nodearraylist4 = var6;
8068 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8069 var_nodearraylist3 = var7;
8070 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8071 var_nodearraylist2 = var8;
8072 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8073 var_nodearraylist1 = var9;
8074 var_pdocnode2 = var_nodearraylist1;
8075 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8076 cltype = type_nullable_parser_nodes__ADoc.color;
8077 idtype = type_nullable_parser_nodes__ADoc.id;
8078 if(var_pdocnode2 == NULL) {
8079 var10 = 1;
8080 } else {
8081 if(cltype >= var_pdocnode2->type->table_size) {
8082 var10 = 0;
8083 } else {
8084 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8085 }
8086 }
8087 if (!var10) {
8088 fprintf(stderr, "Runtime error: %s", "Assert failed");
8089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20153);
8090 show_backtrace(1);
8091 }
8092 var_tkwredefnode3 = var_nodearraylist2;
8093 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8094 cltype12 = type_nullable_parser_nodes__TKwredef.color;
8095 idtype13 = type_nullable_parser_nodes__TKwredef.id;
8096 if(var_tkwredefnode3 == NULL) {
8097 var11 = 1;
8098 } else {
8099 if(cltype12 >= var_tkwredefnode3->type->table_size) {
8100 var11 = 0;
8101 } else {
8102 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
8103 }
8104 }
8105 if (!var11) {
8106 fprintf(stderr, "Runtime error: %s", "Assert failed");
8107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20155);
8108 show_backtrace(1);
8109 }
8110 var_pvisibilitynode4 = var_nodearraylist3;
8111 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8112 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8113 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8114 if(var_pvisibilitynode4 == NULL) {
8115 var14 = 1;
8116 } else {
8117 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8118 var14 = 0;
8119 } else {
8120 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8121 }
8122 }
8123 if (!var14) {
8124 fprintf(stderr, "Runtime error: %s", "Assert failed");
8125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20157);
8126 show_backtrace(1);
8127 }
8128 var_tkwinitnode5 = var_nodearraylist4;
8129 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8130 cltype18 = type_nullable_parser_nodes__TKwinit.color;
8131 idtype19 = type_nullable_parser_nodes__TKwinit.id;
8132 if(var_tkwinitnode5 == NULL) {
8133 var17 = 1;
8134 } else {
8135 if(cltype18 >= var_tkwinitnode5->type->table_size) {
8136 var17 = 0;
8137 } else {
8138 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
8139 }
8140 }
8141 if (!var17) {
8142 fprintf(stderr, "Runtime error: %s", "Assert failed");
8143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20159);
8144 show_backtrace(1);
8145 }
8146 var_pmethidnode6 = var_nodearraylist5;
8147 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8148 cltype21 = type_nullable_parser_nodes__AMethid.color;
8149 idtype22 = type_nullable_parser_nodes__AMethid.id;
8150 if(var_pmethidnode6 == NULL) {
8151 var20 = 1;
8152 } else {
8153 if(cltype21 >= var_pmethidnode6->type->table_size) {
8154 var20 = 0;
8155 } else {
8156 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
8157 }
8158 }
8159 if (!var20) {
8160 fprintf(stderr, "Runtime error: %s", "Assert failed");
8161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20161);
8162 show_backtrace(1);
8163 }
8164 var_psignaturenode7 = var_nodearraylist6;
8165 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8166 cltype24 = type_nullable_parser_nodes__ASignature.color;
8167 idtype25 = type_nullable_parser_nodes__ASignature.id;
8168 if(var_psignaturenode7 == NULL) {
8169 var23 = 1;
8170 } else {
8171 if(cltype24 >= var_psignaturenode7->type->table_size) {
8172 var23 = 0;
8173 } else {
8174 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
8175 }
8176 }
8177 if (!var23) {
8178 fprintf(stderr, "Runtime error: %s", "Assert failed");
8179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20163);
8180 show_backtrace(1);
8181 }
8182 var_pexprnode9 = var_nodearraylist8;
8183 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8184 cltype27 = type_nullable_parser_nodes__AExpr.color;
8185 idtype28 = type_nullable_parser_nodes__AExpr.id;
8186 if(var_pexprnode9 == NULL) {
8187 var26 = 1;
8188 } else {
8189 if(cltype27 >= var_pexprnode9->type->table_size) {
8190 var26 = 0;
8191 } else {
8192 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8193 }
8194 }
8195 if (!var26) {
8196 fprintf(stderr, "Runtime error: %s", "Assert failed");
8197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20165);
8198 show_backtrace(1);
8199 }
8200 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8201 var30 = NULL;
8202 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
8203 var_ppropdefnode1 = var29;
8204 var_node_list = var_ppropdefnode1;
8205 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction456> */
8206 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8207 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8208 RET_LABEL:;
8209 }
8210 /* method parser#ReduceAction456#action for (self: Object, Parser) */
8211 void VIRTUAL_parser__ReduceAction456__action(val* self, val* p0) {
8212 parser__ReduceAction456__action(self, p0);
8213 RET_LABEL:;
8214 }
8215 /* method parser#ReduceAction457#action for (self: ReduceAction457, Parser) */
8216 void parser__ReduceAction457__action(val* self, val* p0) {
8217 val* var_p /* var p: Parser */;
8218 val* var /* : null */;
8219 val* var_node_list /* var node_list: nullable Object */;
8220 val* var1 /* : nullable Object */;
8221 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8222 val* var2 /* : nullable Object */;
8223 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8224 val* var3 /* : nullable Object */;
8225 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8226 val* var4 /* : nullable Object */;
8227 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8228 val* var5 /* : nullable Object */;
8229 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8230 val* var6 /* : nullable Object */;
8231 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8232 val* var7 /* : nullable Object */;
8233 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8234 val* var8 /* : nullable Object */;
8235 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8236 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8237 short int var9 /* : Bool */;
8238 int cltype;
8239 int idtype;
8240 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8241 short int var10 /* : Bool */;
8242 int cltype11;
8243 int idtype12;
8244 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8245 short int var13 /* : Bool */;
8246 int cltype14;
8247 int idtype15;
8248 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8249 short int var16 /* : Bool */;
8250 int cltype17;
8251 int idtype18;
8252 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8253 short int var19 /* : Bool */;
8254 int cltype20;
8255 int idtype21;
8256 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8257 short int var22 /* : Bool */;
8258 int cltype23;
8259 int idtype24;
8260 val* var25 /* : AConcreteInitPropdef */;
8261 val* var26 /* : null */;
8262 val* var27 /* : null */;
8263 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8264 long var28 /* : Int */;
8265 long var29 /* : Int */;
8266 var_p = p0;
8267 var = NULL;
8268 var_node_list = var;
8269 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8270 var_nodearraylist8 = var1;
8271 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8272 var_nodearraylist7 = var2;
8273 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8274 var_nodearraylist6 = var3;
8275 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8276 var_nodearraylist5 = var4;
8277 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8278 var_nodearraylist4 = var5;
8279 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8280 var_nodearraylist3 = var6;
8281 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8282 var_nodearraylist2 = var7;
8283 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8284 var_nodearraylist1 = var8;
8285 var_pdocnode2 = var_nodearraylist1;
8286 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8287 cltype = type_nullable_parser_nodes__ADoc.color;
8288 idtype = type_nullable_parser_nodes__ADoc.id;
8289 if(var_pdocnode2 == NULL) {
8290 var9 = 1;
8291 } else {
8292 if(cltype >= var_pdocnode2->type->table_size) {
8293 var9 = 0;
8294 } else {
8295 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8296 }
8297 }
8298 if (!var9) {
8299 fprintf(stderr, "Runtime error: %s", "Assert failed");
8300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20194);
8301 show_backtrace(1);
8302 }
8303 var_pvisibilitynode4 = var_nodearraylist2;
8304 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8305 cltype11 = type_nullable_parser_nodes__AVisibility.color;
8306 idtype12 = type_nullable_parser_nodes__AVisibility.id;
8307 if(var_pvisibilitynode4 == NULL) {
8308 var10 = 1;
8309 } else {
8310 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
8311 var10 = 0;
8312 } else {
8313 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
8314 }
8315 }
8316 if (!var10) {
8317 fprintf(stderr, "Runtime error: %s", "Assert failed");
8318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20196);
8319 show_backtrace(1);
8320 }
8321 var_tkwinitnode5 = var_nodearraylist3;
8322 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8323 cltype14 = type_nullable_parser_nodes__TKwinit.color;
8324 idtype15 = type_nullable_parser_nodes__TKwinit.id;
8325 if(var_tkwinitnode5 == NULL) {
8326 var13 = 1;
8327 } else {
8328 if(cltype14 >= var_tkwinitnode5->type->table_size) {
8329 var13 = 0;
8330 } else {
8331 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
8332 }
8333 }
8334 if (!var13) {
8335 fprintf(stderr, "Runtime error: %s", "Assert failed");
8336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20198);
8337 show_backtrace(1);
8338 }
8339 var_psignaturenode7 = var_nodearraylist4;
8340 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8341 cltype17 = type_nullable_parser_nodes__ASignature.color;
8342 idtype18 = type_nullable_parser_nodes__ASignature.id;
8343 if(var_psignaturenode7 == NULL) {
8344 var16 = 1;
8345 } else {
8346 if(cltype17 >= var_psignaturenode7->type->table_size) {
8347 var16 = 0;
8348 } else {
8349 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
8350 }
8351 }
8352 if (!var16) {
8353 fprintf(stderr, "Runtime error: %s", "Assert failed");
8354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20200);
8355 show_backtrace(1);
8356 }
8357 var_pannotationsnode8 = var_nodearraylist5;
8358 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8359 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
8360 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
8361 if(var_pannotationsnode8 == NULL) {
8362 var19 = 1;
8363 } else {
8364 if(cltype20 >= var_pannotationsnode8->type->table_size) {
8365 var19 = 0;
8366 } else {
8367 var19 = var_pannotationsnode8->type->type_table[cltype20] == idtype21;
8368 }
8369 }
8370 if (!var19) {
8371 fprintf(stderr, "Runtime error: %s", "Assert failed");
8372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20202);
8373 show_backtrace(1);
8374 }
8375 var_pexprnode9 = var_nodearraylist7;
8376 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8377 cltype23 = type_nullable_parser_nodes__AExpr.color;
8378 idtype24 = type_nullable_parser_nodes__AExpr.id;
8379 if(var_pexprnode9 == NULL) {
8380 var22 = 1;
8381 } else {
8382 if(cltype23 >= var_pexprnode9->type->table_size) {
8383 var22 = 0;
8384 } else {
8385 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
8386 }
8387 }
8388 if (!var22) {
8389 fprintf(stderr, "Runtime error: %s", "Assert failed");
8390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20204);
8391 show_backtrace(1);
8392 }
8393 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8394 var26 = NULL;
8395 var27 = NULL;
8396 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwinitnode5, var27, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
8397 var_ppropdefnode1 = var25;
8398 var_node_list = var_ppropdefnode1;
8399 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction457> */
8400 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
8401 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
8402 RET_LABEL:;
8403 }
8404 /* method parser#ReduceAction457#action for (self: Object, Parser) */
8405 void VIRTUAL_parser__ReduceAction457__action(val* self, val* p0) {
8406 parser__ReduceAction457__action(self, p0);
8407 RET_LABEL:;
8408 }
8409 /* method parser#ReduceAction458#action for (self: ReduceAction458, Parser) */
8410 void parser__ReduceAction458__action(val* self, val* p0) {
8411 val* var_p /* var p: Parser */;
8412 val* var /* : null */;
8413 val* var_node_list /* var node_list: nullable Object */;
8414 val* var1 /* : nullable Object */;
8415 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8416 val* var2 /* : nullable Object */;
8417 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8418 val* var3 /* : nullable Object */;
8419 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8420 val* var4 /* : nullable Object */;
8421 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8422 val* var5 /* : nullable Object */;
8423 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8424 val* var6 /* : nullable Object */;
8425 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8426 val* var7 /* : nullable Object */;
8427 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8428 val* var8 /* : nullable Object */;
8429 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8430 val* var9 /* : nullable Object */;
8431 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8432 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8433 short int var10 /* : Bool */;
8434 int cltype;
8435 int idtype;
8436 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8437 short int var11 /* : Bool */;
8438 int cltype12;
8439 int idtype13;
8440 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8441 short int var14 /* : Bool */;
8442 int cltype15;
8443 int idtype16;
8444 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8445 short int var17 /* : Bool */;
8446 int cltype18;
8447 int idtype19;
8448 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8449 short int var20 /* : Bool */;
8450 int cltype21;
8451 int idtype22;
8452 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8453 short int var23 /* : Bool */;
8454 int cltype24;
8455 int idtype25;
8456 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8457 short int var26 /* : Bool */;
8458 int cltype27;
8459 int idtype28;
8460 val* var29 /* : AConcreteInitPropdef */;
8461 val* var30 /* : null */;
8462 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8463 long var31 /* : Int */;
8464 long var32 /* : Int */;
8465 var_p = p0;
8466 var = NULL;
8467 var_node_list = var;
8468 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8469 var_nodearraylist9 = var1;
8470 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8471 var_nodearraylist8 = var2;
8472 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8473 var_nodearraylist7 = var3;
8474 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8475 var_nodearraylist6 = var4;
8476 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8477 var_nodearraylist5 = var5;
8478 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8479 var_nodearraylist4 = var6;
8480 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8481 var_nodearraylist3 = var7;
8482 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8483 var_nodearraylist2 = var8;
8484 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8485 var_nodearraylist1 = var9;
8486 var_pdocnode2 = var_nodearraylist1;
8487 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8488 cltype = type_nullable_parser_nodes__ADoc.color;
8489 idtype = type_nullable_parser_nodes__ADoc.id;
8490 if(var_pdocnode2 == NULL) {
8491 var10 = 1;
8492 } else {
8493 if(cltype >= var_pdocnode2->type->table_size) {
8494 var10 = 0;
8495 } else {
8496 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8497 }
8498 }
8499 if (!var10) {
8500 fprintf(stderr, "Runtime error: %s", "Assert failed");
8501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20234);
8502 show_backtrace(1);
8503 }
8504 var_tkwredefnode3 = var_nodearraylist2;
8505 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8506 cltype12 = type_nullable_parser_nodes__TKwredef.color;
8507 idtype13 = type_nullable_parser_nodes__TKwredef.id;
8508 if(var_tkwredefnode3 == NULL) {
8509 var11 = 1;
8510 } else {
8511 if(cltype12 >= var_tkwredefnode3->type->table_size) {
8512 var11 = 0;
8513 } else {
8514 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
8515 }
8516 }
8517 if (!var11) {
8518 fprintf(stderr, "Runtime error: %s", "Assert failed");
8519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20236);
8520 show_backtrace(1);
8521 }
8522 var_pvisibilitynode4 = var_nodearraylist3;
8523 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8524 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8525 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8526 if(var_pvisibilitynode4 == NULL) {
8527 var14 = 1;
8528 } else {
8529 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8530 var14 = 0;
8531 } else {
8532 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8533 }
8534 }
8535 if (!var14) {
8536 fprintf(stderr, "Runtime error: %s", "Assert failed");
8537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20238);
8538 show_backtrace(1);
8539 }
8540 var_tkwinitnode5 = var_nodearraylist4;
8541 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8542 cltype18 = type_nullable_parser_nodes__TKwinit.color;
8543 idtype19 = type_nullable_parser_nodes__TKwinit.id;
8544 if(var_tkwinitnode5 == NULL) {
8545 var17 = 1;
8546 } else {
8547 if(cltype18 >= var_tkwinitnode5->type->table_size) {
8548 var17 = 0;
8549 } else {
8550 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
8551 }
8552 }
8553 if (!var17) {
8554 fprintf(stderr, "Runtime error: %s", "Assert failed");
8555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20240);
8556 show_backtrace(1);
8557 }
8558 var_psignaturenode7 = var_nodearraylist5;
8559 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8560 cltype21 = type_nullable_parser_nodes__ASignature.color;
8561 idtype22 = type_nullable_parser_nodes__ASignature.id;
8562 if(var_psignaturenode7 == NULL) {
8563 var20 = 1;
8564 } else {
8565 if(cltype21 >= var_psignaturenode7->type->table_size) {
8566 var20 = 0;
8567 } else {
8568 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
8569 }
8570 }
8571 if (!var20) {
8572 fprintf(stderr, "Runtime error: %s", "Assert failed");
8573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20242);
8574 show_backtrace(1);
8575 }
8576 var_pannotationsnode8 = var_nodearraylist6;
8577 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8578 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
8579 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
8580 if(var_pannotationsnode8 == NULL) {
8581 var23 = 1;
8582 } else {
8583 if(cltype24 >= var_pannotationsnode8->type->table_size) {
8584 var23 = 0;
8585 } else {
8586 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
8587 }
8588 }
8589 if (!var23) {
8590 fprintf(stderr, "Runtime error: %s", "Assert failed");
8591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20244);
8592 show_backtrace(1);
8593 }
8594 var_pexprnode9 = var_nodearraylist8;
8595 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8596 cltype27 = type_nullable_parser_nodes__AExpr.color;
8597 idtype28 = type_nullable_parser_nodes__AExpr.id;
8598 if(var_pexprnode9 == NULL) {
8599 var26 = 1;
8600 } else {
8601 if(cltype27 >= var_pexprnode9->type->table_size) {
8602 var26 = 0;
8603 } else {
8604 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8605 }
8606 }
8607 if (!var26) {
8608 fprintf(stderr, "Runtime error: %s", "Assert failed");
8609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20246);
8610 show_backtrace(1);
8611 }
8612 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8613 var30 = NULL;
8614 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var30, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
8615 var_ppropdefnode1 = var29;
8616 var_node_list = var_ppropdefnode1;
8617 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction458> */
8618 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8619 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8620 RET_LABEL:;
8621 }
8622 /* method parser#ReduceAction458#action for (self: Object, Parser) */
8623 void VIRTUAL_parser__ReduceAction458__action(val* self, val* p0) {
8624 parser__ReduceAction458__action(self, p0);
8625 RET_LABEL:;
8626 }
8627 /* method parser#ReduceAction459#action for (self: ReduceAction459, Parser) */
8628 void parser__ReduceAction459__action(val* self, val* p0) {
8629 val* var_p /* var p: Parser */;
8630 val* var /* : null */;
8631 val* var_node_list /* var node_list: nullable Object */;
8632 val* var1 /* : nullable Object */;
8633 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8634 val* var2 /* : nullable Object */;
8635 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8636 val* var3 /* : nullable Object */;
8637 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8638 val* var4 /* : nullable Object */;
8639 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8640 val* var5 /* : nullable Object */;
8641 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8642 val* var6 /* : nullable Object */;
8643 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8644 val* var7 /* : nullable Object */;
8645 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8646 val* var8 /* : nullable Object */;
8647 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8648 val* var9 /* : nullable Object */;
8649 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8650 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8651 short int var10 /* : Bool */;
8652 int cltype;
8653 int idtype;
8654 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8655 short int var11 /* : Bool */;
8656 int cltype12;
8657 int idtype13;
8658 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8659 short int var14 /* : Bool */;
8660 int cltype15;
8661 int idtype16;
8662 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8663 short int var17 /* : Bool */;
8664 int cltype18;
8665 int idtype19;
8666 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8667 short int var20 /* : Bool */;
8668 int cltype21;
8669 int idtype22;
8670 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8671 short int var23 /* : Bool */;
8672 int cltype24;
8673 int idtype25;
8674 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8675 short int var26 /* : Bool */;
8676 int cltype27;
8677 int idtype28;
8678 val* var29 /* : AConcreteInitPropdef */;
8679 val* var30 /* : null */;
8680 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8681 long var31 /* : Int */;
8682 long var32 /* : Int */;
8683 var_p = p0;
8684 var = NULL;
8685 var_node_list = var;
8686 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8687 var_nodearraylist9 = var1;
8688 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8689 var_nodearraylist8 = var2;
8690 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8691 var_nodearraylist7 = var3;
8692 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8693 var_nodearraylist6 = var4;
8694 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8695 var_nodearraylist5 = var5;
8696 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8697 var_nodearraylist4 = var6;
8698 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8699 var_nodearraylist3 = var7;
8700 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8701 var_nodearraylist2 = var8;
8702 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8703 var_nodearraylist1 = var9;
8704 var_pdocnode2 = var_nodearraylist1;
8705 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8706 cltype = type_nullable_parser_nodes__ADoc.color;
8707 idtype = type_nullable_parser_nodes__ADoc.id;
8708 if(var_pdocnode2 == NULL) {
8709 var10 = 1;
8710 } else {
8711 if(cltype >= var_pdocnode2->type->table_size) {
8712 var10 = 0;
8713 } else {
8714 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8715 }
8716 }
8717 if (!var10) {
8718 fprintf(stderr, "Runtime error: %s", "Assert failed");
8719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20276);
8720 show_backtrace(1);
8721 }
8722 var_pvisibilitynode4 = var_nodearraylist2;
8723 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8724 cltype12 = type_nullable_parser_nodes__AVisibility.color;
8725 idtype13 = type_nullable_parser_nodes__AVisibility.id;
8726 if(var_pvisibilitynode4 == NULL) {
8727 var11 = 1;
8728 } else {
8729 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
8730 var11 = 0;
8731 } else {
8732 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
8733 }
8734 }
8735 if (!var11) {
8736 fprintf(stderr, "Runtime error: %s", "Assert failed");
8737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20278);
8738 show_backtrace(1);
8739 }
8740 var_tkwinitnode5 = var_nodearraylist3;
8741 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8742 cltype15 = type_nullable_parser_nodes__TKwinit.color;
8743 idtype16 = type_nullable_parser_nodes__TKwinit.id;
8744 if(var_tkwinitnode5 == NULL) {
8745 var14 = 1;
8746 } else {
8747 if(cltype15 >= var_tkwinitnode5->type->table_size) {
8748 var14 = 0;
8749 } else {
8750 var14 = var_tkwinitnode5->type->type_table[cltype15] == idtype16;
8751 }
8752 }
8753 if (!var14) {
8754 fprintf(stderr, "Runtime error: %s", "Assert failed");
8755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20280);
8756 show_backtrace(1);
8757 }
8758 var_pmethidnode6 = var_nodearraylist4;
8759 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8760 cltype18 = type_nullable_parser_nodes__AMethid.color;
8761 idtype19 = type_nullable_parser_nodes__AMethid.id;
8762 if(var_pmethidnode6 == NULL) {
8763 var17 = 1;
8764 } else {
8765 if(cltype18 >= var_pmethidnode6->type->table_size) {
8766 var17 = 0;
8767 } else {
8768 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
8769 }
8770 }
8771 if (!var17) {
8772 fprintf(stderr, "Runtime error: %s", "Assert failed");
8773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20282);
8774 show_backtrace(1);
8775 }
8776 var_psignaturenode7 = var_nodearraylist5;
8777 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8778 cltype21 = type_nullable_parser_nodes__ASignature.color;
8779 idtype22 = type_nullable_parser_nodes__ASignature.id;
8780 if(var_psignaturenode7 == NULL) {
8781 var20 = 1;
8782 } else {
8783 if(cltype21 >= var_psignaturenode7->type->table_size) {
8784 var20 = 0;
8785 } else {
8786 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
8787 }
8788 }
8789 if (!var20) {
8790 fprintf(stderr, "Runtime error: %s", "Assert failed");
8791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20284);
8792 show_backtrace(1);
8793 }
8794 var_pannotationsnode8 = var_nodearraylist6;
8795 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8796 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
8797 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
8798 if(var_pannotationsnode8 == NULL) {
8799 var23 = 1;
8800 } else {
8801 if(cltype24 >= var_pannotationsnode8->type->table_size) {
8802 var23 = 0;
8803 } else {
8804 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
8805 }
8806 }
8807 if (!var23) {
8808 fprintf(stderr, "Runtime error: %s", "Assert failed");
8809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20286);
8810 show_backtrace(1);
8811 }
8812 var_pexprnode9 = var_nodearraylist8;
8813 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8814 cltype27 = type_nullable_parser_nodes__AExpr.color;
8815 idtype28 = type_nullable_parser_nodes__AExpr.id;
8816 if(var_pexprnode9 == NULL) {
8817 var26 = 1;
8818 } else {
8819 if(cltype27 >= var_pexprnode9->type->table_size) {
8820 var26 = 0;
8821 } else {
8822 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8823 }
8824 }
8825 if (!var26) {
8826 fprintf(stderr, "Runtime error: %s", "Assert failed");
8827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20288);
8828 show_backtrace(1);
8829 }
8830 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8831 var30 = NULL;
8832 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
8833 var_ppropdefnode1 = var29;
8834 var_node_list = var_ppropdefnode1;
8835 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction459> */
8836 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8837 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8838 RET_LABEL:;
8839 }
8840 /* method parser#ReduceAction459#action for (self: Object, Parser) */
8841 void VIRTUAL_parser__ReduceAction459__action(val* self, val* p0) {
8842 parser__ReduceAction459__action(self, p0);
8843 RET_LABEL:;
8844 }
8845 /* method parser#ReduceAction460#action for (self: ReduceAction460, Parser) */
8846 void parser__ReduceAction460__action(val* self, val* p0) {
8847 val* var_p /* var p: Parser */;
8848 val* var /* : null */;
8849 val* var_node_list /* var node_list: nullable Object */;
8850 val* var1 /* : nullable Object */;
8851 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8852 val* var2 /* : nullable Object */;
8853 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8854 val* var3 /* : nullable Object */;
8855 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8856 val* var4 /* : nullable Object */;
8857 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8858 val* var5 /* : nullable Object */;
8859 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8860 val* var6 /* : nullable Object */;
8861 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8862 val* var7 /* : nullable Object */;
8863 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8864 val* var8 /* : nullable Object */;
8865 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8866 val* var9 /* : nullable Object */;
8867 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8868 val* var10 /* : nullable Object */;
8869 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8870 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8871 short int var11 /* : Bool */;
8872 int cltype;
8873 int idtype;
8874 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8875 short int var12 /* : Bool */;
8876 int cltype13;
8877 int idtype14;
8878 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8879 short int var15 /* : Bool */;
8880 int cltype16;
8881 int idtype17;
8882 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8883 short int var18 /* : Bool */;
8884 int cltype19;
8885 int idtype20;
8886 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8887 short int var21 /* : Bool */;
8888 int cltype22;
8889 int idtype23;
8890 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8891 short int var24 /* : Bool */;
8892 int cltype25;
8893 int idtype26;
8894 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8895 short int var27 /* : Bool */;
8896 int cltype28;
8897 int idtype29;
8898 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8899 short int var30 /* : Bool */;
8900 int cltype31;
8901 int idtype32;
8902 val* var33 /* : AConcreteInitPropdef */;
8903 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8904 long var34 /* : Int */;
8905 long var35 /* : Int */;
8906 var_p = p0;
8907 var = NULL;
8908 var_node_list = var;
8909 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8910 var_nodearraylist10 = var1;
8911 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8912 var_nodearraylist9 = var2;
8913 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8914 var_nodearraylist8 = var3;
8915 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8916 var_nodearraylist7 = var4;
8917 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8918 var_nodearraylist6 = var5;
8919 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8920 var_nodearraylist5 = var6;
8921 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8922 var_nodearraylist4 = var7;
8923 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8924 var_nodearraylist3 = var8;
8925 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8926 var_nodearraylist2 = var9;
8927 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8928 var_nodearraylist1 = var10;
8929 var_pdocnode2 = var_nodearraylist1;
8930 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8931 cltype = type_nullable_parser_nodes__ADoc.color;
8932 idtype = type_nullable_parser_nodes__ADoc.id;
8933 if(var_pdocnode2 == NULL) {
8934 var11 = 1;
8935 } else {
8936 if(cltype >= var_pdocnode2->type->table_size) {
8937 var11 = 0;
8938 } else {
8939 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8940 }
8941 }
8942 if (!var11) {
8943 fprintf(stderr, "Runtime error: %s", "Assert failed");
8944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20319);
8945 show_backtrace(1);
8946 }
8947 var_tkwredefnode3 = var_nodearraylist2;
8948 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8949 cltype13 = type_nullable_parser_nodes__TKwredef.color;
8950 idtype14 = type_nullable_parser_nodes__TKwredef.id;
8951 if(var_tkwredefnode3 == NULL) {
8952 var12 = 1;
8953 } else {
8954 if(cltype13 >= var_tkwredefnode3->type->table_size) {
8955 var12 = 0;
8956 } else {
8957 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
8958 }
8959 }
8960 if (!var12) {
8961 fprintf(stderr, "Runtime error: %s", "Assert failed");
8962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20321);
8963 show_backtrace(1);
8964 }
8965 var_pvisibilitynode4 = var_nodearraylist3;
8966 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8967 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8968 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8969 if(var_pvisibilitynode4 == NULL) {
8970 var15 = 1;
8971 } else {
8972 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8973 var15 = 0;
8974 } else {
8975 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8976 }
8977 }
8978 if (!var15) {
8979 fprintf(stderr, "Runtime error: %s", "Assert failed");
8980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20323);
8981 show_backtrace(1);
8982 }
8983 var_tkwinitnode5 = var_nodearraylist4;
8984 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8985 cltype19 = type_nullable_parser_nodes__TKwinit.color;
8986 idtype20 = type_nullable_parser_nodes__TKwinit.id;
8987 if(var_tkwinitnode5 == NULL) {
8988 var18 = 1;
8989 } else {
8990 if(cltype19 >= var_tkwinitnode5->type->table_size) {
8991 var18 = 0;
8992 } else {
8993 var18 = var_tkwinitnode5->type->type_table[cltype19] == idtype20;
8994 }
8995 }
8996 if (!var18) {
8997 fprintf(stderr, "Runtime error: %s", "Assert failed");
8998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20325);
8999 show_backtrace(1);
9000 }
9001 var_pmethidnode6 = var_nodearraylist5;
9002 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9003 cltype22 = type_nullable_parser_nodes__AMethid.color;
9004 idtype23 = type_nullable_parser_nodes__AMethid.id;
9005 if(var_pmethidnode6 == NULL) {
9006 var21 = 1;
9007 } else {
9008 if(cltype22 >= var_pmethidnode6->type->table_size) {
9009 var21 = 0;
9010 } else {
9011 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
9012 }
9013 }
9014 if (!var21) {
9015 fprintf(stderr, "Runtime error: %s", "Assert failed");
9016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20327);
9017 show_backtrace(1);
9018 }
9019 var_psignaturenode7 = var_nodearraylist6;
9020 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9021 cltype25 = type_nullable_parser_nodes__ASignature.color;
9022 idtype26 = type_nullable_parser_nodes__ASignature.id;
9023 if(var_psignaturenode7 == NULL) {
9024 var24 = 1;
9025 } else {
9026 if(cltype25 >= var_psignaturenode7->type->table_size) {
9027 var24 = 0;
9028 } else {
9029 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
9030 }
9031 }
9032 if (!var24) {
9033 fprintf(stderr, "Runtime error: %s", "Assert failed");
9034 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20329);
9035 show_backtrace(1);
9036 }
9037 var_pannotationsnode8 = var_nodearraylist7;
9038 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9039 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
9040 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
9041 if(var_pannotationsnode8 == NULL) {
9042 var27 = 1;
9043 } else {
9044 if(cltype28 >= var_pannotationsnode8->type->table_size) {
9045 var27 = 0;
9046 } else {
9047 var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
9048 }
9049 }
9050 if (!var27) {
9051 fprintf(stderr, "Runtime error: %s", "Assert failed");
9052 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20331);
9053 show_backtrace(1);
9054 }
9055 var_pexprnode9 = var_nodearraylist9;
9056 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9057 cltype31 = type_nullable_parser_nodes__AExpr.color;
9058 idtype32 = type_nullable_parser_nodes__AExpr.id;
9059 if(var_pexprnode9 == NULL) {
9060 var30 = 1;
9061 } else {
9062 if(cltype31 >= var_pexprnode9->type->table_size) {
9063 var30 = 0;
9064 } else {
9065 var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
9066 }
9067 }
9068 if (!var30) {
9069 fprintf(stderr, "Runtime error: %s", "Assert failed");
9070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20333);
9071 show_backtrace(1);
9072 }
9073 var33 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9074 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var33:AConcreteInitPropdef>*/;
9075 var_ppropdefnode1 = var33;
9076 var_node_list = var_ppropdefnode1;
9077 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction460> */
9078 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
9079 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
9080 RET_LABEL:;
9081 }
9082 /* method parser#ReduceAction460#action for (self: Object, Parser) */
9083 void VIRTUAL_parser__ReduceAction460__action(val* self, val* p0) {
9084 parser__ReduceAction460__action(self, p0);
9085 RET_LABEL:;
9086 }
9087 /* method parser#ReduceAction461#action for (self: ReduceAction461, Parser) */
9088 void parser__ReduceAction461__action(val* self, val* p0) {
9089 val* var_p /* var p: Parser */;
9090 val* var /* : null */;
9091 val* var_node_list /* var node_list: nullable Object */;
9092 val* var1 /* : nullable Object */;
9093 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9094 val* var2 /* : nullable Object */;
9095 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9096 val* var3 /* : nullable Object */;
9097 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9098 val* var4 /* : nullable Object */;
9099 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9100 val* var5 /* : nullable Object */;
9101 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9102 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9103 short int var6 /* : Bool */;
9104 int cltype;
9105 int idtype;
9106 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9107 short int var7 /* : Bool */;
9108 int cltype8;
9109 int idtype9;
9110 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9111 short int var10 /* : Bool */;
9112 int cltype11;
9113 int idtype12;
9114 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9115 short int var13 /* : Bool */;
9116 int cltype14;
9117 int idtype15;
9118 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9119 short int var16 /* : Bool */;
9120 int cltype17;
9121 int idtype18;
9122 val* var19 /* : ATypePropdef */;
9123 val* var20 /* : null */;
9124 val* var21 /* : null */;
9125 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9126 long var22 /* : Int */;
9127 long var23 /* : Int */;
9128 var_p = p0;
9129 var = NULL;
9130 var_node_list = var;
9131 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9132 var_nodearraylist5 = var1;
9133 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9134 var_nodearraylist4 = var2;
9135 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9136 var_nodearraylist3 = var3;
9137 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9138 var_nodearraylist2 = var4;
9139 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9140 var_nodearraylist1 = var5;
9141 var_pdocnode2 = var_nodearraylist1;
9142 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9143 cltype = type_nullable_parser_nodes__ADoc.color;
9144 idtype = type_nullable_parser_nodes__ADoc.id;
9145 if(var_pdocnode2 == NULL) {
9146 var6 = 1;
9147 } else {
9148 if(cltype >= var_pdocnode2->type->table_size) {
9149 var6 = 0;
9150 } else {
9151 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9152 }
9153 }
9154 if (!var6) {
9155 fprintf(stderr, "Runtime error: %s", "Assert failed");
9156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20359);
9157 show_backtrace(1);
9158 }
9159 var_pvisibilitynode4 = var_nodearraylist2;
9160 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9161 cltype8 = type_nullable_parser_nodes__AVisibility.color;
9162 idtype9 = type_nullable_parser_nodes__AVisibility.id;
9163 if(var_pvisibilitynode4 == NULL) {
9164 var7 = 1;
9165 } else {
9166 if(cltype8 >= var_pvisibilitynode4->type->table_size) {
9167 var7 = 0;
9168 } else {
9169 var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
9170 }
9171 }
9172 if (!var7) {
9173 fprintf(stderr, "Runtime error: %s", "Assert failed");
9174 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20361);
9175 show_backtrace(1);
9176 }
9177 var_tkwtypenode5 = var_nodearraylist3;
9178 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9179 cltype11 = type_nullable_parser_nodes__TKwtype.color;
9180 idtype12 = type_nullable_parser_nodes__TKwtype.id;
9181 if(var_tkwtypenode5 == NULL) {
9182 var10 = 1;
9183 } else {
9184 if(cltype11 >= var_tkwtypenode5->type->table_size) {
9185 var10 = 0;
9186 } else {
9187 var10 = var_tkwtypenode5->type->type_table[cltype11] == idtype12;
9188 }
9189 }
9190 if (!var10) {
9191 fprintf(stderr, "Runtime error: %s", "Assert failed");
9192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20363);
9193 show_backtrace(1);
9194 }
9195 var_tclassidnode6 = var_nodearraylist4;
9196 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9197 cltype14 = type_nullable_parser_nodes__TClassid.color;
9198 idtype15 = type_nullable_parser_nodes__TClassid.id;
9199 if(var_tclassidnode6 == NULL) {
9200 var13 = 1;
9201 } else {
9202 if(cltype14 >= var_tclassidnode6->type->table_size) {
9203 var13 = 0;
9204 } else {
9205 var13 = var_tclassidnode6->type->type_table[cltype14] == idtype15;
9206 }
9207 }
9208 if (!var13) {
9209 fprintf(stderr, "Runtime error: %s", "Assert failed");
9210 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20365);
9211 show_backtrace(1);
9212 }
9213 var_ptypenode7 = var_nodearraylist5;
9214 /* <var_ptypenode7:nullable Object> isa nullable AType */
9215 cltype17 = type_nullable_parser_nodes__AType.color;
9216 idtype18 = type_nullable_parser_nodes__AType.id;
9217 if(var_ptypenode7 == NULL) {
9218 var16 = 1;
9219 } else {
9220 if(cltype17 >= var_ptypenode7->type->table_size) {
9221 var16 = 0;
9222 } else {
9223 var16 = var_ptypenode7->type->type_table[cltype17] == idtype18;
9224 }
9225 }
9226 if (!var16) {
9227 fprintf(stderr, "Runtime error: %s", "Assert failed");
9228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20367);
9229 show_backtrace(1);
9230 }
9231 var19 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9232 var20 = NULL;
9233 var21 = NULL;
9234 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var19, var_pdocnode2, var20, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var21) /* init_atypepropdef on <var19:ATypePropdef>*/;
9235 var_ppropdefnode1 = var19;
9236 var_node_list = var_ppropdefnode1;
9237 var22 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction461> */
9238 var23 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var22) /* go_to on <var_p:Parser>*/;
9239 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var23, var_node_list) /* push on <var_p:Parser>*/;
9240 RET_LABEL:;
9241 }
9242 /* method parser#ReduceAction461#action for (self: Object, Parser) */
9243 void VIRTUAL_parser__ReduceAction461__action(val* self, val* p0) {
9244 parser__ReduceAction461__action(self, p0);
9245 RET_LABEL:;
9246 }
9247 /* method parser#ReduceAction462#action for (self: ReduceAction462, Parser) */
9248 void parser__ReduceAction462__action(val* self, val* p0) {
9249 val* var_p /* var p: Parser */;
9250 val* var /* : null */;
9251 val* var_node_list /* var node_list: nullable Object */;
9252 val* var1 /* : nullable Object */;
9253 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9254 val* var2 /* : nullable Object */;
9255 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9256 val* var3 /* : nullable Object */;
9257 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9258 val* var4 /* : nullable Object */;
9259 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9260 val* var5 /* : nullable Object */;
9261 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9262 val* var6 /* : nullable Object */;
9263 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9264 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9265 short int var7 /* : Bool */;
9266 int cltype;
9267 int idtype;
9268 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9269 short int var8 /* : Bool */;
9270 int cltype9;
9271 int idtype10;
9272 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9273 short int var11 /* : Bool */;
9274 int cltype12;
9275 int idtype13;
9276 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9277 short int var14 /* : Bool */;
9278 int cltype15;
9279 int idtype16;
9280 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9281 short int var17 /* : Bool */;
9282 int cltype18;
9283 int idtype19;
9284 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9285 short int var20 /* : Bool */;
9286 int cltype21;
9287 int idtype22;
9288 val* var23 /* : ATypePropdef */;
9289 val* var24 /* : null */;
9290 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9291 long var25 /* : Int */;
9292 long var26 /* : Int */;
9293 var_p = p0;
9294 var = NULL;
9295 var_node_list = var;
9296 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9297 var_nodearraylist6 = var1;
9298 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9299 var_nodearraylist5 = var2;
9300 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9301 var_nodearraylist4 = var3;
9302 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9303 var_nodearraylist3 = var4;
9304 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9305 var_nodearraylist2 = var5;
9306 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9307 var_nodearraylist1 = var6;
9308 var_pdocnode2 = var_nodearraylist1;
9309 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9310 cltype = type_nullable_parser_nodes__ADoc.color;
9311 idtype = type_nullable_parser_nodes__ADoc.id;
9312 if(var_pdocnode2 == NULL) {
9313 var7 = 1;
9314 } else {
9315 if(cltype >= var_pdocnode2->type->table_size) {
9316 var7 = 0;
9317 } else {
9318 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9319 }
9320 }
9321 if (!var7) {
9322 fprintf(stderr, "Runtime error: %s", "Assert failed");
9323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20393);
9324 show_backtrace(1);
9325 }
9326 var_tkwredefnode3 = var_nodearraylist2;
9327 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9328 cltype9 = type_nullable_parser_nodes__TKwredef.color;
9329 idtype10 = type_nullable_parser_nodes__TKwredef.id;
9330 if(var_tkwredefnode3 == NULL) {
9331 var8 = 1;
9332 } else {
9333 if(cltype9 >= var_tkwredefnode3->type->table_size) {
9334 var8 = 0;
9335 } else {
9336 var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
9337 }
9338 }
9339 if (!var8) {
9340 fprintf(stderr, "Runtime error: %s", "Assert failed");
9341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20395);
9342 show_backtrace(1);
9343 }
9344 var_pvisibilitynode4 = var_nodearraylist3;
9345 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9346 cltype12 = type_nullable_parser_nodes__AVisibility.color;
9347 idtype13 = type_nullable_parser_nodes__AVisibility.id;
9348 if(var_pvisibilitynode4 == NULL) {
9349 var11 = 1;
9350 } else {
9351 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
9352 var11 = 0;
9353 } else {
9354 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
9355 }
9356 }
9357 if (!var11) {
9358 fprintf(stderr, "Runtime error: %s", "Assert failed");
9359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20397);
9360 show_backtrace(1);
9361 }
9362 var_tkwtypenode5 = var_nodearraylist4;
9363 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9364 cltype15 = type_nullable_parser_nodes__TKwtype.color;
9365 idtype16 = type_nullable_parser_nodes__TKwtype.id;
9366 if(var_tkwtypenode5 == NULL) {
9367 var14 = 1;
9368 } else {
9369 if(cltype15 >= var_tkwtypenode5->type->table_size) {
9370 var14 = 0;
9371 } else {
9372 var14 = var_tkwtypenode5->type->type_table[cltype15] == idtype16;
9373 }
9374 }
9375 if (!var14) {
9376 fprintf(stderr, "Runtime error: %s", "Assert failed");
9377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20399);
9378 show_backtrace(1);
9379 }
9380 var_tclassidnode6 = var_nodearraylist5;
9381 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9382 cltype18 = type_nullable_parser_nodes__TClassid.color;
9383 idtype19 = type_nullable_parser_nodes__TClassid.id;
9384 if(var_tclassidnode6 == NULL) {
9385 var17 = 1;
9386 } else {
9387 if(cltype18 >= var_tclassidnode6->type->table_size) {
9388 var17 = 0;
9389 } else {
9390 var17 = var_tclassidnode6->type->type_table[cltype18] == idtype19;
9391 }
9392 }
9393 if (!var17) {
9394 fprintf(stderr, "Runtime error: %s", "Assert failed");
9395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20401);
9396 show_backtrace(1);
9397 }
9398 var_ptypenode7 = var_nodearraylist6;
9399 /* <var_ptypenode7:nullable Object> isa nullable AType */
9400 cltype21 = type_nullable_parser_nodes__AType.color;
9401 idtype22 = type_nullable_parser_nodes__AType.id;
9402 if(var_ptypenode7 == NULL) {
9403 var20 = 1;
9404 } else {
9405 if(cltype21 >= var_ptypenode7->type->table_size) {
9406 var20 = 0;
9407 } else {
9408 var20 = var_ptypenode7->type->type_table[cltype21] == idtype22;
9409 }
9410 }
9411 if (!var20) {
9412 fprintf(stderr, "Runtime error: %s", "Assert failed");
9413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20403);
9414 show_backtrace(1);
9415 }
9416 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9417 var24 = NULL;
9418 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var24) /* init_atypepropdef on <var23:ATypePropdef>*/;
9419 var_ppropdefnode1 = var23;
9420 var_node_list = var_ppropdefnode1;
9421 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction462> */
9422 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
9423 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
9424 RET_LABEL:;
9425 }
9426 /* method parser#ReduceAction462#action for (self: Object, Parser) */
9427 void VIRTUAL_parser__ReduceAction462__action(val* self, val* p0) {
9428 parser__ReduceAction462__action(self, p0);
9429 RET_LABEL:;
9430 }
9431 /* method parser#ReduceAction463#action for (self: ReduceAction463, Parser) */
9432 void parser__ReduceAction463__action(val* self, val* p0) {
9433 val* var_p /* var p: Parser */;
9434 val* var /* : null */;
9435 val* var_node_list /* var node_list: nullable Object */;
9436 val* var1 /* : nullable Object */;
9437 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9438 val* var2 /* : nullable Object */;
9439 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9440 val* var3 /* : nullable Object */;
9441 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9442 val* var4 /* : nullable Object */;
9443 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9444 val* var5 /* : nullable Object */;
9445 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9446 val* var6 /* : nullable Object */;
9447 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9448 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9449 short int var7 /* : Bool */;
9450 int cltype;
9451 int idtype;
9452 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9453 short int var8 /* : Bool */;
9454 int cltype9;
9455 int idtype10;
9456 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9457 short int var11 /* : Bool */;
9458 int cltype12;
9459 int idtype13;
9460 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9461 short int var14 /* : Bool */;
9462 int cltype15;
9463 int idtype16;
9464 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9465 short int var17 /* : Bool */;
9466 int cltype18;
9467 int idtype19;
9468 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
9469 short int var20 /* : Bool */;
9470 int cltype21;
9471 int idtype22;
9472 val* var23 /* : ATypePropdef */;
9473 val* var24 /* : null */;
9474 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9475 long var25 /* : Int */;
9476 long var26 /* : Int */;
9477 var_p = p0;
9478 var = NULL;
9479 var_node_list = var;
9480 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9481 var_nodearraylist6 = var1;
9482 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9483 var_nodearraylist5 = var2;
9484 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9485 var_nodearraylist4 = var3;
9486 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9487 var_nodearraylist3 = var4;
9488 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9489 var_nodearraylist2 = var5;
9490 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9491 var_nodearraylist1 = var6;
9492 var_pdocnode2 = var_nodearraylist1;
9493 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9494 cltype = type_nullable_parser_nodes__ADoc.color;
9495 idtype = type_nullable_parser_nodes__ADoc.id;
9496 if(var_pdocnode2 == NULL) {
9497 var7 = 1;
9498 } else {
9499 if(cltype >= var_pdocnode2->type->table_size) {
9500 var7 = 0;
9501 } else {
9502 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9503 }
9504 }
9505 if (!var7) {
9506 fprintf(stderr, "Runtime error: %s", "Assert failed");
9507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20429);
9508 show_backtrace(1);
9509 }
9510 var_pvisibilitynode4 = var_nodearraylist2;
9511 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9512 cltype9 = type_nullable_parser_nodes__AVisibility.color;
9513 idtype10 = type_nullable_parser_nodes__AVisibility.id;
9514 if(var_pvisibilitynode4 == NULL) {
9515 var8 = 1;
9516 } else {
9517 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
9518 var8 = 0;
9519 } else {
9520 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
9521 }
9522 }
9523 if (!var8) {
9524 fprintf(stderr, "Runtime error: %s", "Assert failed");
9525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20431);
9526 show_backtrace(1);
9527 }
9528 var_tkwtypenode5 = var_nodearraylist3;
9529 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9530 cltype12 = type_nullable_parser_nodes__TKwtype.color;
9531 idtype13 = type_nullable_parser_nodes__TKwtype.id;
9532 if(var_tkwtypenode5 == NULL) {
9533 var11 = 1;
9534 } else {
9535 if(cltype12 >= var_tkwtypenode5->type->table_size) {
9536 var11 = 0;
9537 } else {
9538 var11 = var_tkwtypenode5->type->type_table[cltype12] == idtype13;
9539 }
9540 }
9541 if (!var11) {
9542 fprintf(stderr, "Runtime error: %s", "Assert failed");
9543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20433);
9544 show_backtrace(1);
9545 }
9546 var_tclassidnode6 = var_nodearraylist4;
9547 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9548 cltype15 = type_nullable_parser_nodes__TClassid.color;
9549 idtype16 = type_nullable_parser_nodes__TClassid.id;
9550 if(var_tclassidnode6 == NULL) {
9551 var14 = 1;
9552 } else {
9553 if(cltype15 >= var_tclassidnode6->type->table_size) {
9554 var14 = 0;
9555 } else {
9556 var14 = var_tclassidnode6->type->type_table[cltype15] == idtype16;
9557 }
9558 }
9559 if (!var14) {
9560 fprintf(stderr, "Runtime error: %s", "Assert failed");
9561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20435);
9562 show_backtrace(1);
9563 }
9564 var_ptypenode7 = var_nodearraylist5;
9565 /* <var_ptypenode7:nullable Object> isa nullable AType */
9566 cltype18 = type_nullable_parser_nodes__AType.color;
9567 idtype19 = type_nullable_parser_nodes__AType.id;
9568 if(var_ptypenode7 == NULL) {
9569 var17 = 1;
9570 } else {
9571 if(cltype18 >= var_ptypenode7->type->table_size) {
9572 var17 = 0;
9573 } else {
9574 var17 = var_ptypenode7->type->type_table[cltype18] == idtype19;
9575 }
9576 }
9577 if (!var17) {
9578 fprintf(stderr, "Runtime error: %s", "Assert failed");
9579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20437);
9580 show_backtrace(1);
9581 }
9582 var_pannotationsnode8 = var_nodearraylist6;
9583 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9584 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
9585 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
9586 if(var_pannotationsnode8 == NULL) {
9587 var20 = 1;
9588 } else {
9589 if(cltype21 >= var_pannotationsnode8->type->table_size) {
9590 var20 = 0;
9591 } else {
9592 var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
9593 }
9594 }
9595 if (!var20) {
9596 fprintf(stderr, "Runtime error: %s", "Assert failed");
9597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20439);
9598 show_backtrace(1);
9599 }
9600 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9601 var24 = NULL;
9602 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var23:ATypePropdef>*/;
9603 var_ppropdefnode1 = var23;
9604 var_node_list = var_ppropdefnode1;
9605 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction463> */
9606 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
9607 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
9608 RET_LABEL:;
9609 }
9610 /* method parser#ReduceAction463#action for (self: Object, Parser) */
9611 void VIRTUAL_parser__ReduceAction463__action(val* self, val* p0) {
9612 parser__ReduceAction463__action(self, p0);
9613 RET_LABEL:;
9614 }
9615 /* method parser#ReduceAction464#action for (self: ReduceAction464, Parser) */
9616 void parser__ReduceAction464__action(val* self, val* p0) {
9617 val* var_p /* var p: Parser */;
9618 val* var /* : null */;
9619 val* var_node_list /* var node_list: nullable Object */;
9620 val* var1 /* : nullable Object */;
9621 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9622 val* var2 /* : nullable Object */;
9623 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9624 val* var3 /* : nullable Object */;
9625 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9626 val* var4 /* : nullable Object */;
9627 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9628 val* var5 /* : nullable Object */;
9629 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9630 val* var6 /* : nullable Object */;
9631 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9632 val* var7 /* : nullable Object */;
9633 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9634 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9635 short int var8 /* : Bool */;
9636 int cltype;
9637 int idtype;
9638 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9639 short int var9 /* : Bool */;
9640 int cltype10;
9641 int idtype11;
9642 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9643 short int var12 /* : Bool */;
9644 int cltype13;
9645 int idtype14;
9646 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9647 short int var15 /* : Bool */;
9648 int cltype16;
9649 int idtype17;
9650 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9651 short int var18 /* : Bool */;
9652 int cltype19;
9653 int idtype20;
9654 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9655 short int var21 /* : Bool */;
9656 int cltype22;
9657 int idtype23;
9658 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
9659 short int var24 /* : Bool */;
9660 int cltype25;
9661 int idtype26;
9662 val* var27 /* : ATypePropdef */;
9663 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9664 long var28 /* : Int */;
9665 long var29 /* : Int */;
9666 var_p = p0;
9667 var = NULL;
9668 var_node_list = var;
9669 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9670 var_nodearraylist7 = var1;
9671 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9672 var_nodearraylist6 = var2;
9673 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9674 var_nodearraylist5 = var3;
9675 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9676 var_nodearraylist4 = var4;
9677 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9678 var_nodearraylist3 = var5;
9679 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9680 var_nodearraylist2 = var6;
9681 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9682 var_nodearraylist1 = var7;
9683 var_pdocnode2 = var_nodearraylist1;
9684 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9685 cltype = type_nullable_parser_nodes__ADoc.color;
9686 idtype = type_nullable_parser_nodes__ADoc.id;
9687 if(var_pdocnode2 == NULL) {
9688 var8 = 1;
9689 } else {
9690 if(cltype >= var_pdocnode2->type->table_size) {
9691 var8 = 0;
9692 } else {
9693 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9694 }
9695 }
9696 if (!var8) {
9697 fprintf(stderr, "Runtime error: %s", "Assert failed");
9698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20466);
9699 show_backtrace(1);
9700 }
9701 var_tkwredefnode3 = var_nodearraylist2;
9702 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9703 cltype10 = type_nullable_parser_nodes__TKwredef.color;
9704 idtype11 = type_nullable_parser_nodes__TKwredef.id;
9705 if(var_tkwredefnode3 == NULL) {
9706 var9 = 1;
9707 } else {
9708 if(cltype10 >= var_tkwredefnode3->type->table_size) {
9709 var9 = 0;
9710 } else {
9711 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
9712 }
9713 }
9714 if (!var9) {
9715 fprintf(stderr, "Runtime error: %s", "Assert failed");
9716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20468);
9717 show_backtrace(1);
9718 }
9719 var_pvisibilitynode4 = var_nodearraylist3;
9720 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9721 cltype13 = type_nullable_parser_nodes__AVisibility.color;
9722 idtype14 = type_nullable_parser_nodes__AVisibility.id;
9723 if(var_pvisibilitynode4 == NULL) {
9724 var12 = 1;
9725 } else {
9726 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
9727 var12 = 0;
9728 } else {
9729 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
9730 }
9731 }
9732 if (!var12) {
9733 fprintf(stderr, "Runtime error: %s", "Assert failed");
9734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20470);
9735 show_backtrace(1);
9736 }
9737 var_tkwtypenode5 = var_nodearraylist4;
9738 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9739 cltype16 = type_nullable_parser_nodes__TKwtype.color;
9740 idtype17 = type_nullable_parser_nodes__TKwtype.id;
9741 if(var_tkwtypenode5 == NULL) {
9742 var15 = 1;
9743 } else {
9744 if(cltype16 >= var_tkwtypenode5->type->table_size) {
9745 var15 = 0;
9746 } else {
9747 var15 = var_tkwtypenode5->type->type_table[cltype16] == idtype17;
9748 }
9749 }
9750 if (!var15) {
9751 fprintf(stderr, "Runtime error: %s", "Assert failed");
9752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20472);
9753 show_backtrace(1);
9754 }
9755 var_tclassidnode6 = var_nodearraylist5;
9756 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9757 cltype19 = type_nullable_parser_nodes__TClassid.color;
9758 idtype20 = type_nullable_parser_nodes__TClassid.id;
9759 if(var_tclassidnode6 == NULL) {
9760 var18 = 1;
9761 } else {
9762 if(cltype19 >= var_tclassidnode6->type->table_size) {
9763 var18 = 0;
9764 } else {
9765 var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
9766 }
9767 }
9768 if (!var18) {
9769 fprintf(stderr, "Runtime error: %s", "Assert failed");
9770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20474);
9771 show_backtrace(1);
9772 }
9773 var_ptypenode7 = var_nodearraylist6;
9774 /* <var_ptypenode7:nullable Object> isa nullable AType */
9775 cltype22 = type_nullable_parser_nodes__AType.color;
9776 idtype23 = type_nullable_parser_nodes__AType.id;
9777 if(var_ptypenode7 == NULL) {
9778 var21 = 1;
9779 } else {
9780 if(cltype22 >= var_ptypenode7->type->table_size) {
9781 var21 = 0;
9782 } else {
9783 var21 = var_ptypenode7->type->type_table[cltype22] == idtype23;
9784 }
9785 }
9786 if (!var21) {
9787 fprintf(stderr, "Runtime error: %s", "Assert failed");
9788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20476);
9789 show_backtrace(1);
9790 }
9791 var_pannotationsnode8 = var_nodearraylist7;
9792 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9793 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
9794 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
9795 if(var_pannotationsnode8 == NULL) {
9796 var24 = 1;
9797 } else {
9798 if(cltype25 >= var_pannotationsnode8->type->table_size) {
9799 var24 = 0;
9800 } else {
9801 var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
9802 }
9803 }
9804 if (!var24) {
9805 fprintf(stderr, "Runtime error: %s", "Assert failed");
9806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20478);
9807 show_backtrace(1);
9808 }
9809 var27 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9810 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var27:ATypePropdef>*/;
9811 var_ppropdefnode1 = var27;
9812 var_node_list = var_ppropdefnode1;
9813 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction464> */
9814 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
9815 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
9816 RET_LABEL:;
9817 }
9818 /* method parser#ReduceAction464#action for (self: Object, Parser) */
9819 void VIRTUAL_parser__ReduceAction464__action(val* self, val* p0) {
9820 parser__ReduceAction464__action(self, p0);
9821 RET_LABEL:;
9822 }
9823 /* method parser#ReduceAction465#action for (self: ReduceAction465, Parser) */
9824 void parser__ReduceAction465__action(val* self, val* p0) {
9825 val* var_p /* var p: Parser */;
9826 val* var /* : null */;
9827 val* var_node_list /* var node_list: nullable Object */;
9828 val* var1 /* : nullable Object */;
9829 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9830 val* var2 /* : nullable Object */;
9831 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9832 val* var3 /* : nullable Object */;
9833 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9834 val* var4 /* : nullable Object */;
9835 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9836 val* var5 /* : nullable Object */;
9837 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9838 val* var6 /* : nullable Object */;
9839 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9840 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9841 short int var7 /* : Bool */;
9842 int cltype;
9843 int idtype;
9844 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9845 short int var8 /* : Bool */;
9846 int cltype9;
9847 int idtype10;
9848 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9849 short int var11 /* : Bool */;
9850 int cltype12;
9851 int idtype13;
9852 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9853 short int var14 /* : Bool */;
9854 int cltype15;
9855 int idtype16;
9856 val* var17 /* : AExternInitPropdef */;
9857 val* var18 /* : null */;
9858 val* var19 /* : null */;
9859 val* var20 /* : null */;
9860 val* var21 /* : null */;
9861 val* var22 /* : null */;
9862 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9863 long var23 /* : Int */;
9864 long var24 /* : Int */;
9865 var_p = p0;
9866 var = NULL;
9867 var_node_list = var;
9868 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9869 var_nodearraylist6 = var1;
9870 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9871 var_nodearraylist5 = var2;
9872 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9873 var_nodearraylist4 = var3;
9874 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9875 var_nodearraylist3 = var4;
9876 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9877 var_nodearraylist2 = var5;
9878 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9879 var_nodearraylist1 = var6;
9880 var_pdocnode2 = var_nodearraylist1;
9881 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9882 cltype = type_nullable_parser_nodes__ADoc.color;
9883 idtype = type_nullable_parser_nodes__ADoc.id;
9884 if(var_pdocnode2 == NULL) {
9885 var7 = 1;
9886 } else {
9887 if(cltype >= var_pdocnode2->type->table_size) {
9888 var7 = 0;
9889 } else {
9890 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9891 }
9892 }
9893 if (!var7) {
9894 fprintf(stderr, "Runtime error: %s", "Assert failed");
9895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20504);
9896 show_backtrace(1);
9897 }
9898 var_pvisibilitynode4 = var_nodearraylist2;
9899 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9900 cltype9 = type_nullable_parser_nodes__AVisibility.color;
9901 idtype10 = type_nullable_parser_nodes__AVisibility.id;
9902 if(var_pvisibilitynode4 == NULL) {
9903 var8 = 1;
9904 } else {
9905 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
9906 var8 = 0;
9907 } else {
9908 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
9909 }
9910 }
9911 if (!var8) {
9912 fprintf(stderr, "Runtime error: %s", "Assert failed");
9913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20506);
9914 show_backtrace(1);
9915 }
9916 var_tkwnewnode5 = var_nodearraylist3;
9917 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9918 cltype12 = type_nullable_parser_nodes__TKwnew.color;
9919 idtype13 = type_nullable_parser_nodes__TKwnew.id;
9920 if(var_tkwnewnode5 == NULL) {
9921 var11 = 1;
9922 } else {
9923 if(cltype12 >= var_tkwnewnode5->type->table_size) {
9924 var11 = 0;
9925 } else {
9926 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
9927 }
9928 }
9929 if (!var11) {
9930 fprintf(stderr, "Runtime error: %s", "Assert failed");
9931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20508);
9932 show_backtrace(1);
9933 }
9934 var_psignaturenode7 = var_nodearraylist4;
9935 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9936 cltype15 = type_nullable_parser_nodes__ASignature.color;
9937 idtype16 = type_nullable_parser_nodes__ASignature.id;
9938 if(var_psignaturenode7 == NULL) {
9939 var14 = 1;
9940 } else {
9941 if(cltype15 >= var_psignaturenode7->type->table_size) {
9942 var14 = 0;
9943 } else {
9944 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
9945 }
9946 }
9947 if (!var14) {
9948 fprintf(stderr, "Runtime error: %s", "Assert failed");
9949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20510);
9950 show_backtrace(1);
9951 }
9952 var17 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9953 var18 = NULL;
9954 var19 = NULL;
9955 var20 = NULL;
9956 var21 = NULL;
9957 var22 = NULL;
9958 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var17->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var17, var_pdocnode2, var18, var_pvisibilitynode4, var_tkwnewnode5, var19, var_psignaturenode7, var20, var21, var22) /* init_aexterninitpropdef on <var17:AExternInitPropdef>*/;
9959 var_ppropdefnode1 = var17;
9960 var_node_list = var_ppropdefnode1;
9961 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction465> */
9962 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
9963 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
9964 RET_LABEL:;
9965 }
9966 /* method parser#ReduceAction465#action for (self: Object, Parser) */
9967 void VIRTUAL_parser__ReduceAction465__action(val* self, val* p0) {
9968 parser__ReduceAction465__action(self, p0);
9969 RET_LABEL:;
9970 }